aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/smbfsctl.h
diff options
context:
space:
mode:
authorRonnie Sahlberg <lsahlber@redhat.com>2019-04-10 22:20:17 -0400
committerSteve French <stfrench@microsoft.com>2019-05-08 00:24:55 -0400
commitefac779b1c69670ed1e5ab84123ccc2c14e082f0 (patch)
tree01dd40bc81dd1dcc88e01d8a42764cb77cb1dfea /fs/cifs/smbfsctl.h
parent0ae3fa4dc1fcb94b2e992b222dc47781b0414076 (diff)
cifs: Add support for FSCTL passthrough that write data to the server
Add support to pass a blob to the server in FSCTL passthrough. Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/smbfsctl.h')
-rw-r--r--fs/cifs/smbfsctl.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/fs/cifs/smbfsctl.h b/fs/cifs/smbfsctl.h
index f996daeea271..9b3459b9a5ce 100644
--- a/fs/cifs/smbfsctl.h
+++ b/fs/cifs/smbfsctl.h
@@ -35,6 +35,33 @@
35 * below). Additional detail on less common ones can be found in MS-FSCC 35 * below). Additional detail on less common ones can be found in MS-FSCC
36 * section 2.3. 36 * section 2.3.
37 */ 37 */
38
39/*
40 * FSCTL values are 32 bits and are constructed as
41 * <device 16bits> <access 2bits> <function 12bits> <method 2bits>
42 */
43/* Device */
44#define FSCTL_DEVICE_DFS (0x0006 << 16)
45#define FSCTL_DEVICE_FILE_SYSTEM (0x0009 << 16)
46#define FSCTL_DEVICE_NAMED_PIPE (0x0011 << 16)
47#define FSCTL_DEVICE_NETWORK_FILE_SYSTEM (0x0014 << 16)
48#define FSCTL_DEVICE_MASK 0xffff0000
49/* Access */
50#define FSCTL_DEVICE_ACCESS_FILE_ANY_ACCESS (0x00 << 14)
51#define FSCTL_DEVICE_ACCESS_FILE_READ_ACCESS (0x01 << 14)
52#define FSCTL_DEVICE_ACCESS_FILE_WRITE_ACCESS (0x02 << 14)
53#define FSCTL_DEVICE_ACCESS_FILE_READ_WRITE_ACCESS (0x03 << 14)
54#define FSCTL_DEVICE_ACCESS_MASK 0x0000c000
55/* Function */
56#define FSCTL_DEVICE_FUNCTION_MASK 0x00003ffc
57/* Method */
58#define FSCTL_DEVICE_METHOD_BUFFERED 0x00
59#define FSCTL_DEVICE_METHOD_IN_DIRECT 0x01
60#define FSCTL_DEVICE_METHOD_OUT_DIRECT 0x02
61#define FSCTL_DEVICE_METHOD_NEITHER 0x03
62#define FSCTL_DEVICE_METHOD_MASK 0x00000003
63
64
38#define FSCTL_DFS_GET_REFERRALS 0x00060194 65#define FSCTL_DFS_GET_REFERRALS 0x00060194
39#define FSCTL_DFS_GET_REFERRALS_EX 0x000601B0 66#define FSCTL_DFS_GET_REFERRALS_EX 0x000601B0
40#define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000 67#define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000