summaryrefslogtreecommitdiff
path: root/source4/libcli/smb2
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-11-11 14:04:46 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:46:13 -0500
commit461ccc557b7cc4ed8b0a3f9fc9aa5f03eccbc656 (patch)
treefb6a25dd212a9722d6fc854dd55d47ad7eca4564 /source4/libcli/smb2
parent1b2e8caad3fb01ea3b61bda63965d324de61c815 (diff)
downloadsamba-461ccc557b7cc4ed8b0a3f9fc9aa5f03eccbc656.tar.gz
samba-461ccc557b7cc4ed8b0a3f9fc9aa5f03eccbc656.tar.bz2
samba-461ccc557b7cc4ed8b0a3f9fc9aa5f03eccbc656.zip
r11681: filled in a few more smb2_create() fields
(This used to be commit a95413568f1e45691524dfd8e9159a3bafe358ea)
Diffstat (limited to 'source4/libcli/smb2')
-rw-r--r--source4/libcli/smb2/create.c15
-rw-r--r--source4/libcli/smb2/smb2_calls.h15
2 files changed, 12 insertions, 18 deletions
diff --git a/source4/libcli/smb2/create.c b/source4/libcli/smb2/create.c
index dc602ca71c..53476ad056 100644
--- a/source4/libcli/smb2/create.c
+++ b/source4/libcli/smb2/create.c
@@ -51,9 +51,9 @@ struct smb2_request *smb2_create_send(struct smb2_tree *tree, struct smb2_create
SIVAL(req->out.body, 0x14, io->in.unknown3[3]);
SIVAL(req->out.body, 0x18, io->in.access_mask);
SIVAL(req->out.body, 0x1C, io->in.file_attr);
- SIVAL(req->out.body, 0x20, io->in.unknown4);
+ SIVAL(req->out.body, 0x20, io->in.share_access);
SIVAL(req->out.body, 0x24, io->in.open_disposition);
- SIVAL(req->out.body, 0x28, io->in.unknown5);
+ SIVAL(req->out.body, 0x28, io->in.create_options);
SSVAL(req->out.body, 0x2C, 0x40+0x38); /* offset to fname */
SSVAL(req->out.body, 0x2E, path.length);
@@ -99,13 +99,10 @@ NTSTATUS smb2_create_recv(struct smb2_request *req, struct smb2_create *io)
io->out.access_time = smbcli_pull_nttime(req->in.body, 0x10);
io->out.write_time = smbcli_pull_nttime(req->in.body, 0x18);
io->out.change_time = smbcli_pull_nttime(req->in.body, 0x20);
- io->out.unknown3 = IVAL(req->in.body, 0x24);
- io->out.unknown4 = IVAL(req->in.body, 0x28);
- io->out.unknown5 = IVAL(req->in.body, 0x2C);
- io->out.unknown6 = IVAL(req->in.body, 0x30);
- io->out.unknown7 = IVAL(req->in.body, 0x34);
- io->out.unknown8 = IVAL(req->in.body, 0x38);
- io->out.unknown9 = IVAL(req->in.body, 0x3C);
+ io->out.alloc_size = BVAL(req->in.body, 0x28);
+ io->out.size = BVAL(req->in.body, 0x30);
+ io->out.file_attr = IVAL(req->in.body, 0x38);
+ io->out.unknown8 = IVAL(req->in.body, 0x3C);
io->out.handle.data[0] = BVAL(req->in.body, 0x40);
io->out.handle.data[1] = BVAL(req->in.body, 0x48);
io->out.unknown10 = IVAL(req->in.body, 0x50);
diff --git a/source4/libcli/smb2/smb2_calls.h b/source4/libcli/smb2/smb2_calls.h
index 7d41a06153..639a9c47c3 100644
--- a/source4/libcli/smb2/smb2_calls.h
+++ b/source4/libcli/smb2/smb2_calls.h
@@ -89,9 +89,9 @@ struct smb2_create {
uint32_t unknown3[4];
uint32_t access_mask;
uint32_t file_attr;
- uint32_t unknown4;
+ uint32_t share_access;
uint32_t open_disposition;
- uint32_t unknown5;
+ uint32_t create_options;
/* ofs/len of name here, 16 bits */
uint32_t unknown6;
const char *fname;
@@ -109,15 +109,12 @@ struct smb2_create {
NTTIME access_time;
NTTIME write_time;
NTTIME change_time;
+ uint64_t alloc_size;
+ uint64_t size;
+ uint32_t file_attr;
uint32_t unknown3;
- uint32_t unknown4;
- uint32_t unknown5;
- uint32_t unknown6;
- uint32_t unknown7;
- uint32_t unknown8;
- uint32_t unknown9;
struct smb2_handle handle;
- uint32_t unknown10;
+ uint32_t unknown4;
} out;
};