| From bf13fe0f2226844123cfb090e0ab82c8ce24e09b Mon Sep 17 00:00:00 2001 |
| From: Puran Chand <pchand@vmware.com> |
| Date: Fri, 6 Apr 2018 14:08:03 -0700 |
| Subject: [PATCH] s3: libsmbclient: Add internal/external structures needed for |
| readdirplus. |
| |
| Not yet used. |
| |
| Signed-off-by: Puran Chand <pchand@vmware.com> |
| Reviewed-by: Jeremy Allison <jra@samba.org> |
| Reviewed-by: Andreas Schneider <asn@samba.org> |
| Reviewed-by: Alexander Bokovoy <ab@samba.org> |
| --- |
| source3/include/libsmb_internal.h | 5 ++++ |
| source3/include/libsmbclient.h | 49 +++++++++++++++++++++++++++++++++++++++ |
| 2 files changed, 54 insertions(+) |
| |
| 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 |
| */ |