aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/smbfsctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/smbfsctl.h')
-rw-r--r--fs/cifs/smbfsctl.h27
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