From 281fc93c6bc21039ffedcc8d19084df02b087f24 Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Tue, 18 Oct 2011 11:47:05 +0200 Subject: [PATCH] libcli: move ioctl function field defs to smb_constants Currently there are a lot of duplicate ioctl function field definitions between source3 and source4. Signed-off-by: Stefan Metzmacher --- libcli/smb/smb_constants.h | 38 ++++++++++++++++++++ source4/libcli/raw/ioctl.h | 59 -------------------------------- source4/libcli/raw/rawshadow.c | 2 +- source4/librpc/rpc/dcerpc_smb2.c | 2 +- source4/ntvfs/ipc/vfs_ipc.c | 2 +- source4/ntvfs/posix/pvfs_ioctl.c | 2 +- source4/ntvfs/print/vfs_print.c | 2 +- source4/torture/basic/misc.c | 2 +- source4/torture/raw/ioctl.c | 2 +- source4/torture/util_smb.c | 2 +- 10 files changed, 46 insertions(+), 67 deletions(-) delete mode 100644 source4/libcli/raw/ioctl.h diff --git a/libcli/smb/smb_constants.h b/libcli/smb/smb_constants.h index 54898c9b4f5..0ee5685df3a 100644 --- a/libcli/smb/smb_constants.h +++ b/libcli/smb/smb_constants.h @@ -103,4 +103,42 @@ enum csc_policy { #define FILE_TYPE_COMM_DEVICE 4 #define FILE_TYPE_UNKNOWN 0xFFFF +/* ioctl codes */ +#define IOCTL_QUERY_JOB_INFO 0x530060 + +/* filesystem control codes */ +#define FSCTL_METHOD_BUFFERED 0x00000000 +#define FSCTL_METHOD_IN_DIRECT 0x00000001 +#define FSCTL_METHOD_OUT_DIRECT 0x00000002 +#define FSCTL_METHOD_NEITHER 0x00000003 + +#define FSCTL_ACCESS_ANY 0x00000000 +#define FSCTL_ACCESS_READ 0x00004000 +#define FSCTL_ACCESS_WRITE 0x00008000 + +#define FSCTL_FILESYSTEM 0x00090000 +#define FSCTL_REQUEST_OPLOCK_LEVEL_1 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0000 | FSCTL_METHOD_BUFFERED) +#define FSCTL_REQUEST_OPLOCK_LEVEL_2 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0004 | FSCTL_METHOD_BUFFERED) +#define FSCTL_REQUEST_BATCH_OPLOCK (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0008 | FSCTL_METHOD_BUFFERED) +#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x000C | FSCTL_METHOD_BUFFERED) +#define FSCTL_OPBATCH_ACK_CLOSE_PENDING (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0010 | FSCTL_METHOD_BUFFERED) +#define FSCTL_OPLOCK_BREAK_NOTIFY (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0014 | FSCTL_METHOD_BUFFERED) +#define FSCTL_FILESYS_GET_STATISTICS (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0060 | FSCTL_METHOD_BUFFERED) +#define FSCTL_GET_NTFS_VOLUME_DATA (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0064 | FSCTL_METHOD_BUFFERED) +#define FSCTL_FIND_FILES_BY_SID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x008C | FSCTL_METHOD_NEITHER) +#define FSCTL_SET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0098 | FSCTL_METHOD_BUFFERED) +#define FSCTL_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x009C | FSCTL_METHOD_BUFFERED) +#define FSCTL_DELETE_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A0 | FSCTL_METHOD_BUFFERED) +#define FSCTL_SET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A4 | FSCTL_METHOD_BUFFERED) +#define FSCTL_GET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A8 | FSCTL_METHOD_BUFFERED) +#define FSCTL_DELETE_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00AC | FSCTL_METHOD_BUFFERED) +#define FSCTL_CREATE_OR_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C0 | FSCTL_METHOD_BUFFERED) +#define FSCTL_SET_SPARSE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C4 | FSCTL_METHOD_BUFFERED) + +#define FSCTL_NAMED_PIPE 0x00110000 +#define FSCTL_NAMED_PIPE_READ_WRITE (FSCTL_NAMED_PIPE | FSCTL_ACCESS_ANY | 0xC014 | FSCTL_METHOD_NEITHER) + +#define FSCTL_NETWORK_FILESYSTEM 0x00140000 +#define FSCTL_GET_SHADOW_COPY_DATA (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_READ | 0x0064 | FSCTL_METHOD_BUFFERED) + #endif /* _SMB_CONSTANTS_H */ diff --git a/source4/libcli/raw/ioctl.h b/source4/libcli/raw/ioctl.h deleted file mode 100644 index a9d3d1b7a68..00000000000 --- a/source4/libcli/raw/ioctl.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - Unix SMB/CIFS implementation. - ioctl and fsctl definitions - - Copyright (C) Andrew Tridgell 2003 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - - -/* ioctl codes */ -#define IOCTL_QUERY_JOB_INFO 0x530060 - - -/* filesystem control codes */ -#define FSCTL_METHOD_BUFFERED 0x00000000 -#define FSCTL_METHOD_IN_DIRECT 0x00000001 -#define FSCTL_METHOD_OUT_DIRECT 0x00000002 -#define FSCTL_METHOD_NEITHER 0x00000003 - -#define FSCTL_ACCESS_ANY 0x00000000 -#define FSCTL_ACCESS_READ 0x00004000 -#define FSCTL_ACCESS_WRITE 0x00008000 - -#define FSCTL_FILESYSTEM 0x00090000 -#define FSCTL_REQUEST_OPLOCK_LEVEL_1 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0000 | FSCTL_METHOD_BUFFERED) -#define FSCTL_REQUEST_OPLOCK_LEVEL_2 (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0004 | FSCTL_METHOD_BUFFERED) -#define FSCTL_REQUEST_BATCH_OPLOCK (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0008 | FSCTL_METHOD_BUFFERED) -#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x000C | FSCTL_METHOD_BUFFERED) -#define FSCTL_OPBATCH_ACK_CLOSE_PENDING (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0010 | FSCTL_METHOD_BUFFERED) -#define FSCTL_OPLOCK_BREAK_NOTIFY (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0014 | FSCTL_METHOD_BUFFERED) -#define FSCTL_FILESYS_GET_STATISTICS (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0060 | FSCTL_METHOD_BUFFERED) -#define FSCTL_GET_NTFS_VOLUME_DATA (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0064 | FSCTL_METHOD_BUFFERED) -#define FSCTL_FIND_FILES_BY_SID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x008C | FSCTL_METHOD_NEITHER) -#define FSCTL_SET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0098 | FSCTL_METHOD_BUFFERED) -#define FSCTL_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x009C | FSCTL_METHOD_BUFFERED) -#define FSCTL_DELETE_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A0 | FSCTL_METHOD_BUFFERED) -#define FSCTL_SET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A4 | FSCTL_METHOD_BUFFERED) -#define FSCTL_GET_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00A8 | FSCTL_METHOD_BUFFERED) -#define FSCTL_DELETE_REPARSE_POINT (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00AC | FSCTL_METHOD_BUFFERED) -#define FSCTL_CREATE_OR_GET_OBJECT_ID (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C0 | FSCTL_METHOD_BUFFERED) -#define FSCTL_SET_SPARSE (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x00C4 | FSCTL_METHOD_BUFFERED) - -#define FSCTL_NAMED_PIPE 0x00110000 -#define FSCTL_NAMED_PIPE_READ_WRITE (FSCTL_NAMED_PIPE | FSCTL_ACCESS_ANY | 0xC014 | FSCTL_METHOD_NEITHER) - -#define FSCTL_NETWORK_FILESYSTEM 0x00140000 -#define FSCTL_GET_SHADOW_COPY_DATA (FSCTL_NETWORK_FILESYSTEM | FSCTL_ACCESS_READ | 0x0064 | FSCTL_METHOD_BUFFERED) diff --git a/source4/libcli/raw/rawshadow.c b/source4/libcli/raw/rawshadow.c index b318c3e0256..7e48f26f8a2 100644 --- a/source4/libcli/raw/rawshadow.c +++ b/source4/libcli/raw/rawshadow.c @@ -22,7 +22,7 @@ #include "includes.h" #include "libcli/raw/libcliraw.h" #include "libcli/raw/raw_proto.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" /* get shadow volume data diff --git a/source4/librpc/rpc/dcerpc_smb2.c b/source4/librpc/rpc/dcerpc_smb2.c index 59ee7a8fd8b..75fb423df4e 100644 --- a/source4/librpc/rpc/dcerpc_smb2.c +++ b/source4/librpc/rpc/dcerpc_smb2.c @@ -24,7 +24,7 @@ #include "libcli/composite/composite.h" #include "libcli/smb2/smb2.h" #include "libcli/smb2/smb2_calls.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" #include "librpc/rpc/dcerpc.h" #include "librpc/rpc/dcerpc_proto.h" #include "librpc/rpc/rpc_common.h" diff --git a/source4/ntvfs/ipc/vfs_ipc.c b/source4/ntvfs/ipc/vfs_ipc.c index fc9ff4fb12d..8097a67ab9e 100644 --- a/source4/ntvfs/ipc/vfs_ipc.c +++ b/source4/ntvfs/ipc/vfs_ipc.c @@ -29,7 +29,7 @@ #include "ntvfs/ntvfs.h" #include "../librpc/gen_ndr/rap.h" #include "ntvfs/ipc/proto.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" #include "param/param.h" #include "../lib/tsocket/tsocket.h" #include "../libcli/named_pipe_auth/npa_tstream.h" diff --git a/source4/ntvfs/posix/pvfs_ioctl.c b/source4/ntvfs/posix/pvfs_ioctl.c index f263e9852b6..1d5e8fdb1bb 100644 --- a/source4/ntvfs/posix/pvfs_ioctl.c +++ b/source4/ntvfs/posix/pvfs_ioctl.c @@ -21,7 +21,7 @@ #include "includes.h" #include "vfs_posix.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" /* old ioctl interface diff --git a/source4/ntvfs/print/vfs_print.c b/source4/ntvfs/print/vfs_print.c index 24804632fb8..6019e441325 100644 --- a/source4/ntvfs/print/vfs_print.c +++ b/source4/ntvfs/print/vfs_print.c @@ -22,7 +22,7 @@ */ #include "includes.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" #include "ntvfs/ntvfs.h" #include "param/param.h" diff --git a/source4/torture/basic/misc.c b/source4/torture/basic/misc.c index 0fa9a9e98f2..0515988c147 100644 --- a/source4/torture/basic/misc.c +++ b/source4/torture/basic/misc.c @@ -24,7 +24,7 @@ #include "system/time.h" #include "system/wait.h" #include "system/filesys.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" #include "libcli/libcli.h" #include "lib/events/events.h" #include "libcli/resolve/resolve.h" diff --git a/source4/torture/raw/ioctl.c b/source4/torture/raw/ioctl.c index 80a3db6294e..a062d0bd2a0 100644 --- a/source4/torture/raw/ioctl.c +++ b/source4/torture/raw/ioctl.c @@ -19,7 +19,7 @@ */ #include "includes.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" #include "libcli/raw/libcliraw.h" #include "libcli/raw/raw_proto.h" #include "libcli/libcli.h" diff --git a/source4/torture/util_smb.c b/source4/torture/util_smb.c index 7a480b6fed3..c9a4a0e1b2b 100644 --- a/source4/torture/util_smb.c +++ b/source4/torture/util_smb.c @@ -22,7 +22,7 @@ #include "lib/cmdline/popt_common.h" #include "libcli/raw/libcliraw.h" #include "libcli/raw/raw_proto.h" -#include "libcli/raw/ioctl.h" +#include "../libcli/smb/smb_constants.h" #include "libcli/libcli.h" #include "system/filesys.h" #include "system/shmem.h" -- 2.34.1