summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/smbsrv/winioctl.h
diff options
context:
space:
mode:
authorGordon Ross <gwr@nexenta.com>2013-06-26 16:05:44 -0400
committerGordon Ross <gwr@nexenta.com>2015-11-06 12:22:30 -0500
commita90cf9f29973990687fa61de9f1f6ea22e924e40 (patch)
tree42f77e59c4470ef6d2ba3118ba6c75e43686c398 /usr/src/uts/common/smbsrv/winioctl.h
parentb24e356b384ccc80805e7150979de2373d44347c (diff)
downloadillumos-joyent-a90cf9f29973990687fa61de9f1f6ea22e924e40.tar.gz
6399 SMB2 support
Portions contributed by: Alek Pinchuk <alek@nexenta.com> Portions contributed by: Kevin Crowe <kevin.crowe@nexenta.com> Portions contributed by: Matt Barden <Matt.Barden@nexenta.com> Reviewed by: Alek Pinchuk <alek@nexenta.com> Reviewed by: Bayard Bell <bayard.bell@nexenta.com> Reviewed by: Dan Fields <dan.fields@nexenta.com> Reviewed by: Daniel Borek <daniel.borek@nexenta.com> Reviewed by: Gordon Ross <gordon.ross@nexenta.com> Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com> Reviewed by: Matt Barden <matt.barden@nexenta.com> Reviewed by: Yuri Pankov <Yuri.Pankov@nexenta.com> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/uts/common/smbsrv/winioctl.h')
-rw-r--r--usr/src/uts/common/smbsrv/winioctl.h73
1 files changed, 43 insertions, 30 deletions
diff --git a/usr/src/uts/common/smbsrv/winioctl.h b/usr/src/uts/common/smbsrv/winioctl.h
index 4564b3e8a3..bbde2e4a6f 100644
--- a/usr/src/uts/common/smbsrv/winioctl.h
+++ b/usr/src/uts/common/smbsrv/winioctl.h
@@ -21,6 +21,8 @@
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
*/
#ifndef _SMBSRV_WINIOCTL_H
#define _SMBSRV_WINIOCTL_H
@@ -392,25 +394,21 @@ extern "C" {
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 37, METHOD_NEITHER, FILE_ANY_ACCESS)
/* FILE_OBJECTID_BUFFER */
#define FSCTL_SET_OBJECT_ID \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_OBJECTID_BUFFER */
#define FSCTL_GET_OBJECT_ID \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_DELETE_OBJECT_ID \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* REPARSE_DATA_BUFFER, */
#define FSCTL_SET_REPARSE_POINT \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* REPARSE_DATA_BUFFER */
#define FSCTL_GET_REPARSE_POINT \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* REPARSE_DATA_BUFFER, */
#define FSCTL_DELETE_REPARSE_POINT \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* MFT_ENUM_DATA, */
#define FSCTL_ENUM_USN_DATA \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44, METHOD_NEITHER, FILE_READ_ACCESS)
@@ -421,8 +419,7 @@ extern "C" {
#define FSCTL_READ_USN_JOURNAL \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, FILE_READ_ACCESS)
#define FSCTL_SET_OBJECT_ID_EXTENDED \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_OBJECTID_BUFFER */
#define FSCTL_CREATE_OR_GET_OBJECT_ID \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS)
@@ -430,17 +427,15 @@ extern "C" {
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, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_ACCESS)
/* FILE_ALLOCATED_RANGE_BUFFER, FILE_ALLOCATED_RANGE_BUFFER */
#define FSCTL_QUERY_ALLOCATED_RANGES \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_ACCESS)
#define FSCTL_ENABLE_UPGRADE \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, \
- FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_ACCESS)
/* ENCRYPTION_BUFFER, */
#define FSCTL_SET_ENCRYPTION \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_BUFFERED, FILE_ANY_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_NEITHER, FILE_ANY_ACCESS)
#define FSCTL_ENCRYPTION_FSCTL_IO \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54, METHOD_NEITHER, FILE_ANY_ACCESS)
/* ENCRYPTED_DATA_INFO, */
@@ -454,10 +449,10 @@ extern "C" {
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_READ_ACCESS)
/* Read the Usn Record for a file */
#define FSCTL_READ_FILE_USN_DATA \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_READ_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_ANY_ACCESS)
/* Generate Close Usn Record */
#define FSCTL_WRITE_USN_CLOSE_RECORD \
- CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_READ_ACCESS)
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_ANY_ACCESS)
#define FSCTL_EXTEND_VOLUME \
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_SIS_COPYFILE \
@@ -465,8 +460,7 @@ extern "C" {
#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)
+ 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 \
@@ -475,6 +469,17 @@ extern "C" {
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)
+#define FSCTL_FILE_LEVEL_TRIM \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, FILE_WRITE_ACCESS)
+#define FSCTL_OFFLOAD_READ \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, FILE_READ_ACCESS)
+#define FSCTL_OFFLOAD_WRITE \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, FILE_WRITE_ACCESS)
+#define FSCTL_GET_INTEGRITY_INFORMATION \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_SET_INTEGRITY_INFORMATION \
+ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, \
+ FILE_READ_ACCESS | FILE_WRITE_ACCESS)
/* FILE_DEVICE_NETWORK_FILE_SYSTEM */
/* Read the snapshot info for Volume Shadow Copy Services */
@@ -485,12 +490,12 @@ extern "C" {
#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 \
+#define FSCTL_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 \
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_LMR_SET_LINK_TRACKING_INFORMATION \
CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3b, \
- METHOD_BUFFERED, FILE_ACCESS_ANY)
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
/* server-side data movement */
#define FSCTL_SRV_COPYCHUNK \
CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3c, \
@@ -507,23 +512,31 @@ extern "C" {
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 \
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_LMR_REQUEST_RESILIENCY \
CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x75, \
METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_QUERY_NETWORK_INTERFACE_INFO \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x7f, \
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_VALIDATE_NEGOTIATE_INFO \
+ CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x81, \
+ METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_DEVICE_DFS */
#define FSCTL_DFS_GET_REFERRALS \
- CTL_CODE(FILE_DEVICE_DFS, 0x65, METHOD_BUFFERED, FILE_ACCESS_ANY)
+ CTL_CODE(FILE_DEVICE_DFS, 0x65, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_DFS_GET_REFERRALS_EX \
+ CTL_CODE(FILE_DEVICE_DFS, 0x6c, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_DEVICE_NAMED_PIPE */
#define FSCTL_PIPE_PEEK \
- CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0x3, METHOD_BUFFERED, FILE_READ_ACCESS)
+ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS)
#define FSCTL_PIPE_TRANSCEIVE \
- CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0x5, \
- METHOD_NEITHER, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, \
+ FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define FSCTL_PIPE_WAIT \
- CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0x6, METHOD_BUFFERED, FILE_ANY_ACCESS)
+ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
#endif /* _FILESYSTEMFSCTL_ */