summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/smbsrv/winioctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/smbsrv/winioctl.h')
-rw-r--r--usr/src/uts/common/smbsrv/winioctl.h72
1 files changed, 64 insertions, 8 deletions
diff --git a/usr/src/uts/common/smbsrv/winioctl.h b/usr/src/uts/common/smbsrv/winioctl.h
index 67150ca387..4564b3e8a3 100644
--- a/usr/src/uts/common/smbsrv/winioctl.h
+++ b/usr/src/uts/common/smbsrv/winioctl.h
@@ -305,10 +305,11 @@ extern "C" {
#define _FILESYSTEMFSCTL_
/*
* The following is a list of the native file system fsctls followed by
- * additional network file system fsctls. Some values have been
- * decommissioned.
+ * additional network file system fsctls, DFS fsctls and Named Pipe fsctls.
+ * Some values have been decommissioned.
*/
+/* FILE_DEVICE_FILE_SYSTEM */
#define FSCTL_REQUEST_OPLOCK_LEVEL_1 \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_REQUEST_OPLOCK_LEVEL_2 \
@@ -351,17 +352,14 @@ extern "C" {
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_INVALIDATE_VOLUMES \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
/* FSCTL_QUERY_FAT_BPB_BUFFER */
#define FSCTL_QUERY_FAT_BPB \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_REQUEST_FILTER_OPLOCK \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
/* FILESYSTEM_STATISTICS */
#define FSCTL_FILESYSTEM_GET_STATISTICS \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
/* NTFS_VOLUME_DATA_BUFFER */
#define FSCTL_GET_NTFS_VOLUME_DATA \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
@@ -429,8 +427,7 @@ extern "C" {
#define FSCTL_CREATE_OR_GET_OBJECT_ID \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_SET_SPARSE \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_ZERO_DATA_INFORMATION, */
#define FSCTL_SET_ZERO_DATA \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, \
@@ -463,11 +460,70 @@ extern "C" {
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_READ_ACCESS)
#define FSCTL_EXTEND_VOLUME \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
+#define FSCTL_SIS_COPYFILE \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_RECALL_FILE \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS)
+#define FSCTL_SET_DEFECT_MANAGEMENT \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 77, \
+ METHOD_BUFFERED, FILE_WRITE_ACCESS)
+#define FSCTL_QUERY_SPARING_INFO \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 78, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_QUERY_ON_DISK_VOLUME_INFO \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 79, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_SET_ZERO_ON_DEALLOCATION \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 101, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_SET_SHORT_NAME_BEHAVIOR \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 109, METHOD_BUFFERED, FILE_ANY_ACCESS)
+
+/* FILE_DEVICE_NETWORK_FILE_SYSTEM */
/* Read the snapshot info for Volume Shadow Copy Services */
#define FSCTL_SRV_ENUMERATE_SNAPSHOTS \
CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x19, \
METHOD_BUFFERED, FILE_READ_ACCESS)
+/* Retrieve an opaque file reference for server-side data movement */
+#define FSCTL_SRV_REQUEST_RESUME_KEY \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x1e, \
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_SRV_LMR_GET_LINK_TRACKING_INFORMATION \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3a, \
+ METHOD_BUFFERED, FILE_ACCESS_ANY)
+#define FSCTL_SRV_LMR_SET_LINK_TRACKING_INFORMATION \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3b, \
+ METHOD_BUFFERED, FILE_ACCESS_ANY)
+/* server-side data movement */
+#define FSCTL_SRV_COPYCHUNK \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3c, \
+ METHOD_OUT_DIRECT, FILE_READ_ACCESS)
+/* server-side data movement */
+#define FSCTL_SRV_COPYCHUNK_WRITE \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3c, \
+ METHOD_OUT_DIRECT, FILE_WRITE_ACCESS)
+#define FSCTL_SRV_NOTIFY_TRANSACTION \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x46, \
+ METHOD_BUFFERED, FILE_WRITE_ACCESS)
+#define FSCTL_SRV_READ_HASH \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x6e, \
+ METHOD_NEITHER, FILE_READ_ACCESS)
+#define FSCTL_SRV_UNKNOWN_x71 \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x71, \
+ METHOD_BUFFERED, FILE_ACCESS_ANY)
+#define FSCTL_SRV_LMR_REQUEST_RESILIENCY \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x75, \
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
+
+/* FILE_DEVICE_DFS */
+#define FSCTL_DFS_GET_REFERRALS \
+ CTL_CODE(FILE_DEVICE_DFS, 0x65, METHOD_BUFFERED, FILE_ACCESS_ANY)
+
+/* FILE_DEVICE_NAMED_PIPE */
+#define FSCTL_PIPE_PEEK \
+ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0x3, METHOD_BUFFERED, FILE_READ_ACCESS)
+#define FSCTL_PIPE_TRANSCEIVE \
+ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0x5, \
+ METHOD_NEITHER, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define FSCTL_PIPE_WAIT \
+ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0x6, METHOD_BUFFERED, FILE_ANY_ACCESS)
#endif /* _FILESYSTEMFSCTL_ */