hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/fs/cifs/smbfsctl.h
....@@ -35,6 +35,33 @@
3535 * below). Additional detail on less common ones can be found in MS-FSCC
3636 * section 2.3.
3737 */
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
+
3865 #define FSCTL_DFS_GET_REFERRALS 0x00060194
3966 #define FSCTL_DFS_GET_REFERRALS_EX 0x000601B0
4067 #define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000
....@@ -76,7 +103,9 @@
76103 #define FSCTL_SET_ZERO_ON_DEALLOC 0x00090194 /* BB add struct */
77104 #define FSCTL_SET_SHORT_NAME_BEHAVIOR 0x000901B4 /* BB add struct */
78105 #define FSCTL_GET_INTEGRITY_INFORMATION 0x0009027C
79
-#define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF /* BB add struct */
106
+#define FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT 0x000903d3
107
+#define FSCTL_GET_RETRIEVAL_POINTER_COUNT 0x0009042b
108
+#define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF
80109 #define FSCTL_SET_DEFECT_MANAGEMENT 0x00098134 /* BB add struct */
81110 #define FSCTL_FILE_LEVEL_TRIM 0x00098208 /* BB add struct */
82111 #define FSCTL_DUPLICATE_EXTENTS_TO_FILE 0x00098344
....@@ -117,6 +146,17 @@
117146 #define IO_REPARSE_APPXSTREAM 0xC0000014
118147 /* NFS symlinks, Win 8/SMB3 and later */
119148 #define IO_REPARSE_TAG_NFS 0x80000014
149
+/*
150
+ * AzureFileSync - see
151
+ * https://docs.microsoft.com/en-us/azure/storage/files/storage-sync-cloud-tiering
152
+ */
153
+#define IO_REPARSE_TAG_AZ_FILE_SYNC 0x8000001e
154
+/* WSL reparse tags */
155
+#define IO_REPARSE_TAG_LX_SYMLINK 0xA000001D
156
+#define IO_REPARSE_TAG_AF_UNIX 0x80000023
157
+#define IO_REPARSE_TAG_LX_FIFO 0x80000024
158
+#define IO_REPARSE_TAG_LX_CHR 0x80000025
159
+#define IO_REPARSE_TAG_LX_BLK 0x80000026
120160
121161 /* fsctl flags */
122162 /* If Flags is set to this value, the request is an FSCTL not ioctl request */