s3: libsmbclient: Add internal/external structures needed for readdirplus.
authorPuran Chand <pchand@vmware.com>
Fri, 6 Apr 2018 21:08:03 +0000 (14:08 -0700)
committerJeremy Allison <jra@samba.org>
Fri, 4 May 2018 23:39:40 +0000 (01:39 +0200)
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
source3/include/libsmbclient.h

index 0e0045e8c0eb4d8d9f7efbf21f83eac1c63a3cba..a7bda3dd1be2aa86575f3a181e9c098f91b17f38 100644 (file)
@@ -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;
index 7a2067915afafd0e702768b874e84f8f50ab9d99..65aa7db21d3e15322e6d6884d3bffe65f713e0d0 100644 (file)
@@ -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
  */