From: Puran Chand Date: Fri, 6 Apr 2018 21:08:03 +0000 (-0700) Subject: s3: libsmbclient: Add internal/external structures needed for readdirplus. X-Git-Tag: ldb-1.4.0~403 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bf13fe0f2226844123cfb090e0ab82c8ce24e09b;p=thirdparty%2Fsamba.git s3: libsmbclient: Add internal/external structures needed for readdirplus. Not yet used. Signed-off-by: Puran Chand Reviewed-by: Jeremy Allison Reviewed-by: Andreas Schneider Reviewed-by: Alexander Bokovoy --- diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h index 0e0045e8c0e..a7bda3dd1be 100644 --- a/source3/include/libsmb_internal.h +++ b/source3/include/libsmb_internal.h @@ -94,6 +94,10 @@ struct smbc_dir_list { struct smbc_dirent *dirent; }; +struct smbc_dirplus_list { + struct smbc_dirplus_list *next; + struct libsmb_file_info *smb_finfo; +}; /* * Structure for open file management @@ -110,6 +114,7 @@ struct _SMBCFILE { struct _SMBCSRV *srv; bool file; struct smbc_dir_list *dir_list, *dir_end, *dir_next; + struct smbc_dirplus_list *dirplus_list, *dirplus_end, *dirplus_next; int dir_type, dir_error; SMBCFILE *next, *prev; diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h index 7a2067915af..65aa7db21d3 100644 --- a/source3/include/libsmbclient.h +++ b/source3/include/libsmbclient.h @@ -129,6 +129,55 @@ struct smbc_dirent char name[1]; }; +/**@ingroup structure + * Structure that represents all attributes of a directory entry. + * + */ +struct libsmb_file_info +{ + /** + * Size of file + */ + uint64_t size; + /** + * DOS attributes of file + */ + uint16_t attrs; + /** + * User ID of file + */ + uid_t uid; + /** + * Group ID of file + */ + gid_t gid; + /** + * Birth/Create time of file (if supported by system) + * Otherwise the value will be 0 + */ + struct timespec btime_ts; + /** + * Modified time for the file + */ + struct timespec mtime_ts; + /** + * Access time for the file + */ + struct timespec atime_ts; + /** + * Change time for the file + */ + struct timespec ctime_ts; + /** + * Name of file + */ + char *name; + /** + * Short name of file + */ + char *short_name; +}; + /* * Logging callback function */