diff options
Diffstat (limited to 'fs/cifs/smbfsctl.h')
-rw-r--r-- | fs/cifs/smbfsctl.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/fs/cifs/smbfsctl.h b/fs/cifs/smbfsctl.h index 7056b891e087..d952ee48f4dc 100644 --- a/fs/cifs/smbfsctl.h +++ b/fs/cifs/smbfsctl.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * fs/cifs/smbfsctl.h: SMB, CIFS, SMB2 FSCTL definitions | 2 | * fs/cifs/smbfsctl.h: SMB, CIFS, SMB2 FSCTL definitions |
3 | * | 3 | * |
4 | * Copyright (c) International Business Machines Corp., 2002,2009 | 4 | * Copyright (c) International Business Machines Corp., 2002,2013 |
5 | * Author(s): Steve French (sfrench@us.ibm.com) | 5 | * Author(s): Steve French (sfrench@us.ibm.com) |
6 | * | 6 | * |
7 | * This library is free software; you can redistribute it and/or modify | 7 | * This library is free software; you can redistribute it and/or modify |
@@ -22,7 +22,7 @@ | |||
22 | /* IOCTL information */ | 22 | /* IOCTL information */ |
23 | /* | 23 | /* |
24 | * List of ioctl/fsctl function codes that are or could be useful in the | 24 | * List of ioctl/fsctl function codes that are or could be useful in the |
25 | * future to remote clients like cifs or SMB2 client. There is probably | 25 | * future to remote clients like cifs or SMB2/SMB3 client. This is probably |
26 | * a slightly larger set of fsctls that NTFS local filesystem could handle, | 26 | * a slightly larger set of fsctls that NTFS local filesystem could handle, |
27 | * including the seven below that we do not have struct definitions for. | 27 | * including the seven below that we do not have struct definitions for. |
28 | * Even with protocol definitions for most of these now available, we still | 28 | * Even with protocol definitions for most of these now available, we still |
@@ -30,7 +30,13 @@ | |||
30 | * remotely. Some of the following, such as the encryption/compression ones | 30 | * remotely. Some of the following, such as the encryption/compression ones |
31 | * could be invoked from tools via a specialized hook into the VFS rather | 31 | * could be invoked from tools via a specialized hook into the VFS rather |
32 | * than via the standard vfs entry points | 32 | * than via the standard vfs entry points |
33 | * | ||
34 | * See MS-SMB2 Section 2.2.31 (last checked June 2013, all of that list are | ||
35 | * below). Additional detail on less common ones can be found in MS-FSCC | ||
36 | * section 2.3. | ||
33 | */ | 37 | */ |
38 | #define FSCTL_DFS_GET_REFERRALS 0x00060194 | ||
39 | #define FSCTL_DFS_GET_REFERRALS_EX 0x000601B0 | ||
34 | #define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000 | 40 | #define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000 |
35 | #define FSCTL_REQUEST_OPLOCK_LEVEL_2 0x00090004 | 41 | #define FSCTL_REQUEST_OPLOCK_LEVEL_2 0x00090004 |
36 | #define FSCTL_REQUEST_BATCH_OPLOCK 0x00090008 | 42 | #define FSCTL_REQUEST_BATCH_OPLOCK 0x00090008 |
@@ -71,14 +77,31 @@ | |||
71 | #define FSCTL_SET_SHORT_NAME_BEHAVIOR 0x000901B4 /* BB add struct */ | 77 | #define FSCTL_SET_SHORT_NAME_BEHAVIOR 0x000901B4 /* BB add struct */ |
72 | #define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF /* BB add struct */ | 78 | #define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF /* BB add struct */ |
73 | #define FSCTL_SET_DEFECT_MANAGEMENT 0x00098134 /* BB add struct */ | 79 | #define FSCTL_SET_DEFECT_MANAGEMENT 0x00098134 /* BB add struct */ |
80 | #define FSCTL_FILE_LEVEL_TRIM 0x00098208 /* BB add struct */ | ||
74 | #define FSCTL_SIS_LINK_FILES 0x0009C104 | 81 | #define FSCTL_SIS_LINK_FILES 0x0009C104 |
75 | #define FSCTL_PIPE_PEEK 0x0011400C /* BB add struct */ | 82 | #define FSCTL_PIPE_PEEK 0x0011400C /* BB add struct */ |
76 | #define FSCTL_PIPE_TRANSCEIVE 0x0011C017 /* BB add struct */ | 83 | #define FSCTL_PIPE_TRANSCEIVE 0x0011C017 /* BB add struct */ |
77 | /* strange that the number for this op is not sequential with previous op */ | 84 | /* strange that the number for this op is not sequential with previous op */ |
78 | #define FSCTL_PIPE_WAIT 0x00110018 /* BB add struct */ | 85 | #define FSCTL_PIPE_WAIT 0x00110018 /* BB add struct */ |
86 | /* Enumerate previous versions of a file */ | ||
87 | #define FSCTL_SRV_ENUMERATE_SNAPSHOTS 0x00144064 | ||
88 | /* Retrieve an opaque file reference for server-side data movement ie copy */ | ||
89 | #define FSCTL_SRV_REQUEST_RESUME_KEY 0x00140078 | ||
90 | #define FSCTL_LMR_REQUEST_RESILIENCY 0x001401D4 /* BB add struct */ | ||
79 | #define FSCTL_LMR_GET_LINK_TRACK_INF 0x001400E8 /* BB add struct */ | 91 | #define FSCTL_LMR_GET_LINK_TRACK_INF 0x001400E8 /* BB add struct */ |
80 | #define FSCTL_LMR_SET_LINK_TRACK_INF 0x001400EC /* BB add struct */ | 92 | #define FSCTL_LMR_SET_LINK_TRACK_INF 0x001400EC /* BB add struct */ |
93 | #define FSCTL_VALIDATE_NEGOTIATE_INFO 0x00140204 /* BB add struct */ | ||
94 | /* Perform server-side data movement */ | ||
95 | #define FSCTL_SRV_COPYCHUNK 0x001440F2 | ||
96 | #define FSCTL_SRV_COPYCHUNK_WRITE 0x001480F2 | ||
97 | #define FSCTL_QUERY_NETWORK_INTERFACE_INFO 0x001401FC /* BB add struct */ | ||
98 | #define FSCTL_SRV_READ_HASH 0x001441BB /* BB add struct */ | ||
81 | 99 | ||
82 | #define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 | 100 | #define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 |
83 | #define IO_REPARSE_TAG_HSM 0xC0000004 | 101 | #define IO_REPARSE_TAG_HSM 0xC0000004 |
84 | #define IO_REPARSE_TAG_SIS 0x80000007 | 102 | #define IO_REPARSE_TAG_SIS 0x80000007 |
103 | |||
104 | /* fsctl flags */ | ||
105 | /* If Flags is set to this value, the request is an FSCTL not ioctl request */ | ||
106 | #define SMB2_0_IOCTL_IS_FSCTL 0x00000001 | ||
107 | |||