summaryrefslogtreecommitdiff
path: root/source4/libcli/raw/rawfile.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-03-11 19:11:57 +0100
committerJeremy Allison <jra@samba.org>2008-03-11 11:49:00 -0700
commit6743de076db8f8ddadb59b13f2ceaabb17f385d0 (patch)
tree01600b9a8cc90061a310b9e83fc6bfb6e468a14b /source4/libcli/raw/rawfile.c
parentde4a4954383584b349f9fd1605a88851dc5d261c (diff)
downloadsamba-6743de076db8f8ddadb59b13f2ceaabb17f385d0.tar.gz
samba-6743de076db8f8ddadb59b13f2ceaabb17f385d0.tar.bz2
samba-6743de076db8f8ddadb59b13f2ceaabb17f385d0.zip
libcli/raw: add RAW_RENAME_NTTRANS support
metze Signed-off-by: Stefan Metzmacher <metze@samba.org> (This used to be commit bfe773a620640fa46efe008f38144f5452350825)
Diffstat (limited to 'source4/libcli/raw/rawfile.c')
-rw-r--r--source4/libcli/raw/rawfile.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/source4/libcli/raw/rawfile.c b/source4/libcli/raw/rawfile.c
index d9383401b7..725034c3a9 100644
--- a/source4/libcli/raw/rawfile.c
+++ b/source4/libcli/raw/rawfile.c
@@ -36,6 +36,8 @@ struct smbcli_request *smb_raw_rename_send(struct smbcli_tree *tree,
union smb_rename *parms)
{
struct smbcli_request *req = NULL;
+ struct smb_nttrans nt;
+ TALLOC_CTX *mem_ctx;
switch (parms->generic.level) {
case RAW_RENAME_RENAME:
@@ -53,6 +55,30 @@ struct smbcli_request *smb_raw_rename_send(struct smbcli_tree *tree,
smbcli_req_append_ascii4(req, parms->ntrename.in.old_name, STR_TERMINATE);
smbcli_req_append_ascii4(req, parms->ntrename.in.new_name, STR_TERMINATE);
break;
+
+ case RAW_RENAME_NTTRANS:
+
+ mem_ctx = talloc_new(tree);
+
+ nt.in.max_setup = 0;
+ nt.in.max_param = 0;
+ nt.in.max_data = 0;
+ nt.in.setup_count = 0;
+ nt.in.setup = NULL;
+ nt.in.function = NT_TRANSACT_RENAME;
+ nt.in.params = data_blob_talloc(mem_ctx, NULL, 4);
+ nt.in.data = data_blob(NULL, 0);
+
+ SSVAL(nt.in.params.data, VWV(0), parms->nttrans.in.file.fnum);
+ SSVAL(nt.in.params.data, VWV(1), parms->nttrans.in.flags);
+
+ smbcli_blob_append_string(tree->session, mem_ctx,
+ &nt.in.params, parms->nttrans.in.new_name,
+ STR_TERMINATE);
+
+ req = smb_raw_nttrans_send(tree, &nt);
+ talloc_free(mem_ctx);
+ return req;
}
if (!smbcli_request_send(req)) {