diff options
Diffstat (limited to 'source4/libcli/raw/rawfile.c')
-rw-r--r-- | source4/libcli/raw/rawfile.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/libcli/raw/rawfile.c b/source4/libcli/raw/rawfile.c index 97ec7c1f00..e9d3a8305d 100644 --- a/source4/libcli/raw/rawfile.c +++ b/source4/libcli/raw/rawfile.c @@ -330,6 +330,13 @@ struct cli_request *smb_raw_open_send(struct cli_tree *tree, union smb_open *par put_dos_date3(req->out.vwv, VWV(1), parms->mknew.in.write_time); cli_req_append_ascii4(req, parms->mknew.in.fname, STR_TERMINATE); break; + + case RAW_OPEN_CREATE: + SETUP_REQUEST(SMBcreate, 3, 0); + SSVAL(req->out.vwv, VWV(0), parms->create.in.attrib); + put_dos_date3(req->out.vwv, VWV(1), parms->create.in.write_time); + cli_req_append_ascii4(req, parms->create.in.fname, STR_TERMINATE); + break; case RAW_OPEN_CTEMP: SETUP_REQUEST(SMBctemp, 3, 0); @@ -421,6 +428,11 @@ NTSTATUS smb_raw_open_recv(struct cli_request *req, TALLOC_CTX *mem_ctx, union s parms->mknew.out.fnum = SVAL(req->in.vwv, VWV(0)); break; + case RAW_OPEN_CREATE: + CLI_CHECK_WCT(req, 1); + parms->create.out.fnum = SVAL(req->in.vwv, VWV(0)); + break; + case RAW_OPEN_CTEMP: CLI_CHECK_WCT(req, 1); parms->ctemp.out.fnum = SVAL(req->in.vwv, VWV(0)); |