summaryrefslogtreecommitdiffstats
path: root/source4/libcli/smb2/smb2_calls.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-02-14 17:11:36 +1100
committerAndrew Tridgell <tridge@samba.org>2008-02-14 17:11:36 +1100
commitb640f475be9b0f83e7812a5c7756344c5891cba3 (patch)
treeeb7c955f31379ae243f89004ff872054d80b764d /source4/libcli/smb2/smb2_calls.h
parent4a04a5e620a4666fc123d04cb96ef391de72c469 (diff)
downloadsamba-b640f475be9b0f83e7812a5c7756344c5891cba3.tar.gz
samba-b640f475be9b0f83e7812a5c7756344c5891cba3.tar.xz
samba-b640f475be9b0f83e7812a5c7756344c5891cba3.zip
updated SMB2 code for getinfo according to WSPP docs
- Updated getinfo structures and field names - also updated the protocol revision number handling to reflect new docs (This used to be commit 3aaa2e86d94675c6c68d66d75292c3e34bfbc81b)
Diffstat (limited to 'source4/libcli/smb2/smb2_calls.h')
-rw-r--r--source4/libcli/smb2/smb2_calls.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/source4/libcli/smb2/smb2_calls.h b/source4/libcli/smb2/smb2_calls.h
index f2e3019d83d..f66236af30c 100644
--- a/source4/libcli/smb2/smb2_calls.h
+++ b/source4/libcli/smb2/smb2_calls.h
@@ -56,6 +56,13 @@ struct smb2_negprot {
#define SMB2_GETINFO_FILE 0x01
#define SMB2_GETINFO_FS 0x02
#define SMB2_GETINFO_SECURITY 0x03
+#define SMB2_GETINFO_QUOTA 0x04
+
+#define SMB2_GETINFO_ADD_OWNER_SECURITY 0x01
+#define SMB2_GETINFO_ADD_GROUP_SECURITY 0x02
+#define SMB2_GETINFO_ADD_DACL_SECURITY 0x04
+#define SMB2_GETINFO_ADD_SACL_SECURITY 0x08
+#define SMB2_GETINFO_ADD_LABEL_SECURITY 0x10
/* NOTE! the getinfo fs and file levels exactly match up with the
'passthru' SMB levels, which are levels >= 1000. The SMB2 client
@@ -64,14 +71,17 @@ struct smb2_negprot {
struct smb2_getinfo {
struct {
/* static body buffer 40 (0x28) bytes */
- /* uint16_t buffer_code; 0x29 = 0x28 + 1 (why???) */
- uint16_t level;
- uint32_t max_response_size;
- uint32_t unknown1;
- uint32_t unknown2;
- uint32_t flags; /* level specific */
- uint32_t flags2; /* used by all_eas level */
+ /* uint16_t buffer_code; 0x29 = 0x28 + 1 */
+ uint8_t info_type;
+ uint8_t info_class;
+ uint32_t output_buffer_length;
+ /* uint32_t input_buffer_offset; */
+ uint32_t reserved;
+ uint32_t input_buffer_length;
+ uint32_t additional_information; /* SMB2_GETINFO_ADD_* */
+ uint32_t getinfo_flags; /* level specific */
union smb_handle file;
+ DATA_BLOB blob;
} in;
struct {