summaryrefslogtreecommitdiffstats
path: root/source/libcli/smb2/smb2_calls.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-11-11 12:37:16 +0000
committerAndrew Tridgell <tridge@samba.org>2005-11-11 12:37:16 +0000
commit73dffe8c1c526fe0b8550a427e22744741504461 (patch)
treede09b9b2080177f4d03eee55d90edfa4bfe27d3b /source/libcli/smb2/smb2_calls.h
parent43a776ea908f998b859ac9dcc787e22024f4de86 (diff)
downloadsamba-73dffe8c1c526fe0b8550a427e22744741504461.tar.gz
samba-73dffe8c1c526fe0b8550a427e22744741504461.tar.xz
samba-73dffe8c1c526fe0b8550a427e22744741504461.zip
r11679: opening/creating files in SMB2 now works. Lots of unknown parameters
in the call tho.
Diffstat (limited to 'source/libcli/smb2/smb2_calls.h')
-rw-r--r--source/libcli/smb2/smb2_calls.h47
1 files changed, 46 insertions, 1 deletions
diff --git a/source/libcli/smb2/smb2_calls.h b/source/libcli/smb2/smb2_calls.h
index 523f314cbf6..8b68751df30 100644
--- a/source/libcli/smb2/smb2_calls.h
+++ b/source/libcli/smb2/smb2_calls.h
@@ -71,6 +71,51 @@ struct smb2_tree_connect {
uint32_t unknown2; /* 0x00 */
uint32_t unknown3; /* 0x00 */
uint32_t unknown4; /* 0x1f01ff */ /* capabilities?? */
- uint64_t tid;
+ uint32_t tid;
} out;
};
+
+/*
+ file handles in SMB2 are 20 bytes, like RPC handles
+*/
+struct smb2_handle {
+ uint8_t data[20];
+};
+
+struct smb2_create {
+ struct {
+ uint32_t unknown1; /* 0x09000039 */
+ uint32_t unknown2; /* 2 */
+ uint32_t unknown3[4];
+ uint32_t access_mask;
+ uint32_t file_attr;
+ uint32_t unknown4;
+ uint32_t open_disposition;
+ uint32_t unknown5;
+ /* ofs/len of name here, 16 bits */
+ uint32_t unknown6;
+ const char *fname;
+ uint32_t unknown7;
+ uint32_t unknown8;
+ uint32_t unknown9;
+ uint32_t unknown10;
+ uint64_t unknown11;
+ } in;
+
+ struct {
+ uint32_t unknown1;
+ uint32_t unknown2;
+ NTTIME create_time;
+ NTTIME access_time;
+ NTTIME write_time;
+ NTTIME change_time;
+ uint32_t unknown3;
+ uint32_t unknown4;
+ uint32_t unknown5;
+ uint32_t unknown6;
+ uint32_t unknown7;
+ struct smb2_handle handle;
+ uint32_t unknown8[2];
+ } out;
+};
+