summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/client/cifsddio.c6
-rw-r--r--source4/client/client.c8
-rw-r--r--source4/libcli/clifile.c44
-rw-r--r--source4/libcli/clireadwrite.c6
-rw-r--r--source4/libcli/clitrans2.c10
-rw-r--r--source4/libcli/raw/interfaces.h280
-rw-r--r--source4/libcli/raw/rawacl.c4
-rw-r--r--source4/libcli/raw/rawfile.c67
-rw-r--r--source4/libcli/raw/rawfileinfo.c8
-rw-r--r--source4/libcli/raw/rawioctl.c4
-rw-r--r--source4/libcli/raw/rawnotify.c28
-rw-r--r--source4/libcli/raw/rawreadwrite.c18
-rw-r--r--source4/libcli/smb2/getinfo.c6
-rw-r--r--source4/libcli/smb_composite/appendacl.c12
-rw-r--r--source4/libcli/smb_composite/loadfile.c8
-rw-r--r--source4/libcli/smb_composite/savefile.c8
-rw-r--r--source4/librpc/rpc/dcerpc_smb.c8
-rw-r--r--source4/ntvfs/cifs/vfs_cifs.c19
-rw-r--r--source4/ntvfs/ipc/vfs_ipc.c22
-rw-r--r--source4/ntvfs/nbench/vfs_nbench.c44
-rw-r--r--source4/ntvfs/ntvfs.h10
-rw-r--r--source4/ntvfs/ntvfs_generic.c48
-rw-r--r--source4/ntvfs/ntvfs_interface.c20
-rw-r--r--source4/ntvfs/posix/pvfs_acl.c2
-rw-r--r--source4/ntvfs/posix/pvfs_flush.c7
-rw-r--r--source4/ntvfs/posix/pvfs_ioctl.c5
-rw-r--r--source4/ntvfs/posix/pvfs_lock.c4
-rw-r--r--source4/ntvfs/posix/pvfs_open.c10
-rw-r--r--source4/ntvfs/posix/pvfs_qfileinfo.c4
-rw-r--r--source4/ntvfs/posix/pvfs_read.c2
-rw-r--r--source4/ntvfs/posix/pvfs_seek.c15
-rw-r--r--source4/ntvfs/posix/pvfs_unlink.c11
-rw-r--r--source4/ntvfs/posix/pvfs_write.c2
-rw-r--r--source4/ntvfs/posix/vfs_posix.c5
-rw-r--r--source4/ntvfs/print/vfs_print.c3
-rw-r--r--source4/ntvfs/simple/vfs_simple.c39
-rw-r--r--source4/ntvfs/unixuid/vfs_unixuid.c12
-rw-r--r--source4/smb_server/smb/nttrans.c32
-rw-r--r--source4/smb_server/smb/reply.c94
-rw-r--r--source4/smb_server/smb/trans2.c12
-rw-r--r--source4/torture/basic/delaywrite.c24
-rw-r--r--source4/torture/basic/delete.c4
-rw-r--r--source4/torture/basic/denytest.c24
-rw-r--r--source4/torture/basic/disconnect.c2
-rw-r--r--source4/torture/gentest.c106
-rw-r--r--source4/torture/nbench/nbio.c30
-rw-r--r--source4/torture/raw/acls.c114
-rw-r--r--source4/torture/raw/chkpath.c8
-rw-r--r--source4/torture/raw/close.c22
-rw-r--r--source4/torture/raw/context.c18
-rw-r--r--source4/torture/raw/eas.c8
-rw-r--r--source4/torture/raw/ioctl.c14
-rw-r--r--source4/torture/raw/lock.c20
-rw-r--r--source4/torture/raw/mux.c12
-rw-r--r--source4/torture/raw/notify.c60
-rw-r--r--source4/torture/raw/open.c98
-rw-r--r--source4/torture/raw/oplock.c54
-rw-r--r--source4/torture/raw/qfileinfo.c4
-rw-r--r--source4/torture/raw/read.c32
-rw-r--r--source4/torture/raw/rename.c20
-rw-r--r--source4/torture/raw/search.c12
-rw-r--r--source4/torture/raw/seek.c80
-rw-r--r--source4/torture/raw/setfileinfo.c18
-rw-r--r--source4/torture/raw/streams.c10
-rw-r--r--source4/torture/raw/unlink.c92
-rw-r--r--source4/torture/raw/write.c38
-rw-r--r--source4/torture/smb2/find.c4
-rw-r--r--source4/torture/smb2/getinfo.c12
-rw-r--r--source4/torture/smb2/setinfo.c2
-rw-r--r--source4/torture/smb2/util.c6
-rw-r--r--source4/torture/torture.c2
-rw-r--r--source4/torture/torture_util.c14
72 files changed, 970 insertions, 941 deletions
diff --git a/source4/client/cifsddio.c b/source4/client/cifsddio.c
index fee5540a5a..c66cb5eeee 100644
--- a/source4/client/cifsddio.c
+++ b/source4/client/cifsddio.c
@@ -169,7 +169,7 @@ BOOL smb_read_func(void * handle,
smbh = IO_HANDLE_TO_SMB(handle);
r.generic.level = RAW_READ_READX;
- r.readx.in.fnum = smbh->fnum;
+ r.readx.file.fnum = smbh->fnum;
r.readx.in.offset = smbh->offset;
r.readx.in.mincnt = wanted;
r.readx.in.maxcnt = wanted;
@@ -207,7 +207,7 @@ BOOL smb_write_func(void * handle,
smbh = IO_HANDLE_TO_SMB(handle);
w.generic.level = RAW_WRITE_WRITEX;
- w.writex.in.fnum = smbh->fnum;
+ w.writex.file.fnum = smbh->fnum;
w.writex.in.offset = smbh->offset;
w.writex.in.count = wanted;
w.writex.in.data = buf;
@@ -290,7 +290,7 @@ static int open_smb_file(struct smbcli_state * cli,
return(-1);
}
- return(o.ntcreatex.out.fnum);
+ return(o.ntcreatex.file.fnum);
}
static struct dd_iohandle * open_smb_handle(const char * host,
diff --git a/source4/client/client.c b/source4/client/client.c
index b154b557d4..fa3d3e71f6 100644
--- a/source4/client/client.c
+++ b/source4/client/client.c
@@ -1727,7 +1727,7 @@ static int cmd_allinfo(struct smbclient_context *ctx, const char **args)
/* first a ALL_INFO QPATHINFO */
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
- finfo.generic.in.fname = fname;
+ finfo.generic.file.path = fname;
status = smb_raw_pathinfo(ctx->cli->tree, ctx, &finfo);
if (!NT_STATUS_IS_OK(status)) {
d_printf("%s - %s\n", fname, nt_errstr(status));
@@ -1821,8 +1821,8 @@ static int cmd_eainfo(struct smbclient_context *ctx, const char **args)
}
fname = talloc_strdup(ctx, args[1]);
- finfo.generic.in.fname = fname;
finfo.generic.level = RAW_FILEINFO_ALL_EAS;
+ finfo.generic.file.path = fname;
status = smb_raw_pathinfo(ctx->cli->tree, ctx, &finfo);
if (!NT_STATUS_IS_OK(status)) {
@@ -1877,8 +1877,8 @@ static int cmd_acl(struct smbclient_context *ctx, const char **args)
}
query.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- query.query_secdesc.in.fnum = fnum;
- query.query_secdesc.secinfo_flags = 0x7;
+ query.query_secdesc.file.fnum = fnum;
+ query.query_secdesc.in.secinfo_flags = 0x7;
status = smb_raw_fileinfo(ctx->cli->tree, ctx, &query);
if (!NT_STATUS_IS_OK(status)) {
diff --git a/source4/libcli/clifile.c b/source4/libcli/clifile.c
index e8cb548007..d3de0dab77 100644
--- a/source4/libcli/clifile.c
+++ b/source4/libcli/clifile.c
@@ -38,11 +38,11 @@ static NTSTATUS smbcli_link_internal(struct smbcli_tree *tree,
if (hard_link) {
parms.generic.level = RAW_SFILEINFO_UNIX_HLINK;
- parms.unix_hlink.file.fname = fname_src;
+ parms.unix_hlink.file.path = fname_src;
parms.unix_hlink.in.link_dest = fname_dst;
} else {
parms.generic.level = RAW_SFILEINFO_UNIX_LINK;
- parms.unix_link.file.fname = fname_src;
+ parms.unix_link.file.path = fname_src;
parms.unix_link.in.link_dest = fname_dst;
}
@@ -110,7 +110,7 @@ static NTSTATUS smbcli_unix_chmod_chown_internal(struct smbcli_tree *tree,
NTSTATUS status;
parms.generic.level = SMB_SFILEINFO_UNIX_BASIC;
- parms.unix_basic.file.fname = fname;
+ parms.unix_basic.file.path = fname;
parms.unix_basic.in.uid = uid;
parms.unix_basic.in.gid = gid;
parms.unix_basic.in.mode = mode;
@@ -165,13 +165,13 @@ NTSTATUS smbcli_rename(struct smbcli_tree *tree, const char *fname_src,
****************************************************************************/
NTSTATUS smbcli_unlink(struct smbcli_tree *tree, const char *fname)
{
- struct smb_unlink parms;
+ union smb_unlink parms;
- parms.in.pattern = fname;
+ parms.unlink.in.pattern = fname;
if (strchr(fname, '*')) {
- parms.in.attrib = FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN;
+ parms.unlink.in.attrib = FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN;
} else {
- parms.in.attrib = FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY;
+ parms.unlink.in.attrib = FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY;
}
return smb_raw_unlink(tree, &parms);
@@ -256,7 +256,7 @@ int smbcli_nt_create_full(struct smbcli_tree *tree, const char *fname,
talloc_free(mem_ctx);
if (NT_STATUS_IS_OK(status)) {
- return open_parms.ntcreatex.out.fnum;
+ return open_parms.ntcreatex.file.fnum;
}
return -1;
@@ -323,7 +323,7 @@ int smbcli_open(struct smbcli_tree *tree, const char *fname, int flags,
talloc_free(mem_ctx);
if (NT_STATUS_IS_OK(status)) {
- return open_parms.openx.out.fnum;
+ return open_parms.openx.file.fnum;
}
return -1;
@@ -339,7 +339,7 @@ NTSTATUS smbcli_close(struct smbcli_tree *tree, int fnum)
NTSTATUS status;
close_parms.close.level = RAW_CLOSE_CLOSE;
- close_parms.close.in.fnum = fnum;
+ close_parms.close.file.fnum = fnum;
close_parms.close.in.write_time = 0;
status = smb_raw_close(tree, &close_parms);
return status;
@@ -358,7 +358,7 @@ NTSTATUS smbcli_locktype(struct smbcli_tree *tree, int fnum,
NTSTATUS status;
parms.lockx.level = RAW_LOCK_LOCKX;
- parms.lockx.in.fnum = fnum;
+ parms.lockx.file.fnum = fnum;
parms.lockx.in.mode = locktype;
parms.lockx.in.timeout = timeout;
parms.lockx.in.ulock_cnt = 0;
@@ -386,7 +386,7 @@ NTSTATUS smbcli_lock(struct smbcli_tree *tree, int fnum,
NTSTATUS status;
parms.lockx.level = RAW_LOCK_LOCKX;
- parms.lockx.in.fnum = fnum;
+ parms.lockx.file.fnum = fnum;
parms.lockx.in.mode = (lock_type == READ_LOCK? 1 : 0);
parms.lockx.in.timeout = timeout;
parms.lockx.in.ulock_cnt = 0;
@@ -412,7 +412,7 @@ NTSTATUS smbcli_unlock(struct smbcli_tree *tree, int fnum, uint32_t offset, uint
NTSTATUS status;
parms.lockx.level = RAW_LOCK_LOCKX;
- parms.lockx.in.fnum = fnum;
+ parms.lockx.file.fnum = fnum;
parms.lockx.in.mode = 0;
parms.lockx.in.timeout = 0;
parms.lockx.in.ulock_cnt = 1;
@@ -444,7 +444,7 @@ NTSTATUS smbcli_lock64(struct smbcli_tree *tree, int fnum,
}
parms.lockx.level = RAW_LOCK_LOCKX;
- parms.lockx.in.fnum = fnum;
+ parms.lockx.file.fnum = fnum;
ltype = (lock_type == READ_LOCK? 1 : 0);
ltype |= LOCKING_ANDX_LARGE_FILES;
@@ -478,7 +478,7 @@ NTSTATUS smbcli_unlock64(struct smbcli_tree *tree, int fnum, off_t offset,
}
parms.lockx.level = RAW_LOCK_LOCKX;
- parms.lockx.in.fnum = fnum;
+ parms.lockx.file.fnum = fnum;
parms.lockx.in.mode = LOCKING_ANDX_LARGE_FILES;
parms.lockx.in.timeout = 0;
parms.lockx.in.ulock_cnt = 1;
@@ -505,7 +505,7 @@ NTSTATUS smbcli_getattrE(struct smbcli_tree *tree, int fnum,
NTSTATUS status;
parms.getattre.level = RAW_FILEINFO_GETATTRE;
- parms.getattre.in.fnum = fnum;
+ parms.getattre.file.fnum = fnum;
status = smb_raw_fileinfo(tree, NULL, &parms);
@@ -545,7 +545,7 @@ NTSTATUS smbcli_getatr(struct smbcli_tree *tree, const char *fname,
NTSTATUS status;
parms.getattr.level = RAW_FILEINFO_GETATTR;
- parms.getattr.in.fname = fname;
+ parms.getattr.file.path = fname;
status = smb_raw_pathinfo(tree, NULL, &parms);
@@ -579,9 +579,9 @@ NTSTATUS smbcli_setatr(struct smbcli_tree *tree, const char *fname, uint16_t mod
NTSTATUS status;
parms.setattr.level = RAW_SFILEINFO_SETATTR;
+ parms.setattr.file.path = fname;
parms.setattr.in.attrib = mode;
parms.setattr.in.write_time = t;
- parms.setattr.file.fname = fname;
status = smb_raw_setpathinfo(tree, &parms);
@@ -594,7 +594,7 @@ NTSTATUS smbcli_setatr(struct smbcli_tree *tree, const char *fname, uint16_t mod
****************************************************************************/
NTSTATUS smbcli_chkpath(struct smbcli_tree *tree, const char *path)
{
- struct smb_chkpath parms;
+ union smb_chkpath parms;
char *path2;
NTSTATUS status;
@@ -605,8 +605,8 @@ NTSTATUS smbcli_chkpath(struct smbcli_tree *tree, const char *path)
path2 = strdup("\\");
}
- parms.in.path = path2;
-
+ parms.chkpath.in.path = path2;
+
status = smb_raw_chkpath(tree, &parms);
free(path2);
@@ -663,7 +663,7 @@ int smbcli_ctemp(struct smbcli_tree *tree, const char *path, char **tmp_path)
}
talloc_free(mem_ctx);
if (NT_STATUS_IS_OK(status)) {
- return open_parms.ctemp.out.fnum;
+ return open_parms.ctemp.file.fnum;
}
return -1;
}
diff --git a/source4/libcli/clireadwrite.c b/source4/libcli/clireadwrite.c
index 4248ac4286..afffba968a 100644
--- a/source4/libcli/clireadwrite.c
+++ b/source4/libcli/clireadwrite.c
@@ -38,7 +38,7 @@ ssize_t smbcli_read(struct smbcli_tree *tree, int fnum, void *_buf, off_t offset
}
parms.readx.level = RAW_READ_READX;
- parms.readx.in.fnum = fnum;
+ parms.readx.file.fnum = fnum;
/*
* Set readsize to the maximum size we can handle in one readX,
@@ -100,7 +100,7 @@ ssize_t smbcli_write(struct smbcli_tree *tree,
parms.writex.level = RAW_WRITE_WRITEX;
- parms.writex.in.fnum = fnum;
+ parms.writex.file.fnum = fnum;
parms.writex.in.wmode = write_mode;
parms.writex.in.remaining = 0;
@@ -144,7 +144,7 @@ ssize_t smbcli_smbwrite(struct smbcli_tree *tree,
size_t size = MIN(size1, tree->session->transport->negotiate.max_xmit - 48);
if (size > 0xFFFF) size = 0xFFFF;
- parms.write.in.fnum = fnum;
+ parms.write.file.fnum = fnum;
parms.write.in.offset = offset;
parms.write.in.count = size;
parms.write.in.data = buf + total;
diff --git a/source4/libcli/clitrans2.c b/source4/libcli/clitrans2.c
index c440b25e36..f8699e0191 100644
--- a/source4/libcli/clitrans2.c
+++ b/source4/libcli/clitrans2.c
@@ -36,7 +36,7 @@ NTSTATUS smbcli_qpathinfo(struct smbcli_tree *tree, const char *fname,
if (!mem_ctx) return NT_STATUS_NO_MEMORY;
parms.standard.level = RAW_FILEINFO_STANDARD;
- parms.standard.in.fname = fname;
+ parms.standard.file.path = fname;
status = smb_raw_pathinfo(tree, mem_ctx, &parms);
talloc_free(mem_ctx);
@@ -78,7 +78,7 @@ NTSTATUS smbcli_qpathinfo2(struct smbcli_tree *tree, const char *fname,
if (!mem_ctx) return NT_STATUS_NO_MEMORY;
parms.all_info.level = RAW_FILEINFO_ALL_INFO;
- parms.all_info.in.fname = fname;
+ parms.all_info.file.path = fname;
status = smb_raw_pathinfo(tree, mem_ctx, &parms);
talloc_free(mem_ctx);
@@ -121,7 +121,7 @@ NTSTATUS smbcli_qfilename(struct smbcli_tree *tree, int fnum, const char **name)
if (!mem_ctx) return NT_STATUS_NO_MEMORY;
parms.name_info.level = RAW_FILEINFO_NAME_INFO;
- parms.name_info.in.fnum = fnum;
+ parms.name_info.file.fnum = fnum;
status = smb_raw_fileinfo(tree, mem_ctx, &parms);
if (!NT_STATUS_IS_OK(status)) {
@@ -155,7 +155,7 @@ NTSTATUS smbcli_qfileinfo(struct smbcli_tree *tree, int fnum,
return NT_STATUS_NO_MEMORY;
parms.all_info.level = RAW_FILEINFO_ALL_INFO;
- parms.all_info.in.fnum = fnum;
+ parms.all_info.file.fnum = fnum;
status = smb_raw_fileinfo(tree, mem_ctx, &parms);
talloc_free(mem_ctx);
@@ -200,7 +200,7 @@ NTSTATUS smbcli_qpathinfo_alt_name(struct smbcli_tree *tree, const char *fname,
NTSTATUS status;
parms.alt_name_info.level = RAW_FILEINFO_ALT_NAME_INFO;
- parms.alt_name_info.in.fname = fname;
+ parms.alt_name_info.file.path = fname;
mem_ctx = talloc_init("smbcli_qpathinfo_alt_name");
if (!mem_ctx) return NT_STATUS_NO_MEMORY;
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h
index 034878a464..0505078fd4 100644
--- a/source4/libcli/raw/interfaces.h
+++ b/source4/libcli/raw/interfaces.h
@@ -56,6 +56,29 @@ typedef struct {
/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */
#define dom_sid28 dom_sid
+/*
+ a generic container for file handles
+*/
+union smb_file {
+ /*
+ * this is only used for
+ * the qpathinfo and setpathinfo
+ * calls
+ */
+ const char *path;
+
+ /*
+ * this is used as file handle in SMB
+ */
+ uint16_t fnum;
+
+ /*
+ * this is used as file handle in SMB2
+ */
+ struct smb2_handle {
+ uint64_t data[2];
+ } handle;
+};
/*
this header defines the structures and unions used between the SMB
@@ -63,32 +86,37 @@ typedef struct {
*/
/* struct used for SMBlseek call */
-struct smb_seek {
- struct {
- uint16_t fnum;
- uint16_t mode;
- int32_t offset; /* signed */
- } in;
+union smb_seek {
struct {
- int32_t offset;
- } out;
+ union smb_file file;
+ struct {
+ uint16_t mode;
+ int32_t offset; /* signed */
+ } in;
+ struct {
+ int32_t offset;
+ } out;
+ } lseek;
};
-
/* struct used in unlink() call */
-struct smb_unlink {
+union smb_unlink {
struct {
- const char *pattern;
- uint16_t attrib;
- } in;
+ struct {
+ const char *pattern;
+ uint16_t attrib;
+ } in;
+ } unlink;
};
/* struct used in chkpath() call */
-struct smb_chkpath {
+union smb_chkpath {
struct {
- const char *path;
- } in;
+ struct {
+ const char *path;
+ } in;
+ } chkpath;
};
enum smb_mkdir_level {RAW_MKDIR_GENERIC, RAW_MKDIR_MKDIR, RAW_MKDIR_T2MKDIR};
@@ -326,32 +354,14 @@ enum smb_fileinfo_level {
RAW_FILEINFO_SMB2_ALL_INFORMATION = 0x1201
};
-/*
- file handles in SMB2 are 16 bytes
-*/
-struct smb2_handle {
- uint64_t data[2];
-};
-
-
/* union used in qfileinfo() and qpathinfo() backend calls */
union smb_fileinfo {
/* generic interface:
* matches RAW_FILEINFO_GENERIC */
struct {
enum smb_fileinfo_level level;
+ union smb_file file;
- /* each level can be called on either a pathname or a
- filename, in either case the return format is
- identical
- On SMB2 a 16 byte handle is used
- */
- union smb_fileinfo_in {
- const char *fname;
- uint16_t fnum;
- struct smb2_handle handle;
- } in;
-
struct {
uint32_t attrib;
uint32_t ea_size;
@@ -397,7 +407,7 @@ union smb_fileinfo {
* matches RAW_FILEINFO_GETATTR */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint16_t attrib;
@@ -409,7 +419,7 @@ union smb_fileinfo {
/* SMBgetattrE and RAW_FILEINFO_STANDARD interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
time_t create_time;
@@ -424,7 +434,7 @@ union smb_fileinfo {
/* trans2 RAW_FILEINFO_EA_SIZE interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
time_t create_time;
@@ -440,7 +450,7 @@ union smb_fileinfo {
/* trans2 RAW_FILEINFO_EA_LIST interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in file;
+ union smb_file file;
struct {
uint_t num_names;
@@ -458,9 +468,11 @@ union smb_fileinfo {
/* trans2 RAW_FILEINFO_ALL_EAS and RAW_FILEINFO_FULL_EA_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
- uint8_t continue_flags; /* SMB2 only - SMB2_CONTINUE_FLAG_* */
-
+ union smb_file file;
+ struct {
+ /* SMB2 only - SMB2_CONTINUE_FLAG_* */
+ uint8_t continue_flags;
+ } in;
struct smb_ea_list out;
} all_eas;
@@ -468,13 +480,13 @@ union smb_fileinfo {
only valid for a QPATHNAME call - no returned data */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
} is_name_valid;
/* RAW_FILEINFO_BASIC_INFO and RAW_FILEINFO_BASIC_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
NTTIME create_time;
@@ -489,7 +501,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_STANDARD_INFO and RAW_FILEINFO_STANDARD_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint64_t alloc_size;
@@ -503,7 +515,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_EA_INFO and RAW_FILEINFO_EA_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint32_t ea_size;
@@ -513,7 +525,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_NAME_INFO and RAW_FILEINFO_NAME_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
WIRE_STRING fname;
@@ -523,7 +535,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_ALL_INFO and RAW_FILEINFO_ALL_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
NTTIME create_time;
@@ -544,7 +556,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_SMB2_ALL_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
NTTIME create_time;
@@ -571,7 +583,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_ALT_NAME_INFO and RAW_FILEINFO_ALT_NAME_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
WIRE_STRING fname;
@@ -581,7 +593,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_STREAM_INFO and RAW_FILEINFO_STREAM_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct stream_information {
uint_t num_streams;
@@ -592,7 +604,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_COMPRESSION_INFO and RAW_FILEINFO_COMPRESSION_INFORMATION interfaces */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint64_t compressed_size;
@@ -606,7 +618,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_UNIX_BASIC interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint64_t end_of_file;
@@ -628,7 +640,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_UNIX_LINK interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
WIRE_STRING link_dest;
@@ -638,7 +650,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_INTERNAL_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint64_t file_id;
@@ -648,7 +660,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_ACCESS_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint32_t access_flags;
@@ -658,7 +670,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_POSITION_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint64_t position;
@@ -668,7 +680,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_MODE_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint32_t mode;
@@ -678,7 +690,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_ALIGNMENT_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint32_t alignment_requirement;
@@ -688,7 +700,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_NETWORK_OPEN_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
NTTIME create_time;
@@ -705,7 +717,7 @@ union smb_fileinfo {
/* RAW_FILEINFO_ATTRIBUTE_TAG_INFORMATION interface */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
+ union smb_file file;
struct {
uint32_t attrib;
@@ -716,8 +728,10 @@ union smb_fileinfo {
/* RAW_FILEINFO_SEC_DESC */
struct {
enum smb_fileinfo_level level;
- union smb_fileinfo_in in;
- uint32_t secinfo_flags;
+ union smb_file file;
+ struct {
+ uint32_t secinfo_flags;
+ } in;
struct {
struct security_descriptor *sd;
} out;
@@ -760,19 +774,13 @@ union smb_setfileinfo {
struct {
enum smb_setfileinfo_level level;
- /* we are combining setfileinfo and setpathinfo into one
- interface */
- union setfileinfo_file {
- const char *fname;
- uint16_t fnum;
- struct smb2_handle handle; /* only for SMB2 */
- } file;
+ union smb_file file;
} generic;
/* RAW_SFILEINFO_SETATTR (SMBsetatr) interface - only via setpathinfo() */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
+ union smb_file file;
struct {
uint16_t attrib;
time_t write_time;
@@ -783,8 +791,7 @@ union smb_setfileinfo {
also RAW_SFILEINFO_STANDARD */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct {
time_t create_time;
time_t access_time;
@@ -797,7 +804,7 @@ union smb_setfileinfo {
/* RAW_SFILEINFO_EA_SET interface */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
+ union smb_file file;
struct {
uint_t num_eas;
struct ea_struct *eas;
@@ -808,8 +815,7 @@ union smb_setfileinfo {
RAW_SFILEINFO_BASIC_INFORMATION interfaces */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct {
NTTIME create_time;
NTTIME access_time;
@@ -823,8 +829,7 @@ union smb_setfileinfo {
RAW_SFILEINFO_DISPOSITION_INFORMATION interfaces */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct {
BOOL delete_on_close;
} in;
@@ -834,8 +839,7 @@ union smb_setfileinfo {
RAW_SFILEINFO_ALLOCATION_INFORMATION interfaces */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct {
/* w2k3 rounds this up to nearest 4096 */
uint64_t alloc_size;
@@ -846,8 +850,7 @@ union smb_setfileinfo {
RAW_SFILEINFO_END_OF_FILE_INFORMATION interfaces */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct {
uint64_t size;
} in;
@@ -856,8 +859,7 @@ union smb_setfileinfo {
/* RAW_SFILEINFO_RENAME_INFORMATION interface */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct smb_rename_information {
uint8_t overwrite;
uint32_t root_fid;
@@ -868,8 +870,7 @@ union smb_setfileinfo {
/* RAW_SFILEINFO_POSITION_INFORMATION interface */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct {
uint64_t position;
} in;
@@ -878,8 +879,7 @@ union smb_setfileinfo {
/* RAW_SFILEINFO_MODE_INFORMATION interface */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
-
+ union smb_file file;
struct {
/* valid values seem to be 0, 2, 4 and 6 */
uint32_t mode;
@@ -891,7 +891,7 @@ union smb_setfileinfo {
/* RAW_SFILEINFO_UNIX_BASIC interface */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
+ union smb_file file;
struct {
uint32_t mode; /* yuck - this field remains to fix compile of libcli/clifile.c */
uint64_t end_of_file;
@@ -913,7 +913,7 @@ union smb_setfileinfo {
/* RAW_SFILEINFO_UNIX_LINK, RAW_SFILEINFO_UNIX_HLINK interface */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
+ union smb_file file;
struct {
const char *link_dest;
} in;
@@ -922,7 +922,7 @@ union smb_setfileinfo {
/* RAW_FILEINFO_SET_SEC_DESC */
struct {
enum smb_setfileinfo_level level;
- union setfileinfo_file file;
+ union smb_file file;
struct {
uint32_t secinfo_flags;
struct security_descriptor *sd;
@@ -1131,6 +1131,8 @@ union smb_open {
/* SMBNTCreateX interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint32_t flags;
@@ -1156,7 +1158,6 @@ union smb_open {
struct {
uint8_t oplock_level;
- uint16_t fnum;
uint32_t create_action;
NTTIME create_time;
NTTIME access_time;
@@ -1174,6 +1175,8 @@ union smb_open {
/* TRANS2_OPEN interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint16_t flags;
@@ -1190,7 +1193,6 @@ union smb_open {
} in;
struct {
- uint16_t fnum;
uint16_t attrib;
time_t write_time;
uint32_t size;
@@ -1205,14 +1207,16 @@ union smb_open {
/* SMBopen interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint16_t open_mode;
uint16_t search_attrs;
const char *fname;
} in;
+
struct {
- uint16_t fnum;
uint16_t attrib;
time_t write_time;
uint32_t size;
@@ -1223,6 +1227,8 @@ union smb_open {
/* SMBopenX interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint16_t flags;
@@ -1238,7 +1244,6 @@ union smb_open {
const char *fname;
} in;
struct {
- uint16_t fnum;
uint16_t attrib;
time_t write_time;
uint32_t size;
@@ -1255,20 +1260,21 @@ union smb_open {
/* SMBmknew interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint16_t attrib;
time_t write_time;
const char *fname;
} in;
- struct {
- uint16_t fnum;
- } out;
} mknew, create;
/* SMBctemp interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint16_t attrib;
@@ -1276,7 +1282,6 @@ union smb_open {
const char *directory;
} in;
struct {
- uint16_t fnum;
/* temp name, relative to directory */
char *name;
} out;
@@ -1285,21 +1290,22 @@ union smb_open {
/* SMBsplopen interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint16_t setup_length;
uint16_t mode;
const char *ident;
} in;
- struct {
- uint16_t fnum;
- } out;
} splopen;
/* chained OpenX/ReadX interface */
struct {
enum smb_open_level level;
+ /* this is the output file handle */
+ union smb_file file;
struct {
uint16_t flags;
@@ -1321,7 +1327,6 @@ union smb_open {
uint16_t remaining;
} in;
struct {
- uint16_t fnum;
uint16_t attrib;
time_t write_time;
uint32_t size;
@@ -1357,9 +1362,9 @@ union smb_read {
/* SMBreadX (and generic) interface */
struct {
enum smb_read_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint64_t offset;
uint16_t mincnt;
uint32_t maxcnt;
@@ -1376,9 +1381,9 @@ union smb_read {
/* SMBreadbraw interface */
struct {
enum smb_read_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint64_t offset;
uint16_t maxcnt;
uint16_t mincnt;
@@ -1394,9 +1399,9 @@ union smb_read {
/* SMBlockandread interface */
struct {
enum smb_read_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint16_t count;
uint32_t offset;
uint16_t remaining;
@@ -1410,9 +1415,9 @@ union smb_read {
/* SMBread interface */
struct {
enum smb_read_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint16_t count;
uint32_t offset;
uint16_t remaining;
@@ -1437,9 +1442,9 @@ union smb_write {
/* SMBwriteX interface */
struct {
enum smb_write_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint64_t offset;
uint16_t wmode;
uint16_t remaining;
@@ -1455,9 +1460,9 @@ union smb_write {
/* SMBwriteunlock interface */
struct {
enum smb_write_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint16_t count;
uint32_t offset;
uint16_t remaining;
@@ -1471,9 +1476,9 @@ union smb_write {
/* SMBwrite interface */
struct {
enum smb_write_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint16_t count;
uint32_t offset;
uint16_t remaining;
@@ -1487,9 +1492,9 @@ union smb_write {
/* SMBwriteclose interface */
struct {
enum smb_write_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint16_t count;
uint32_t offset;
time_t mtime;
@@ -1503,9 +1508,9 @@ union smb_write {
/* SMBsplwrite interface */
struct {
enum smb_write_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint16_t count;
const uint8_t *data;
} in;
@@ -1524,9 +1529,9 @@ union smb_lock {
/* SMBlockingX (and generic) interface */
struct {
enum smb_lock_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint16_t mode;
uint32_t timeout;
uint16_t ulock_cnt;
@@ -1542,9 +1547,9 @@ union smb_lock {
/* SMBlock and SMBunlock interface */
struct {
enum smb_lock_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint32_t count;
uint32_t offset;
} in;
@@ -1563,9 +1568,9 @@ union smb_close {
/* SMBclose (and generic) interface */
struct {
enum smb_close_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
time_t write_time;
} in;
} close, generic;
@@ -1573,10 +1578,7 @@ union smb_close {
/* SMBsplclose interface - empty! */
struct {
enum smb_close_level level;
-
- struct {
- uint16_t fnum;
- } in;
+ union smb_file file;
} splclose;
};
@@ -1625,14 +1627,15 @@ union smb_ioctl {
/* generic interface */
struct {
enum smb_ioctl_level level;
+ union smb_file file;
} generic;
/* struct for SMBioctl */
struct {
enum smb_ioctl_level level;
+ union smb_file file;
struct {
- uint16_t fnum;
uint32_t request;
} in;
struct {
@@ -1644,9 +1647,9 @@ union smb_ioctl {
/* struct for NT ioctl call */
struct {
enum smb_ioctl_level level;
+ union smb_file file;
struct {
uint32_t function;
- uint16_t fnum;
BOOL fsctl;
uint8_t filter;
} in;
@@ -1657,10 +1660,10 @@ union smb_ioctl {
};
/* struct for SMBflush */
-struct smb_flush {
+union smb_flush {
struct {
- uint16_t fnum;
- } in;
+ union smb_file file;
+ } flush;
};
@@ -1725,24 +1728,25 @@ struct smb_nttrans {
/* struct for nttrans change notify call */
-struct smb_notify {
+union smb_notify {
struct {
- uint32_t buffer_size;
- uint32_t completion_filter;
- uint16_t fnum;
- BOOL recursive;
- } in;
+ union smb_file file;
+ struct {
+ uint32_t buffer_size;
+ uint32_t completion_filter;
+ BOOL recursive;
+ } in;
- struct {
- uint32_t num_changes;
- struct notify_changes {
- uint32_t action;
- WIRE_STRING name;
- } *changes;
- } out;
+ struct {
+ uint32_t num_changes;
+ struct notify_changes {
+ uint32_t action;
+ WIRE_STRING name;
+ } *changes;
+ } out;
+ } notify;
};
-
enum smb_search_level {RAW_SEARCH_GENERIC = 0xF000,
RAW_SEARCH_SEARCH, /* SMBsearch */
RAW_SEARCH_FFIRST, /* SMBffirst */
diff --git a/source4/libcli/raw/rawacl.c b/source4/libcli/raw/rawacl.c
index 08515eadde..7c0c17b4d7 100644
--- a/source4/libcli/raw/rawacl.c
+++ b/source4/libcli/raw/rawacl.c
@@ -38,9 +38,9 @@ struct smbcli_request *smb_raw_query_secdesc_send(struct smbcli_tree *tree,
nt.in.function = NT_TRANSACT_QUERY_SECURITY_DESC;
nt.in.setup = NULL;
- SSVAL(params, 0, io->query_secdesc.in.fnum);
+ SSVAL(params, 0, io->query_secdesc.file.fnum);
SSVAL(params, 2, 0); /* padding */
- SIVAL(params, 4, io->query_secdesc.secinfo_flags);
+ SIVAL(params, 4, io->query_secdesc.in.secinfo_flags);
nt.in.params.data = params;
nt.in.params.length = 8;
diff --git a/source4/libcli/raw/rawfile.c b/source4/libcli/raw/rawfile.c
index 9d2611f7b2..0e63fa656f 100644
--- a/source4/libcli/raw/rawfile.c
+++ b/source4/libcli/raw/rawfile.c
@@ -78,14 +78,14 @@ NTSTATUS smb_raw_rename(struct smbcli_tree *tree,
Delete a file - async interface
****************************************************************************/
struct smbcli_request *smb_raw_unlink_send(struct smbcli_tree *tree,
- struct smb_unlink *parms)
+ union smb_unlink *parms)
{
struct smbcli_request *req;
SETUP_REQUEST(SMBunlink, 1, 0);
- SSVAL(req->out.vwv, VWV(0), parms->in.attrib);
- smbcli_req_append_ascii4(req, parms->in.pattern, STR_TERMINATE);
+ SSVAL(req->out.vwv, VWV(0), parms->unlink.in.attrib);
+ smbcli_req_append_ascii4(req, parms->unlink.in.pattern, STR_TERMINATE);
if (!smbcli_request_send(req)) {
smbcli_request_destroy(req);
@@ -98,7 +98,7 @@ struct smbcli_request *smb_raw_unlink_send(struct smbcli_tree *tree,
delete a file - sync interface
*/
NTSTATUS smb_raw_unlink(struct smbcli_tree *tree,
- struct smb_unlink *parms)
+ union smb_unlink *parms)
{
struct smbcli_request *req = smb_raw_unlink_send(tree, parms);
return smbcli_request_simple_recv(req);
@@ -234,7 +234,7 @@ static NTSTATUS smb_raw_nttrans_create_recv(struct smbcli_request *req,
params = nt.out.params.data;
parms->ntcreatex.out.oplock_level = CVAL(params, 0);
- parms->ntcreatex.out.fnum = SVAL(params, 2);
+ parms->ntcreatex.file.fnum = SVAL(params, 2);
parms->ntcreatex.out.create_action = IVAL(params, 4);
parms->ntcreatex.out.create_time = smbcli_pull_nttime(params, 12);
parms->ntcreatex.out.access_time = smbcli_pull_nttime(params, 20);
@@ -406,7 +406,7 @@ static NTSTATUS smb_raw_t2open_recv(struct smbcli_request *req, TALLOC_CTX *mem_
return NT_STATUS_INFO_LENGTH_MISMATCH;
}
- parms->t2open.out.fnum = SVAL(t2.out.params.data, VWV(0));
+ parms->t2open.file.fnum = SVAL(t2.out.params.data, VWV(0));
parms->t2open.out.attrib = SVAL(t2.out.params.data, VWV(1));
parms->t2open.out.write_time = raw_pull_dos_date3(transport, t2.out.params.data + VWV(2));
parms->t2open.out.size = IVAL(t2.out.params.data, VWV(4));
@@ -572,7 +572,7 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
case RAW_OPEN_OPEN:
SMBCLI_CHECK_WCT(req, 7);
- parms->openold.out.fnum = SVAL(req->in.vwv, VWV(0));
+ parms->openold.file.fnum = SVAL(req->in.vwv, VWV(0));
parms->openold.out.attrib = SVAL(req->in.vwv, VWV(1));
parms->openold.out.write_time = raw_pull_dos_date3(req->transport,
req->in.vwv + VWV(2));
@@ -582,7 +582,7 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
case RAW_OPEN_OPENX:
SMBCLI_CHECK_MIN_WCT(req, 15);
- parms->openx.out.fnum = SVAL(req->in.vwv, VWV(2));
+ parms->openx.file.fnum = SVAL(req->in.vwv, VWV(2));
parms->openx.out.attrib = SVAL(req->in.vwv, VWV(3));
parms->openx.out.write_time = raw_pull_dos_date3(req->transport,
req->in.vwv + VWV(4));
@@ -603,29 +603,29 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
case RAW_OPEN_MKNEW:
SMBCLI_CHECK_WCT(req, 1);
- parms->mknew.out.fnum = SVAL(req->in.vwv, VWV(0));
+ parms->mknew.file.fnum = SVAL(req->in.vwv, VWV(0));
break;
case RAW_OPEN_CREATE:
SMBCLI_CHECK_WCT(req, 1);
- parms->create.out.fnum = SVAL(req->in.vwv, VWV(0));
+ parms->create.file.fnum = SVAL(req->in.vwv, VWV(0));
break;
case RAW_OPEN_CTEMP:
SMBCLI_CHECK_WCT(req, 1);
- parms->ctemp.out.fnum = SVAL(req->in.vwv, VWV(0));
+ parms->ctemp.file.fnum = SVAL(req->in.vwv, VWV(0));
smbcli_req_pull_string(req, mem_ctx, &parms->ctemp.out.name, req->in.data, -1, STR_TERMINATE | STR_ASCII);
break;
case RAW_OPEN_SPLOPEN:
SMBCLI_CHECK_WCT(req, 1);
- parms->splopen.out.fnum = SVAL(req->in.vwv, VWV(0));
+ parms->splopen.file.fnum = SVAL(req->in.vwv, VWV(0));
break;
case RAW_OPEN_NTCREATEX:
SMBCLI_CHECK_MIN_WCT(req, 34);
parms->ntcreatex.out.oplock_level = CVAL(req->in.vwv, 4);
- parms->ntcreatex.out.fnum = SVAL(req->in.vwv, 5);
+ parms->ntcreatex.file.fnum = SVAL(req->in.vwv, 5);
parms->ntcreatex.out.create_action = IVAL(req->in.vwv, 7);
parms->ntcreatex.out.create_time = smbcli_pull_nttime(req->in.vwv, 11);
parms->ntcreatex.out.access_time = smbcli_pull_nttime(req->in.vwv, 19);
@@ -644,7 +644,7 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
case RAW_OPEN_OPENX_READX:
SMBCLI_CHECK_MIN_WCT(req, 15);
- parms->openxreadx.out.fnum = SVAL(req->in.vwv, VWV(2));
+ parms->openxreadx.file.fnum = SVAL(req->in.vwv, VWV(2));
parms->openxreadx.out.attrib = SVAL(req->in.vwv, VWV(3));
parms->openxreadx.out.write_time = raw_pull_dos_date3(req->transport,
req->in.vwv + VWV(4));
@@ -706,14 +706,14 @@ struct smbcli_request *smb_raw_close_send(struct smbcli_tree *tree, union smb_cl
switch (parms->generic.level) {
case RAW_CLOSE_CLOSE:
SETUP_REQUEST(SMBclose, 3, 0);
- SSVAL(req->out.vwv, VWV(0), parms->close.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->close.file.fnum);
raw_push_dos_date3(tree->session->transport,
req->out.vwv, VWV(1), parms->close.in.write_time);
break;
case RAW_CLOSE_SPLCLOSE:
SETUP_REQUEST(SMBsplclose, 3, 0);
- SSVAL(req->out.vwv, VWV(0), parms->splclose.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->splclose.file.fnum);
SIVAL(req->out.vwv, VWV(1), 0); /* reserved */
break;
}
@@ -749,14 +749,14 @@ struct smbcli_request *smb_raw_lock_send(struct smbcli_tree *tree, union smb_loc
switch (parms->generic.level) {
case RAW_LOCK_LOCK:
SETUP_REQUEST(SMBlock, 5, 0);
- SSVAL(req->out.vwv, VWV(0), parms->lock.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->lock.file.fnum);
SIVAL(req->out.vwv, VWV(1), parms->lock.in.count);
SIVAL(req->out.vwv, VWV(3), parms->lock.in.offset);
break;
case RAW_LOCK_UNLOCK:
SETUP_REQUEST(SMBunlock, 5, 0);
- SSVAL(req->out.vwv, VWV(0), parms->unlock.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->unlock.file.fnum);
SIVAL(req->out.vwv, VWV(1), parms->unlock.in.count);
SIVAL(req->out.vwv, VWV(3), parms->unlock.in.offset);
break;
@@ -770,7 +770,7 @@ struct smbcli_request *smb_raw_lock_send(struct smbcli_tree *tree, union smb_loc
SETUP_REQUEST(SMBlockingX, 8, lck_size * lock_count);
SSVAL(req->out.vwv, VWV(0), SMB_CHAIN_NONE);
SSVAL(req->out.vwv, VWV(1), 0);
- SSVAL(req->out.vwv, VWV(2), parms->lockx.in.fnum);
+ SSVAL(req->out.vwv, VWV(2), parms->lockx.file.fnum);
SSVAL(req->out.vwv, VWV(3), parms->lockx.in.mode);
SIVAL(req->out.vwv, VWV(4), parms->lockx.in.timeout);
SSVAL(req->out.vwv, VWV(6), parms->lockx.in.ulock_cnt);
@@ -816,13 +816,13 @@ NTSTATUS smb_raw_lock(struct smbcli_tree *tree, union smb_lock *parms)
/****************************************************************************
Check for existence of a dir - async send
****************************************************************************/
-struct smbcli_request *smb_raw_chkpath_send(struct smbcli_tree *tree, struct smb_chkpath *parms)
+struct smbcli_request *smb_raw_chkpath_send(struct smbcli_tree *tree, union smb_chkpath *parms)
{
struct smbcli_request *req;
SETUP_REQUEST(SMBchkpth, 0, 0);
- smbcli_req_append_ascii4(req, parms->in.path, STR_TERMINATE);
+ smbcli_req_append_ascii4(req, parms->chkpath.in.path, STR_TERMINATE);
if (!smbcli_request_send(req)) {
smbcli_request_destroy(req);
@@ -835,25 +835,22 @@ struct smbcli_request *smb_raw_chkpath_send(struct smbcli_tree *tree, struct smb
/****************************************************************************
Check for existence of a dir - sync interface
****************************************************************************/
-NTSTATUS smb_raw_chkpath(struct smbcli_tree *tree, struct smb_chkpath *parms)
+NTSTATUS smb_raw_chkpath(struct smbcli_tree *tree, union smb_chkpath *parms)
{
struct smbcli_request *req = smb_raw_chkpath_send(tree, parms);
return smbcli_request_simple_recv(req);
}
-
-
-
/****************************************************************************
flush a file - async send
a flush to fnum 0xFFFF will flush all files
****************************************************************************/
-struct smbcli_request *smb_raw_flush_send(struct smbcli_tree *tree, struct smb_flush *parms)
+struct smbcli_request *smb_raw_flush_send(struct smbcli_tree *tree, union smb_flush *parms)
{
struct smbcli_request *req;
SETUP_REQUEST(SMBflush, 1, 0);
- SSVAL(req->out.vwv, VWV(0), parms->in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->flush.file.fnum);
if (!smbcli_request_send(req)) {
smbcli_request_destroy(req);
@@ -867,7 +864,7 @@ struct smbcli_request *smb_raw_flush_send(struct smbcli_tree *tree, struct smb_f
/****************************************************************************
flush a file - sync interface
****************************************************************************/
-NTSTATUS smb_raw_flush(struct smbcli_tree *tree, struct smb_flush *parms)
+NTSTATUS smb_raw_flush(struct smbcli_tree *tree, union smb_flush *parms)
{
struct smbcli_request *req = smb_raw_flush_send(tree, parms);
return smbcli_request_simple_recv(req);
@@ -878,15 +875,15 @@ NTSTATUS smb_raw_flush(struct smbcli_tree *tree, struct smb_flush *parms)
seek a file - async send
****************************************************************************/
struct smbcli_request *smb_raw_seek_send(struct smbcli_tree *tree,
- struct smb_seek *parms)
+ union smb_seek *parms)
{
struct smbcli_request *req;
SETUP_REQUEST(SMBlseek, 4, 0);
- SSVAL(req->out.vwv, VWV(0), parms->in.fnum);
- SSVAL(req->out.vwv, VWV(1), parms->in.mode);
- SIVALS(req->out.vwv, VWV(2), parms->in.offset);
+ SSVAL(req->out.vwv, VWV(0), parms->lseek.file.fnum);
+ SSVAL(req->out.vwv, VWV(1), parms->lseek.in.mode);
+ SIVALS(req->out.vwv, VWV(2), parms->lseek.in.offset);
if (!smbcli_request_send(req)) {
smbcli_request_destroy(req);
@@ -899,7 +896,7 @@ struct smbcli_request *smb_raw_seek_send(struct smbcli_tree *tree,
seek a file - async receive
****************************************************************************/
NTSTATUS smb_raw_seek_recv(struct smbcli_request *req,
- struct smb_seek *parms)
+ union smb_seek *parms)
{
if (!smbcli_request_receive(req) ||
smbcli_request_is_error(req)) {
@@ -907,7 +904,7 @@ NTSTATUS smb_raw_seek_recv(struct smbcli_request *req,
}
SMBCLI_CHECK_WCT(req, 2);
- parms->out.offset = IVAL(req->in.vwv, VWV(0));
+ parms->lseek.out.offset = IVAL(req->in.vwv, VWV(0));
failed:
return smbcli_request_destroy(req);
@@ -917,7 +914,7 @@ failed:
seek a file - sync interface
*/
NTSTATUS smb_raw_seek(struct smbcli_tree *tree,
- struct smb_seek *parms)
+ union smb_seek *parms)
{
struct smbcli_request *req = smb_raw_seek_send(tree, parms);
return smb_raw_seek_recv(req, parms);
diff --git a/source4/libcli/raw/rawfileinfo.c b/source4/libcli/raw/rawfileinfo.c
index 92d31b30ef..b50a330093 100644
--- a/source4/libcli/raw/rawfileinfo.c
+++ b/source4/libcli/raw/rawfileinfo.c
@@ -536,7 +536,7 @@ static struct smbcli_request *smb_raw_getattr_send(struct smbcli_tree *tree,
req = smbcli_request_setup(tree, SMBgetatr, 0, 0);
if (!req) return NULL;
- smbcli_req_append_ascii4(req, parms->getattr.in.fname, STR_TERMINATE);
+ smbcli_req_append_ascii4(req, parms->getattr.file.path, STR_TERMINATE);
if (!smbcli_request_send(req)) {
smbcli_request_destroy(req);
@@ -579,7 +579,7 @@ static struct smbcli_request *smb_raw_getattrE_send(struct smbcli_tree *tree,
req = smbcli_request_setup(tree, SMBgetattrE, 1, 0);
if (!req) return NULL;
- SSVAL(req->out.vwv, VWV(0), parms->getattre.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->getattre.file.fnum);
if (!smbcli_request_send(req)) {
smbcli_request_destroy(req);
return NULL;
@@ -647,7 +647,7 @@ struct smbcli_request *smb_raw_fileinfo_send(struct smbcli_tree *tree,
}
req = smb_raw_fileinfo_blob_send(tree,
- parms->generic.in.fnum,
+ parms->generic.file.fnum,
parms->generic.level, data);
data_blob_free(&data);
@@ -722,7 +722,7 @@ struct smbcli_request *smb_raw_pathinfo_send(struct smbcli_tree *tree,
}
}
- req = smb_raw_pathinfo_blob_send(tree, parms->generic.in.fname,
+ req = smb_raw_pathinfo_blob_send(tree, parms->generic.file.path,
parms->generic.level, data);
data_blob_free(&data);
diff --git a/source4/libcli/raw/rawioctl.c b/source4/libcli/raw/rawioctl.c
index 874d055013..28b58ff2a3 100644
--- a/source4/libcli/raw/rawioctl.c
+++ b/source4/libcli/raw/rawioctl.c
@@ -37,7 +37,7 @@ static struct smbcli_request *smb_raw_smbioctl_send(struct smbcli_tree *tree,
SETUP_REQUEST(SMBioctl, 3, 0);
- SSVAL(req->out.vwv, VWV(0), parms->ioctl.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->ioctl.file.fnum);
SIVAL(req->out.vwv, VWV(1), parms->ioctl.in.request);
if (!smbcli_request_send(req)) {
@@ -81,7 +81,7 @@ static struct smbcli_request *smb_raw_ntioctl_send(struct smbcli_tree *tree,
nt.in.setup_count = 4;
nt.in.setup = setup;
SIVAL(setup, 0, parms->ntioctl.in.function);
- SSVAL(setup, 4, parms->ntioctl.in.fnum);
+ SSVAL(setup, 4, parms->ntioctl.file.fnum);
SCVAL(setup, 6, parms->ntioctl.in.fsctl);
SCVAL(setup, 7, parms->ntioctl.in.filter);
nt.in.function = NT_TRANSACT_IOCTL;
diff --git a/source4/libcli/raw/rawnotify.c b/source4/libcli/raw/rawnotify.c
index 1215a93f59..3adb1b000b 100644
--- a/source4/libcli/raw/rawnotify.c
+++ b/source4/libcli/raw/rawnotify.c
@@ -25,19 +25,19 @@
/****************************************************************************
change notify (async send)
****************************************************************************/
-struct smbcli_request *smb_raw_changenotify_send(struct smbcli_tree *tree, struct smb_notify *parms)
+struct smbcli_request *smb_raw_changenotify_send(struct smbcli_tree *tree, union smb_notify *parms)
{
struct smb_nttrans nt;
uint16_t setup[4];
nt.in.max_setup = 0;
- nt.in.max_param = parms->in.buffer_size;
+ nt.in.max_param = parms->notify.in.buffer_size;
nt.in.max_data = 0;
nt.in.setup_count = 4;
nt.in.setup = setup;
- SIVAL(setup, 0, parms->in.completion_filter);
- SSVAL(setup, 4, parms->in.fnum);
- SSVAL(setup, 6, parms->in.recursive);
+ SIVAL(setup, 0, parms->notify.in.completion_filter);
+ SSVAL(setup, 4, parms->notify.file.fnum);
+ SSVAL(setup, 6, parms->notify.in.recursive);
nt.in.function = NT_TRANSACT_NOTIFY_CHANGE;
nt.in.params = data_blob(NULL, 0);
nt.in.data = data_blob(NULL, 0);
@@ -49,7 +49,7 @@ struct smbcli_request *smb_raw_changenotify_send(struct smbcli_tree *tree, struc
change notify (async recv)
****************************************************************************/
NTSTATUS smb_raw_changenotify_recv(struct smbcli_request *req,
- TALLOC_CTX *mem_ctx, struct smb_notify *parms)
+ TALLOC_CTX *mem_ctx, union smb_notify *parms)
{
struct smb_nttrans nt;
NTSTATUS status;
@@ -61,28 +61,28 @@ NTSTATUS smb_raw_changenotify_recv(struct smbcli_request *req,
return status;
}
- parms->out.changes = NULL;
- parms->out.num_changes = 0;
+ parms->notify.out.changes = NULL;
+ parms->notify.out.num_changes = 0;
/* count them */
for (ofs=0; nt.out.params.length - ofs > 12; ) {
uint32_t next = IVAL(nt.out.params.data, ofs);
- parms->out.num_changes++;
+ parms->notify.out.num_changes++;
if (next == 0 ||
ofs + next >= nt.out.params.length) break;
ofs += next;
}
/* allocate array */
- parms->out.changes = talloc_array(mem_ctx, struct notify_changes, parms->out.num_changes);
- if (!parms->out.changes) {
+ parms->notify.out.changes = talloc_array(mem_ctx, struct notify_changes, parms->notify.out.num_changes);
+ if (!parms->notify.out.changes) {
return NT_STATUS_NO_MEMORY;
}
- for (i=ofs=0; i<parms->out.num_changes; i++) {
- parms->out.changes[i].action = IVAL(nt.out.params.data, ofs+4);
+ for (i=ofs=0; i<parms->notify.out.num_changes; i++) {
+ parms->notify.out.changes[i].action = IVAL(nt.out.params.data, ofs+4);
smbcli_blob_pull_string(session, mem_ctx, &nt.out.params,
- &parms->out.changes[i].name,
+ &parms->notify.out.changes[i].name,
ofs+8, ofs+12, STR_UNICODE);
ofs += IVAL(nt.out.params.data, ofs);
}
diff --git a/source4/libcli/raw/rawreadwrite.c b/source4/libcli/raw/rawreadwrite.c
index d9fe3fdce0..00dc71971e 100644
--- a/source4/libcli/raw/rawreadwrite.c
+++ b/source4/libcli/raw/rawreadwrite.c
@@ -41,7 +41,7 @@ struct smbcli_request *smb_raw_read_send(struct smbcli_tree *tree, union smb_rea
bigoffset = True;
}
SETUP_REQUEST(SMBreadbraw, bigoffset? 10:8, 0);
- SSVAL(req->out.vwv, VWV(0), parms->readbraw.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->readbraw.file.fnum);
SIVAL(req->out.vwv, VWV(1), parms->readbraw.in.offset);
SSVAL(req->out.vwv, VWV(3), parms->readbraw.in.maxcnt);
SSVAL(req->out.vwv, VWV(4), parms->readbraw.in.mincnt);
@@ -54,7 +54,7 @@ struct smbcli_request *smb_raw_read_send(struct smbcli_tree *tree, union smb_rea
case RAW_READ_LOCKREAD:
SETUP_REQUEST(SMBlockread, 5, 0);
- SSVAL(req->out.vwv, VWV(0), parms->lockread.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->lockread.file.fnum);
SSVAL(req->out.vwv, VWV(1), parms->lockread.in.count);
SIVAL(req->out.vwv, VWV(2), parms->lockread.in.offset);
SSVAL(req->out.vwv, VWV(4), parms->lockread.in.remaining);
@@ -62,7 +62,7 @@ struct smbcli_request *smb_raw_read_send(struct smbcli_tree *tree, union smb_rea
case RAW_READ_READ:
SETUP_REQUEST(SMBread, 5, 0);
- SSVAL(req->out.vwv, VWV(0), parms->read.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->read.file.fnum);
SSVAL(req->out.vwv, VWV(1), parms->read.in.count);
SIVAL(req->out.vwv, VWV(2), parms->read.in.offset);
SSVAL(req->out.vwv, VWV(4), parms->read.in.remaining);
@@ -75,7 +75,7 @@ struct smbcli_request *smb_raw_read_send(struct smbcli_tree *tree, union smb_rea
SETUP_REQUEST(SMBreadX, bigoffset ? 12 : 10, 0);
SSVAL(req->out.vwv, VWV(0), SMB_CHAIN_NONE);
SSVAL(req->out.vwv, VWV(1), 0);
- SSVAL(req->out.vwv, VWV(2), parms->readx.in.fnum);
+ SSVAL(req->out.vwv, VWV(2), parms->readx.file.fnum);
SIVAL(req->out.vwv, VWV(3), parms->readx.in.offset);
SSVAL(req->out.vwv, VWV(5), parms->readx.in.maxcnt & 0xFFFF);
SSVAL(req->out.vwv, VWV(6), parms->readx.in.mincnt);
@@ -183,7 +183,7 @@ struct smbcli_request *smb_raw_write_send(struct smbcli_tree *tree, union smb_wr
switch (parms->generic.level) {
case RAW_WRITE_WRITEUNLOCK:
SETUP_REQUEST(SMBwriteunlock, 5, 3 + parms->writeunlock.in.count);
- SSVAL(req->out.vwv, VWV(0), parms->writeunlock.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->writeunlock.file.fnum);
SSVAL(req->out.vwv, VWV(1), parms->writeunlock.in.count);
SIVAL(req->out.vwv, VWV(2), parms->writeunlock.in.offset);
SSVAL(req->out.vwv, VWV(4), parms->writeunlock.in.remaining);
@@ -197,7 +197,7 @@ struct smbcli_request *smb_raw_write_send(struct smbcli_tree *tree, union smb_wr
case RAW_WRITE_WRITE:
SETUP_REQUEST(SMBwrite, 5, 3 + parms->write.in.count);
- SSVAL(req->out.vwv, VWV(0), parms->write.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->write.file.fnum);
SSVAL(req->out.vwv, VWV(1), parms->write.in.count);
SIVAL(req->out.vwv, VWV(2), parms->write.in.offset);
SSVAL(req->out.vwv, VWV(4), parms->write.in.remaining);
@@ -210,7 +210,7 @@ struct smbcli_request *smb_raw_write_send(struct smbcli_tree *tree, union smb_wr
case RAW_WRITE_WRITECLOSE:
SETUP_REQUEST(SMBwriteclose, 6, 1 + parms->writeclose.in.count);
- SSVAL(req->out.vwv, VWV(0), parms->writeclose.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->writeclose.file.fnum);
SSVAL(req->out.vwv, VWV(1), parms->writeclose.in.count);
SIVAL(req->out.vwv, VWV(2), parms->writeclose.in.offset);
raw_push_dos_date3(tree->session->transport,
@@ -229,7 +229,7 @@ struct smbcli_request *smb_raw_write_send(struct smbcli_tree *tree, union smb_wr
SETUP_REQUEST(SMBwriteX, bigoffset ? 14 : 12, parms->writex.in.count);
SSVAL(req->out.vwv, VWV(0), SMB_CHAIN_NONE);
SSVAL(req->out.vwv, VWV(1), 0);
- SSVAL(req->out.vwv, VWV(2), parms->writex.in.fnum);
+ SSVAL(req->out.vwv, VWV(2), parms->writex.file.fnum);
SIVAL(req->out.vwv, VWV(3), parms->writex.in.offset);
SIVAL(req->out.vwv, VWV(5), 0); /* reserved */
SSVAL(req->out.vwv, VWV(7), parms->writex.in.wmode);
@@ -247,7 +247,7 @@ struct smbcli_request *smb_raw_write_send(struct smbcli_tree *tree, union smb_wr
case RAW_WRITE_SPLWRITE:
SETUP_REQUEST(SMBsplwr, 1, parms->splwrite.in.count);
- SSVAL(req->out.vwv, VWV(0), parms->splwrite.in.fnum);
+ SSVAL(req->out.vwv, VWV(0), parms->splwrite.file.fnum);
if (parms->splwrite.in.count > 0) {
memcpy(req->out.data, parms->splwrite.in.data, parms->splwrite.in.count);
}
diff --git a/source4/libcli/smb2/getinfo.c b/source4/libcli/smb2/getinfo.c
index e406fdf45c..3710fdfa08 100644
--- a/source4/libcli/smb2/getinfo.c
+++ b/source4/libcli/smb2/getinfo.c
@@ -118,14 +118,14 @@ struct smb2_request *smb2_getinfo_file_send(struct smb2_tree *tree, union smb_fi
ZERO_STRUCT(b);
b.in.max_response_size = 0x10000;
- b.in.handle = io->generic.in.handle;
+ b.in.handle = io->generic.file.handle;
b.in.level = smb2_level;
if (io->generic.level == RAW_FILEINFO_SEC_DESC) {
- b.in.flags = io->query_secdesc.secinfo_flags;
+ b.in.flags = io->query_secdesc.in.secinfo_flags;
}
if (io->generic.level == RAW_FILEINFO_SMB2_ALL_EAS) {
- b.in.flags2 = io->all_eas.continue_flags;
+ b.in.flags2 = io->all_eas.in.continue_flags;
}
return smb2_getinfo_send(tree, &b);
diff --git a/source4/libcli/smb_composite/appendacl.c b/source4/libcli/smb_composite/appendacl.c
index 0a5b56b90d..b09acfaf63 100644
--- a/source4/libcli/smb_composite/appendacl.c
+++ b/source4/libcli/smb_composite/appendacl.c
@@ -37,8 +37,8 @@ static NTSTATUS appendacl_open(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(state->io_fileinfo);
state->io_fileinfo->query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- state->io_fileinfo->query_secdesc.in.fnum = state->io_open->ntcreatex.out.fnum;
- state->io_fileinfo->query_secdesc.secinfo_flags = SECINFO_DACL;
+ state->io_fileinfo->query_secdesc.file.fnum = state->io_open->ntcreatex.file.fnum;
+ state->io_fileinfo->query_secdesc.in.secinfo_flags = SECINFO_DACL;
state->req = smb_raw_fileinfo_send(tree, state->io_fileinfo);
NT_STATUS_HAVE_NO_MEMORY(state->req);
@@ -69,7 +69,7 @@ static NTSTATUS appendacl_get(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(state->io_setfileinfo);
state->io_setfileinfo->set_secdesc.level = RAW_SFILEINFO_SEC_DESC;
- state->io_setfileinfo->set_secdesc.file.fnum = state->io_fileinfo->query_secdesc.in.fnum;
+ state->io_setfileinfo->set_secdesc.file.fnum = state->io_fileinfo->query_secdesc.file.fnum;
state->io_setfileinfo->set_secdesc.in.secinfo_flags = SECINFO_DACL;
state->io_setfileinfo->set_secdesc.in.sd = state->io_fileinfo->query_secdesc.out.sd;
@@ -115,8 +115,8 @@ static NTSTATUS appendacl_set(struct composite_context *c,
state->io_fileinfo->query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- state->io_fileinfo->query_secdesc.in.fnum = state->io_setfileinfo->set_secdesc.file.fnum;
- state->io_fileinfo->query_secdesc.secinfo_flags = SECINFO_DACL;
+ state->io_fileinfo->query_secdesc.file.fnum = state->io_setfileinfo->set_secdesc.file.fnum;
+ state->io_fileinfo->query_secdesc.in.secinfo_flags = SECINFO_DACL;
state->req = smb_raw_fileinfo_send(tree, state->io_fileinfo);
NT_STATUS_HAVE_NO_MEMORY(state->req);
@@ -150,7 +150,7 @@ static NTSTATUS appendacl_getagain(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(io_close);
io_close->close.level = RAW_CLOSE_CLOSE;
- io_close->close.in.fnum = state->io_fileinfo->query_secdesc.in.fnum;
+ io_close->close.file.fnum = state->io_fileinfo->query_secdesc.file.fnum;
io_close->close.in.write_time = 0;
state->req = smb_raw_close_send(tree, io_close);
diff --git a/source4/libcli/smb_composite/loadfile.c b/source4/libcli/smb_composite/loadfile.c
index 2551b6da9e..9a593c0726 100644
--- a/source4/libcli/smb_composite/loadfile.c
+++ b/source4/libcli/smb_composite/loadfile.c
@@ -54,7 +54,7 @@ static NTSTATUS setup_close(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(io_close);
io_close->close.level = RAW_CLOSE_CLOSE;
- io_close->close.in.fnum = fnum;
+ io_close->close.file.fnum = fnum;
io_close->close.in.write_time = 0;
state->req = smb_raw_close_send(tree, io_close);
@@ -93,7 +93,7 @@ static NTSTATUS loadfile_open(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(io->out.data);
if (io->out.size == 0) {
- return setup_close(c, tree, state->io_open->ntcreatex.out.fnum);
+ return setup_close(c, tree, state->io_open->ntcreatex.file.fnum);
}
/* setup for the read */
@@ -101,7 +101,7 @@ static NTSTATUS loadfile_open(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(state->io_read);
state->io_read->readx.level = RAW_READ_READX;
- state->io_read->readx.in.fnum = state->io_open->ntcreatex.out.fnum;
+ state->io_read->readx.file.fnum = state->io_open->ntcreatex.file.fnum;
state->io_read->readx.in.offset = 0;
state->io_read->readx.in.mincnt = MIN(32768, io->out.size);
state->io_read->readx.in.maxcnt = state->io_read->readx.in.mincnt;
@@ -139,7 +139,7 @@ static NTSTATUS loadfile_read(struct composite_context *c,
/* we might be done */
if (state->io_read->readx.in.offset +
state->io_read->readx.out.nread == io->out.size) {
- return setup_close(c, tree, state->io_read->readx.in.fnum);
+ return setup_close(c, tree, state->io_read->readx.file.fnum);
}
/* setup for the next read */
diff --git a/source4/libcli/smb_composite/savefile.c b/source4/libcli/smb_composite/savefile.c
index 9600af97d2..89a2d26c0c 100644
--- a/source4/libcli/smb_composite/savefile.c
+++ b/source4/libcli/smb_composite/savefile.c
@@ -55,7 +55,7 @@ static NTSTATUS setup_close(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(io_close);
io_close->close.level = RAW_CLOSE_CLOSE;
- io_close->close.in.fnum = fnum;
+ io_close->close.file.fnum = fnum;
io_close->close.in.write_time = 0;
state->req = smb_raw_close_send(tree, io_close);
@@ -86,7 +86,7 @@ static NTSTATUS savefile_open(struct composite_context *c,
NT_STATUS_NOT_OK_RETURN(status);
if (io->in.size == 0) {
- return setup_close(c, tree, state->io_open->ntcreatex.out.fnum);
+ return setup_close(c, tree, state->io_open->ntcreatex.file.fnum);
}
/* setup for the first write */
@@ -94,7 +94,7 @@ static NTSTATUS savefile_open(struct composite_context *c,
NT_STATUS_HAVE_NO_MEMORY(io_write);
io_write->writex.level = RAW_WRITE_WRITEX;
- io_write->writex.in.fnum = state->io_open->ntcreatex.out.fnum;
+ io_write->writex.file.fnum = state->io_open->ntcreatex.file.fnum;
io_write->writex.in.offset = 0;
io_write->writex.in.wmode = 0;
io_write->writex.in.remaining = 0;
@@ -135,7 +135,7 @@ static NTSTATUS savefile_write(struct composite_context *c,
/* we might be done */
if (state->io_write->writex.out.nwritten != state->io_write->writex.in.count ||
state->total_written == io->in.size) {
- return setup_close(c, tree, state->io_write->writex.in.fnum);
+ return setup_close(c, tree, state->io_write->writex.file.fnum);
}
/* setup for the next write */
diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c
index c0716a1af8..cf82f1daed 100644
--- a/source4/librpc/rpc/dcerpc_smb.c
+++ b/source4/librpc/rpc/dcerpc_smb.c
@@ -152,7 +152,7 @@ static NTSTATUS send_read_request_continue(struct dcerpc_connection *c, DATA_BLO
io = state->io;
io->generic.level = RAW_READ_READX;
- io->readx.in.fnum = smb->fnum;
+ io->readx.file.fnum = smb->fnum;
io->readx.in.mincnt = state->data.length - state->received;
io->readx.in.maxcnt = io->readx.in.mincnt;
io->readx.in.offset = 0;
@@ -295,7 +295,7 @@ static NTSTATUS smb_send_request(struct dcerpc_connection *c, DATA_BLOB *blob, B
}
io.generic.level = RAW_WRITE_WRITEX;
- io.writex.in.fnum = smb->fnum;
+ io.writex.file.fnum = smb->fnum;
io.writex.in.offset = 0;
io.writex.in.wmode = PIPE_START_MESSAGE;
io.writex.in.remaining = blob->length;
@@ -334,7 +334,7 @@ static NTSTATUS smb_shutdown_pipe(struct dcerpc_connection *c)
if (!smb) return NT_STATUS_OK;
io.close.level = RAW_CLOSE_CLOSE;
- io.close.in.fnum = smb->fnum;
+ io.close.file.fnum = smb->fnum;
io.close.in.write_time = 0;
req = smb_raw_close_send(smb->tree, &io);
if (req != NULL) {
@@ -478,7 +478,7 @@ static void pipe_open_recv(struct smbcli_request *req)
goto done;
}
- smb->fnum = state->open->ntcreatex.out.fnum;
+ smb->fnum = state->open->ntcreatex.file.fnum;
smb->tree = talloc_reference(smb, state->tree);
smb->server_name= strupper_talloc(
smb, state->tree->session->transport->called.name);
diff --git a/source4/ntvfs/cifs/vfs_cifs.c b/source4/ntvfs/cifs/vfs_cifs.c
index f6a8da14e7..2741e97d2d 100644
--- a/source4/ntvfs/cifs/vfs_cifs.c
+++ b/source4/ntvfs/cifs/vfs_cifs.c
@@ -237,7 +237,7 @@ static void async_simple(struct smbcli_request *c_req)
The name can contain CIFS wildcards, but rarely does (except with OS/2 clients)
*/
static NTSTATUS cvfs_unlink(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_unlink *unl)
+ struct ntvfs_request *req, union smb_unlink *unl)
{
struct cvfs_private *private = ntvfs->private_data;
struct smbcli_request *c_req;
@@ -292,7 +292,7 @@ static NTSTATUS cvfs_ioctl(struct ntvfs_module_context *ntvfs,
check if a directory exists
*/
static NTSTATUS cvfs_chkpath(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_chkpath *cp)
+ struct ntvfs_request *req, union smb_chkpath *cp)
{
struct cvfs_private *private = ntvfs->private_data;
struct smbcli_request *c_req;
@@ -583,7 +583,8 @@ static void async_seek(struct smbcli_request *c_req)
seek in a file
*/
static NTSTATUS cvfs_seek(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_seek *io)
+ struct ntvfs_request *req,
+ union smb_seek *io)
{
struct cvfs_private *private = ntvfs->private_data;
struct smbcli_request *c_req;
@@ -603,7 +604,8 @@ static NTSTATUS cvfs_seek(struct ntvfs_module_context *ntvfs,
flush a file
*/
static NTSTATUS cvfs_flush(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_flush *io)
+ struct ntvfs_request *req,
+ union smb_flush *io)
{
struct cvfs_private *private = ntvfs->private_data;
struct smbcli_request *c_req;
@@ -844,7 +846,8 @@ static void async_trans2(struct smbcli_request *c_req)
/* raw trans2 */
static NTSTATUS cvfs_trans2(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_trans2 *trans2)
+ struct ntvfs_request *req,
+ struct smb_trans2 *trans2)
{
struct cvfs_private *private = ntvfs->private_data;
struct smbcli_request *c_req;
@@ -863,7 +866,8 @@ static NTSTATUS cvfs_trans2(struct ntvfs_module_context *ntvfs,
/* SMBtrans - not used on file shares */
static NTSTATUS cvfs_trans(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_trans2 *trans2)
+ struct ntvfs_request *req,
+ struct smb_trans2 *trans2)
{
return NT_STATUS_ACCESS_DENIED;
}
@@ -881,7 +885,8 @@ static void async_changenotify(struct smbcli_request *c_req)
/* change notify request - always async */
static NTSTATUS cvfs_notify(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_notify *info)
+ struct ntvfs_request *req,
+ union smb_notify *info)
{
struct cvfs_private *private = ntvfs->private_data;
struct smbcli_request *c_req;
diff --git a/source4/ntvfs/ipc/vfs_ipc.c b/source4/ntvfs/ipc/vfs_ipc.c
index 36f0c9b82c..2df7ac61ab 100644
--- a/source4/ntvfs/ipc/vfs_ipc.c
+++ b/source4/ntvfs/ipc/vfs_ipc.c
@@ -117,7 +117,8 @@ static NTSTATUS ipc_disconnect(struct ntvfs_module_context *ntvfs)
delete a file
*/
static NTSTATUS ipc_unlink(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_unlink *unl)
+ struct ntvfs_request *req,
+ union smb_unlink *unl)
{
return NT_STATUS_ACCESS_DENIED;
}
@@ -136,7 +137,8 @@ static NTSTATUS ipc_ioctl(struct ntvfs_module_context *ntvfs,
check if a directory exists
*/
static NTSTATUS ipc_chkpath(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_chkpath *cp)
+ struct ntvfs_request *req,
+ union smb_chkpath *cp)
{
return NT_STATUS_ACCESS_DENIED;
}
@@ -263,7 +265,7 @@ static NTSTATUS ipc_open_ntcreatex(struct ntvfs_module_context *ntvfs,
}
ZERO_STRUCT(oi->ntcreatex.out);
- oi->ntcreatex.out.fnum = p->fnum;
+ oi->ntcreatex.file.fnum = p->fnum;
oi->ntcreatex.out.ipc_state = p->ipc_state;
oi->ntcreatex.out.file_type = FILE_TYPE_MESSAGE_MODE_PIPE;
@@ -286,7 +288,7 @@ static NTSTATUS ipc_open_openx(struct ntvfs_module_context *ntvfs,
}
ZERO_STRUCT(oi->openx.out);
- oi->openx.out.fnum = p->fnum;
+ oi->openx.file.fnum = p->fnum;
oi->openx.out.ftype = 2;
oi->openx.out.devstate = p->ipc_state;
@@ -380,7 +382,7 @@ static NTSTATUS ipc_read(struct ntvfs_module_context *ntvfs,
return ntvfs_map_read(ntvfs, req, rd);
}
- fnum = rd->readx.in.fnum;
+ fnum = rd->readx.file.fnum;
p = pipe_state_find(private, fnum);
if (!p) {
@@ -423,7 +425,7 @@ static NTSTATUS ipc_write(struct ntvfs_module_context *ntvfs,
return ntvfs_map_write(ntvfs, req, wr);
}
- fnum = wr->writex.in.fnum;
+ fnum = wr->writex.file.fnum;
data.data = discard_const_p(void, wr->writex.in.data);
data.length = wr->writex.in.count;
@@ -447,7 +449,8 @@ static NTSTATUS ipc_write(struct ntvfs_module_context *ntvfs,
seek in a file
*/
static NTSTATUS ipc_seek(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_seek *io)
+ struct ntvfs_request *req,
+ union smb_seek *io)
{
return NT_STATUS_ACCESS_DENIED;
}
@@ -456,7 +459,8 @@ static NTSTATUS ipc_seek(struct ntvfs_module_context *ntvfs,
flush a file
*/
static NTSTATUS ipc_flush(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_flush *io)
+ struct ntvfs_request *req,
+ union smb_flush *io)
{
return NT_STATUS_ACCESS_DENIED;
}
@@ -474,7 +478,7 @@ static NTSTATUS ipc_close(struct ntvfs_module_context *ntvfs,
return ntvfs_map_close(ntvfs, req, io);
}
- p = pipe_state_find(private, io->close.in.fnum);
+ p = pipe_state_find(private, io->close.file.fnum);
if (!p) {
return NT_STATUS_INVALID_HANDLE;
}
diff --git a/source4/ntvfs/nbench/vfs_nbench.c b/source4/ntvfs/nbench/vfs_nbench.c
index 9647666360..b6bce60b08 100644
--- a/source4/ntvfs/nbench/vfs_nbench.c
+++ b/source4/ntvfs/nbench/vfs_nbench.c
@@ -141,17 +141,18 @@ static NTSTATUS nbench_disconnect(struct ntvfs_module_context *ntvfs)
*/
static void nbench_unlink_send(struct ntvfs_request *req)
{
- struct smb_unlink *unl = req->async_states->private_data;
+ union smb_unlink *unl = req->async_states->private_data;
nbench_log(req, "Unlink \"%s\" 0x%x %s\n",
- unl->in.pattern, unl->in.attrib,
+ unl->unlink.in.pattern, unl->unlink.in.attrib,
get_nt_error_c_code(req->async_states->status));
PASS_THRU_REP_POST(req);
}
static NTSTATUS nbench_unlink(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_unlink *unl)
+ struct ntvfs_request *req,
+ union smb_unlink *unl)
{
NTSTATUS status;
@@ -185,17 +186,18 @@ static NTSTATUS nbench_ioctl(struct ntvfs_module_context *ntvfs,
*/
static void nbench_chkpath_send(struct ntvfs_request *req)
{
- struct smb_chkpath *cp = req->async_states->private_data;
+ union smb_chkpath *cp = req->async_states->private_data;
nbench_log(req, "Chkpath \"%s\" %s\n",
- cp->in.path,
+ cp->chkpath.in.path,
get_nt_error_c_code(req->async_states->status));
PASS_THRU_REP_POST(req);
}
static NTSTATUS nbench_chkpath(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_chkpath *cp)
+ struct ntvfs_request *req,
+ union smb_chkpath *cp)
{
NTSTATUS status;
@@ -212,7 +214,7 @@ static void nbench_qpathinfo_send(struct ntvfs_request *req)
union smb_fileinfo *info = req->async_states->private_data;
nbench_log(req, "QUERY_PATH_INFORMATION \"%s\" %d %s\n",
- info->generic.in.fname,
+ info->generic.file.path,
info->generic.level,
get_nt_error_c_code(req->async_states->status));
@@ -237,7 +239,7 @@ static void nbench_qfileinfo_send(struct ntvfs_request *req)
union smb_fileinfo *info = req->async_states->private_data;
nbench_log(req, "QUERY_FILE_INFORMATION %d %d %s\n",
- info->generic.in.fnum,
+ info->generic.file.fnum,
info->generic.level,
get_nt_error_c_code(req->async_states->status));
@@ -262,7 +264,7 @@ static void nbench_setpathinfo_send(struct ntvfs_request *req)
union smb_setfileinfo *st = req->async_states->private_data;
nbench_log(req, "SET_PATH_INFORMATION \"%s\" %d %s\n",
- st->generic.file.fname,
+ st->generic.file.path,
st->generic.level,
get_nt_error_c_code(req->async_states->status));
@@ -295,7 +297,7 @@ static void nbench_open_send(struct ntvfs_request *req)
io->ntcreatex.in.fname,
io->ntcreatex.in.create_options,
io->ntcreatex.in.open_disposition,
- io->ntcreatex.out.fnum,
+ io->ntcreatex.file.fnum,
get_nt_error_c_code(req->async_states->status));
break;
@@ -429,7 +431,7 @@ static void nbench_read_send(struct ntvfs_request *req)
ZERO_STRUCT(rd->readx.out);
}
nbench_log(req, "ReadX %d %d %d %d %s\n",
- rd->readx.in.fnum,
+ rd->readx.file.fnum,
(int)rd->readx.in.offset,
rd->readx.in.maxcnt,
rd->readx.out.nread,
@@ -467,7 +469,7 @@ static void nbench_write_send(struct ntvfs_request *req)
ZERO_STRUCT(wr->writex.out);
}
nbench_log(req, "WriteX %d %d %d %d %s\n",
- wr->writex.in.fnum,
+ wr->writex.file.fnum,
(int)wr->writex.in.offset,
wr->writex.in.count,
wr->writex.out.nwritten,
@@ -479,7 +481,7 @@ static void nbench_write_send(struct ntvfs_request *req)
ZERO_STRUCT(wr->write.out);
}
nbench_log(req, "Write %d %d %d %d %s\n",
- wr->write.in.fnum,
+ wr->write.file.fnum,
wr->write.in.offset,
wr->write.in.count,
wr->write.out.nwritten,
@@ -516,7 +518,8 @@ static void nbench_seek_send(struct ntvfs_request *req)
}
static NTSTATUS nbench_seek(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_seek *io)
+ struct ntvfs_request *req,
+ union smb_seek *io)
{
NTSTATUS status;
@@ -530,17 +533,18 @@ static NTSTATUS nbench_seek(struct ntvfs_module_context *ntvfs,
*/
static void nbench_flush_send(struct ntvfs_request *req)
{
- struct smb_flush *io = req->async_states->private_data;
+ union smb_flush *io = req->async_states->private_data;
nbench_log(req, "Flush %d %s\n",
- io->in.fnum,
+ io->flush.file.fnum,
get_nt_error_c_code(req->async_states->status));
PASS_THRU_REP_POST(req);
}
static NTSTATUS nbench_flush(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_flush *io)
+ struct ntvfs_request *req,
+ union smb_flush *io)
{
NTSTATUS status;
@@ -559,7 +563,7 @@ static void nbench_close_send(struct ntvfs_request *req)
switch (io->generic.level) {
case RAW_CLOSE_CLOSE:
nbench_log(req, "Close %d %s\n",
- io->close.in.fnum,
+ io->close.file.fnum,
get_nt_error_c_code(req->async_states->status));
break;
@@ -674,14 +678,14 @@ static void nbench_lock_send(struct ntvfs_request *req)
lck->lockx.in.lock_cnt == 1 &&
lck->lockx.in.ulock_cnt == 0) {
nbench_log(req, "LockX %d %d %d %s\n",
- lck->lockx.in.fnum,
+ lck->lockx.file.fnum,
(int)lck->lockx.in.locks[0].offset,
(int)lck->lockx.in.locks[0].count,
get_nt_error_c_code(req->async_states->status));
} else if (lck->generic.level == RAW_LOCK_LOCKX &&
lck->lockx.in.ulock_cnt == 1) {
nbench_log(req, "UnlockX %d %d %d %s\n",
- lck->lockx.in.fnum,
+ lck->lockx.file.fnum,
(int)lck->lockx.in.locks[0].offset,
(int)lck->lockx.in.locks[0].count,
get_nt_error_c_code(req->async_states->status));
diff --git a/source4/ntvfs/ntvfs.h b/source4/ntvfs/ntvfs.h
index 46d288c853..b9b09890f9 100644
--- a/source4/ntvfs/ntvfs.h
+++ b/source4/ntvfs/ntvfs.h
@@ -57,10 +57,10 @@ struct ntvfs_ops {
/* path operations */
NTSTATUS (*unlink)(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_unlink *unl);
+ union smb_unlink *unl);
NTSTATUS (*chkpath)(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_chkpath *cp);
+ union smb_chkpath *cp);
NTSTATUS (*qpathinfo)(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
union smb_fileinfo *st);
@@ -108,10 +108,10 @@ struct ntvfs_ops {
union smb_write *io);
NTSTATUS (*seek)(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_seek *io);
+ union smb_seek *io);
NTSTATUS (*flush)(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_flush *flush);
+ union smb_flush *flush);
NTSTATUS (*lock)(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
union smb_lock *lck);
@@ -138,7 +138,7 @@ struct ntvfs_ops {
/* change notify request */
NTSTATUS (*notify)(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_notify *info);
+ union smb_notify *info);
/* cancel - cancels any pending async request */
NTSTATUS (*cancel)(struct ntvfs_module_context *ntvfs,
diff --git a/source4/ntvfs/ntvfs_generic.c b/source4/ntvfs/ntvfs_generic.c
index 5133f63268..e373c7a28e 100644
--- a/source4/ntvfs/ntvfs_generic.c
+++ b/source4/ntvfs/ntvfs_generic.c
@@ -155,7 +155,7 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs,
switch (io->generic.level) {
case RAW_OPEN_OPEN:
- io->openold.out.fnum = io2->generic.out.fnum;
+ io->openold.file.fnum = io2->generic.file.fnum;
io->openold.out.attrib = io2->generic.out.attrib;
io->openold.out.write_time = nt_time_to_unix(io2->generic.out.write_time);
io->openold.out.size = io2->generic.out.size;
@@ -163,7 +163,7 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs,
break;
case RAW_OPEN_OPENX:
- io->openx.out.fnum = io2->generic.out.fnum;
+ io->openx.file.fnum = io2->generic.file.fnum;
io->openx.out.attrib = io2->generic.out.attrib;
io->openx.out.write_time = nt_time_to_unix(io2->generic.out.write_time);
io->openx.out.size = io2->generic.out.size;
@@ -183,7 +183,7 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs,
break;
case RAW_OPEN_T2OPEN:
- io->t2open.out.fnum = io2->generic.out.fnum;
+ io->t2open.file.fnum = io2->generic.file.fnum;
io->t2open.out.attrib = io2->generic.out.attrib;
io->t2open.out.write_time = nt_time_to_unix(io2->generic.out.write_time);
io->t2open.out.size = io2->generic.out.size;
@@ -196,14 +196,14 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs,
case RAW_OPEN_MKNEW:
case RAW_OPEN_CREATE:
- io->mknew.out.fnum = io2->generic.out.fnum;
+ io->mknew.file.fnum = io2->generic.file.fnum;
write_time = io->mknew.in.write_time;
break;
case RAW_OPEN_CTEMP:
- io->ctemp.out.fnum = io2->generic.out.fnum;
- io->ctemp.out.name = talloc_strdup(req, io2->generic.in.fname +
- strlen(io->ctemp.in.directory) + 1);
+ io->ctemp.file.fnum = io2->generic.file.fnum;
+ io->ctemp.out.name = talloc_strdup(req, io2->generic.in.fname +
+ strlen(io->ctemp.in.directory) + 1);
NT_STATUS_HAVE_NO_MEMORY(io->ctemp.out.name);
break;
@@ -220,7 +220,7 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs,
sf = talloc(req, union smb_setfileinfo);
NT_STATUS_HAVE_NO_MEMORY(sf);
sf->generic.level = RAW_SFILEINFO_STANDARD;
- sf->generic.file.fnum = io2->generic.out.fnum;
+ sf->generic.file.fnum = io2->generic.file.fnum;
sf->standard.in.create_time = 0;
sf->standard.in.write_time = write_time;
sf->standard.in.access_time = 0;
@@ -231,7 +231,7 @@ static NTSTATUS ntvfs_map_open_finish(struct ntvfs_module_context *ntvfs,
sf = talloc(req, union smb_setfileinfo);
NT_STATUS_HAVE_NO_MEMORY(sf);
sf->generic.level = RAW_SFILEINFO_END_OF_FILE_INFORMATION;
- sf->generic.file.fnum = io2->generic.out.fnum;
+ sf->generic.file.fnum = io2->generic.file.fnum;
sf->end_of_file_info.in.size = set_size;
status = ntvfs->ops->setfileinfo(ntvfs, req, sf);
if (NT_STATUS_IS_OK(status)) {
@@ -861,7 +861,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_qfileinfo(struct ntvfs_module_context *ntvfs,
/* ask the backend for the generic info */
info2->generic.level = RAW_FILEINFO_GENERIC;
- info2->generic.in.fnum = info->generic.in.fnum;
+ info2->generic.file.fnum = info->generic.file.fnum;
/* only used by the simple backend, which doesn't do async */
req->async_states->state &= ~NTVFS_ASYNC_STATE_MAY_ASYNC;
@@ -894,7 +894,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_qpathinfo(struct ntvfs_module_context *ntvfs,
/* ask the backend for the generic info */
info2->generic.level = RAW_FILEINFO_GENERIC;
- info2->generic.in.fname = info->generic.in.fname;
+ info2->generic.file.path = info->generic.file.path;
/* only used by the simple backend, which doesn't do async */
req->async_states->state &= ~NTVFS_ASYNC_STATE_MAY_ASYNC;
@@ -943,7 +943,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_lock(struct ntvfs_module_context *ntvfs,
}
lck2->generic.level = RAW_LOCK_GENERIC;
- lck2->generic.in.fnum = lck->lock.in.fnum;
+ lck2->generic.file.fnum = lck->lock.file.fnum;
lck2->generic.in.mode = 0;
lck2->generic.in.timeout = 0;
lck2->generic.in.locks = locks;
@@ -991,7 +991,7 @@ static NTSTATUS ntvfs_map_write_finish(struct ntvfs_module_context *ntvfs,
}
lck->unlock.level = RAW_LOCK_UNLOCK;
- lck->unlock.in.fnum = wr->writeunlock.in.fnum;
+ lck->unlock.file.fnum = wr->writeunlock.file.fnum;
lck->unlock.in.count = wr->writeunlock.in.count;
lck->unlock.in.offset = wr->writeunlock.in.offset;
@@ -1013,7 +1013,7 @@ static NTSTATUS ntvfs_map_write_finish(struct ntvfs_module_context *ntvfs,
}
cl->close.level = RAW_CLOSE_CLOSE;
- cl->close.in.fnum = wr->writeclose.in.fnum;
+ cl->close.file.fnum = wr->writeclose.file.fnum;
cl->close.in.write_time = wr->writeclose.in.mtime;
if (wr2->generic.in.count != 0) {
@@ -1064,7 +1064,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_write(struct ntvfs_module_context *ntvfs,
break;
case RAW_WRITE_WRITE:
- wr2->writex.in.fnum = wr->write.in.fnum;
+ wr2->writex.file.fnum = wr->write.file.fnum;
wr2->writex.in.offset = wr->write.in.offset;
wr2->writex.in.wmode = 0;
wr2->writex.in.remaining = wr->write.in.remaining;
@@ -1074,7 +1074,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_write(struct ntvfs_module_context *ntvfs,
break;
case RAW_WRITE_WRITEUNLOCK:
- wr2->writex.in.fnum = wr->writeunlock.in.fnum;
+ wr2->writex.file.fnum = wr->writeunlock.file.fnum;
wr2->writex.in.offset = wr->writeunlock.in.offset;
wr2->writex.in.wmode = 0;
wr2->writex.in.remaining = wr->writeunlock.in.remaining;
@@ -1084,7 +1084,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_write(struct ntvfs_module_context *ntvfs,
break;
case RAW_WRITE_WRITECLOSE:
- wr2->writex.in.fnum = wr->writeclose.in.fnum;
+ wr2->writex.file.fnum = wr->writeclose.file.fnum;
wr2->writex.in.offset = wr->writeclose.in.offset;
wr2->writex.in.wmode = 0;
wr2->writex.in.remaining = 0;
@@ -1094,7 +1094,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_write(struct ntvfs_module_context *ntvfs,
break;
case RAW_WRITE_SPLWRITE:
- wr2->writex.in.fnum = wr->splwrite.in.fnum;
+ wr2->writex.file.fnum = wr->splwrite.file.fnum;
wr2->writex.in.offset = 0;
wr2->writex.in.wmode = 0;
wr2->writex.in.remaining = 0;
@@ -1165,7 +1165,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_read(struct ntvfs_module_context *ntvfs,
break;
case RAW_READ_READ:
- rd2->readx.in.fnum = rd->read.in.fnum;
+ rd2->readx.file.fnum = rd->read.file.fnum;
rd2->readx.in.offset = rd->read.in.offset;
rd2->readx.in.mincnt = rd->read.in.count;
rd2->readx.in.maxcnt = rd->read.in.count;
@@ -1175,7 +1175,7 @@ _PUBLIC_ NTSTATUS ntvfs_map_read(struct ntvfs_module_context *ntvfs,
break;
case RAW_READ_READBRAW:
- rd2->readx.in.fnum = rd->readbraw.in.fnum;
+ rd2->readx.file.fnum = rd->readbraw.file.fnum;
rd2->readx.in.offset = rd->readbraw.in.offset;
rd2->readx.in.mincnt = rd->readbraw.in.mincnt;
rd2->readx.in.maxcnt = rd->readbraw.in.maxcnt;
@@ -1195,13 +1195,13 @@ _PUBLIC_ NTSTATUS ntvfs_map_read(struct ntvfs_module_context *ntvfs,
goto done;
}
lck->lock.level = RAW_LOCK_LOCK;
- lck->lock.in.fnum = rd->lockread.in.fnum;
+ lck->lock.file.fnum = rd->lockread.file.fnum;
lck->lock.in.count = rd->lockread.in.count;
lck->lock.in.offset = rd->lockread.in.offset;
status = ntvfs->ops->lock(ntvfs, req, lck);
req->async_states->state = state;
- rd2->readx.in.fnum = rd->lockread.in.fnum;
+ rd2->readx.file.fnum = rd->lockread.file.fnum;
rd2->readx.in.offset = rd->lockread.in.offset;
rd2->readx.in.mincnt = rd->lockread.in.count;
rd2->readx.in.maxcnt = rd->lockread.in.count;
@@ -1238,8 +1238,8 @@ _PUBLIC_ NTSTATUS ntvfs_map_close(struct ntvfs_module_context *ntvfs,
return NT_STATUS_INVALID_LEVEL;
case RAW_CLOSE_SPLCLOSE:
- cl2->close.level = RAW_CLOSE_CLOSE;
- cl2->close.in.fnum = cl->splclose.in.fnum;
+ cl2->close.level = RAW_CLOSE_CLOSE;
+ cl2->close.file.fnum = cl->splclose.file.fnum;
break;
}
diff --git a/source4/ntvfs/ntvfs_interface.c b/source4/ntvfs/ntvfs_interface.c
index 2be3170bd8..68166e5132 100644
--- a/source4/ntvfs/ntvfs_interface.c
+++ b/source4/ntvfs/ntvfs_interface.c
@@ -68,7 +68,7 @@ _PUBLIC_ NTSTATUS ntvfs_fsinfo(struct ntvfs_request *req, union smb_fsinfo *fs)
}
/* path operations */
-_PUBLIC_ NTSTATUS ntvfs_unlink(struct ntvfs_request *req, struct smb_unlink *unl)
+_PUBLIC_ NTSTATUS ntvfs_unlink(struct ntvfs_request *req, union smb_unlink *unl)
{
struct ntvfs_module_context *ntvfs = req->tcon->ntvfs_ctx->modules;
if (!ntvfs->ops->unlink) {
@@ -77,7 +77,7 @@ _PUBLIC_ NTSTATUS ntvfs_unlink(struct ntvfs_request *req, struct smb_unlink *unl
return ntvfs->ops->unlink(ntvfs, req, unl);
}
-_PUBLIC_ NTSTATUS ntvfs_chkpath(struct ntvfs_request *req, struct smb_chkpath *cp)
+_PUBLIC_ NTSTATUS ntvfs_chkpath(struct ntvfs_request *req, union smb_chkpath *cp)
{
struct ntvfs_module_context *ntvfs = req->tcon->ntvfs_ctx->modules;
if (!ntvfs->ops->chkpath) {
@@ -207,7 +207,7 @@ _PUBLIC_ NTSTATUS ntvfs_write(struct ntvfs_request *req, union smb_write *io)
return ntvfs->ops->write(ntvfs, req, io);
}
-_PUBLIC_ NTSTATUS ntvfs_seek(struct ntvfs_request *req, struct smb_seek *io)
+_PUBLIC_ NTSTATUS ntvfs_seek(struct ntvfs_request *req, union smb_seek *io)
{
struct ntvfs_module_context *ntvfs = req->tcon->ntvfs_ctx->modules;
if (!ntvfs->ops->seek) {
@@ -217,7 +217,7 @@ _PUBLIC_ NTSTATUS ntvfs_seek(struct ntvfs_request *req, struct smb_seek *io)
}
_PUBLIC_ NTSTATUS ntvfs_flush(struct ntvfs_request *req,
- struct smb_flush *flush)
+ union smb_flush *flush)
{
struct ntvfs_module_context *ntvfs = req->tcon->ntvfs_ctx->modules;
if (!ntvfs->ops->flush) {
@@ -314,7 +314,7 @@ _PUBLIC_ NTSTATUS ntvfs_exit(struct ntvfs_request *req)
/*
change notify request
*/
-_PUBLIC_ NTSTATUS ntvfs_notify(struct ntvfs_request *req, struct smb_notify *info)
+_PUBLIC_ NTSTATUS ntvfs_notify(struct ntvfs_request *req, union smb_notify *info)
{
struct ntvfs_module_context *ntvfs = req->tcon->ntvfs_ctx->modules;
if (!ntvfs->ops->notify) {
@@ -378,7 +378,7 @@ _PUBLIC_ NTSTATUS ntvfs_next_fsinfo(struct ntvfs_module_context *ntvfs,
/* path operations */
_PUBLIC_ NTSTATUS ntvfs_next_unlink(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_unlink *unl)
+ union smb_unlink *unl)
{
if (!ntvfs->next || !ntvfs->next->ops->unlink) {
return NT_STATUS_NOT_IMPLEMENTED;
@@ -388,7 +388,7 @@ _PUBLIC_ NTSTATUS ntvfs_next_unlink(struct ntvfs_module_context *ntvfs,
_PUBLIC_ NTSTATUS ntvfs_next_chkpath(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_chkpath *cp)
+ union smb_chkpath *cp)
{
if (!ntvfs->next || !ntvfs->next->ops->chkpath) {
return NT_STATUS_NOT_IMPLEMENTED;
@@ -533,7 +533,7 @@ _PUBLIC_ NTSTATUS ntvfs_next_write(struct ntvfs_module_context *ntvfs,
_PUBLIC_ NTSTATUS ntvfs_next_seek(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_seek *io)
+ union smb_seek *io)
{
if (!ntvfs->next || !ntvfs->next->ops->seek) {
return NT_STATUS_NOT_IMPLEMENTED;
@@ -543,7 +543,7 @@ _PUBLIC_ NTSTATUS ntvfs_next_seek(struct ntvfs_module_context *ntvfs,
_PUBLIC_ NTSTATUS ntvfs_next_flush(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_flush *flush)
+ union smb_flush *flush)
{
if (!ntvfs->next || !ntvfs->next->ops->flush) {
return NT_STATUS_NOT_IMPLEMENTED;
@@ -618,7 +618,7 @@ _PUBLIC_ NTSTATUS ntvfs_next_trans2(struct ntvfs_module_context *ntvfs,
*/
_PUBLIC_ NTSTATUS ntvfs_next_notify(struct ntvfs_module_context *ntvfs,
struct ntvfs_request *req,
- struct smb_notify *info)
+ union smb_notify *info)
{
if (!ntvfs->next || !ntvfs->next->ops->notify) {
return NT_STATUS_NOT_IMPLEMENTED;
diff --git a/source4/ntvfs/posix/pvfs_acl.c b/source4/ntvfs/posix/pvfs_acl.c
index a03499b733..246290ae91 100644
--- a/source4/ntvfs/posix/pvfs_acl.c
+++ b/source4/ntvfs/posix/pvfs_acl.c
@@ -310,7 +310,7 @@ NTSTATUS pvfs_acl_query(struct pvfs_state *pvfs,
return NT_STATUS_INVALID_ACL;
}
- normalise_sd_flags(sd, info->query_secdesc.secinfo_flags);
+ normalise_sd_flags(sd, info->query_secdesc.in.secinfo_flags);
info->query_secdesc.out.sd = sd;
diff --git a/source4/ntvfs/posix/pvfs_flush.c b/source4/ntvfs/posix/pvfs_flush.c
index bf6e23d520..f0ab02f96b 100644
--- a/source4/ntvfs/posix/pvfs_flush.c
+++ b/source4/ntvfs/posix/pvfs_flush.c
@@ -40,13 +40,14 @@ static void pvfs_flush_file(struct pvfs_state *pvfs, struct pvfs_file *f)
flush a fnum
*/
NTSTATUS pvfs_flush(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_flush *io)
+ struct ntvfs_request *req,
+ union smb_flush *io)
{
struct pvfs_state *pvfs = ntvfs->private_data;
struct pvfs_file *f;
- if (io->in.fnum != 0xFFFF) {
- f = pvfs_find_fd(pvfs, req, io->in.fnum);
+ if (io->flush.file.fnum != 0xFFFF) {
+ f = pvfs_find_fd(pvfs, req, io->flush.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
diff --git a/source4/ntvfs/posix/pvfs_ioctl.c b/source4/ntvfs/posix/pvfs_ioctl.c
index aaa9db9986..032aec1d8d 100644
--- a/source4/ntvfs/posix/pvfs_ioctl.c
+++ b/source4/ntvfs/posix/pvfs_ioctl.c
@@ -42,7 +42,7 @@ static NTSTATUS pvfs_ntioctl(struct ntvfs_module_context *ntvfs,
struct pvfs_state *pvfs = ntvfs->private_data;
struct pvfs_file *f;
- f = pvfs_find_fd(pvfs, req, io->ntioctl.in.fnum);
+ f = pvfs_find_fd(pvfs, req, io->ntioctl.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
@@ -62,7 +62,8 @@ static NTSTATUS pvfs_ntioctl(struct ntvfs_module_context *ntvfs,
ioctl interface
*/
NTSTATUS pvfs_ioctl(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, union smb_ioctl *io)
+ struct ntvfs_request *req,
+ union smb_ioctl *io)
{
NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
diff --git a/source4/ntvfs/posix/pvfs_lock.c b/source4/ntvfs/posix/pvfs_lock.c
index d2317c1852..b9b9832d51 100644
--- a/source4/ntvfs/posix/pvfs_lock.c
+++ b/source4/ntvfs/posix/pvfs_lock.c
@@ -243,7 +243,7 @@ static NTSTATUS pvfs_lock_cancel(struct pvfs_state *pvfs, struct ntvfs_request *
/* check if the lock request matches exactly - you can only cancel with exact matches */
if (p->lck->lockx.in.ulock_cnt == lck->lockx.in.ulock_cnt &&
p->lck->lockx.in.lock_cnt == lck->lockx.in.lock_cnt &&
- p->lck->lockx.in.fnum == lck->lockx.in.fnum &&
+ p->lck->lockx.file.fnum == lck->lockx.file.fnum &&
p->lck->lockx.in.mode == (lck->lockx.in.mode & ~LOCKING_ANDX_CANCEL_LOCK)) {
int i;
@@ -285,7 +285,7 @@ NTSTATUS pvfs_lock(struct ntvfs_module_context *ntvfs,
return ntvfs_map_lock(ntvfs, req, lck);
}
- f = pvfs_find_fd(pvfs, req, lck->lockx.in.fnum);
+ f = pvfs_find_fd(pvfs, req, lck->lockx.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c
index 618ddf141b..fcae5f8d61 100644
--- a/source4/ntvfs/posix/pvfs_open.c
+++ b/source4/ntvfs/posix/pvfs_open.c
@@ -390,7 +390,7 @@ static NTSTATUS pvfs_open_directory(struct pvfs_state *pvfs,
talloc_steal(pvfs, f);
io->generic.out.oplock_level = OPLOCK_NONE;
- io->generic.out.fnum = f->fnum;
+ io->generic.file.fnum = f->fnum;
io->generic.out.create_action = create_action;
io->generic.out.create_time = name->dos.create_time;
io->generic.out.access_time = name->dos.access_time;
@@ -712,7 +712,7 @@ static NTSTATUS pvfs_create_file(struct pvfs_state *pvfs,
} else {
io->generic.out.oplock_level = OPLOCK_NONE;
}
- io->generic.out.fnum = f->fnum;
+ io->generic.file.fnum = f->fnum;
io->generic.out.create_action = NTCREATEX_ACTION_CREATED;
io->generic.out.create_time = name->dos.create_time;
io->generic.out.access_time = name->dos.access_time;
@@ -880,7 +880,7 @@ static NTSTATUS pvfs_open_deny_dos(struct ntvfs_module_context *ntvfs,
name = f->handle->name;
io->generic.out.oplock_level = OPLOCK_NONE;
- io->generic.out.fnum = f->fnum;
+ io->generic.file.fnum = f->fnum;
io->generic.out.create_action = NTCREATEX_ACTION_EXISTED;
io->generic.out.create_time = name->dos.create_time;
io->generic.out.access_time = name->dos.access_time;
@@ -1239,7 +1239,7 @@ NTSTATUS pvfs_open(struct ntvfs_module_context *ntvfs,
} else {
io->generic.out.oplock_level = OPLOCK_NONE;
}
- io->generic.out.fnum = f->fnum;
+ io->generic.file.fnum = f->fnum;
io->generic.out.create_action = stream_existed?
NTCREATEX_ACTION_EXISTED:NTCREATEX_ACTION_CREATED;
io->generic.out.create_time = name->dos.create_time;
@@ -1278,7 +1278,7 @@ NTSTATUS pvfs_close(struct ntvfs_module_context *ntvfs,
return ntvfs_map_close(ntvfs, req, io);
}
- f = pvfs_find_fd(pvfs, req, io->close.in.fnum);
+ f = pvfs_find_fd(pvfs, req, io->close.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
diff --git a/source4/ntvfs/posix/pvfs_qfileinfo.c b/source4/ntvfs/posix/pvfs_qfileinfo.c
index 5d908cbee2..b01b7bb649 100644
--- a/source4/ntvfs/posix/pvfs_qfileinfo.c
+++ b/source4/ntvfs/posix/pvfs_qfileinfo.c
@@ -289,7 +289,7 @@ NTSTATUS pvfs_qpathinfo(struct ntvfs_module_context *ntvfs,
NTSTATUS status;
/* resolve the cifs name to a posix name */
- status = pvfs_resolve_name(pvfs, req, info->generic.in.fname, PVFS_RESOLVE_STREAMS, &name);
+ status = pvfs_resolve_name(pvfs, req, info->generic.file.path, PVFS_RESOLVE_STREAMS, &name);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
@@ -326,7 +326,7 @@ NTSTATUS pvfs_qfileinfo(struct ntvfs_module_context *ntvfs,
NTSTATUS status;
uint32_t access_needed;
- f = pvfs_find_fd(pvfs, req, info->generic.in.fnum);
+ f = pvfs_find_fd(pvfs, req, info->generic.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
diff --git a/source4/ntvfs/posix/pvfs_read.c b/source4/ntvfs/posix/pvfs_read.c
index 93a8060926..15c9111d61 100644
--- a/source4/ntvfs/posix/pvfs_read.c
+++ b/source4/ntvfs/posix/pvfs_read.c
@@ -41,7 +41,7 @@ NTSTATUS pvfs_read(struct ntvfs_module_context *ntvfs,
return ntvfs_map_read(ntvfs, req, rd);
}
- f = pvfs_find_fd(pvfs, req, rd->readx.in.fnum);
+ f = pvfs_find_fd(pvfs, req, rd->readx.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
diff --git a/source4/ntvfs/posix/pvfs_seek.c b/source4/ntvfs/posix/pvfs_seek.c
index 33656e4004..1d43f2c855 100644
--- a/source4/ntvfs/posix/pvfs_seek.c
+++ b/source4/ntvfs/posix/pvfs_seek.c
@@ -27,14 +27,15 @@
seek in a file
*/
NTSTATUS pvfs_seek(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_seek *io)
+ struct ntvfs_request *req,
+ union smb_seek *io)
{
struct pvfs_state *pvfs = ntvfs->private_data;
struct pvfs_file *f;
struct pvfs_file_handle *h;
NTSTATUS status;
- f = pvfs_find_fd(pvfs, req, io->in.fnum);
+ f = pvfs_find_fd(pvfs, req, io->lseek.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
@@ -42,22 +43,22 @@ NTSTATUS pvfs_seek(struct ntvfs_module_context *ntvfs,
status = NT_STATUS_OK;
- switch (io->in.mode) {
+ switch (io->lseek.in.mode) {
case SEEK_MODE_START:
- h->seek_offset = io->in.offset;
+ h->seek_offset = io->lseek.in.offset;
break;
case SEEK_MODE_CURRENT:
- h->seek_offset += io->in.offset;
+ h->seek_offset += io->lseek.in.offset;
break;
case SEEK_MODE_END:
status = pvfs_resolve_name_fd(pvfs, h->fd, h->name);
- h->seek_offset = h->name->st.st_size + io->in.offset;
+ h->seek_offset = h->name->st.st_size + io->lseek.in.offset;
break;
}
- io->out.offset = h->seek_offset;
+ io->lseek.out.offset = h->seek_offset;
return status;
}
diff --git a/source4/ntvfs/posix/pvfs_unlink.c b/source4/ntvfs/posix/pvfs_unlink.c
index ee90adba45..76c9bc10a4 100644
--- a/source4/ntvfs/posix/pvfs_unlink.c
+++ b/source4/ntvfs/posix/pvfs_unlink.c
@@ -113,7 +113,8 @@ static NTSTATUS pvfs_unlink_one(struct pvfs_state *pvfs,
The name can contain CIFS wildcards, but rarely does (except with OS/2 clients)
*/
NTSTATUS pvfs_unlink(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_unlink *unl)
+ struct ntvfs_request *req,
+ union smb_unlink *unl)
{
struct pvfs_state *pvfs = ntvfs->private_data;
struct pvfs_dir *dir;
@@ -124,7 +125,7 @@ NTSTATUS pvfs_unlink(struct ntvfs_module_context *ntvfs,
uint_t ofs;
/* resolve the cifs name to a posix name */
- status = pvfs_resolve_name(pvfs, req, unl->in.pattern,
+ status = pvfs_resolve_name(pvfs, req, unl->unlink.in.pattern,
PVFS_RESOLVE_WILDCARD | PVFS_RESOLVE_STREAMS, &name);
if (!NT_STATUS_IS_OK(status)) {
return status;
@@ -140,7 +141,7 @@ NTSTATUS pvfs_unlink(struct ntvfs_module_context *ntvfs,
}
if (name->stream_name) {
- return pvfs_unlink_stream(pvfs, req, name, unl->in.attrib);
+ return pvfs_unlink_stream(pvfs, req, name, unl->unlink.in.attrib);
}
/* get list of matching files */
@@ -155,13 +156,13 @@ NTSTATUS pvfs_unlink(struct ntvfs_module_context *ntvfs,
while ((fname = pvfs_list_next(dir, &ofs))) {
/* this seems to be a special case */
- if ((unl->in.attrib & FILE_ATTRIBUTE_DIRECTORY) &&
+ if ((unl->unlink.in.attrib & FILE_ATTRIBUTE_DIRECTORY) &&
(strcmp(fname, ".") == 0 ||
strcmp(fname, "..") == 0)) {
return NT_STATUS_OBJECT_NAME_INVALID;
}
- status = pvfs_unlink_one(pvfs, req, pvfs_list_unix_path(dir), fname, unl->in.attrib);
+ status = pvfs_unlink_one(pvfs, req, pvfs_list_unix_path(dir), fname, unl->unlink.in.attrib);
if (NT_STATUS_IS_OK(status)) {
total_deleted++;
}
diff --git a/source4/ntvfs/posix/pvfs_write.c b/source4/ntvfs/posix/pvfs_write.c
index d206e3b830..c16b66b7cc 100644
--- a/source4/ntvfs/posix/pvfs_write.c
+++ b/source4/ntvfs/posix/pvfs_write.c
@@ -40,7 +40,7 @@ NTSTATUS pvfs_write(struct ntvfs_module_context *ntvfs,
return ntvfs_map_write(ntvfs, req, wr);
}
- f = pvfs_find_fd(pvfs, req, wr->writex.in.fnum);
+ f = pvfs_find_fd(pvfs, req, wr->writex.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
diff --git a/source4/ntvfs/posix/vfs_posix.c b/source4/ntvfs/posix/vfs_posix.c
index 66fbc4bb4c..ba53dc65e0 100644
--- a/source4/ntvfs/posix/vfs_posix.c
+++ b/source4/ntvfs/posix/vfs_posix.c
@@ -203,14 +203,15 @@ static NTSTATUS pvfs_disconnect(struct ntvfs_module_context *ntvfs)
check if a directory exists
*/
static NTSTATUS pvfs_chkpath(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_chkpath *cp)
+ struct ntvfs_request *req,
+ union smb_chkpath *cp)
{
struct pvfs_state *pvfs = ntvfs->private_data;
struct pvfs_filename *name;
NTSTATUS status;
/* resolve the cifs name to a posix name */
- status = pvfs_resolve_name(pvfs, req, cp->in.path, 0, &name);
+ status = pvfs_resolve_name(pvfs, req, cp->chkpath.in.path, 0, &name);
NT_STATUS_NOT_OK_RETURN(status);
if (!name->exists) {
diff --git a/source4/ntvfs/print/vfs_print.c b/source4/ntvfs/print/vfs_print.c
index 1c7699566d..eb17ef9c63 100644
--- a/source4/ntvfs/print/vfs_print.c
+++ b/source4/ntvfs/print/vfs_print.c
@@ -58,7 +58,8 @@ static NTSTATUS print_disconnect(struct ntvfs_module_context *ntvfs)
lots of operations are not allowed on printing shares - mostly return NT_STATUS_ACCESS_DENIED
*/
static NTSTATUS print_unlink(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_unlink *unl)
+ struct ntvfs_request *req,
+ union smb_unlink *unl)
{
return NT_STATUS_ACCESS_DENIED;
}
diff --git a/source4/ntvfs/simple/vfs_simple.c b/source4/ntvfs/simple/vfs_simple.c
index be9a680d5b..add0c54291 100644
--- a/source4/ntvfs/simple/vfs_simple.c
+++ b/source4/ntvfs/simple/vfs_simple.c
@@ -106,13 +106,14 @@ static struct svfs_file *find_fd(struct svfs_private *private, int fd)
The name can contain CIFS wildcards, but rarely does (except with OS/2 clients)
*/
static NTSTATUS svfs_unlink(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_unlink *unl)
+ struct ntvfs_request *req,
+ union smb_unlink *unl)
{
char *unix_path;
CHECK_READ_ONLY(req);
- unix_path = svfs_unix_path(ntvfs, req, unl->in.pattern);
+ unix_path = svfs_unix_path(ntvfs, req, unl->unlink.in.pattern);
/* ignoring wildcards ... */
if (unlink(unix_path) == -1) {
@@ -136,12 +137,13 @@ static NTSTATUS svfs_ioctl(struct ntvfs_module_context *ntvfs,
check if a directory exists
*/
static NTSTATUS svfs_chkpath(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_chkpath *cp)
+ struct ntvfs_request *req,
+ union smb_chkpath *cp)
{
char *unix_path;
struct stat st;
- unix_path = svfs_unix_path(ntvfs, req, cp->in.path);
+ unix_path = svfs_unix_path(ntvfs, req, cp->chkpath.in.path);
if (stat(unix_path, &st) == -1) {
return map_nt_error_from_unix(errno);
@@ -250,12 +252,12 @@ static NTSTATUS svfs_qpathinfo(struct ntvfs_module_context *ntvfs,
char *unix_path;
struct stat st;
- DEBUG(19,("svfs_qpathinfo: file %s level 0x%x\n", info->generic.in.fname, info->generic.level));
+ DEBUG(19,("svfs_qpathinfo: file %s level 0x%x\n", info->generic.file.path, info->generic.level));
if (info->generic.level != RAW_FILEINFO_GENERIC) {
return ntvfs_map_qpathinfo(ntvfs, req, info);
}
- unix_path = svfs_unix_path(ntvfs, req, info->generic.in.fname);
+ unix_path = svfs_unix_path(ntvfs, req, info->generic.file.path);
DEBUG(19,("svfs_qpathinfo: file %s\n", unix_path));
if (stat(unix_path, &st) == -1) {
DEBUG(19,("svfs_qpathinfo: file %s errno=%d\n", unix_path, errno));
@@ -279,12 +281,12 @@ static NTSTATUS svfs_qfileinfo(struct ntvfs_module_context *ntvfs,
return ntvfs_map_qfileinfo(ntvfs, req, info);
}
- f = find_fd(private, info->generic.in.fnum);
+ f = find_fd(private, info->generic.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
- if (fstat(info->generic.in.fnum, &st) == -1) {
+ if (fstat(info->generic.file.fnum, &st) == -1) {
return map_nt_error_from_unix(errno);
}
@@ -386,7 +388,7 @@ do_open:
unix_to_nt_time(&io->generic.out.access_time, st.st_atime);
unix_to_nt_time(&io->generic.out.write_time, st.st_mtime);
unix_to_nt_time(&io->generic.out.change_time, st.st_mtime);
- io->generic.out.fnum = fd;
+ io->generic.file.fnum = fd;
io->generic.out.alloc_size = st.st_size;
io->generic.out.size = st.st_size;
io->generic.out.attrib = svfs_unix_to_dos_attrib(st.st_mode);
@@ -482,7 +484,7 @@ static NTSTATUS svfs_read(struct ntvfs_module_context *ntvfs,
return NT_STATUS_NOT_SUPPORTED;
}
- ret = pread(rd->readx.in.fnum,
+ ret = pread(rd->readx.file.fnum,
rd->readx.out.data,
rd->readx.in.maxcnt,
rd->readx.in.offset);
@@ -511,7 +513,7 @@ static NTSTATUS svfs_write(struct ntvfs_module_context *ntvfs,
CHECK_READ_ONLY(req);
- ret = pwrite(wr->writex.in.fnum,
+ ret = pwrite(wr->writex.file.fnum,
wr->writex.in.data,
wr->writex.in.count,
wr->writex.in.offset);
@@ -529,7 +531,8 @@ static NTSTATUS svfs_write(struct ntvfs_module_context *ntvfs,
seek in a file
*/
static NTSTATUS svfs_seek(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_seek *io)
+ struct ntvfs_request *req,
+ union smb_seek *io)
{
return NT_STATUS_NOT_SUPPORTED;
}
@@ -538,9 +541,10 @@ static NTSTATUS svfs_seek(struct ntvfs_module_context *ntvfs,
flush a file
*/
static NTSTATUS svfs_flush(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_flush *io)
+ struct ntvfs_request *req,
+ union smb_flush *io)
{
- fsync(io->in.fnum);
+ fsync(io->flush.file.fnum);
return NT_STATUS_OK;
}
@@ -548,7 +552,8 @@ static NTSTATUS svfs_flush(struct ntvfs_module_context *ntvfs,
close a file
*/
static NTSTATUS svfs_close(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, union smb_close *io)
+ struct ntvfs_request *req,
+ union smb_close *io)
{
struct svfs_private *private = ntvfs->private_data;
struct svfs_file *f;
@@ -558,12 +563,12 @@ static NTSTATUS svfs_close(struct ntvfs_module_context *ntvfs,
return NT_STATUS_INVALID_LEVEL;
}
- f = find_fd(private, io->close.in.fnum);
+ f = find_fd(private, io->close.file.fnum);
if (!f) {
return NT_STATUS_INVALID_HANDLE;
}
- if (close(io->close.in.fnum) == -1) {
+ if (close(io->close.file.fnum) == -1) {
return map_nt_error_from_unix(errno);
}
diff --git a/source4/ntvfs/unixuid/vfs_unixuid.c b/source4/ntvfs/unixuid/vfs_unixuid.c
index 3b36a6a891..cc7e13fde0 100644
--- a/source4/ntvfs/unixuid/vfs_unixuid.c
+++ b/source4/ntvfs/unixuid/vfs_unixuid.c
@@ -250,7 +250,8 @@ static NTSTATUS unixuid_disconnect(struct ntvfs_module_context *ntvfs)
delete a file
*/
static NTSTATUS unixuid_unlink(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_unlink *unl)
+ struct ntvfs_request *req,
+ union smb_unlink *unl)
{
NTSTATUS status;
@@ -276,7 +277,8 @@ static NTSTATUS unixuid_ioctl(struct ntvfs_module_context *ntvfs,
check if a directory exists
*/
static NTSTATUS unixuid_chkpath(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_chkpath *cp)
+ struct ntvfs_request *req,
+ union smb_chkpath *cp)
{
NTSTATUS status;
@@ -420,7 +422,8 @@ static NTSTATUS unixuid_write(struct ntvfs_module_context *ntvfs,
seek in a file
*/
static NTSTATUS unixuid_seek(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_seek *io)
+ struct ntvfs_request *req,
+ union smb_seek *io)
{
NTSTATUS status;
@@ -433,7 +436,8 @@ static NTSTATUS unixuid_seek(struct ntvfs_module_context *ntvfs,
flush a file
*/
static NTSTATUS unixuid_flush(struct ntvfs_module_context *ntvfs,
- struct ntvfs_request *req, struct smb_flush *io)
+ struct ntvfs_request *req,
+ union smb_flush *io)
{
NTSTATUS status;
diff --git a/source4/smb_server/smb/nttrans.c b/source4/smb_server/smb/nttrans.c
index b105932386..846cea9796 100644
--- a/source4/smb_server/smb/nttrans.c
+++ b/source4/smb_server/smb/nttrans.c
@@ -77,7 +77,7 @@ static NTSTATUS nttrans_create_send(struct nttrans_op *op)
NT_STATUS_HAVE_NO_MEMORY(params);
SSVAL(params, 0, io->ntcreatex.out.oplock_level);
- SSVAL(params, 2, io->ntcreatex.out.fnum);
+ SSVAL(params, 2, io->ntcreatex.file.fnum);
SIVAL(params, 4, io->ntcreatex.out.create_action);
SIVAL(params, 8, 0); /* ea error offset */
push_nttime(params, 12, io->ntcreatex.out.create_time);
@@ -234,8 +234,8 @@ static NTSTATUS nttrans_query_sec_desc(struct smbsrv_request *req,
NT_STATUS_HAVE_NO_MEMORY(io);
io->query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- io->query_secdesc.in.fnum = SVAL(trans->in.params.data, 0);
- io->query_secdesc.secinfo_flags = IVAL(trans->in.params.data, 4);
+ io->query_secdesc.file.fnum = SVAL(trans->in.params.data, 0);
+ io->query_secdesc.in.secinfo_flags = IVAL(trans->in.params.data, 4);
op->op_info = io;
op->send_fn = nttrans_query_sec_desc_send;
@@ -322,7 +322,7 @@ static NTSTATUS nttrans_ioctl(struct smbsrv_request *req,
blob = &trans->in.data;
nt->ntioctl.level = RAW_IOCTL_NTIOCTL;
- nt->ntioctl.in.fnum = fnum;
+ nt->ntioctl.file.fnum = fnum;
nt->ntioctl.in.function = function;
nt->ntioctl.in.fsctl = fsctl;
nt->ntioctl.in.filter = filter;
@@ -341,7 +341,7 @@ static NTSTATUS nttrans_ioctl(struct smbsrv_request *req,
*/
static NTSTATUS nttrans_notify_change_send(struct nttrans_op *op)
{
- struct smb_notify *info = talloc_get_type(op->op_info, struct smb_notify);
+ union smb_notify *info = talloc_get_type(op->op_info, union smb_notify);
size_t size = 0;
int i;
NTSTATUS status;
@@ -350,8 +350,8 @@ static NTSTATUS nttrans_notify_change_send(struct nttrans_op *op)
#define MAX_BYTES_PER_CHAR 3
/* work out how big the reply buffer could be */
- for (i=0;i<info->out.num_changes;i++) {
- size += 12 + 3 + (1+strlen(info->out.changes[i].name.s)) * MAX_BYTES_PER_CHAR;
+ for (i=0;i<info->notify.out.num_changes;i++) {
+ size += 12 + 3 + (1+strlen(info->notify.out.changes[i].name.s)) * MAX_BYTES_PER_CHAR;
}
status = nttrans_setup_reply(op, op->trans, size, 0, 0);
@@ -360,11 +360,11 @@ static NTSTATUS nttrans_notify_change_send(struct nttrans_op *op)
p = op->trans->out.params.data;
/* construct the changes buffer */
- for (i=0;i<info->out.num_changes;i++) {
+ for (i=0;i<info->notify.out.num_changes;i++) {
ssize_t len;
- SIVAL(p, 4, info->out.changes[i].action);
- len = push_string(p + 12, info->out.changes[i].name.s,
+ SIVAL(p, 4, info->notify.out.changes[i].action);
+ len = push_string(p + 12, info->notify.out.changes[i].name.s,
op->trans->out.params.length - (ofs+12), STR_UNICODE);
SIVAL(p, 8, len);
@@ -393,20 +393,20 @@ static NTSTATUS nttrans_notify_change(struct smbsrv_request *req,
struct nttrans_op *op)
{
struct smb_nttrans *trans = op->trans;
- struct smb_notify *info;
+ union smb_notify *info;
/* should have at least 4 setup words */
if (trans->in.setup_count != 4) {
return NT_STATUS_INVALID_PARAMETER;
}
- info = talloc(op, struct smb_notify);
+ info = talloc(op, union smb_notify);
NT_STATUS_HAVE_NO_MEMORY(info);
- info->in.completion_filter = IVAL(trans->in.setup, 0);
- info->in.fnum = SVAL(trans->in.setup, 4);
- info->in.recursive = SVAL(trans->in.setup, 6);
- info->in.buffer_size = trans->in.max_param;
+ info->notify.in.completion_filter = IVAL(trans->in.setup, 0);
+ info->notify.file.fnum = SVAL(trans->in.setup, 4);
+ info->notify.in.recursive = SVAL(trans->in.setup, 6);
+ info->notify.in.buffer_size = trans->in.max_param;
op->op_info = info;
op->send_fn = nttrans_notify_change_send;
diff --git a/source4/smb_server/smb/reply.c b/source4/smb_server/smb/reply.c
index 93697afd4a..d4c98ab416 100644
--- a/source4/smb_server/smb/reply.c
+++ b/source4/smb_server/smb/reply.c
@@ -236,7 +236,7 @@ void smbsrv_reply_ioctl(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_ioctl);
io->ioctl.level = RAW_IOCTL_IOCTL;
- io->ioctl.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->ioctl.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io->ioctl.in.request = IVAL(req->in.vwv, VWV(1));
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
@@ -255,11 +255,11 @@ void smbsrv_reply_ioctl(struct smbsrv_request *req)
****************************************************************************/
void smbsrv_reply_chkpth(struct smbsrv_request *req)
{
- struct smb_chkpath *io;
+ union smb_chkpath *io;
- REQ_TALLOC(io, struct smb_chkpath);
+ REQ_TALLOC(io, union smb_chkpath);
- req_pull_ascii4(req, &io->in.path, req->in.data, STR_TERMINATE);
+ req_pull_ascii4(req, &io->chkpath.in.path, req->in.data, STR_TERMINATE);
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
req->async_states->send_fn = reply_simple_send;
@@ -303,8 +303,8 @@ void smbsrv_reply_getatr(struct smbsrv_request *req)
st->getattr.level = RAW_FILEINFO_GETATTR;
/* parse request */
- req_pull_ascii4(req, &st->getattr.in.fname, req->in.data, STR_TERMINATE);
- if (!st->getattr.in.fname) {
+ req_pull_ascii4(req, &st->getattr.file.path, req->in.data, STR_TERMINATE);
+ if (!st->getattr.file.path) {
smbsrv_send_error(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
return;
}
@@ -335,9 +335,9 @@ void smbsrv_reply_setatr(struct smbsrv_request *req)
st->setattr.in.attrib = SVAL(req->in.vwv, VWV(0));
st->setattr.in.write_time = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(1));
- req_pull_ascii4(req, &st->setattr.file.fname, req->in.data, STR_TERMINATE);
+ req_pull_ascii4(req, &st->setattr.file.path, req->in.data, STR_TERMINATE);
- if (!st->setattr.file.fname) {
+ if (!st->setattr.file.path) {
smbsrv_send_error(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
return;
}
@@ -410,7 +410,7 @@ static void reply_open_send(struct smbsrv_request *req)
/* construct reply */
smbsrv_setup_reply(req, 7, 0);
- SSVAL(req->out.vwv, VWV(0), oi->openold.out.fnum);
+ SSVAL(req->out.vwv, VWV(0), oi->openold.file.fnum);
SSVAL(req->out.vwv, VWV(1), oi->openold.out.attrib);
srv_push_dos_date3(req->smb_conn, req->out.vwv, VWV(2), oi->openold.out.write_time);
SIVAL(req->out.vwv, VWV(4), oi->openold.out.size);
@@ -470,7 +470,7 @@ static void reply_open_and_X_send(struct smbsrv_request *req)
SSVAL(req->out.vwv, VWV(0), SMB_CHAIN_NONE);
SSVAL(req->out.vwv, VWV(1), 0);
- SSVAL(req->out.vwv, VWV(2), oi->openx.out.fnum);
+ SSVAL(req->out.vwv, VWV(2), oi->openx.file.fnum);
SSVAL(req->out.vwv, VWV(3), oi->openx.out.attrib);
srv_push_dos_date3(req->smb_conn, req->out.vwv, VWV(4), oi->openx.out.write_time);
SIVAL(req->out.vwv, VWV(6), oi->openx.out.size);
@@ -485,7 +485,7 @@ static void reply_open_and_X_send(struct smbsrv_request *req)
REQ_VWV_RESERVED(17, 2);
}
- req->chained_fnum = oi->openx.out.fnum;
+ req->chained_fnum = oi->openx.file.fnum;
smbsrv_chain_reply(req);
}
@@ -542,7 +542,7 @@ static void reply_mknew_send(struct smbsrv_request *req)
/* build the reply */
smbsrv_setup_reply(req, 1, 0);
- SSVAL(req->out.vwv, VWV(0), oi->mknew.out.fnum);
+ SSVAL(req->out.vwv, VWV(0), oi->mknew.file.fnum);
smbsrv_send_reply(req);
}
@@ -596,7 +596,7 @@ static void reply_ctemp_send(struct smbsrv_request *req)
/* build the reply */
smbsrv_setup_reply(req, 1, 0);
- SSVAL(req->out.vwv, VWV(0), oi->ctemp.out.fnum);
+ SSVAL(req->out.vwv, VWV(0), oi->ctemp.file.fnum);
/* the returned filename is relative to the directory */
req_push_str(req, NULL, oi->ctemp.out.name, -1, STR_TERMINATE | STR_ASCII);
@@ -644,15 +644,15 @@ void smbsrv_reply_ctemp(struct smbsrv_request *req)
****************************************************************************/
void smbsrv_reply_unlink(struct smbsrv_request *req)
{
- struct smb_unlink *unl;
+ union smb_unlink *unl;
/* parse the request */
REQ_CHECK_WCT(req, 1);
- REQ_TALLOC(unl, struct smb_unlink);
+ REQ_TALLOC(unl, union smb_unlink);
- unl->in.attrib = SVAL(req->in.vwv, VWV(0));
+ unl->unlink.in.attrib = SVAL(req->in.vwv, VWV(0));
- req_pull_ascii4(req, &unl->in.pattern, req->in.data, STR_TERMINATE);
+ req_pull_ascii4(req, &unl->unlink.in.pattern, req->in.data, STR_TERMINATE);
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
req->async_states->send_fn = reply_simple_send;
@@ -682,7 +682,7 @@ void smbsrv_reply_readbraw(struct smbsrv_request *req)
goto failed;
}
- io.readbraw.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io.readbraw.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io.readbraw.in.offset = IVAL(req->in.vwv, VWV(1));
io.readbraw.in.maxcnt = SVAL(req->in.vwv, VWV(3));
io.readbraw.in.mincnt = SVAL(req->in.vwv, VWV(4));
@@ -766,7 +766,7 @@ void smbsrv_reply_lockread(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_read);
io->lockread.level = RAW_READ_LOCKREAD;
- io->lockread.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->lockread.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io->lockread.in.count = SVAL(req->in.vwv, VWV(1));
io->lockread.in.offset = IVAL(req->in.vwv, VWV(2));
io->lockread.in.remaining = SVAL(req->in.vwv, VWV(4));
@@ -825,7 +825,7 @@ void smbsrv_reply_read(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_read);
io->read.level = RAW_READ_READ;
- io->read.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->read.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io->read.in.count = SVAL(req->in.vwv, VWV(1));
io->read.in.offset = IVAL(req->in.vwv, VWV(2));
io->read.in.remaining = SVAL(req->in.vwv, VWV(4));
@@ -895,7 +895,7 @@ void smbsrv_reply_read_and_X(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_read);
io->readx.level = RAW_READ_READX;
- io->readx.in.fnum = req_fnum(req, req->in.vwv, VWV(2));
+ io->readx.file.fnum = req_fnum(req, req->in.vwv, VWV(2));
io->readx.in.offset = IVAL(req->in.vwv, VWV(3));
io->readx.in.maxcnt = SVAL(req->in.vwv, VWV(5));
io->readx.in.mincnt = SVAL(req->in.vwv, VWV(6));
@@ -973,7 +973,7 @@ void smbsrv_reply_writeunlock(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_write);
io->writeunlock.level = RAW_WRITE_WRITEUNLOCK;
- io->writeunlock.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->writeunlock.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io->writeunlock.in.count = SVAL(req->in.vwv, VWV(1));
io->writeunlock.in.offset = IVAL(req->in.vwv, VWV(2));
io->writeunlock.in.remaining = SVAL(req->in.vwv, VWV(4));
@@ -1031,7 +1031,7 @@ void smbsrv_reply_write(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_write);
io->write.level = RAW_WRITE_WRITE;
- io->write.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->write.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io->write.in.count = SVAL(req->in.vwv, VWV(1));
io->write.in.offset = IVAL(req->in.vwv, VWV(2));
io->write.in.remaining = SVAL(req->in.vwv, VWV(4));
@@ -1096,7 +1096,7 @@ void smbsrv_reply_write_and_X(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_write);
io->writex.level = RAW_WRITE_WRITEX;
- io->writex.in.fnum = req_fnum(req, req->in.vwv, VWV(2));
+ io->writex.file.fnum = req_fnum(req, req->in.vwv, VWV(2));
io->writex.in.offset = IVAL(req->in.vwv, VWV(3));
io->writex.in.wmode = SVAL(req->in.vwv, VWV(7));
io->writex.in.remaining = SVAL(req->in.vwv, VWV(8));
@@ -1132,14 +1132,14 @@ void smbsrv_reply_write_and_X(struct smbsrv_request *req)
****************************************************************************/
static void reply_lseek_send(struct smbsrv_request *req)
{
- struct smb_seek *io = req->async_states->private_data;
+ union smb_seek *io = req->async_states->private_data;
CHECK_ASYNC_STATUS;
/* construct reply */
smbsrv_setup_reply(req, 2, 0);
- SIVALS(req->out.vwv, VWV(0), io->out.offset);
+ SIVALS(req->out.vwv, VWV(0), io->lseek.out.offset);
smbsrv_send_reply(req);
}
@@ -1149,14 +1149,14 @@ static void reply_lseek_send(struct smbsrv_request *req)
****************************************************************************/
void smbsrv_reply_lseek(struct smbsrv_request *req)
{
- struct smb_seek *io;
+ union smb_seek *io;
REQ_CHECK_WCT(req, 4);
- REQ_TALLOC(io, struct smb_seek);
+ REQ_TALLOC(io, union smb_seek);
- io->in.fnum = req_fnum(req, req->in.vwv, VWV(0));
- io->in.mode = SVAL(req->in.vwv, VWV(1));
- io->in.offset = IVALS(req->in.vwv, VWV(2));
+ io->lseek.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->lseek.in.mode = SVAL(req->in.vwv, VWV(1));
+ io->lseek.in.offset = IVALS(req->in.vwv, VWV(2));
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
req->async_states->send_fn = reply_lseek_send;
@@ -1173,14 +1173,14 @@ void smbsrv_reply_lseek(struct smbsrv_request *req)
****************************************************************************/
void smbsrv_reply_flush(struct smbsrv_request *req)
{
- struct smb_flush *io;
+ union smb_flush *io;
/* parse request */
REQ_CHECK_WCT(req, 1);
- REQ_TALLOC(io, struct smb_flush);
+ REQ_TALLOC(io, union smb_flush);
+
+ io->flush.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
- io->in.fnum = req_fnum(req, req->in.vwv, VWV(0));
-
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
req->async_states->send_fn = reply_simple_send;
@@ -1229,7 +1229,7 @@ void smbsrv_reply_close(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_close);
io->close.level = RAW_CLOSE_CLOSE;
- io->close.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->close.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io->close.in.write_time = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(1));
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
@@ -1275,7 +1275,7 @@ void smbsrv_reply_writeclose(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_write);
io->writeclose.level = RAW_WRITE_WRITECLOSE;
- io->writeclose.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->writeclose.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
io->writeclose.in.count = SVAL(req->in.vwv, VWV(1));
io->writeclose.in.offset = IVAL(req->in.vwv, VWV(2));
io->writeclose.in.mtime = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(4));
@@ -1309,7 +1309,7 @@ void smbsrv_reply_lock(struct smbsrv_request *req)
REQ_TALLOC(lck, union smb_lock);
lck->lock.level = RAW_LOCK_LOCK;
- lck->lock.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ lck->lock.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
lck->lock.in.count = IVAL(req->in.vwv, VWV(1));
lck->lock.in.offset = IVAL(req->in.vwv, VWV(3));
@@ -1335,7 +1335,7 @@ void smbsrv_reply_unlock(struct smbsrv_request *req)
REQ_TALLOC(lck, union smb_lock);
lck->unlock.level = RAW_LOCK_UNLOCK;
- lck->unlock.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ lck->unlock.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
lck->unlock.in.count = IVAL(req->in.vwv, VWV(1));
lck->unlock.in.offset = IVAL(req->in.vwv, VWV(3));
@@ -1415,7 +1415,7 @@ static void reply_printopen_send(struct smbsrv_request *req)
/* construct reply */
smbsrv_setup_reply(req, 1, 0);
- SSVAL(req->out.vwv, VWV(0), oi->openold.out.fnum);
+ SSVAL(req->out.vwv, VWV(0), oi->openold.file.fnum);
smbsrv_send_reply(req);
}
@@ -1459,7 +1459,7 @@ void smbsrv_reply_printclose(struct smbsrv_request *req)
REQ_TALLOC(io, union smb_close);
io->splclose.level = RAW_CLOSE_SPLCLOSE;
- io->splclose.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->splclose.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
req->async_states->send_fn = reply_simple_send;
@@ -1559,7 +1559,7 @@ void smbsrv_reply_printwrite(struct smbsrv_request *req)
return;
}
- io->splwrite.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ io->splwrite.file.fnum= req_fnum(req, req->in.vwv, VWV(0));
io->splwrite.in.count = SVAL(req->in.data, 1);
io->splwrite.in.data = req->in.data + 3;
@@ -1788,7 +1788,7 @@ void smbsrv_reply_lockingX(struct smbsrv_request *req)
REQ_TALLOC(lck, union smb_lock);
lck->lockx.level = RAW_LOCK_LOCKX;
- lck->lockx.in.fnum = req_fnum(req, req->in.vwv, VWV(2));
+ lck->lockx.file.fnum = req_fnum(req, req->in.vwv, VWV(2));
lck->lockx.in.mode = SVAL(req->in.vwv, VWV(3));
lck->lockx.in.timeout = IVAL(req->in.vwv, VWV(4));
lck->lockx.in.ulock_cnt = SVAL(req->in.vwv, VWV(6));
@@ -1875,7 +1875,7 @@ void smbsrv_reply_setattrE(struct smbsrv_request *req)
REQ_TALLOC(info, union smb_setfileinfo);
info->setattre.level = RAW_SFILEINFO_SETATTRE;
- info->setattre.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ info->setattre.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
info->setattre.in.create_time = srv_pull_dos_date2(req->smb_conn, req->in.vwv + VWV(1));
info->setattre.in.access_time = srv_pull_dos_date2(req->smb_conn, req->in.vwv + VWV(3));
info->setattre.in.write_time = srv_pull_dos_date2(req->smb_conn, req->in.vwv + VWV(5));
@@ -1943,7 +1943,7 @@ void smbsrv_reply_getattrE(struct smbsrv_request *req)
REQ_TALLOC(info, union smb_fileinfo);
info->getattr.level = RAW_FILEINFO_GETATTRE;
- info->getattr.in.fnum = req_fnum(req, req->in.vwv, VWV(0));
+ info->getattr.file.fnum = req_fnum(req, req->in.vwv, VWV(0));
req->async_states->state |= NTVFS_ASYNC_STATE_MAY_ASYNC;
req->async_states->send_fn = reply_getattrE_send;
@@ -2264,7 +2264,7 @@ static void reply_ntcreate_and_X_send(struct smbsrv_request *req)
SCVAL(req->out.vwv, VWV(2), io->ntcreatex.out.oplock_level);
/* the rest of the parameters are not aligned! */
- SSVAL(req->out.vwv, 5, io->ntcreatex.out.fnum);
+ SSVAL(req->out.vwv, 5, io->ntcreatex.file.fnum);
SIVAL(req->out.vwv, 7, io->ntcreatex.out.create_action);
push_nttime(req->out.vwv, 11, io->ntcreatex.out.create_time);
push_nttime(req->out.vwv, 19, io->ntcreatex.out.access_time);
@@ -2277,7 +2277,7 @@ static void reply_ntcreate_and_X_send(struct smbsrv_request *req)
SSVAL(req->out.vwv, 65, io->ntcreatex.out.ipc_state);
SCVAL(req->out.vwv, 67, io->ntcreatex.out.is_directory);
- req->chained_fnum = io->ntcreatex.out.fnum;
+ req->chained_fnum = io->ntcreatex.file.fnum;
smbsrv_chain_reply(req);
}
diff --git a/source4/smb_server/smb/trans2.c b/source4/smb_server/smb/trans2.c
index ed53ce4daf..a02a741674 100644
--- a/source4/smb_server/smb/trans2.c
+++ b/source4/smb_server/smb/trans2.c
@@ -459,7 +459,7 @@ static NTSTATUS trans2_open(struct smbsrv_request *req, struct smb_trans2 *trans
trans2_setup_reply(req, trans, 30, 0, 0);
- SSVAL(trans->out.params.data, VWV(0), io->t2open.out.fnum);
+ SSVAL(trans->out.params.data, VWV(0), io->t2open.file.fnum);
SSVAL(trans->out.params.data, VWV(1), io->t2open.out.attrib);
srv_push_dos_date3(req->smb_conn, trans->out.params.data,
VWV(2), io->t2open.out.write_time);
@@ -769,8 +769,8 @@ static NTSTATUS trans2_qpathinfo(struct smbsrv_request *req, struct smb_trans2 *
level = SVAL(trans->in.params.data, 0);
- trans2_pull_blob_string(req, &trans->in.params, 6, &st.generic.in.fname, 0);
- if (st.generic.in.fname == NULL) {
+ trans2_pull_blob_string(req, &trans->in.params, 6, &st.generic.file.path, 0);
+ if (st.generic.file.path == NULL) {
return NT_STATUS_FOOBAR;
}
@@ -816,7 +816,7 @@ static NTSTATUS trans2_qfileinfo(struct smbsrv_request *req, struct smb_trans2 *
return NT_STATUS_FOOBAR;
}
- st.generic.in.fnum = SVAL(trans->in.params.data, 0);
+ st.generic.file.fnum = SVAL(trans->in.params.data, 0);
level = SVAL(trans->in.params.data, 2);
/* work out the backend level - we make it 1-1 in the header */
@@ -1000,8 +1000,8 @@ static NTSTATUS trans2_setpathinfo(struct smbsrv_request *req, struct smb_trans2
blob = &trans->in.data;
st.generic.level = (enum smb_setfileinfo_level)level;
- trans2_pull_blob_string(req, &trans->in.params, 6, &st.generic.file.fname, 0);
- if (st.generic.file.fname == NULL) {
+ trans2_pull_blob_string(req, &trans->in.params, 6, &st.generic.file.path, 0);
+ if (st.generic.file.path == NULL) {
return NT_STATUS_FOOBAR;
}
diff --git a/source4/torture/basic/delaywrite.c b/source4/torture/basic/delaywrite.c
index 2c26f21ddc..2a41508bcc 100644
--- a/source4/torture/basic/delaywrite.c
+++ b/source4/torture/basic/delaywrite.c
@@ -54,7 +54,7 @@ static BOOL test_delayed_write_update(struct smbcli_state *cli, TALLOC_CTX *mem_
}
finfo1.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo1.basic_info.in.fnum = fnum1;
+ finfo1.basic_info.file.fnum = fnum1;
finfo2 = finfo1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo1);
@@ -129,7 +129,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
BOOL ret = True;
ssize_t written;
time_t t;
- struct smb_flush flsh;
+ union smb_flush flsh;
printf("Testing delayed update of write time using 2 connections\n");
@@ -148,7 +148,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
}
finfo1.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo1.basic_info.in.fnum = fnum1;
+ finfo1.basic_info.file.fnum = fnum1;
finfo2 = finfo1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo1);
@@ -195,7 +195,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
t = time(NULL);
while (time(NULL) < t+120) {
- finfo2.basic_info.in.fname = fname;
+ finfo2.basic_info.file.path = fname;
status = smb_raw_pathinfo(cli2->tree, mem_ctx, &finfo2);
@@ -223,7 +223,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
/* Now try a write to see if the write time gets reset. */
finfo1.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo1.basic_info.in.fnum = fnum1;
+ finfo1.basic_info.file.fnum = fnum1;
finfo2 = finfo1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo1);
@@ -252,7 +252,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
printf("Doing flush after write\n");
- flsh.in.fnum = fnum1;
+ flsh.flush.file.fnum = fnum1;
status = smb_raw_flush(cli->tree, &flsh);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("smbflush failed: %s\n", nt_errstr(status)));
@@ -330,7 +330,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
}
finfo1.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo1.basic_info.in.fnum = fnum2;
+ finfo1.basic_info.file.fnum = fnum2;
finfo2 = finfo1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo2);
@@ -384,7 +384,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
}
finfo1.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo1.basic_info.in.fnum = fnum1;
+ finfo1.basic_info.file.fnum = fnum1;
finfo2 = finfo1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo1);
@@ -409,7 +409,7 @@ static BOOL test_delayed_write_update2(struct smbcli_state *cli, TALLOC_CTX *mem
}
finfo1.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo1.basic_info.in.fnum = fnum1;
+ finfo1.basic_info.file.fnum = fnum1;
finfo2 = finfo1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo2);
@@ -502,7 +502,7 @@ static BOOL test_finfo_after_write(struct smbcli_state *cli, TALLOC_CTX *mem_ctx
}
finfo1.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo1.basic_info.in.fnum = fnum1;
+ finfo1.basic_info.file.fnum = fnum1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo1);
@@ -545,7 +545,7 @@ static BOOL test_finfo_after_write(struct smbcli_state *cli, TALLOC_CTX *mem_ctx
}
finfo2.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo2.basic_info.in.fname = fname;
+ finfo2.basic_info.file.path = fname;
status = smb_raw_pathinfo(cli2->tree, mem_ctx, &finfo2);
@@ -598,7 +598,7 @@ static BOOL test_finfo_after_write(struct smbcli_state *cli, TALLOC_CTX *mem_ctx
/* This call is only for the people looking at ethereal :-) */
finfo2.basic_info.level = RAW_FILEINFO_BASIC_INFO;
- finfo2.basic_info.in.fname = fname;
+ finfo2.basic_info.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo2);
diff --git a/source4/torture/basic/delete.c b/source4/torture/basic/delete.c
index 606e85a304..6aae6d073b 100644
--- a/source4/torture/basic/delete.c
+++ b/source4/torture/basic/delete.c
@@ -58,7 +58,7 @@ static BOOL check_delete_on_close(struct smbcli_state *cli, int fnum,
int nlink = expect_it ? 0 : 1;
io.all_info.level = RAW_FILEINFO_ALL_INFO;
- io.all_info.in.fnum = fnum;
+ io.all_info.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &io);
if (!NT_STATUS_IS_OK(status)) {
@@ -83,7 +83,7 @@ static BOOL check_delete_on_close(struct smbcli_state *cli, int fnum,
}
io.standard_info.level = RAW_FILEINFO_STANDARD_INFO;
- io.standard_info.in.fnum = fnum;
+ io.standard_info.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &io);
if (!NT_STATUS_IS_OK(status)) {
diff --git a/source4/torture/basic/denytest.c b/source4/torture/basic/denytest.c
index 2e68efa4eb..646714a4e9 100644
--- a/source4/torture/basic/denytest.c
+++ b/source4/torture/basic/denytest.c
@@ -1847,20 +1847,20 @@ static BOOL torture_ntdenytest(struct smbcli_state *cli1, struct smbcli_state *c
} else {
res = A_0;
if (smbcli_read(cli2->tree,
- io2.ntcreatex.out.fnum, buf, 0, sizeof(buf)) >= 1) {
+ io2.ntcreatex.file.fnum, buf, 0, sizeof(buf)) >= 1) {
res += A_R;
}
if (smbcli_write(cli2->tree,
- io2.ntcreatex.out.fnum, 0, buf, 0, sizeof(buf)) >= 1) {
+ io2.ntcreatex.file.fnum, 0, buf, 0, sizeof(buf)) >= 1) {
res += A_W;
}
}
if (NT_STATUS_IS_OK(status1)) {
- smbcli_close(cli1->tree, io1.ntcreatex.out.fnum);
+ smbcli_close(cli1->tree, io1.ntcreatex.file.fnum);
}
if (NT_STATUS_IS_OK(status2)) {
- smbcli_close(cli2->tree, io2.ntcreatex.out.fnum);
+ smbcli_close(cli2->tree, io2.ntcreatex.file.fnum);
}
status2_p = predict_share_conflict(io1.ntcreatex.in.share_access,
@@ -2000,11 +2000,11 @@ BOOL torture_denydos_sharing(void)
printf("openx twice with RDWR/DENY_DOS\n");
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum1 = io.openx.out.fnum;
+ fnum1 = io.openx.file.fnum;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.openx.out.fnum;
+ fnum2 = io.openx.file.fnum;
printf("fnum1=%d fnum2=%d\n", fnum1, fnum2);
@@ -2016,12 +2016,12 @@ BOOL torture_denydos_sharing(void)
printf("two handles should be same file handle\n");
finfo.position_information.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum1;
+ finfo.position_information.file.fnum = fnum1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VAL(finfo.position_information.out.position, 1000);
- finfo.position_information.in.fnum = fnum2;
+ finfo.position_information.file.fnum = fnum2;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VAL(finfo.position_information.out.position, 1000);
@@ -2034,12 +2034,12 @@ BOOL torture_denydos_sharing(void)
io.openx.in.open_mode = OPENX_MODE_ACCESS_RDWR | OPENX_MODE_DENY_NONE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum1 = io.openx.out.fnum;
+ fnum1 = io.openx.file.fnum;
io.openx.in.open_func = OPENX_OPEN_FUNC_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.openx.out.fnum;
+ fnum2 = io.openx.file.fnum;
printf("fnum1=%d fnum2=%d\n", fnum1, fnum2);
@@ -2051,12 +2051,12 @@ BOOL torture_denydos_sharing(void)
CHECK_STATUS(status, NT_STATUS_OK);
finfo.position_information.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum1;
+ finfo.position_information.file.fnum = fnum1;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VAL(finfo.position_information.out.position, 1000);
- finfo.position_information.in.fnum = fnum2;
+ finfo.position_information.file.fnum = fnum2;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VAL(finfo.position_information.out.position, 0);
diff --git a/source4/torture/basic/disconnect.c b/source4/torture/basic/disconnect.c
index 61b1750b92..8ad11ccb6c 100644
--- a/source4/torture/basic/disconnect.c
+++ b/source4/torture/basic/disconnect.c
@@ -96,7 +96,7 @@ static BOOL test_disconnect_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = fnum;
+ io.lockx.file.fnum = fnum;
io.lockx.in.mode = 0;
io.lockx.in.timeout = 0;
io.lockx.in.lock_cnt = 1;
diff --git a/source4/torture/gentest.c b/source4/torture/gentest.c
index 35cae68636..9a268c57b5 100644
--- a/source4/torture/gentest.c
+++ b/source4/torture/gentest.c
@@ -85,7 +85,7 @@ static struct {
static struct {
int notify_count;
NTSTATUS status;
- struct smb_notify notify;
+ union smb_notify notify;
} notifies[NSERVERS][NINSTANCES];
/* info relevant to the current operation */
@@ -681,7 +681,7 @@ static struct ea_struct gen_ea_struct(void)
*/
static void async_notify(struct smbcli_request *req)
{
- struct smb_notify notify;
+ union smb_notify notify;
NTSTATUS status;
int i, j;
uint16_t tid;
@@ -693,9 +693,9 @@ static void async_notify(struct smbcli_request *req)
if (NT_STATUS_IS_OK(status)) {
printf("notify tid=%d num_changes=%d action=%d name=%s\n",
tid,
- notify.out.num_changes,
- notify.out.changes[0].action,
- notify.out.changes[0].name.s);
+ notify.notify.out.num_changes,
+ notify.notify.out.changes[0].action,
+ notify.notify.out.changes[0].name.s);
}
for (i=0;i<NSERVERS;i++) {
@@ -762,7 +762,7 @@ static BOOL oplock_handler(struct smbcli_transport *transport, uint16_t tid, uin
printf("oplock close fnum=%d\n", fnum);
io.close.level = RAW_CLOSE_CLOSE;
- io.close.in.fnum = fnum;
+ io.close.file.fnum = fnum;
io.close.in.write_time = 0;
req = smb_raw_close_send(tree, &io);
@@ -893,7 +893,7 @@ again:
for (j=0;j<NINSTANCES;j++) {
for (i=1;i<NSERVERS;i++) {
int n;
- struct smb_notify not1, not2;
+ union smb_notify not1, not2;
if (notifies[0][j].notify_count != notifies[i][j].notify_count) {
if (tries++ < 10) goto again;
@@ -920,26 +920,26 @@ again:
not1 = notifies[0][j].notify;
not2 = notifies[i][j].notify;
- for (n=0;n<not1.out.num_changes;n++) {
- if (not1.out.changes[n].action !=
- not2.out.changes[n].action) {
+ for (n=0;n<not1.notify.out.num_changes;n++) {
+ if (not1.notify.out.changes[n].action !=
+ not2.notify.out.changes[n].action) {
printf("Notify action %d inconsistent %d %d\n", n,
- not1.out.changes[n].action,
- not2.out.changes[n].action);
+ not1.notify.out.changes[n].action,
+ not2.notify.out.changes[n].action);
return False;
}
- if (strcmp(not1.out.changes[n].name.s,
- not2.out.changes[n].name.s)) {
+ if (strcmp(not1.notify.out.changes[n].name.s,
+ not2.notify.out.changes[n].name.s)) {
printf("Notify name %d inconsistent %s %s\n", n,
- not1.out.changes[n].name.s,
- not2.out.changes[n].name.s);
+ not1.notify.out.changes[n].name.s,
+ not2.notify.out.changes[n].name.s);
return False;
}
- if (not1.out.changes[n].name.private_length !=
- not2.out.changes[n].name.private_length) {
+ if (not1.notify.out.changes[n].name.private_length !=
+ not2.notify.out.changes[n].name.private_length) {
printf("Notify name length %d inconsistent %d %d\n", n,
- not1.out.changes[n].name.private_length,
- not2.out.changes[n].name.private_length);
+ not1.notify.out.changes[n].name.private_length,
+ not2.notify.out.changes[n].name.private_length);
return False;
}
}
@@ -1095,7 +1095,7 @@ static BOOL handler_openx(int instance)
CHECK_TIMES_EQUAL(openx.out.write_time);
/* open creates a new file handle */
- ADD_HANDLE(parm[0].openx.in.fname, openx.out.fnum);
+ ADD_HANDLE(parm[0].openx.in.fname, openx.file.fnum);
return True;
}
@@ -1129,7 +1129,7 @@ static BOOL handler_open(int instance)
CHECK_EQUAL(openold.out.rmode);
/* open creates a new file handle */
- ADD_HANDLE(parm[0].openold.in.fname, openold.out.fnum);
+ ADD_HANDLE(parm[0].openold.in.fname, openold.file.fnum);
return True;
}
@@ -1182,7 +1182,7 @@ static BOOL handler_ntcreatex(int instance)
CHECK_EQUAL(ntcreatex.out.is_directory);
/* ntcreatex creates a new file handle */
- ADD_HANDLE(parm[0].ntcreatex.in.fname, ntcreatex.out.fnum);
+ ADD_HANDLE(parm[0].ntcreatex.in.fname, ntcreatex.file.fnum);
return True;
}
@@ -1196,14 +1196,14 @@ static BOOL handler_close(int instance)
NTSTATUS status[NSERVERS];
parm[0].close.level = RAW_CLOSE_CLOSE;
- parm[0].close.in.fnum = gen_fnum_close(instance);
+ parm[0].close.file.fnum = gen_fnum_close(instance);
parm[0].close.in.write_time = gen_timet();
GEN_COPY_PARM;
- GEN_SET_FNUM(close.in.fnum);
+ GEN_SET_FNUM(close.file.fnum);
GEN_CALL(smb_raw_close(tree, &parm[i]));
- REMOVE_HANDLE(close.in.fnum);
+ REMOVE_HANDLE(close.file.fnum);
return True;
}
@@ -1213,11 +1213,11 @@ static BOOL handler_close(int instance)
*/
static BOOL handler_unlink(int instance)
{
- struct smb_unlink parm[NSERVERS];
+ union smb_unlink parm[NSERVERS];
NTSTATUS status[NSERVERS];
- parm[0].in.pattern = gen_pattern();
- parm[0].in.attrib = gen_attrib();
+ parm[0].unlink.in.pattern = gen_pattern();
+ parm[0].unlink.in.attrib = gen_attrib();
GEN_COPY_PARM;
GEN_CALL(smb_raw_unlink(tree, &parm[i]));
@@ -1230,10 +1230,10 @@ static BOOL handler_unlink(int instance)
*/
static BOOL handler_chkpath(int instance)
{
- struct smb_chkpath parm[NSERVERS];
+ union smb_chkpath parm[NSERVERS];
NTSTATUS status[NSERVERS];
- parm[0].in.path = gen_fname_open(instance);
+ parm[0].chkpath.in.path = gen_fname_open(instance);
GEN_COPY_PARM;
GEN_CALL(smb_raw_chkpath(tree, &parm[i]));
@@ -1320,18 +1320,18 @@ static BOOL handler_ntrename(int instance)
*/
static BOOL handler_seek(int instance)
{
- struct smb_seek parm[NSERVERS];
+ union smb_seek parm[NSERVERS];
NTSTATUS status[NSERVERS];
- parm[0].in.fnum = gen_fnum(instance);
- parm[0].in.mode = gen_bits_mask2(0x3, 0xFFFF);
- parm[0].in.offset = gen_offset();
+ parm[0].lseek.file.fnum = gen_fnum(instance);
+ parm[0].lseek.in.mode = gen_bits_mask2(0x3, 0xFFFF);
+ parm[0].lseek.in.offset = gen_offset();
GEN_COPY_PARM;
- GEN_SET_FNUM(in.fnum);
+ GEN_SET_FNUM(lseek.file.fnum);
GEN_CALL(smb_raw_seek(tree, &parm[i]));
- CHECK_EQUAL(out.offset);
+ CHECK_EQUAL(lseek.out.offset);
return True;
}
@@ -1346,7 +1346,7 @@ static BOOL handler_readx(int instance)
NTSTATUS status[NSERVERS];
parm[0].readx.level = RAW_READ_READX;
- parm[0].readx.in.fnum = gen_fnum(instance);
+ parm[0].readx.file.fnum = gen_fnum(instance);
parm[0].readx.in.offset = gen_offset();
parm[0].readx.in.mincnt = gen_io_count();
parm[0].readx.in.maxcnt = gen_io_count();
@@ -1355,7 +1355,7 @@ static BOOL handler_readx(int instance)
MAX(parm[0].readx.in.mincnt, parm[0].readx.in.maxcnt));
GEN_COPY_PARM;
- GEN_SET_FNUM(readx.in.fnum);
+ GEN_SET_FNUM(readx.file.fnum);
GEN_CALL(smb_raw_read(tree, &parm[i]));
CHECK_EQUAL(readx.out.remaining);
@@ -1374,7 +1374,7 @@ static BOOL handler_writex(int instance)
NTSTATUS status[NSERVERS];
parm[0].writex.level = RAW_WRITE_WRITEX;
- parm[0].writex.in.fnum = gen_fnum(instance);
+ parm[0].writex.file.fnum = gen_fnum(instance);
parm[0].writex.in.offset = gen_offset();
parm[0].writex.in.wmode = gen_bits_mask(0xFFFF);
parm[0].writex.in.remaining = gen_io_count();
@@ -1382,7 +1382,7 @@ static BOOL handler_writex(int instance)
parm[0].writex.in.data = talloc_zero_size(current_op.mem_ctx, parm[0].writex.in.count);
GEN_COPY_PARM;
- GEN_SET_FNUM(writex.in.fnum);
+ GEN_SET_FNUM(writex.file.fnum);
GEN_CALL(smb_raw_write(tree, &parm[i]));
CHECK_EQUAL(writex.out.nwritten);
@@ -1401,7 +1401,7 @@ static BOOL handler_lockingx(int instance)
int n, nlocks;
parm[0].lockx.level = RAW_LOCK_LOCKX;
- parm[0].lockx.in.fnum = gen_fnum(instance);
+ parm[0].lockx.file.fnum = gen_fnum(instance);
parm[0].lockx.in.mode = gen_lock_mode();
parm[0].lockx.in.timeout = gen_timeout();
do {
@@ -1424,7 +1424,7 @@ static BOOL handler_lockingx(int instance)
}
GEN_COPY_PARM;
- GEN_SET_FNUM(lockx.in.fnum);
+ GEN_SET_FNUM(lockx.file.fnum);
GEN_CALL(smb_raw_lock(tree, &parm[i]));
return True;
@@ -1641,7 +1641,7 @@ static BOOL handler_qpathinfo(int instance)
union smb_fileinfo parm[NSERVERS];
NTSTATUS status[NSERVERS];
- parm[0].generic.in.fname = gen_fname_open(instance);
+ parm[0].generic.file.path = gen_fname_open(instance);
gen_fileinfo(instance, &parm[0]);
@@ -1659,12 +1659,12 @@ static BOOL handler_qfileinfo(int instance)
union smb_fileinfo parm[NSERVERS];
NTSTATUS status[NSERVERS];
- parm[0].generic.in.fnum = gen_fnum(instance);
+ parm[0].generic.file.fnum = gen_fnum(instance);
gen_fileinfo(instance, &parm[0]);
GEN_COPY_PARM;
- GEN_SET_FNUM(generic.in.fnum);
+ GEN_SET_FNUM(generic.file.fnum);
GEN_CALL(smb_raw_fileinfo(tree, current_op.mem_ctx, &parm[i]));
return cmp_fileinfo(instance, parm, status);
@@ -1777,7 +1777,7 @@ static BOOL handler_spathinfo(int instance)
union smb_setfileinfo parm[NSERVERS];
NTSTATUS status[NSERVERS];
- parm[0].generic.file.fname = gen_fname_open(instance);
+ parm[0].generic.file.path = gen_fname_open(instance);
gen_setfileinfo(instance, &parm[0]);
@@ -1820,16 +1820,16 @@ static BOOL handler_sfileinfo(int instance)
*/
static BOOL handler_notify(int instance)
{
- struct smb_notify parm[NSERVERS];
+ union smb_notify parm[NSERVERS];
int n;
- parm[0].in.buffer_size = gen_io_count();
- parm[0].in.completion_filter = gen_bits_mask(0xFF);
- parm[0].in.fnum = gen_fnum(instance);
- parm[0].in.recursive = gen_bool();
+ parm[0].notify.in.buffer_size = gen_io_count();
+ parm[0].notify.in.completion_filter = gen_bits_mask(0xFF);
+ parm[0].notify.file.fnum = gen_fnum(instance);
+ parm[0].notify.in.recursive = gen_bool();
GEN_COPY_PARM;
- GEN_SET_FNUM(in.fnum);
+ GEN_SET_FNUM(notify.file.fnum);
for (n=0;n<NSERVERS;n++) {
struct smbcli_request *req;
diff --git a/source4/torture/nbench/nbio.c b/source4/torture/nbench/nbio.c
index 863ddae83f..c5cebdc8d2 100644
--- a/source4/torture/nbench/nbio.c
+++ b/source4/torture/nbench/nbio.c
@@ -221,14 +221,14 @@ static void check_status(const char *op, NTSTATUS status, NTSTATUS ret)
void nb_unlink(const char *fname, int attr, NTSTATUS status)
{
- struct smb_unlink io;
+ union smb_unlink io;
NTSTATUS ret;
- io.in.pattern = fname;
+ io.unlink.in.pattern = fname;
- io.in.attrib = FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN;
+ io.unlink.in.attrib = FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN;
if (strchr(fname, '*') == 0) {
- io.in.attrib |= FILE_ATTRIBUTE_DIRECTORY;
+ io.unlink.in.attrib |= FILE_ATTRIBUTE_DIRECTORY;
}
ret = smb_raw_unlink(c->tree, &io);
@@ -286,7 +286,7 @@ void nb_createx(const char *fname,
f = malloc_p(struct ftable);
f->handle = handle;
- f->fd = io.ntcreatex.out.fnum;
+ f->fd = io.ntcreatex.file.fnum;
DLIST_ADD_END(ftable, f, struct ftable *);
}
@@ -306,7 +306,7 @@ void nb_writex(int handle, int offset, int size, int ret_size, NTSTATUS status)
memset(buf, 0xab, size);
io.writex.level = RAW_WRITE_WRITEX;
- io.writex.in.fnum = i;
+ io.writex.file.fnum = i;
io.writex.in.wmode = 0;
io.writex.in.remaining = 0;
io.writex.in.offset = offset;
@@ -344,7 +344,7 @@ void nb_write(int handle, int offset, int size, int ret_size, NTSTATUS status)
memset(buf, 0x12, size);
io.write.level = RAW_WRITE_WRITE;
- io.write.in.fnum = i;
+ io.write.file.fnum = i;
io.write.in.remaining = 0;
io.write.in.offset = offset;
io.write.in.count = size;
@@ -380,7 +380,7 @@ void nb_lockx(int handle, uint_t offset, int size, NTSTATUS status)
lck.count = size;
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = i;
+ io.lockx.file.fnum = i;
io.lockx.in.mode = 0;
io.lockx.in.timeout = 0;
io.lockx.in.ulock_cnt = 0;
@@ -406,7 +406,7 @@ void nb_unlockx(int handle, uint_t offset, int size, NTSTATUS status)
lck.count = size;
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = i;
+ io.lockx.file.fnum = i;
io.lockx.in.mode = 0;
io.lockx.in.timeout = 0;
io.lockx.in.ulock_cnt = 1;
@@ -432,7 +432,7 @@ void nb_readx(int handle, int offset, int size, int ret_size, NTSTATUS status)
buf = malloc(size);
io.readx.level = RAW_READ_READX;
- io.readx.in.fnum = i;
+ io.readx.file.fnum = i;
io.readx.in.offset = offset;
io.readx.in.mincnt = size;
io.readx.in.maxcnt = size;
@@ -464,7 +464,7 @@ void nb_close(int handle, NTSTATUS status)
i = find_handle(handle);
io.close.level = RAW_CLOSE_CLOSE;
- io.close.in.fnum = i;
+ io.close.file.fnum = i;
io.close.in.write_time = 0;
ret = smb_raw_close(c->tree, &io);
@@ -526,7 +526,7 @@ void nb_qpathinfo(const char *fname, int level, NTSTATUS status)
mem_ctx = talloc_init("nb_qpathinfo");
io.generic.level = level;
- io.generic.in.fname = fname;
+ io.generic.file.path = fname;
ret = smb_raw_pathinfo(c->tree, mem_ctx, &io);
@@ -548,7 +548,7 @@ void nb_qfileinfo(int fnum, int level, NTSTATUS status)
mem_ctx = talloc_init("nb_qfileinfo");
io.generic.level = level;
- io.generic.in.fnum = i;
+ io.generic.file.fnum = i;
ret = smb_raw_fileinfo(c->tree, mem_ctx, &io);
@@ -637,12 +637,12 @@ void nb_findfirst(const char *mask, int level, int maxcnt, int count, NTSTATUS s
void nb_flush(int fnum, NTSTATUS status)
{
- struct smb_flush io;
+ union smb_flush io;
NTSTATUS ret;
int i;
i = find_handle(fnum);
- io.in.fnum = i;
+ io.flush.file.fnum = i;
ret = smb_raw_flush(c->tree, &io);
diff --git a/source4/torture/raw/acls.c b/source4/torture/raw/acls.c
index 5abe9f23c4..74aefa4af5 100644
--- a/source4/torture/raw/acls.c
+++ b/source4/torture/raw/acls.c
@@ -69,11 +69,11 @@ static BOOL test_sd(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags =
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags =
SECINFO_OWNER |
SECINFO_GROUP |
SECINFO_DACL;
@@ -95,7 +95,7 @@ static BOOL test_sd(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
set.set_secdesc.level = RAW_SFILEINFO_SEC_DESC;
set.set_secdesc.file.fnum = fnum;
- set.set_secdesc.in.secinfo_flags = q.query_secdesc.secinfo_flags;
+ set.set_secdesc.in.secinfo_flags = q.query_secdesc.in.secinfo_flags;
set.set_secdesc.in.sd = sd;
status = smb_raw_setfileinfo(cli->tree, &set);
@@ -177,13 +177,13 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("querying ACL\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags =
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags =
SECINFO_OWNER |
SECINFO_GROUP |
SECINFO_DACL;
@@ -210,9 +210,9 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.sec_desc = sd;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
- q.query_secdesc.in.fnum = fnum;
+ q.query_secdesc.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -233,7 +233,7 @@ done:
#define CHECK_ACCESS_FLAGS(_fnum, flags) do { \
union smb_fileinfo _q; \
_q.access_information.level = RAW_FILEINFO_ACCESS_INFORMATION; \
- _q.access_information.in.fnum = (_fnum); \
+ _q.access_information.file.fnum = (_fnum); \
status = smb_raw_fileinfo(cli->tree, mem_ctx, &_q); \
CHECK_STATUS(status, NT_STATUS_OK); \
if (_q.access_information.out.access_flags != (flags)) { \
@@ -279,12 +279,12 @@ static BOOL test_creator_sid(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -365,10 +365,10 @@ static BOOL test_creator_sid(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FILE_READ_DATA;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum,
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum,
SEC_FILE_READ_DATA|
SEC_FILE_READ_ATTRIBUTE);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
printf("try open for generic write\n");
io.ntcreatex.in.access_mask = SEC_GENERIC_WRITE;
@@ -379,9 +379,9 @@ static BOOL test_creator_sid(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_GENERIC_READ;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum,
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum,
SEC_RIGHTS_FILE_READ);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
printf("set a sec desc allowing generic read by owner\n");
sd = security_descriptor_create(mem_ctx,
@@ -426,10 +426,10 @@ static BOOL test_creator_sid(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FILE_READ_DATA;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum,
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum,
SEC_FILE_READ_DATA |
SEC_FILE_READ_ATTRIBUTE);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
printf("try open for generic write\n");
io.ntcreatex.in.access_mask = SEC_GENERIC_WRITE;
@@ -440,8 +440,8 @@ static BOOL test_creator_sid(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_GENERIC_READ;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum, SEC_RIGHTS_FILE_READ);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum, SEC_RIGHTS_FILE_READ);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
printf("put back original sd\n");
@@ -517,12 +517,12 @@ static BOOL test_generic_bits(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -599,9 +599,9 @@ static BOOL test_generic_bits(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum,
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum,
expected_mask | file_mappings[i].specific_bits);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
if (!has_take_ownership_privilege) {
continue;
@@ -647,9 +647,9 @@ static BOOL test_generic_bits(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum,
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum,
expected_mask_anon | file_mappings[i].specific_bits);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
}
printf("put back original sd\n");
@@ -679,12 +679,12 @@ static BOOL test_generic_bits(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -739,9 +739,9 @@ static BOOL test_generic_bits(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum,
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum,
expected_mask | dir_mappings[i].specific_bits);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
}
printf("put back original sd\n");
@@ -797,12 +797,12 @@ static BOOL test_owner_bits(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -855,8 +855,8 @@ static BOOL test_owner_bits(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
bit, expected_bits);
}
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_ACCESS_FLAGS(io.ntcreatex.out.fnum, bit | SEC_FILE_READ_ATTRIBUTE);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ CHECK_ACCESS_FLAGS(io.ntcreatex.file.fnum, bit | SEC_FILE_READ_ATTRIBUTE);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
} else {
CHECK_STATUS(status, NT_STATUS_ACCESS_DENIED);
}
@@ -1019,12 +1019,12 @@ static BOOL test_inheritance(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -1070,9 +1070,9 @@ static BOOL test_inheritance(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.create_options = 0;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
- q.query_secdesc.in.fnum = fnum2;
+ q.query_secdesc.file.fnum = fnum2;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -1113,9 +1113,9 @@ static BOOL test_inheritance(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.create_options = NTCREATEX_OPTIONS_DIRECTORY;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
- q.query_secdesc.in.fnum = fnum2;
+ q.query_secdesc.file.fnum = fnum2;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -1205,11 +1205,11 @@ static BOOL test_inheritance(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_CREATE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_ACCESS_FLAGS(fnum2, SEC_RIGHTS_FILE_ALL);
- q.query_secdesc.in.fnum = fnum2;
- q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.file.fnum = fnum2;
+ q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
smbcli_close(cli->tree, fnum2);
@@ -1220,7 +1220,7 @@ static BOOL test_inheritance(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
if (NT_STATUS_IS_OK(status)) {
printf("failed: w2k3 ACL bug (allowed open when ACL should deny)\n");
ret = False;
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
smbcli_close(cli->tree, fnum2);
} else {
CHECK_STATUS(status, NT_STATUS_ACCESS_DENIED);
@@ -1241,7 +1241,7 @@ static BOOL test_inheritance(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FILE_WRITE_DATA;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_ACCESS_FLAGS(fnum2, SEC_FILE_WRITE_DATA | SEC_FILE_READ_ATTRIBUTE);
smbcli_close(cli->tree, fnum2);
@@ -1262,7 +1262,7 @@ static BOOL test_inheritance(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FILE_WRITE_DATA;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_ACCESS_FLAGS(fnum2, SEC_FILE_WRITE_DATA | SEC_FILE_READ_ATTRIBUTE);
smbcli_close(cli->tree, fnum2);
@@ -1318,12 +1318,12 @@ static BOOL test_inheritance_dynamic(struct smbcli_state *cli, TALLOC_CTX *mem_c
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.file.fnum = fnum;
+ q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -1355,7 +1355,7 @@ static BOOL test_inheritance_dynamic(struct smbcli_state *cli, TALLOC_CTX *mem_c
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_CREATE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
smbcli_close(cli->tree, fnum2);
printf("try and access file with base rights - should be OK\n");
@@ -1363,7 +1363,7 @@ static BOOL test_inheritance_dynamic(struct smbcli_state *cli, TALLOC_CTX *mem_c
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
smbcli_close(cli->tree, fnum2);
printf("try and access file with extra rights - should be denied\n");
@@ -1389,7 +1389,7 @@ static BOOL test_inheritance_dynamic(struct smbcli_state *cli, TALLOC_CTX *mem_c
io.ntcreatex.in.access_mask = SEC_FILE_WRITE_DATA;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
smbcli_close(cli->tree, fnum2);
diff --git a/source4/torture/raw/chkpath.c b/source4/torture/raw/chkpath.c
index 4b19372b10..7ce5422cfe 100644
--- a/source4/torture/raw/chkpath.c
+++ b/source4/torture/raw/chkpath.c
@@ -55,9 +55,9 @@ static NTSTATUS single_search(struct smbcli_state *cli,
static BOOL test_path(struct smbcli_state *cli, const char *path, NTSTATUS expected, NTSTATUS dos_expected)
{
- struct smb_chkpath io;
+ union smb_chkpath io;
NTSTATUS status;
- io.in.path = path;
+ io.chkpath.in.path = path;
status = smb_raw_chkpath(cli->tree, &io);
if (!NT_STATUS_EQUAL(status, expected) && !NT_STATUS_EQUAL(status, dos_expected)) {
printf("%-40s FAILED %s should be %s or %s\n",
@@ -72,13 +72,13 @@ static BOOL test_path(struct smbcli_state *cli, const char *path, NTSTATUS expec
static BOOL test_chkpath(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
- struct smb_chkpath io;
+ union smb_chkpath io;
NTSTATUS status;
BOOL ret = True;
int fnum = -1;
int fnum1 = -1;
- io.in.path = BASEDIR;
+ io.chkpath.in.path = BASEDIR;
status = smb_raw_chkpath(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK, NT_STATUS_OK);
diff --git a/source4/torture/raw/close.c b/source4/torture/raw/close.c
index e19fe0f3cb..8a82a46acc 100644
--- a/source4/torture/raw/close.c
+++ b/source4/torture/raw/close.c
@@ -33,7 +33,7 @@ BOOL torture_raw_close(void)
BOOL ret = True;
TALLOC_CTX *mem_ctx;
union smb_close io;
- struct smb_flush io_flush;
+ union smb_flush io_flush;
int fnum;
const char *fname = "\\torture_close.txt";
time_t basetime = (time(NULL) + 3*86400) & ~1;
@@ -65,7 +65,7 @@ BOOL torture_raw_close(void)
REOPEN;
io.close.level = RAW_CLOSE_CLOSE;
- io.close.in.fnum = fnum;
+ io.close.file.fnum = fnum;
io.close.in.write_time = basetime;
status = smb_raw_close(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -76,8 +76,8 @@ BOOL torture_raw_close(void)
printf("testing close.in.write_time\n");
/* the file should have the write time set */
- finfo.generic.in.fname = fname;
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
+ finfo.generic.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -107,20 +107,20 @@ BOOL torture_raw_close(void)
smbcli_unlink(cli->tree, fname);
REOPEN;
- finfo2.generic.in.fname = fname;
finfo2.generic.level = RAW_FILEINFO_ALL_INFO;
+ finfo2.generic.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo2);
CHECK_STATUS(status, NT_STATUS_OK);
io.close.level = RAW_CLOSE_CLOSE;
- io.close.in.fnum = fnum;
+ io.close.file.fnum = fnum;
io.close.in.write_time = 0;
status = smb_raw_close(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
/* the file should have the write time set equal to access time */
- finfo.generic.in.fname = fname;
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
+ finfo.generic.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -136,31 +136,31 @@ BOOL torture_raw_close(void)
/* check splclose on a file */
REOPEN;
io.splclose.level = RAW_CLOSE_SPLCLOSE;
- io.splclose.in.fnum = fnum;
+ io.splclose.file.fnum = fnum;
status = smb_raw_close(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_DOS(ERRSRV, ERRerror));
printf("testing flush\n");
smbcli_close(cli->tree, fnum);
- io_flush.in.fnum = fnum;
+ io_flush.flush.file.fnum = fnum;
status = smb_raw_flush(cli->tree, &io_flush);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
- io_flush.in.fnum = 0xffff;
+ io_flush.flush.file.fnum = 0xffff;
status = smb_raw_flush(cli->tree, &io_flush);
CHECK_STATUS(status, NT_STATUS_OK);
REOPEN;
- io_flush.in.fnum = fnum;
+ io_flush.flush.file.fnum = fnum;
status = smb_raw_flush(cli->tree, &io_flush);
CHECK_STATUS(status, NT_STATUS_OK);
printf("Testing SMBexit\n");
smb_raw_exit(cli->session);
- io_flush.in.fnum = fnum;
+ io_flush.flush.file.fnum = fnum;
status = smb_raw_flush(cli->tree, &io_flush);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
diff --git a/source4/torture/raw/context.c b/source4/torture/raw/context.c
index 43e059e23d..ebd3a3857f 100644
--- a/source4/torture/raw/context.c
+++ b/source4/torture/raw/context.c
@@ -179,11 +179,11 @@ static BOOL test_session(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("write using the old vuid\n");
wr.generic.level = RAW_WRITE_WRITEX;
- wr.writex.in.fnum = fnum;
+ wr.writex.file.fnum = fnum;
wr.writex.in.offset = 0;
wr.writex.in.wmode = 0;
wr.writex.in.remaining = 0;
@@ -213,7 +213,7 @@ static BOOL test_session(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("the fnum should have been auto-closed\n");
cl.close.level = RAW_CLOSE_CLOSE;
- cl.close.in.fnum = fnum;
+ cl.close.file.fnum = fnum;
cl.close.in.write_time = 0;
status = smb_raw_close(cli->tree, &cl);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
@@ -319,11 +319,11 @@ static BOOL test_tree(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("write using the old tid\n");
wr.generic.level = RAW_WRITE_WRITEX;
- wr.writex.in.fnum = fnum;
+ wr.writex.file.fnum = fnum;
wr.writex.in.offset = 0;
wr.writex.in.wmode = 0;
wr.writex.in.remaining = 0;
@@ -348,7 +348,7 @@ static BOOL test_tree(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("the fnum should have been auto-closed\n");
cl.close.level = RAW_CLOSE_CLOSE;
- cl.close.in.fnum = fnum;
+ cl.close.file.fnum = fnum;
cl.close.in.write_time = 0;
status = smb_raw_close(cli->tree, &cl);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
@@ -404,12 +404,12 @@ static BOOL test_pid(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("write using the old pid\n");
cli->session->pid = pid1;
wr.generic.level = RAW_WRITE_WRITEX;
- wr.writex.in.fnum = fnum;
+ wr.writex.file.fnum = fnum;
wr.writex.in.offset = 0;
wr.writex.in.wmode = 0;
wr.writex.in.remaining = 0;
@@ -449,7 +449,7 @@ static BOOL test_pid(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("the fnum should have been auto-closed\n");
cl.close.level = RAW_CLOSE_CLOSE;
- cl.close.in.fnum = fnum;
+ cl.close.file.fnum = fnum;
cl.close.in.write_time = 0;
status = smb_raw_close(cli->tree, &cl);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
diff --git a/source4/torture/raw/eas.c b/source4/torture/raw/eas.c
index 3bc954d572..8ef489a736 100644
--- a/source4/torture/raw/eas.c
+++ b/source4/torture/raw/eas.c
@@ -72,7 +72,7 @@ static BOOL test_eas(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
ret &= check_ea(cli, fname, "EAONE", NULL);
@@ -297,7 +297,7 @@ static BOOL test_max_eas(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
eablob = data_blob_talloc(mem_ctx, NULL, maxeasize);
if (eablob.data == NULL) {
@@ -409,7 +409,7 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
ret &= check_ea(cli, fname, "EAONE", NULL);
ret &= check_ea(cli, fname, "1st EA", "Value One");
@@ -429,7 +429,7 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
ret &= check_ea(cli, fname, "1st EA", "Value One");
ret &= check_ea(cli, fname, "2nd EA", "Second Value");
diff --git a/source4/torture/raw/ioctl.c b/source4/torture/raw/ioctl.c
index 2c51e4d7b4..c0df9b77f0 100644
--- a/source4/torture/raw/ioctl.c
+++ b/source4/torture/raw/ioctl.c
@@ -56,7 +56,7 @@ static BOOL test_ioctl(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 0xFFFF\n");
ctl.ioctl.level = RAW_IOCTL_IOCTL;
- ctl.ioctl.in.fnum = fnum;
+ ctl.ioctl.file.fnum = fnum;
ctl.ioctl.in.request = 0xFFFF;
status = smb_raw_ioctl(cli->tree, mem_ctx, &ctl);
@@ -64,14 +64,14 @@ static BOOL test_ioctl(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying QUERY_JOB_INFO\n");
ctl.ioctl.level = RAW_IOCTL_IOCTL;
- ctl.ioctl.in.fnum = fnum;
+ ctl.ioctl.file.fnum = fnum;
ctl.ioctl.in.request = IOCTL_QUERY_JOB_INFO;
status = smb_raw_ioctl(cli->tree, mem_ctx, &ctl);
CHECK_STATUS(status, NT_STATUS_DOS(ERRSRV, ERRerror));
printf("Trying bad handle\n");
- ctl.ioctl.in.fnum = fnum+1;
+ ctl.ioctl.file.fnum = fnum+1;
status = smb_raw_ioctl(cli->tree, mem_ctx, &ctl);
CHECK_STATUS(status, NT_STATUS_DOS(ERRSRV, ERRerror));
@@ -101,7 +101,7 @@ static BOOL test_fsctl(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("trying sparse file\n");
nt.ioctl.level = RAW_IOCTL_NTIOCTL;
nt.ntioctl.in.function = FSCTL_SET_SPARSE;
- nt.ntioctl.in.fnum = fnum;
+ nt.ntioctl.file.fnum = fnum;
nt.ntioctl.in.fsctl = True;
nt.ntioctl.in.filter = 0;
@@ -111,7 +111,7 @@ static BOOL test_fsctl(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("trying batch oplock\n");
nt.ioctl.level = RAW_IOCTL_NTIOCTL;
nt.ntioctl.in.function = (FSCTL_FILESYSTEM | (2<<2));
- nt.ntioctl.in.fnum = fnum;
+ nt.ntioctl.file.fnum = fnum;
nt.ntioctl.in.fsctl = True;
nt.ntioctl.in.filter = 0;
@@ -123,12 +123,12 @@ static BOOL test_fsctl(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying bad handle\n");
- nt.ntioctl.in.fnum = fnum+1;
+ nt.ntioctl.file.fnum = fnum+1;
status = smb_raw_ioctl(cli->tree, mem_ctx, &nt);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
#if 0
- nt.ntioctl.in.fnum = fnum;
+ nt.ntioctl.file.fnum = fnum;
for (i=0;i<100;i++) {
nt.ntioctl.in.function = FSCTL_FILESYSTEM + (i<<2);
status = smb_raw_ioctl(cli->tree, mem_ctx, &nt);
diff --git a/source4/torture/raw/lock.c b/source4/torture/raw/lock.c
index f18df47528..bccb17d714 100644
--- a/source4/torture/raw/lock.c
+++ b/source4/torture/raw/lock.c
@@ -71,7 +71,7 @@ static BOOL test_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 0/0 lock\n");
io.lock.level = RAW_LOCK_LOCK;
- io.lock.in.fnum = fnum;
+ io.lock.file.fnum = fnum;
io.lock.in.count = 0;
io.lock.in.offset = 0;
status = smb_raw_lock(cli->tree, &io);
@@ -86,7 +86,7 @@ static BOOL test_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 0/1 lock\n");
io.lock.level = RAW_LOCK_LOCK;
- io.lock.in.fnum = fnum;
+ io.lock.file.fnum = fnum;
io.lock.in.count = 1;
io.lock.in.offset = 0;
status = smb_raw_lock(cli->tree, &io);
@@ -104,7 +104,7 @@ static BOOL test_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 0xEEFFFFFF lock\n");
io.lock.level = RAW_LOCK_LOCK;
- io.lock.in.fnum = fnum;
+ io.lock.file.fnum = fnum;
io.lock.in.count = 4000;
io.lock.in.offset = 0xEEFFFFFF;
status = smb_raw_lock(cli->tree, &io);
@@ -122,7 +122,7 @@ static BOOL test_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 0xEF000000 lock\n");
io.lock.level = RAW_LOCK_LOCK;
- io.lock.in.fnum = fnum;
+ io.lock.file.fnum = fnum;
io.lock.in.count = 4000;
io.lock.in.offset = 0xEEFFFFFF;
status = smb_raw_lock(cli->tree, &io);
@@ -140,7 +140,7 @@ static BOOL test_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying max lock\n");
io.lock.level = RAW_LOCK_LOCK;
- io.lock.in.fnum = fnum;
+ io.lock.file.fnum = fnum;
io.lock.in.count = 4000;
io.lock.in.offset = 0xEF000000;
status = smb_raw_lock(cli->tree, &io);
@@ -158,7 +158,7 @@ static BOOL test_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying wrong pid unlock\n");
io.lock.level = RAW_LOCK_LOCK;
- io.lock.in.fnum = fnum;
+ io.lock.file.fnum = fnum;
io.lock.in.count = 4002;
io.lock.in.offset = 10001;
status = smb_raw_lock(cli->tree, &io);
@@ -206,7 +206,7 @@ static BOOL test_lockx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = fnum;
+ io.lockx.file.fnum = fnum;
io.lockx.in.mode = LOCKING_ANDX_LARGE_FILES;
io.lockx.in.timeout = 0;
io.lockx.in.ulock_cnt = 0;
@@ -394,7 +394,7 @@ static BOOL test_pidhigh(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = fnum;
+ io.lockx.file.fnum = fnum;
io.lockx.in.mode = LOCKING_ANDX_LARGE_FILES;
io.lockx.in.timeout = 0;
io.lockx.in.ulock_cnt = 0;
@@ -468,7 +468,7 @@ static BOOL test_async(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = fnum;
+ io.lockx.file.fnum = fnum;
io.lockx.in.mode = LOCKING_ANDX_LARGE_FILES;
io.lockx.in.timeout = 0;
io.lockx.in.ulock_cnt = 0;
@@ -621,7 +621,7 @@ static BOOL test_changetype(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = fnum;
+ io.lockx.file.fnum = fnum;
io.lockx.in.mode = LOCKING_ANDX_SHARED_LOCK;
io.lockx.in.timeout = 0;
io.lockx.in.ulock_cnt = 0;
diff --git a/source4/torture/raw/mux.c b/source4/torture/raw/mux.c
index 97a1bf3cc4..6cf3634f11 100644
--- a/source4/torture/raw/mux.c
+++ b/source4/torture/raw/mux.c
@@ -65,13 +65,13 @@ static BOOL test_mux_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = BASEDIR "\\open.dat";
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum1 = io.ntcreatex.out.fnum;
+ fnum1 = io.ntcreatex.file.fnum;
printf("send 2nd open, non-conflicting\n");
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
tv = timeval_current();
@@ -131,7 +131,7 @@ static BOOL test_mux_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("close the 1st async open\n");
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
done:
return ret;
@@ -171,7 +171,7 @@ static BOOL test_mux_write(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
/* send an async write */
io.generic.level = RAW_WRITE_WRITEX;
- io.writex.in.fnum = fnum;
+ io.writex.file.fnum = fnum;
io.writex.in.offset = 0;
io.writex.in.wmode = 0;
io.writex.in.remaining = 0;
@@ -217,7 +217,7 @@ static BOOL test_mux_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("establishing a lock\n");
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = fnum;
+ io.lockx.file.fnum = fnum;
io.lockx.in.mode = 0;
io.lockx.in.timeout = 0;
io.lockx.in.lock_cnt = 1;
@@ -258,7 +258,7 @@ static BOOL test_mux_lock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Now trying with a cancel\n");
io.lockx.level = RAW_LOCK_LOCKX;
- io.lockx.in.fnum = fnum;
+ io.lockx.file.fnum = fnum;
io.lockx.in.mode = 0;
io.lockx.in.timeout = 0;
io.lockx.in.lock_cnt = 1;
diff --git a/source4/torture/raw/notify.c b/source4/torture/raw/notify.c
index 7e96beb646..766c5374a9 100644
--- a/source4/torture/raw/notify.c
+++ b/source4/torture/raw/notify.c
@@ -60,7 +60,7 @@ BOOL torture_raw_notify(void)
BOOL ret = True;
TALLOC_CTX *mem_ctx;
NTSTATUS status;
- struct smb_notify notify;
+ union smb_notify notify;
union smb_open io;
int i, count, fnum, fnum2;
struct smbcli_request *req, *req2;
@@ -94,17 +94,17 @@ BOOL torture_raw_notify(void)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
/* ask for a change notify */
- notify.in.buffer_size = 1000;
- notify.in.completion_filter = 0x3;
- notify.in.fnum = fnum;
- notify.in.recursive = True;
+ notify.notify.in.buffer_size = 1000;
+ notify.notify.in.completion_filter = 0x3;
+ notify.notify.file.fnum = fnum;
+ notify.notify.in.recursive = True;
printf("testing notify mkdir\n");
@@ -114,9 +114,9 @@ BOOL torture_raw_notify(void)
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.out.num_changes, 1);
- CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_ADDED);
- CHECK_WSTR(notify.out.changes[0].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.notify.out.num_changes, 1);
+ CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_ADDED);
+ CHECK_WSTR(notify.notify.out.changes[0].name, "subdir-name", STR_UNICODE);
printf("testing notify rmdir\n");
@@ -125,9 +125,9 @@ BOOL torture_raw_notify(void)
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.out.num_changes, 1);
- CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
- CHECK_WSTR(notify.out.changes[0].name, "subdir-name", STR_UNICODE);
+ CHECK_VAL(notify.notify.out.num_changes, 1);
+ CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
+ CHECK_WSTR(notify.notify.out.changes[0].name, "subdir-name", STR_UNICODE);
printf("testing notify cancel\n");
@@ -154,12 +154,12 @@ BOOL torture_raw_notify(void)
/* setup a new notify on a different directory handle. This
new notify won't see the events above. */
- notify.in.fnum = fnum2;
+ notify.notify.file.fnum = fnum2;
req2 = smb_raw_changenotify_send(cli->tree, &notify);
/* whereas this notify will see the above buffered events as
well */
- notify.in.fnum = fnum;
+ notify.notify.file.fnum = fnum;
req = smb_raw_changenotify_send(cli->tree, &notify);
status = smbcli_unlink(cli->tree, BASEDIR "\\test0.txt");
@@ -169,16 +169,16 @@ BOOL torture_raw_notify(void)
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.out.num_changes, count+1);
- for (i=0;i<notify.out.num_changes;i++) {
- CHECK_VAL(notify.out.changes[i].action, NOTIFY_ACTION_ADDED);
+ CHECK_VAL(notify.notify.out.num_changes, count+1);
+ for (i=0;i<notify.notify.out.num_changes;i++) {
+ CHECK_VAL(notify.notify.out.changes[i].action, NOTIFY_ACTION_ADDED);
}
- CHECK_WSTR(notify.out.changes[0].name, "subdir-name", STR_UNICODE);
+ CHECK_WSTR(notify.notify.out.changes[0].name, "subdir-name", STR_UNICODE);
/* and now from the 1st notify */
status = smb_raw_changenotify_recv(req2, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.out.num_changes, 1);
+ CHECK_VAL(notify.notify.out.num_changes, 1);
printf("testing notify on wildcard unlink for %d files\n", count);
@@ -189,26 +189,26 @@ BOOL torture_raw_notify(void)
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.out.num_changes, 1);
- CHECK_VAL(notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
- CHECK_WSTR(notify.out.changes[0].name, "test0.txt", STR_UNICODE);
+ CHECK_VAL(notify.notify.out.num_changes, 1);
+ CHECK_VAL(notify.notify.out.changes[0].action, NOTIFY_ACTION_REMOVED);
+ CHECK_WSTR(notify.notify.out.changes[0].name, "test0.txt", STR_UNICODE);
/* and we now see the rest of the unlink calls */
req = smb_raw_changenotify_send(cli->tree, &notify);
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.out.num_changes, count-1);
- for (i=0;i<notify.out.num_changes;i++) {
- CHECK_VAL(notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
+ CHECK_VAL(notify.notify.out.num_changes, count-1);
+ for (i=0;i<notify.notify.out.num_changes;i++) {
+ CHECK_VAL(notify.notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
}
- notify.in.fnum = fnum2;
+ notify.notify.file.fnum = fnum2;
req = smb_raw_changenotify_send(cli->tree, &notify);
status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VAL(notify.out.num_changes, count-1);
- for (i=0;i<notify.out.num_changes;i++) {
- CHECK_VAL(notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
+ CHECK_VAL(notify.notify.out.num_changes, count-1);
+ for (i=0;i<notify.notify.out.num_changes;i++) {
+ CHECK_VAL(notify.notify.out.changes[i].action, NOTIFY_ACTION_REMOVED);
}
done:
diff --git a/source4/torture/raw/open.c b/source4/torture/raw/open.c
index 1346a075f2..06b78a547c 100644
--- a/source4/torture/raw/open.c
+++ b/source4/torture/raw/open.c
@@ -87,7 +87,7 @@ static const char *rdwr_string(enum rdwr_mode m)
#define CHECK_TIME(t, field) do { \
time_t t1, t2; \
finfo.all_info.level = RAW_FILEINFO_ALL_INFO; \
- finfo.all_info.in.fname = fname; \
+ finfo.all_info.file.path = fname; \
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo); \
CHECK_STATUS(status, NT_STATUS_OK); \
t1 = t & ~1; \
@@ -104,7 +104,7 @@ static const char *rdwr_string(enum rdwr_mode m)
#define CHECK_NTTIME(t, field) do { \
NTTIME t2; \
finfo.all_info.level = RAW_FILEINFO_ALL_INFO; \
- finfo.all_info.in.fname = fname; \
+ finfo.all_info.file.path = fname; \
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo); \
CHECK_STATUS(status, NT_STATUS_OK); \
t2 = finfo.all_info.out.field; \
@@ -119,7 +119,7 @@ static const char *rdwr_string(enum rdwr_mode m)
#define CHECK_ALL_INFO(v, field) do { \
finfo.all_info.level = RAW_FILEINFO_ALL_INFO; \
- finfo.all_info.in.fname = fname; \
+ finfo.all_info.file.path = fname; \
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo); \
CHECK_STATUS(status, NT_STATUS_OK); \
if ((v) != (finfo.all_info.out.field)) { \
@@ -139,7 +139,7 @@ static const char *rdwr_string(enum rdwr_mode m)
#define SET_ATTRIB(sattrib) do { \
union smb_setfileinfo sfinfo; \
sfinfo.generic.level = RAW_SFILEINFO_BASIC_INFORMATION; \
- sfinfo.generic.file.fname = fname; \
+ sfinfo.generic.file.path = fname; \
ZERO_STRUCT(sfinfo.basic_info.in); \
sfinfo.basic_info.in.attrib = sattrib; \
status = smb_raw_setpathinfo(cli->tree, &sfinfo); \
@@ -168,7 +168,7 @@ static BOOL test_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openold.in.search_attrs = 0;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
- fnum = io.openold.out.fnum;
+ fnum = io.openold.file.fnum;
smbcli_unlink(cli->tree, fname);
CREATE_FILE;
@@ -176,12 +176,12 @@ static BOOL test_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openold.out.fnum;
+ fnum = io.openold.file.fnum;
CHECK_RDWR(fnum, RDWR_RDWR);
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.openold.out.fnum;
+ fnum2 = io.openold.file.fnum;
CHECK_RDWR(fnum2, RDWR_RDWR);
smbcli_close(cli->tree, fnum2);
smbcli_close(cli->tree, fnum);
@@ -194,21 +194,21 @@ static BOOL test_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openold.in.open_mode = OPEN_FLAGS_OPEN_READ;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openold.out.fnum;
+ fnum = io.openold.file.fnum;
CHECK_RDWR(fnum, RDWR_RDONLY);
smbcli_close(cli->tree, fnum);
io.openold.in.open_mode = OPEN_FLAGS_OPEN_WRITE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openold.out.fnum;
+ fnum = io.openold.file.fnum;
CHECK_RDWR(fnum, RDWR_WRONLY);
smbcli_close(cli->tree, fnum);
io.openold.in.open_mode = OPEN_FLAGS_OPEN_RDWR;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openold.out.fnum;
+ fnum = io.openold.file.fnum;
CHECK_RDWR(fnum, RDWR_RDWR);
smbcli_close(cli->tree, fnum);
@@ -216,7 +216,7 @@ static BOOL test_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openold.in.open_mode = OPEN_FLAGS_OPEN_RDWR | OPEN_FLAGS_DENY_WRITE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openold.out.fnum;
+ fnum = io.openold.file.fnum;
CHECK_RDWR(fnum, RDWR_RDWR);
if (io.openold.in.open_mode != io.openold.out.rmode) {
@@ -231,7 +231,7 @@ static BOOL test_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openold.in.open_mode = OPEN_FLAGS_OPEN_READ | OPEN_FLAGS_DENY_NONE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.openold.out.fnum;
+ fnum2 = io.openold.file.fnum;
CHECK_RDWR(fnum2, RDWR_RDONLY);
smbcli_close(cli->tree, fnum);
smbcli_close(cli->tree, fnum2);
@@ -244,7 +244,7 @@ static BOOL test_open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openold.in.open_mode = OPEN_FLAGS_OPEN_READ;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openold.out.fnum;
+ fnum = io.openold.file.fnum;
/* check other reply fields */
CHECK_TIME(io.openold.out.write_time, write_time);
@@ -325,7 +325,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret = False;
}
if (NT_STATUS_IS_OK(status)) {
- smbcli_close(cli->tree, io.openx.out.fnum);
+ smbcli_close(cli->tree, io.openx.file.fnum);
}
if (open_funcs[i].with_file) {
smbcli_unlink(cli->tree, fname);
@@ -338,7 +338,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openx.in.open_func = OPENX_OPEN_FUNC_OPEN | OPENX_OPEN_FUNC_CREATE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openx.out.fnum;
+ fnum = io.openx.file.fnum;
CHECK_ALL_INFO(io.openx.out.size, size);
CHECK_TIME(io.openx.out.write_time, write_time);
@@ -363,7 +363,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openx.in.open_func = OPENX_OPEN_FUNC_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openx.out.fnum;
+ fnum = io.openx.file.fnum;
CHECK_ALL_INFO(io.openx.out.size, size);
CHECK_TIME(io.openx.out.write_time, write_time);
@@ -379,12 +379,12 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openx.in.search_attrs = FILE_ATTRIBUTE_HIDDEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- smbcli_close(cli->tree, io.openx.out.fnum);
+ smbcli_close(cli->tree, io.openx.file.fnum);
io.openx.in.search_attrs = 0;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- smbcli_close(cli->tree, io.openx.out.fnum);
+ smbcli_close(cli->tree, io.openx.file.fnum);
SET_ATTRIB(FILE_ATTRIBUTE_NORMAL);
smbcli_unlink(cli->tree, fname);
@@ -397,7 +397,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_ALL_INFO(FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_ARCHIVE,
attrib & ~FILE_ATTRIBUTE_NONINDEXED);
- smbcli_close(cli->tree, io.openx.out.fnum);
+ smbcli_close(cli->tree, io.openx.file.fnum);
smbcli_unlink(cli->tree, fname);
/* check timeout on create - win2003 ignores the timeout! */
@@ -406,7 +406,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openx.in.open_mode = OPENX_MODE_ACCESS_RDWR | OPENX_MODE_DENY_ALL;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openx.out.fnum;
+ fnum = io.openx.file.fnum;
io.openx.in.timeout = 20000;
tv = timeval_current();
@@ -433,7 +433,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.openx.in.timeout = 0;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- smbcli_close(cli->tree, io.openx.out.fnum);
+ smbcli_close(cli->tree, io.openx.file.fnum);
/* check the extended return flag */
io.openx.in.flags = OPENX_FLAGS_ADDITIONAL_INFO | OPENX_FLAGS_EXTENDED_RETURN;
@@ -441,7 +441,7 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VAL(io.openx.out.access_mask, SEC_STD_ALL);
- smbcli_close(cli->tree, io.openx.out.fnum);
+ smbcli_close(cli->tree, io.openx.file.fnum);
io.openx.in.fname = "\\A.+,;=[].B";
status = smb_raw_open(cli->tree, mem_ctx, &io);
@@ -467,8 +467,8 @@ static BOOL test_openx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_OK);
/* Can we read and write ? */
- CHECK_RDWR(io.openx.out.fnum, RDWR_RDONLY);
- smbcli_close(cli->tree, io.openx.out.fnum);
+ CHECK_RDWR(io.openx.file.fnum, RDWR_RDONLY);
+ smbcli_close(cli->tree, io.openx.file.fnum);
smbcli_unlink(cli->tree, fname);
done:
@@ -563,7 +563,7 @@ static BOOL test_t2open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret = False;
}
if (NT_STATUS_IS_OK(status)) {
- smbcli_close(cli->tree, io.t2open.out.fnum);
+ smbcli_close(cli->tree, io.t2open.file.fnum);
}
}
@@ -576,7 +576,7 @@ static BOOL test_t2open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.t2open.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.t2open.out.fnum;
+ fnum = io.t2open.file.fnum;
CHECK_ALL_INFO(io.t2open.out.size, size);
#if 0
@@ -603,11 +603,11 @@ static BOOL test_t2open(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- smbcli_close(cli->tree, io.t2open.out.fnum);
+ smbcli_close(cli->tree, io.t2open.file.fnum);
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- smbcli_close(cli->tree, io.t2open.out.fnum);
+ smbcli_close(cli->tree, io.t2open.file.fnum);
SET_ATTRIB(FILE_ATTRIBUTE_NORMAL);
smbcli_unlink(cli->tree, fname);
@@ -704,7 +704,7 @@ static BOOL test_ntcreatex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret = False;
}
if (NT_STATUS_IS_OK(status) || open_funcs[i].with_file) {
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
smbcli_unlink(cli->tree, fname);
}
}
@@ -714,7 +714,7 @@ static BOOL test_ntcreatex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, 0);
CHECK_VAL(io.ntcreatex.out.create_action, NTCREATEX_ACTION_CREATED);
@@ -741,7 +741,7 @@ static BOOL test_ntcreatex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, 0);
CHECK_VAL(io.ntcreatex.out.create_action, NTCREATEX_ACTION_EXISTED);
@@ -778,7 +778,7 @@ static BOOL test_ntcreatex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.share_access = NTCREATEX_SHARE_ACCESS_READ | NTCREATEX_SHARE_ACCESS_WRITE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, 0);
CHECK_VAL(io.ntcreatex.out.create_action, NTCREATEX_ACTION_CREATED);
@@ -879,7 +879,7 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret = False;
}
if (NT_STATUS_IS_OK(status) || open_funcs[i].with_file) {
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
smbcli_unlink(cli->tree, fname);
}
}
@@ -889,7 +889,7 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, 0);
CHECK_VAL(io.ntcreatex.out.create_action, NTCREATEX_ACTION_CREATED);
@@ -916,7 +916,7 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, 0);
CHECK_VAL(io.ntcreatex.out.create_action, NTCREATEX_ACTION_EXISTED);
@@ -953,7 +953,7 @@ static BOOL test_nttrans_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.share_access = NTCREATEX_SHARE_ACCESS_READ | NTCREATEX_SHARE_ACCESS_WRITE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, 0);
CHECK_VAL(io.ntcreatex.out.create_action, NTCREATEX_ACTION_CREATED);
@@ -1019,7 +1019,7 @@ static BOOL test_ntcreatex_brlocked(struct smbcli_state *cli, TALLOC_CTX *mem_ct
CHECK_STATUS(status, NT_STATUS_OK);
io2.lockx.level = RAW_LOCK_LOCKX;
- io2.lockx.in.fnum = io.ntcreatex.out.fnum;
+ io2.lockx.file.fnum = io.ntcreatex.file.fnum;
io2.lockx.in.mode = LOCKING_ANDX_LARGE_FILES;
io2.lockx.in.timeout = 0;
io2.lockx.in.ulock_cnt = 0;
@@ -1050,8 +1050,8 @@ static BOOL test_ntcreatex_brlocked(struct smbcli_state *cli, TALLOC_CTX *mem_ct
CHECK_STATUS(status, NT_STATUS_OK);
done:
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
- smbcli_close(cli->tree, io1.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
+ smbcli_close(cli->tree, io1.ntcreatex.file.fnum);
smbcli_unlink(cli->tree, fname);
return ret;
}
@@ -1077,7 +1077,7 @@ static BOOL test_mknew(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.mknew.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.mknew.out.fnum;
+ fnum = io.mknew.file.fnum;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_COLLISION);
@@ -1089,7 +1089,7 @@ static BOOL test_mknew(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.mknew.in.write_time = basetime;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.mknew.out.fnum;
+ fnum = io.mknew.file.fnum;
CHECK_TIME(basetime, write_time);
smbcli_close(cli->tree, fnum);
@@ -1099,7 +1099,7 @@ static BOOL test_mknew(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.mknew.in.attrib = FILE_ATTRIBUTE_HIDDEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.mknew.out.fnum;
+ fnum = io.mknew.file.fnum;
CHECK_ALL_INFO(FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_ARCHIVE,
attrib & ~FILE_ATTRIBUTE_NONINDEXED);
@@ -1132,12 +1132,12 @@ static BOOL test_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.create.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.create.out.fnum;
+ fnum = io.create.file.fnum;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- smbcli_close(cli->tree, io.create.out.fnum);
+ smbcli_close(cli->tree, io.create.file.fnum);
smbcli_close(cli->tree, fnum);
smbcli_unlink(cli->tree, fname);
@@ -1145,7 +1145,7 @@ static BOOL test_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.create.in.write_time = basetime;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.create.out.fnum;
+ fnum = io.create.file.fnum;
CHECK_TIME(basetime, write_time);
smbcli_close(cli->tree, fnum);
@@ -1155,7 +1155,7 @@ static BOOL test_create(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.create.in.attrib = FILE_ATTRIBUTE_HIDDEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.create.out.fnum;
+ fnum = io.create.file.fnum;
CHECK_ALL_INFO(FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_ARCHIVE,
attrib & ~FILE_ATTRIBUTE_NONINDEXED);
@@ -1188,12 +1188,12 @@ static BOOL test_ctemp(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ctemp.in.directory = BASEDIR;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ctemp.out.fnum;
+ fnum = io.ctemp.file.fnum;
name = io.ctemp.out.name;
finfo.generic.level = RAW_FILEINFO_NAME_INFO;
- finfo.generic.in.fnum = fnum;
+ finfo.generic.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -1251,7 +1251,7 @@ static BOOL test_chained(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.openxreadx.out.fnum;
+ fnum = io.openxreadx.file.fnum;
if (memcmp(buf, buf2, sizeof(buf)) != 0) {
d_printf("wrong data in reply buffer\n");
diff --git a/source4/torture/raw/oplock.c b/source4/torture/raw/oplock.c
index 6fa4c514b3..3d804f8572 100644
--- a/source4/torture/raw/oplock.c
+++ b/source4/torture/raw/oplock.c
@@ -88,7 +88,7 @@ static BOOL oplock_handler_close(struct smbcli_transport *transport, uint16_t ti
printf("Closing in oplock handler\n");
io.close.level = RAW_CLOSE_CLOSE;
- io.close.in.fnum = fnum;
+ io.close.file.fnum = fnum;
io.close.in.write_time = 0;
req = smb_raw_close_send(tree, &io);
if (req == NULL) {
@@ -111,7 +111,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTSTATUS status;
BOOL ret = True;
union smb_open io;
- struct smb_unlink unl;
+ union smb_unlink unl;
union smb_read rd;
uint16_t fnum=0, fnum2=0;
@@ -141,12 +141,12 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, EXCLUSIVE_OPLOCK_RETURN);
printf("unlink it - should be no break\n");
- unl.in.pattern = fname;
- unl.in.attrib = 0;
+ unl.unlink.in.pattern = fname;
+ unl.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &unl);
CHECK_STATUS(status, NT_STATUS_SHARING_VIOLATION);
CHECK_VAL(break_info.count, 0);
@@ -164,12 +164,12 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_FLAGS_REQUEST_BATCH_OPLOCK;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
printf("unlink should generate a break\n");
- unl.in.pattern = fname;
- unl.in.attrib = 0;
+ unl.unlink.in.pattern = fname;
+ unl.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &unl);
CHECK_STATUS(status, NT_STATUS_SHARING_VIOLATION);
@@ -188,11 +188,11 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_FLAGS_REQUEST_BATCH_OPLOCK;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
- unl.in.pattern = fname;
- unl.in.attrib = 0;
+ unl.unlink.in.pattern = fname;
+ unl.unlink.in.attrib = 0;
ZERO_STRUCT(break_info);
status = smb_raw_unlink(cli->tree, &unl);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -212,11 +212,11 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_FLAGS_REQUEST_BATCH_OPLOCK;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
rd.read.level = RAW_READ_READ;
- rd.read.in.fnum = fnum;
+ rd.read.file.fnum = fnum;
rd.read.in.count = 1;
rd.read.in.offset = 0;
rd.read.in.remaining = 0;
@@ -235,7 +235,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_FLAGS_REQUEST_BATCH_OPLOCK;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
ZERO_STRUCT(break_info);
@@ -259,7 +259,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_FLAGS_REQUEST_BATCH_OPLOCK;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
ZERO_STRUCT(break_info);
@@ -269,7 +269,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_FLAGS_REQUEST_BATCH_OPLOCK;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
CHECK_VAL(break_info.count, 1);
@@ -288,7 +288,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_FLAGS_REQUEST_BATCH_OPLOCK;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
ZERO_STRUCT(break_info);
@@ -300,7 +300,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.access_mask = SEC_FILE_READ_ATTRIBUTE|SEC_FILE_WRITE_ATTRIBUTE|SEC_STD_SYNCHRONIZE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, NO_OPLOCK_RETURN);
CHECK_VAL(break_info.count, 0);
CHECK_VAL(break_info.fnum, 0);
@@ -319,7 +319,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_CREATE;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(io.ntcreatex.out.oplock_level, BATCH_OPLOCK_RETURN);
printf("Subsequent normal open should break oplock on attribute only open to level II\n");
@@ -334,7 +334,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_VAL(break_info.count, 1);
CHECK_VAL(break_info.fnum, fnum);
CHECK_VAL(break_info.failures, 0);
@@ -351,7 +351,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_VAL(break_info.count, 0);
CHECK_VAL(break_info.failures, 0);
CHECK_VAL(io.ntcreatex.out.oplock_level, LEVEL_II_OPLOCK_RETURN);
@@ -362,7 +362,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
union smb_write wr;
wr.write.level = RAW_WRITE_WRITE;
- wr.write.in.fnum = fnum2;
+ wr.write.file.fnum = fnum2;
wr.write.in.count = 1;
wr.write.in.offset = 0;
wr.write.in.remaining = 0;
@@ -379,7 +379,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
union smb_write wr;
wr.write.level = RAW_WRITE_WRITE;
- wr.write.in.fnum = fnum2;
+ wr.write.file.fnum = fnum2;
wr.write.in.count = 1;
wr.write.in.offset = 0;
wr.write.in.remaining = 0;
@@ -407,7 +407,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
CHECK_VAL(break_info.count, 0);
CHECK_VAL(break_info.fnum, 0);
CHECK_VAL(break_info.failures, 0);
@@ -423,7 +423,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = io.ntcreatex.out.fnum;
+ fnum2 = io.ntcreatex.file.fnum;
CHECK_VAL(break_info.count, 0);
CHECK_VAL(break_info.fnum, 0);
CHECK_VAL(break_info.failures, 0);
@@ -433,7 +433,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
union smb_write wr;
wr.write.level = RAW_WRITE_WRITE;
- wr.write.in.fnum = fnum;
+ wr.write.file.fnum = fnum;
wr.write.in.count = 1;
wr.write.in.offset = 0;
wr.write.in.remaining = 0;
@@ -450,7 +450,7 @@ static BOOL test_oplock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
union smb_write wr;
wr.write.level = RAW_WRITE_WRITE;
- wr.write.in.fnum = fnum;
+ wr.write.file.fnum = fnum;
wr.write.in.count = 1;
wr.write.in.offset = 0;
wr.write.in.remaining = 0;
diff --git a/source4/torture/raw/qfileinfo.c b/source4/torture/raw/qfileinfo.c
index 6ed57227ac..bd5208db28 100644
--- a/source4/torture/raw/qfileinfo.c
+++ b/source4/torture/raw/qfileinfo.c
@@ -184,14 +184,14 @@ BOOL torture_raw_qfileinfo(void)
for (i=0; levels[i].name; i++) {
if (!levels[i].only_paths) {
levels[i].fnum_finfo.generic.level = levels[i].level;
- levels[i].fnum_finfo.generic.in.fnum = fnum;
+ levels[i].fnum_finfo.generic.file.fnum = fnum;
levels[i].fnum_status = smb_raw_fileinfo(cli->tree, mem_ctx,
&levels[i].fnum_finfo);
}
if (!levels[i].only_handles) {
levels[i].fname_finfo.generic.level = levels[i].level;
- levels[i].fname_finfo.generic.in.fname = talloc_strdup(mem_ctx, fname);
+ levels[i].fname_finfo.generic.file.path = talloc_strdup(mem_ctx, fname);
levels[i].fname_status = smb_raw_pathinfo(cli->tree, mem_ctx,
&levels[i].fname_finfo);
}
diff --git a/source4/torture/raw/read.c b/source4/torture/raw/read.c
index aab879a1d1..2e5a06df63 100644
--- a/source4/torture/raw/read.c
+++ b/source4/torture/raw/read.c
@@ -110,7 +110,7 @@ static BOOL test_read(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying empty file read\n");
- io.read.in.fnum = fnum;
+ io.read.file.fnum = fnum;
io.read.in.count = 1;
io.read.in.offset = 0;
io.read.in.remaining = 0;
@@ -127,15 +127,15 @@ static BOOL test_read(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_VALUE(io.read.out.nread, 0);
printf("Trying bad fnum\n");
- io.read.in.fnum = fnum+1;
+ io.read.file.fnum = fnum+1;
status = smb_raw_read(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
- io.read.in.fnum = fnum;
+ io.read.file.fnum = fnum;
smbcli_write(cli->tree, fnum, 0, test_data, 0, strlen(test_data));
printf("Trying small read\n");
- io.read.in.fnum = fnum;
+ io.read.file.fnum = fnum;
io.read.in.offset = 0;
io.read.in.remaining = 0;
io.read.in.count = strlen(test_data);
@@ -234,7 +234,7 @@ static BOOL test_lockread(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying empty file read\n");
- io.lockread.in.fnum = fnum;
+ io.lockread.file.fnum = fnum;
io.lockread.in.count = 1;
io.lockread.in.offset = 1;
io.lockread.in.remaining = 0;
@@ -258,15 +258,15 @@ static BOOL test_lockread(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
smbcli_unlock(cli->tree, fnum, 1, 1);
printf("Trying bad fnum\n");
- io.lockread.in.fnum = fnum+1;
+ io.lockread.file.fnum = fnum+1;
status = smb_raw_read(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
- io.lockread.in.fnum = fnum;
+ io.lockread.file.fnum = fnum;
smbcli_write(cli->tree, fnum, 0, test_data, 0, strlen(test_data));
printf("Trying small read\n");
- io.lockread.in.fnum = fnum;
+ io.lockread.file.fnum = fnum;
io.lockread.in.offset = 0;
io.lockread.in.remaining = 0;
io.lockread.in.count = strlen(test_data);
@@ -377,7 +377,7 @@ static BOOL test_readx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying empty file read\n");
io.generic.level = RAW_READ_READX;
- io.readx.in.fnum = fnum;
+ io.readx.file.fnum = fnum;
io.readx.in.mincnt = 1;
io.readx.in.maxcnt = 1;
io.readx.in.offset = 0;
@@ -400,15 +400,15 @@ static BOOL test_readx(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_VALUE(io.readx.out.compaction_mode, 0);
printf("Trying bad fnum\n");
- io.readx.in.fnum = fnum+1;
+ io.readx.file.fnum = fnum+1;
status = smb_raw_read(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
- io.readx.in.fnum = fnum;
+ io.readx.file.fnum = fnum;
smbcli_write(cli->tree, fnum, 0, test_data, 0, strlen(test_data));
printf("Trying small read\n");
- io.readx.in.fnum = fnum;
+ io.readx.file.fnum = fnum;
io.readx.in.offset = 0;
io.readx.in.remaining = 0;
io.readx.in.mincnt = strlen(test_data);
@@ -571,7 +571,7 @@ static BOOL test_readbraw(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying empty file read\n");
io.generic.level = RAW_READ_READBRAW;
- io.readbraw.in.fnum = fnum;
+ io.readbraw.file.fnum = fnum;
io.readbraw.in.mincnt = 1;
io.readbraw.in.maxcnt = 1;
io.readbraw.in.offset = 0;
@@ -590,16 +590,16 @@ static BOOL test_readbraw(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_VALUE(io.readbraw.out.nread, 0);
printf("Trying bad fnum\n");
- io.readbraw.in.fnum = fnum+1;
+ io.readbraw.file.fnum = fnum+1;
status = smb_raw_read(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(io.readbraw.out.nread, 0);
- io.readbraw.in.fnum = fnum;
+ io.readbraw.file.fnum = fnum;
smbcli_write(cli->tree, fnum, 0, test_data, 0, strlen(test_data));
printf("Trying small read\n");
- io.readbraw.in.fnum = fnum;
+ io.readbraw.file.fnum = fnum;
io.readbraw.in.offset = 0;
io.readbraw.in.mincnt = strlen(test_data);
io.readbraw.in.maxcnt = strlen(test_data);
diff --git a/source4/torture/raw/rename.c b/source4/torture/raw/rename.c
index c1b24f2b3a..c84621b2be 100644
--- a/source4/torture/raw/rename.c
+++ b/source4/torture/raw/rename.c
@@ -78,7 +78,7 @@ static BOOL test_mv(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &op);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = op.ntcreatex.out.fnum;
+ fnum = op.ntcreatex.file.fnum;
io.generic.level = RAW_RENAME_RENAME;
io.rename.in.pattern1 = fname1;
@@ -98,7 +98,7 @@ static BOOL test_mv(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
NTCREATEX_SHARE_ACCESS_WRITE;
status = smb_raw_open(cli->tree, mem_ctx, &op);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = op.ntcreatex.out.fnum;
+ fnum = op.ntcreatex.file.fnum;
printf("trying rename while first file open with SHARE_ACCESS_DELETE\n");
status = smb_raw_rename(cli->tree, &io);
@@ -250,13 +250,13 @@ static BOOL test_ntrename(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
torture_set_file_attribute(cli->tree, fname1, FILE_ATTRIBUTE_SYSTEM);
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
- finfo.generic.in.fname = fname2;
+ finfo.generic.file.path = fname2;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 2);
CHECK_VALUE(finfo.all_info.out.attrib, FILE_ATTRIBUTE_SYSTEM);
- finfo.generic.in.fname = fname1;
+ finfo.generic.file.path = fname1;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 2);
@@ -266,7 +266,7 @@ static BOOL test_ntrename(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
smbcli_unlink(cli->tree, fname2);
- finfo.generic.in.fname = fname1;
+ finfo.generic.file.path = fname1;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 1);
@@ -281,14 +281,14 @@ static BOOL test_ntrename(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_OK);
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
- finfo.generic.in.fname = fname1;
+ finfo.generic.file.path = fname1;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 1);
CHECK_VALUE(finfo.all_info.out.attrib, FILE_ATTRIBUTE_NORMAL);
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
- finfo.generic.in.fname = fname2;
+ finfo.generic.file.path = fname2;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 1);
@@ -297,13 +297,13 @@ static BOOL test_ntrename(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
torture_set_file_attribute(cli->tree, fname1, FILE_ATTRIBUTE_SYSTEM);
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
- finfo.generic.in.fname = fname2;
+ finfo.generic.file.path = fname2;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 1);
CHECK_VALUE(finfo.all_info.out.attrib, FILE_ATTRIBUTE_NORMAL);
- finfo.generic.in.fname = fname1;
+ finfo.generic.file.path = fname1;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 1);
@@ -313,7 +313,7 @@ static BOOL test_ntrename(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
smbcli_unlink(cli->tree, fname2);
- finfo.generic.in.fname = fname1;
+ finfo.generic.file.path = fname1;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.all_info.out.nlink, 1);
diff --git a/source4/torture/raw/search.c b/source4/torture/raw/search.c
index 1d98c7cb5c..b601281bb8 100644
--- a/source4/torture/raw/search.c
+++ b/source4/torture/raw/search.c
@@ -187,7 +187,7 @@ static BOOL test_one_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
/* get the all_info file into to check against */
all_info.generic.level = RAW_FILEINFO_ALL_INFO;
- all_info.generic.in.fname = fname;
+ all_info.generic.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &all_info);
if (!NT_STATUS_IS_OK(status)) {
printf("RAW_FILEINFO_ALL_INFO failed - %s\n", nt_errstr(status));
@@ -196,7 +196,7 @@ static BOOL test_one_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
alt_info.generic.level = RAW_FILEINFO_ALT_NAME_INFO;
- alt_info.generic.in.fname = fname;
+ alt_info.generic.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &alt_info);
if (!NT_STATUS_IS_OK(status)) {
printf("RAW_FILEINFO_ALT_NAME_INFO failed - %s\n", nt_errstr(status));
@@ -205,7 +205,7 @@ static BOOL test_one_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
internal_info.generic.level = RAW_FILEINFO_INTERNAL_INFORMATION;
- internal_info.generic.in.fname = fname;
+ internal_info.generic.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &internal_info);
if (!NT_STATUS_IS_OK(status)) {
printf("RAW_FILEINFO_INTERNAL_INFORMATION failed - %s\n", nt_errstr(status));
@@ -214,7 +214,7 @@ static BOOL test_one_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
name_info.generic.level = RAW_FILEINFO_NAME_INFO;
- name_info.generic.in.fname = fname;
+ name_info.generic.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &name_info);
if (!NT_STATUS_IS_OK(status)) {
printf("RAW_FILEINFO_NAME_INFO failed - %s\n", nt_errstr(status));
@@ -1219,7 +1219,7 @@ static BOOL test_ea_list(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
smbcli_close(cli->tree, fnum);
setfile.generic.level = RAW_SFILEINFO_EA_SET;
- setfile.generic.file.fname = BASEDIR "\\file2.txt";
+ setfile.generic.file.path = BASEDIR "\\file2.txt";
setfile.ea_set.in.num_eas = 2;
setfile.ea_set.in.eas = talloc_array(mem_ctx, struct ea_struct, 2);
setfile.ea_set.in.eas[0].flags = 0;
@@ -1232,7 +1232,7 @@ static BOOL test_ea_list(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_setpathinfo(cli->tree, &setfile);
CHECK_STATUS(status, NT_STATUS_OK);
- setfile.generic.file.fname = BASEDIR "\\file3.txt";
+ setfile.generic.file.path = BASEDIR "\\file3.txt";
status = smb_raw_setpathinfo(cli->tree, &setfile);
CHECK_STATUS(status, NT_STATUS_OK);
diff --git a/source4/torture/raw/seek.c b/source4/torture/raw/seek.c
index b0993b67cc..affb4ebb34 100644
--- a/source4/torture/raw/seek.c
+++ b/source4/torture/raw/seek.c
@@ -47,7 +47,7 @@
*/
static BOOL test_seek(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
- struct smb_seek io;
+ union smb_seek io;
union smb_fileinfo finfo;
union smb_setfileinfo sfinfo;
NTSTATUS status;
@@ -68,72 +68,72 @@ static BOOL test_seek(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum;
+ finfo.position_information.file.fnum = fnum;
printf("Trying bad handle\n");
- io.in.fnum = fnum+1;
- io.in.mode = SEEK_MODE_START;
- io.in.offset = 0;
+ io.lseek.file.fnum = fnum+1;
+ io.lseek.in.mode = SEEK_MODE_START;
+ io.lseek.in.offset = 0;
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
printf("Trying simple seek\n");
- io.in.fnum = fnum;
- io.in.mode = SEEK_MODE_START;
- io.in.offset = 17;
+ io.lseek.file.fnum = fnum;
+ io.lseek.in.mode = SEEK_MODE_START;
+ io.lseek.in.offset = 17;
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VALUE(io.out.offset, 17);
+ CHECK_VALUE(io.lseek.out.offset, 17);
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 0);
printf("Trying relative seek\n");
- io.in.fnum = fnum;
- io.in.mode = SEEK_MODE_CURRENT;
- io.in.offset = -3;
+ io.lseek.file.fnum = fnum;
+ io.lseek.in.mode = SEEK_MODE_CURRENT;
+ io.lseek.in.offset = -3;
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VALUE(io.out.offset, 14);
+ CHECK_VALUE(io.lseek.out.offset, 14);
printf("Trying end seek\n");
- io.in.fnum = fnum;
- io.in.mode = SEEK_MODE_END;
- io.in.offset = 0;
+ io.lseek.file.fnum = fnum;
+ io.lseek.in.mode = SEEK_MODE_END;
+ io.lseek.in.offset = 0;
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
- finfo.all_info.in.fnum = fnum;
+ finfo.all_info.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VALUE(io.out.offset, finfo.all_info.out.size);
+ CHECK_VALUE(io.lseek.out.offset, finfo.all_info.out.size);
printf("Trying max seek\n");
- io.in.fnum = fnum;
- io.in.mode = SEEK_MODE_START;
- io.in.offset = -1;
+ io.lseek.file.fnum = fnum;
+ io.lseek.in.mode = SEEK_MODE_START;
+ io.lseek.in.offset = -1;
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VALUE(io.out.offset, 0xffffffff);
+ CHECK_VALUE(io.lseek.out.offset, 0xffffffff);
printf("Testing position information change\n");
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum;
+ finfo.position_information.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 0);
printf("Trying max overflow\n");
- io.in.fnum = fnum;
- io.in.mode = SEEK_MODE_CURRENT;
- io.in.offset = 1000;
+ io.lseek.file.fnum = fnum;
+ io.lseek.in.mode = SEEK_MODE_CURRENT;
+ io.lseek.in.offset = 1000;
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VALUE(io.out.offset, 999);
+ CHECK_VALUE(io.lseek.out.offset, 999);
printf("Testing position information change\n");
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum;
+ finfo.position_information.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 0);
@@ -148,17 +148,17 @@ static BOOL test_seek(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Testing position information change\n");
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum;
+ finfo.position_information.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 0);
- io.in.fnum = fnum;
- io.in.mode = SEEK_MODE_CURRENT;
- io.in.offset = 0;
+ io.lseek.file.fnum = fnum;
+ io.lseek.in.mode = SEEK_MODE_CURRENT;
+ io.lseek.in.offset = 0;
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VALUE(io.out.offset, 2);
+ CHECK_VALUE(io.lseek.out.offset, 2);
if (smbcli_read(cli->tree, fnum, c, 0, 1) != 1) {
printf("Read failed - %s\n", smbcli_errstr(cli->tree));
@@ -168,14 +168,14 @@ static BOOL test_seek(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Testing position information change\n");
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum;
+ finfo.position_information.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 1);
status = smb_raw_seek(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- CHECK_VALUE(io.out.offset, 1);
+ CHECK_VALUE(io.lseek.out.offset, 1);
printf("Testing position information\n");
fnum2 = smbcli_open(cli->tree, fname, O_RDWR, DENY_NONE);
@@ -191,13 +191,13 @@ static BOOL test_seek(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_OK);
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum2;
+ finfo.position_information.file.fnum = fnum2;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 25);
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum;
+ finfo.position_information.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 1);
@@ -205,19 +205,19 @@ static BOOL test_seek(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("position_information via paths\n");
sfinfo.generic.level = RAW_SFILEINFO_POSITION_INFORMATION;
- sfinfo.position_information.file.fname = fname;
+ sfinfo.position_information.file.path = fname;
sfinfo.position_information.in.position = 32;
status = smb_raw_setpathinfo(cli->tree, &sfinfo);
CHECK_STATUS(status, NT_STATUS_OK);
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fnum = fnum2;
+ finfo.position_information.file.fnum = fnum2;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 25);
finfo.generic.level = RAW_FILEINFO_POSITION_INFORMATION;
- finfo.position_information.in.fname = fname;
+ finfo.position_information.file.path = fname;
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VALUE(finfo.position_information.out.position, 0);
diff --git a/source4/torture/raw/setfileinfo.c b/source4/torture/raw/setfileinfo.c
index 29521980be..d67825925b 100644
--- a/source4/torture/raw/setfileinfo.c
+++ b/source4/torture/raw/setfileinfo.c
@@ -93,7 +93,7 @@ BOOL torture_raw_sfileinfo(void)
ret = False; \
} \
finfo1.generic.level = RAW_FILEINFO_ALL_INFO; \
- finfo1.generic.in.fnum = fnum; \
+ finfo1.generic.file.fnum = fnum; \
status2 = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo1); \
if (!NT_STATUS_IS_OK(status2)) { \
printf("(%s) %s pathinfo - %s\n", __location__, #call, nt_errstr(status)); \
@@ -104,10 +104,10 @@ BOOL torture_raw_sfileinfo(void)
check_fnum = False; \
call_name = #call; \
sfinfo.generic.level = RAW_SFILEINFO_ ## call; \
- sfinfo.generic.file.fname = path_fname; \
+ sfinfo.generic.file.path = path_fname; \
status = smb_raw_setpathinfo(cli->tree, &sfinfo); \
if (NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) { \
- sfinfo.generic.file.fname = path_fname_new; \
+ sfinfo.generic.file.path = path_fname_new; \
status = smb_raw_setpathinfo(cli->tree, &sfinfo); \
} \
if (!NT_STATUS_EQUAL(status, rightstatus)) { \
@@ -116,10 +116,10 @@ BOOL torture_raw_sfileinfo(void)
ret = False; \
} \
finfo1.generic.level = RAW_FILEINFO_ALL_INFO; \
- finfo1.generic.in.fname = path_fname; \
+ finfo1.generic.file.path = path_fname; \
status2 = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo1); \
if (NT_STATUS_EQUAL(status2, NT_STATUS_OBJECT_NAME_NOT_FOUND)) { \
- finfo1.generic.in.fname = path_fname_new; \
+ finfo1.generic.file.path = path_fname_new; \
status2 = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo1); \
} \
if (!NT_STATUS_IS_OK(status2)) { \
@@ -131,13 +131,13 @@ BOOL torture_raw_sfileinfo(void)
do { if (NT_STATUS_IS_OK(status)) { \
finfo2.generic.level = RAW_FILEINFO_ ## call; \
if (check_fnum) { \
- finfo2.generic.in.fnum = fnum; \
+ finfo2.generic.file.fnum = fnum; \
status2 = smb_raw_fileinfo(cli->tree, mem_ctx, &finfo2); \
} else { \
- finfo2.generic.in.fname = path_fname; \
+ finfo2.generic.file.path = path_fname; \
status2 = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo2); \
if (NT_STATUS_EQUAL(status2, NT_STATUS_OBJECT_NAME_NOT_FOUND)) { \
- finfo2.generic.in.fname = path_fname_new; \
+ finfo2.generic.file.path = path_fname_new; \
status2 = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo2); \
} \
} \
@@ -556,7 +556,7 @@ BOOL torture_raw_sfileinfo_bug(void)
smbcli_close(cli->tree, fnum);
sfinfo.generic.level = RAW_SFILEINFO_STANDARD;
- sfinfo.generic.file.fname = fname;
+ sfinfo.generic.file.path = fname;
sfinfo.standard.in.create_time = 0;
sfinfo.standard.in.access_time = 0;
diff --git a/source4/torture/raw/streams.c b/source4/torture/raw/streams.c
index 22b7d06cdd..798cc61171 100644
--- a/source4/torture/raw/streams.c
+++ b/source4/torture/raw/streams.c
@@ -128,7 +128,7 @@ static BOOL test_stream_io(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = sname1;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
ret &= check_stream(cli, mem_ctx, fname, "Stream One", NULL);
@@ -137,7 +137,7 @@ static BOOL test_stream_io(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = fname;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- smbcli_close(cli->tree, io.ntcreatex.out.fnum);
+ smbcli_close(cli->tree, io.ntcreatex.file.fnum);
printf("writing to stream\n");
retsize = smbcli_write(cli->tree, fnum, 0, "test data", 0, 9);
@@ -151,7 +151,7 @@ static BOOL test_stream_io(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.fname = sname1;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("modifying stream\n");
retsize = smbcli_write(cli->tree, fnum, 0, "MORE DATA ", 5, 10);
@@ -166,7 +166,7 @@ static BOOL test_stream_io(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN_IF;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
printf("modifying stream\n");
retsize = smbcli_write(cli->tree, fnum, 0, "SECOND STREAM", 0, 13);
@@ -194,7 +194,7 @@ static BOOL test_stream_io(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN;
status = smb_raw_open(cli->tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = io.ntcreatex.out.fnum;
+ fnum = io.ntcreatex.file.fnum;
smbcli_close(cli->tree, fnum);
status = smbcli_unlink(cli->tree, sname2);
diff --git a/source4/torture/raw/unlink.c b/source4/torture/raw/unlink.c
index 4c91ab58ba..398884043e 100644
--- a/source4/torture/raw/unlink.c
+++ b/source4/torture/raw/unlink.c
@@ -39,7 +39,7 @@
*/
static BOOL test_unlink(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
- struct smb_unlink io;
+ union smb_unlink io;
NTSTATUS status;
BOOL ret = True;
const char *fname = BASEDIR "\\test.txt";
@@ -49,15 +49,15 @@ static BOOL test_unlink(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying non-existant file\n");
- io.in.pattern = fname;
- io.in.attrib = 0;
+ io.unlink.in.pattern = fname;
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
smbcli_close(cli->tree, smbcli_open(cli->tree, fname, O_RDWR|O_CREAT, DENY_NONE));
- io.in.pattern = fname;
- io.in.attrib = 0;
+ io.unlink.in.pattern = fname;
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -65,94 +65,94 @@ static BOOL test_unlink(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
smbcli_close(cli->tree, smbcli_open(cli->tree, fname, O_RDWR|O_CREAT, DENY_NONE));
torture_set_file_attribute(cli->tree, fname, FILE_ATTRIBUTE_HIDDEN);
- io.in.pattern = fname;
- io.in.attrib = 0;
+ io.unlink.in.pattern = fname;
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
- io.in.pattern = fname;
- io.in.attrib = FILE_ATTRIBUTE_HIDDEN;
+ io.unlink.in.pattern = fname;
+ io.unlink.in.attrib = FILE_ATTRIBUTE_HIDDEN;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
- io.in.pattern = fname;
- io.in.attrib = FILE_ATTRIBUTE_HIDDEN;
+ io.unlink.in.pattern = fname;
+ io.unlink.in.attrib = FILE_ATTRIBUTE_HIDDEN;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
printf("Trying a directory\n");
- io.in.pattern = BASEDIR;
- io.in.attrib = 0;
+ io.unlink.in.pattern = BASEDIR;
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_FILE_IS_A_DIRECTORY);
- io.in.pattern = BASEDIR;
- io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+ io.unlink.in.pattern = BASEDIR;
+ io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_FILE_IS_A_DIRECTORY);
printf("Trying a bad path\n");
- io.in.pattern = "..";
- io.in.attrib = 0;
+ io.unlink.in.pattern = "..";
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_PATH_SYNTAX_BAD);
- io.in.pattern = "\\..";
- io.in.attrib = 0;
+ io.unlink.in.pattern = "\\..";
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_PATH_SYNTAX_BAD);
- io.in.pattern = BASEDIR "\\..\\..";
- io.in.attrib = 0;
+ io.unlink.in.pattern = BASEDIR "\\..\\..";
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_PATH_SYNTAX_BAD);
- io.in.pattern = BASEDIR "\\..";
- io.in.attrib = 0;
+ io.unlink.in.pattern = BASEDIR "\\..";
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_FILE_IS_A_DIRECTORY);
printf("Trying wildcards\n");
smbcli_close(cli->tree, smbcli_open(cli->tree, fname, O_RDWR|O_CREAT, DENY_NONE));
- io.in.pattern = BASEDIR "\\t*.t";
- io.in.attrib = 0;
+ io.unlink.in.pattern = BASEDIR "\\t*.t";
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
- io.in.pattern = BASEDIR "\\z*";
- io.in.attrib = 0;
+ io.unlink.in.pattern = BASEDIR "\\z*";
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
- io.in.pattern = BASEDIR "\\z*";
- io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+ io.unlink.in.pattern = BASEDIR "\\z*";
+ io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
- io.in.pattern = BASEDIR "\\*";
- io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+ io.unlink.in.pattern = BASEDIR "\\*";
+ io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
- io.in.pattern = BASEDIR "\\?";
- io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+ io.unlink.in.pattern = BASEDIR "\\?";
+ io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_INVALID);
- io.in.pattern = BASEDIR "\\t*";
- io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+ io.unlink.in.pattern = BASEDIR "\\t*";
+ io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
smbcli_close(cli->tree, smbcli_open(cli->tree, fname, O_RDWR|O_CREAT, DENY_NONE));
- io.in.pattern = BASEDIR "\\*.dat";
- io.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
+ io.unlink.in.pattern = BASEDIR "\\*.dat";
+ io.unlink.in.attrib = FILE_ATTRIBUTE_DIRECTORY;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_NO_SUCH_FILE);
- io.in.pattern = BASEDIR "\\*.tx?";
- io.in.attrib = 0;
+ io.unlink.in.pattern = BASEDIR "\\*.tx?";
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -173,7 +173,7 @@ done:
static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
{
union smb_open op;
- struct smb_unlink io;
+ union smb_unlink io;
struct smb_rmdir dio;
NTSTATUS status;
BOOL ret = True;
@@ -189,8 +189,8 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
dio.in.path = dname;
- io.in.pattern = fname;
- io.in.attrib = 0;
+ io.unlink.in.pattern = fname;
+ io.unlink.in.attrib = 0;
status = smb_raw_unlink(cli->tree, &io);
CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
@@ -303,7 +303,7 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &op);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = op.ntcreatex.out.fnum;
+ fnum = op.ntcreatex.file.fnum;
smbcli_close(cli->tree, fnum);
@@ -335,7 +335,7 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &op);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = op.ntcreatex.out.fnum;
+ fnum2 = op.ntcreatex.file.fnum;
smbcli_close(cli->tree, fnum2);
@@ -370,13 +370,13 @@ static BOOL test_delete_on_close(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
status = smb_raw_open(cli->tree, mem_ctx, &op);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum = op.ntcreatex.out.fnum;
+ fnum = op.ntcreatex.file.fnum;
/* open without delete on close */
op.ntcreatex.in.create_options = NTCREATEX_OPTIONS_DIRECTORY;
status = smb_raw_open(cli->tree, mem_ctx, &op);
CHECK_STATUS(status, NT_STATUS_OK);
- fnum2 = op.ntcreatex.out.fnum;
+ fnum2 = op.ntcreatex.file.fnum;
/* close 2nd file handle */
smbcli_close(cli->tree, fnum2);
diff --git a/source4/torture/raw/write.c b/source4/torture/raw/write.c
index 4209d66892..e9a391a7dc 100644
--- a/source4/torture/raw/write.c
+++ b/source4/torture/raw/write.c
@@ -50,7 +50,7 @@
#define CHECK_ALL_INFO(v, field) do { \
finfo.all_info.level = RAW_FILEINFO_ALL_INFO; \
- finfo.all_info.in.fname = fname; \
+ finfo.all_info.file.path = fname; \
status = smb_raw_pathinfo(cli->tree, mem_ctx, &finfo); \
CHECK_STATUS(status, NT_STATUS_OK); \
if ((v) != finfo.all_info.out.field) { \
@@ -124,7 +124,7 @@ static BOOL test_write(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying zero write\n");
- io.write.in.fnum = fnum;
+ io.write.file.fnum = fnum;
io.write.in.count = 0;
io.write.in.offset = 0;
io.write.in.remaining = 0;
@@ -171,7 +171,7 @@ static BOOL test_write(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_BUFFER(buf, seed, 4000);
printf("Trying bad fnum\n");
- io.write.in.fnum = fnum+1;
+ io.write.file.fnum = fnum+1;
io.write.in.count = 4000;
io.write.in.offset = 0;
io.write.in.data = buf;
@@ -184,7 +184,7 @@ static BOOL test_write(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 2^32 offset\n");
setup_buffer(buf, seed, maxsize);
- io.write.in.fnum = fnum;
+ io.write.file.fnum = fnum;
io.write.in.count = 4000;
io.write.in.offset = 0xFFFFFFFF - 2000;
io.write.in.data = buf;
@@ -241,7 +241,7 @@ static BOOL test_writex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying zero write\n");
- io.writex.in.fnum = fnum;
+ io.writex.file.fnum = fnum;
io.writex.in.offset = 0;
io.writex.in.wmode = 0;
io.writex.in.remaining = 0;
@@ -289,7 +289,7 @@ static BOOL test_writex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_BUFFER(buf, seed, 4000);
printf("Trying bad fnum\n");
- io.writex.in.fnum = fnum+1;
+ io.writex.file.fnum = fnum+1;
io.writex.in.count = 4000;
io.writex.in.offset = 0;
io.writex.in.data = buf;
@@ -297,7 +297,7 @@ static BOOL test_writex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
printf("Testing wmode\n");
- io.writex.in.fnum = fnum;
+ io.writex.file.fnum = fnum;
io.writex.in.count = 1;
io.writex.in.offset = 0;
io.writex.in.wmode = 1;
@@ -332,7 +332,7 @@ static BOOL test_writex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 2^32 offset\n");
setup_buffer(buf, seed, maxsize);
- io.writex.in.fnum = fnum;
+ io.writex.file.fnum = fnum;
io.writex.in.count = 4000;
io.writex.in.offset = 0xFFFFFFFF - 2000;
io.writex.in.data = buf;
@@ -352,7 +352,7 @@ static BOOL test_writex(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
for (i=33;i<64;i++) {
printf("Trying 2^%d offset\n", i);
setup_buffer(buf, seed+1, maxsize);
- io.writex.in.fnum = fnum;
+ io.writex.file.fnum = fnum;
io.writex.in.count = 4000;
io.writex.in.offset = ((uint64_t)1) << i;
io.writex.in.data = buf;
@@ -417,7 +417,7 @@ static BOOL test_writeunlock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying zero write\n");
- io.writeunlock.in.fnum = fnum;
+ io.writeunlock.file.fnum = fnum;
io.writeunlock.in.count = 0;
io.writeunlock.in.offset = 0;
io.writeunlock.in.remaining = 0;
@@ -482,7 +482,7 @@ static BOOL test_writeunlock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_BUFFER(buf, seed, 4000);
printf("Trying bad fnum\n");
- io.writeunlock.in.fnum = fnum+1;
+ io.writeunlock.file.fnum = fnum+1;
io.writeunlock.in.count = 4000;
io.writeunlock.in.offset = 0;
io.writeunlock.in.data = buf;
@@ -495,7 +495,7 @@ static BOOL test_writeunlock(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 2^32 offset\n");
setup_buffer(buf, seed, maxsize);
- io.writeunlock.in.fnum = fnum;
+ io.writeunlock.file.fnum = fnum;
io.writeunlock.in.count = 4000;
io.writeunlock.in.offset = 0xFFFFFFFF - 2000;
io.writeunlock.in.data = buf;
@@ -554,7 +554,7 @@ static BOOL test_writeclose(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
}
printf("Trying zero write\n");
- io.writeclose.in.fnum = fnum;
+ io.writeclose.file.fnum = fnum;
io.writeclose.in.count = 0;
io.writeclose.in.offset = 0;
io.writeclose.in.mtime = 0;
@@ -580,7 +580,7 @@ static BOOL test_writeclose(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
fnum = smbcli_open(cli->tree, fname, O_RDWR, DENY_NONE);
- io.writeclose.in.fnum = fnum;
+ io.writeclose.file.fnum = fnum;
if (smbcli_read(cli->tree, fnum, buf, 0, 13) != 13) {
printf("read failed at %s\n", __location__);
@@ -596,7 +596,7 @@ static BOOL test_writeclose(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_VALUE(io.writeclose.out.nwritten, io.writeclose.in.count);
fnum = smbcli_open(cli->tree, fname, O_RDWR, DENY_NONE);
- io.writeclose.in.fnum = fnum;
+ io.writeclose.file.fnum = fnum;
memset(buf, 0, maxsize);
if (smbcli_read(cli->tree, fnum, buf, 0, 13) != 13) {
@@ -621,7 +621,7 @@ static BOOL test_writeclose(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_STATUS(status, NT_STATUS_INVALID_HANDLE);
fnum = smbcli_open(cli->tree, fname, O_RDWR, DENY_NONE);
- io.writeclose.in.fnum = fnum;
+ io.writeclose.file.fnum = fnum;
memset(buf, 0, maxsize);
if (smbcli_read(cli->tree, fnum, buf, 0, 4000) != 4000) {
@@ -632,7 +632,7 @@ static BOOL test_writeclose(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_BUFFER(buf, seed, 4000);
printf("Trying bad fnum\n");
- io.writeclose.in.fnum = fnum+1;
+ io.writeclose.file.fnum = fnum+1;
io.writeclose.in.count = 4000;
io.writeclose.in.offset = 0;
io.writeclose.in.data = buf;
@@ -645,7 +645,7 @@ static BOOL test_writeclose(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
printf("Trying 2^32 offset\n");
setup_buffer(buf, seed, maxsize);
- io.writeclose.in.fnum = fnum;
+ io.writeclose.file.fnum = fnum;
io.writeclose.in.count = 4000;
io.writeclose.in.offset = 0xFFFFFFFF - 2000;
io.writeclose.in.data = buf;
@@ -655,7 +655,7 @@ static BOOL test_writeclose(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
CHECK_ALL_INFO(io.writeclose.in.count + (uint64_t)io.writeclose.in.offset, size);
fnum = smbcli_open(cli->tree, fname, O_RDWR, DENY_NONE);
- io.writeclose.in.fnum = fnum;
+ io.writeclose.file.fnum = fnum;
memset(buf, 0, maxsize);
if (smbcli_read(cli->tree, fnum, buf, io.writeclose.in.offset, 4000) != 4000) {
diff --git a/source4/torture/smb2/find.c b/source4/torture/smb2/find.c
index 07c3f865e2..2e1c9f8814 100644
--- a/source4/torture/smb2/find.c
+++ b/source4/torture/smb2/find.c
@@ -100,7 +100,7 @@ static BOOL torture_smb2_find_levels(struct smb2_tree *tree)
}
io.generic.level = RAW_FILEINFO_ALT_NAME_INFORMATION;
- io.generic.in.handle = handle;
+ io.generic.file.handle = handle;
status = smb2_getinfo_file(tree, tree, &io);
if (!NT_STATUS_IS_OK(status)) {
return False;
@@ -108,7 +108,7 @@ static BOOL torture_smb2_find_levels(struct smb2_tree *tree)
alt_name = talloc_strdup(tree, io.alt_name_info.out.fname.s);
io.generic.level = RAW_FILEINFO_SMB2_ALL_INFORMATION;
- io.generic.in.handle = handle;
+ io.generic.file.handle = handle;
status = smb2_getinfo_file(tree, tree, &io);
if (!NT_STATUS_IS_OK(status)) {
return False;
diff --git a/source4/torture/smb2/getinfo.c b/source4/torture/smb2/getinfo.c
index 2e3d2f2fac..450c51be76 100644
--- a/source4/torture/smb2/getinfo.c
+++ b/source4/torture/smb2/getinfo.c
@@ -99,23 +99,23 @@ static BOOL torture_smb2_fileinfo(struct smb2_tree *tree)
for (i=0;i<ARRAY_SIZE(file_levels);i++) {
if (file_levels[i].level == RAW_FILEINFO_SEC_DESC) {
- file_levels[i].finfo.query_secdesc.secinfo_flags = 0x7;
- file_levels[i].dinfo.query_secdesc.secinfo_flags = 0x7;
+ file_levels[i].finfo.query_secdesc.in.secinfo_flags = 0x7;
+ file_levels[i].dinfo.query_secdesc.in.secinfo_flags = 0x7;
}
if (file_levels[i].level == RAW_FILEINFO_SMB2_ALL_EAS) {
- file_levels[i].finfo.all_eas.continue_flags =
+ file_levels[i].finfo.all_eas.in.continue_flags =
SMB2_CONTINUE_FLAG_RESTART;
- file_levels[i].dinfo.all_eas.continue_flags =
+ file_levels[i].dinfo.all_eas.in.continue_flags =
SMB2_CONTINUE_FLAG_RESTART;
}
file_levels[i].finfo.generic.level = file_levels[i].level;
- file_levels[i].finfo.generic.in.handle = hfile;
+ file_levels[i].finfo.generic.file.handle = hfile;
file_levels[i].fstatus = smb2_getinfo_file(tree, tree, &file_levels[i].finfo);
if (!NT_STATUS_IS_OK(file_levels[i].fstatus)) {
printf("%s failed on file - %s\n", file_levels[i].name, nt_errstr(file_levels[i].fstatus));
}
file_levels[i].dinfo.generic.level = file_levels[i].level;
- file_levels[i].dinfo.generic.in.handle = hdir;
+ file_levels[i].dinfo.generic.file.handle = hdir;
file_levels[i].dstatus = smb2_getinfo_file(tree, tree, &file_levels[i].dinfo);
if (!NT_STATUS_IS_OK(file_levels[i].dstatus)) {
printf("%s failed on dir - %s\n", file_levels[i].name, nt_errstr(file_levels[i].dstatus));
diff --git a/source4/torture/smb2/setinfo.c b/source4/torture/smb2/setinfo.c
index 562493b047..bf8c8dad01 100644
--- a/source4/torture/smb2/setinfo.c
+++ b/source4/torture/smb2/setinfo.c
@@ -88,7 +88,7 @@ BOOL torture_smb2_setinfo(void)
#define CHECK1(call) \
do { if (NT_STATUS_IS_OK(status)) { \
finfo2.generic.level = RAW_FILEINFO_ ## call; \
- finfo2.generic.in.handle = handle; \
+ finfo2.generic.file.handle = handle; \
status2 = smb2_getinfo_file(tree, mem_ctx, &finfo2); \
if (!NT_STATUS_IS_OK(status2)) { \
printf("%s - %s\n", #call, nt_errstr(status2)); \
diff --git a/source4/torture/smb2/util.c b/source4/torture/smb2/util.c
index 953ef448d9..9be9b07c5b 100644
--- a/source4/torture/smb2/util.c
+++ b/source4/torture/smb2/util.c
@@ -159,7 +159,7 @@ static NTSTATUS smb2_create_complex(struct smb2_tree *tree, const char *fname,
/* make sure all the timestamps aren't the same */
fileinfo.generic.level = RAW_FILEINFO_BASIC_INFORMATION;
- fileinfo.generic.in.handle = *handle;
+ fileinfo.generic.file.handle = *handle;
status = smb2_getinfo_file(tree, tree, &fileinfo);
if (!NT_STATUS_IS_OK(status)) {
@@ -207,7 +207,7 @@ void torture_smb2_all_info(struct smb2_tree *tree, struct smb2_handle handle)
union smb_fileinfo io;
io.generic.level = RAW_FILEINFO_SMB2_ALL_INFORMATION;
- io.generic.in.handle = handle;
+ io.generic.file.handle = handle;
status = smb2_getinfo_file(tree, tmp_ctx, &io);
if (!NT_STATUS_IS_OK(status)) {
@@ -272,7 +272,7 @@ void torture_smb2_all_info(struct smb2_tree *tree, struct smb2_handle handle)
if (DEBUGLVL(1)) {
/* the security descriptor */
io.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
- io.query_secdesc.secinfo_flags =
+ io.query_secdesc.in.secinfo_flags =
SECINFO_OWNER|SECINFO_GROUP|
SECINFO_DACL;
status = smb2_getinfo_file(tree, tmp_ctx, &io);
diff --git a/source4/torture/torture.c b/source4/torture/torture.c
index 9955c9e958..9598e1ea2e 100644
--- a/source4/torture/torture.c
+++ b/source4/torture/torture.c
@@ -1922,7 +1922,7 @@ BOOL torture_ioctl_test(void)
}
parms.ioctl.level = RAW_IOCTL_IOCTL;
- parms.ioctl.in.fnum = fnum;
+ parms.ioctl.file.fnum = fnum;
parms.ioctl.in.request = IOCTL_QUERY_JOB_INFO;
status = smb_raw_ioctl(cli->tree, mem_ctx, &parms);
printf("ioctl job info: %s\n", smbcli_errstr(cli->tree));
diff --git a/source4/torture/torture_util.c b/source4/torture/torture_util.c
index fefbfcf568..bf227f4e9f 100644
--- a/source4/torture/torture_util.c
+++ b/source4/torture/torture_util.c
@@ -67,7 +67,7 @@ NTSTATUS create_directory_handle(struct smbcli_tree *tree, const char *dname, in
talloc_free(mem_ctx);
if (NT_STATUS_IS_OK(status)) {
- *fnum = io.ntcreatex.out.fnum;
+ *fnum = io.ntcreatex.file.fnum;
}
return status;
@@ -134,7 +134,7 @@ int create_complex_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx, const cha
/* make sure all the timestamps aren't the same */
fileinfo.generic.level = RAW_FILEINFO_GETATTRE;
- fileinfo.generic.in.fnum = fnum;
+ fileinfo.generic.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &fileinfo);
if (!NT_STATUS_IS_OK(status)) {
@@ -211,7 +211,7 @@ int create_complex_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx, const char
/* make sure all the timestamps aren't the same */
fileinfo.generic.level = RAW_FILEINFO_GETATTRE;
- fileinfo.generic.in.fnum = fnum;
+ fileinfo.generic.file.fnum = fnum;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &fileinfo);
if (!NT_STATUS_IS_OK(status)) {
@@ -337,7 +337,7 @@ void torture_all_info(struct smbcli_tree *tree, const char *fname)
NTSTATUS status;
finfo.generic.level = RAW_FILEINFO_ALL_INFO;
- finfo.generic.in.fname = fname;
+ finfo.generic.file.path = fname;
status = smb_raw_pathinfo(tree, mem_ctx, &finfo);
if (!NT_STATUS_IS_OK(status)) {
d_printf("%s - %s\n", fname, nt_errstr(status));
@@ -379,7 +379,7 @@ BOOL torture_set_file_attribute(struct smbcli_tree *tree, const char *fname, uin
NTSTATUS status;
sfinfo.generic.level = RAW_SFILEINFO_BASIC_INFORMATION;
- sfinfo.generic.file.fname = fname;
+ sfinfo.generic.file.path = fname;
ZERO_STRUCT(sfinfo.basic_info.in);
sfinfo.basic_info.in.attrib = attrib;
@@ -404,7 +404,7 @@ NTSTATUS torture_set_sparse(struct smbcli_tree *tree, int fnum)
nt.ntioctl.level = RAW_IOCTL_NTIOCTL;
nt.ntioctl.in.function = 0x900c4;
- nt.ntioctl.in.fnum = fnum;
+ nt.ntioctl.file.fnum = fnum;
nt.ntioctl.in.fsctl = True;
nt.ntioctl.in.filter = 0;
@@ -427,7 +427,7 @@ NTSTATUS torture_check_ea(struct smbcli_state *cli,
TALLOC_CTX *mem_ctx = talloc_new(cli);
info.ea_list.level = RAW_FILEINFO_EA_LIST;
- info.ea_list.file.fname = fname;
+ info.ea_list.file.path = fname;
info.ea_list.in.num_names = 1;
info.ea_list.in.ea_names = &ea;