2012-04-16 09:34:40 +04:00
/*
Unix SMB / CIFS implementation .
file_id structure handling
Copyright ( C ) Andrew Tridgell 2007
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2019-09-02 20:04:42 +03:00
# ifndef __LIB_FILE_ID_H__
# define __LIB_FILE_ID_H__
2012-04-16 09:34:40 +04:00
# include "librpc/gen_ndr/file_id.h"
2012-04-16 09:36:15 +04:00
/* The following definitions come from lib/file_id.c */
2012-04-16 09:34:40 +04:00
bool file_id_equal ( const struct file_id * id1 , const struct file_id * id2 ) ;
2019-09-02 20:04:25 +03:00
/*
* strlen ( " 18446744073709551615 " ) = 20 times 3 plus 2 colons plus trailing 0
*/
struct file_id_buf { char buf [ 63 ] ; } ;
char * file_id_str_buf ( struct file_id fid , struct file_id_buf * dst ) ;
2012-04-16 09:36:15 +04:00
/*
an allocated string for a file_id structure
*/
2012-04-16 09:34:40 +04:00
void push_file_id_16 ( char * buf , const struct file_id * id ) ;
void push_file_id_24 ( char * buf , const struct file_id * id ) ;
2013-09-03 15:51:48 +04:00
void pull_file_id_24 ( const char * buf , struct file_id * id ) ;
2019-06-25 15:13:28 +03:00
/*
* Make a SMB File - ID from itime
*/
2020-11-23 17:37:44 +03:00
struct stat_ex ;
uint64_t make_file_id_from_itime ( const struct stat_ex * st ) ;
2019-09-02 20:04:42 +03:00
# endif