diff options
Diffstat (limited to 'source4/include')
-rw-r--r-- | source4/include/smb_interfaces.h | 21 | ||||
-rw-r--r-- | source4/include/trans2.h | 1 |
2 files changed, 19 insertions, 3 deletions
diff --git a/source4/include/smb_interfaces.h b/source4/include/smb_interfaces.h index d5e43633db..9916bf2385 100644 --- a/source4/include/smb_interfaces.h +++ b/source4/include/smb_interfaces.h @@ -313,6 +313,7 @@ enum smb_fileinfo_level { RAW_FILEINFO_SEC_DESC, /* NT_TRANSACT_QUERY_SECURITY_DESC */ RAW_FILEINFO_STANDARD = SMB_QFILEINFO_STANDARD, RAW_FILEINFO_EA_SIZE = SMB_QFILEINFO_EA_SIZE, + RAW_FILEINFO_EA_LIST = SMB_QFILEINFO_EA_LIST, RAW_FILEINFO_ALL_EAS = SMB_QFILEINFO_ALL_EAS, RAW_FILEINFO_IS_NAME_VALID = SMB_QFILEINFO_IS_NAME_VALID, RAW_FILEINFO_BASIC_INFO = SMB_QFILEINFO_BASIC_INFO, @@ -443,16 +444,30 @@ union smb_fileinfo { } out; } ea_size; - /* trans2 RAW_FILEINFO_ALL_EAS interface */ + /* trans2 RAW_FILEINFO_EA_LIST interface */ struct { enum smb_fileinfo_level level; - union smb_fileinfo_in in; + union smb_fileinfo_in file; + + struct { + uint_t num_names; + struct ea_name { + WIRE_STRING name; + } *ea_names; + } in; struct smb_ea_list { - /* the ea_size is implied by the list */ uint_t num_eas; struct ea_struct *eas; } out; + } ea_list; + + /* trans2 RAW_FILEINFO_ALL_EAS interface */ + struct { + enum smb_fileinfo_level level; + union smb_fileinfo_in in; + + struct smb_ea_list out; } all_eas; /* trans2 qpathinfo RAW_FILEINFO_IS_NAME_VALID interface diff --git a/source4/include/trans2.h b/source4/include/trans2.h index 9d934deace..9afb9d4c2d 100644 --- a/source4/include/trans2.h +++ b/source4/include/trans2.h @@ -126,6 +126,7 @@ Found 8 aliased levels */ #define SMB_QFILEINFO_STANDARD 1 #define SMB_QFILEINFO_EA_SIZE 2 +#define SMB_QFILEINFO_EA_LIST 3 #define SMB_QFILEINFO_ALL_EAS 4 #define SMB_QFILEINFO_IS_NAME_VALID 6 /* only for QPATHINFO */ #define SMB_QFILEINFO_BASIC_INFO 0x101 |