diff options
author | Ronnie Sahlberg <lsahlber@redhat.com> | 2019-04-10 22:20:17 -0400 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2019-05-08 00:24:55 -0400 |
commit | efac779b1c69670ed1e5ab84123ccc2c14e082f0 (patch) | |
tree | 01dd40bc81dd1dcc88e01d8a42764cb77cb1dfea /fs/cifs/smbfsctl.h | |
parent | 0ae3fa4dc1fcb94b2e992b222dc47781b0414076 (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.h | 27 |
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 |