Commit fc111fb9 authored by Steve French's avatar Steve French

cifs: update FSCTL definitions

Add some missing defines used by ksmbd to the client
version of smbfsctl.h, and add a missing newer define
mentioned in the protocol definitions (MS-FSCC).

This will also make it easier to move to common code.
Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 9c849ce8
/* SPDX-License-Identifier: LGPL-2.1 */ /* SPDX-License-Identifier: LGPL-2.1+ */
/* /*
* fs/cifs/smbfsctl.h: SMB, CIFS, SMB2 FSCTL definitions * fs/cifs/smbfsctl.h: SMB, CIFS, SMB2 FSCTL definitions
* *
...@@ -19,11 +19,14 @@ ...@@ -19,11 +19,14 @@
* could be invoked from tools via a specialized hook into the VFS rather * could be invoked from tools via a specialized hook into the VFS rather
* than via the standard vfs entry points * than via the standard vfs entry points
* *
* See MS-SMB2 Section 2.2.31 (last checked June 2013, all of that list are * See MS-SMB2 Section 2.2.31 (last checked September 2021, all of that list are
* below). Additional detail on less common ones can be found in MS-FSCC * below). Additional detail on less common ones can be found in MS-FSCC
* section 2.3. * section 2.3.
*/ */
#ifndef __SMBFSCTL_H
#define __SMBFSCTL_H
/* /*
* FSCTL values are 32 bits and are constructed as * FSCTL values are 32 bits and are constructed as
* <device 16bits> <access 2bits> <function 12bits> <method 2bits> * <device 16bits> <access 2bits> <function 12bits> <method 2bits>
...@@ -91,6 +94,7 @@ ...@@ -91,6 +94,7 @@
#define FSCTL_SET_ZERO_ON_DEALLOC 0x00090194 /* BB add struct */ #define FSCTL_SET_ZERO_ON_DEALLOC 0x00090194 /* BB add struct */
#define FSCTL_SET_SHORT_NAME_BEHAVIOR 0x000901B4 /* BB add struct */ #define FSCTL_SET_SHORT_NAME_BEHAVIOR 0x000901B4 /* BB add struct */
#define FSCTL_GET_INTEGRITY_INFORMATION 0x0009027C #define FSCTL_GET_INTEGRITY_INFORMATION 0x0009027C
#define FSCTL_GET_REFS_VOLUME_DATA 0x000902D8 /* See MS-FSCC 2.3.24 */
#define FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT 0x000903d3 #define FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT 0x000903d3
#define FSCTL_GET_RETRIEVAL_POINTER_COUNT 0x0009042b #define FSCTL_GET_RETRIEVAL_POINTER_COUNT 0x0009042b
#define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF #define FSCTL_QUERY_ALLOCATED_RANGES 0x000940CF
...@@ -146,7 +150,13 @@ ...@@ -146,7 +150,13 @@
#define IO_REPARSE_TAG_LX_CHR 0x80000025 #define IO_REPARSE_TAG_LX_CHR 0x80000025
#define IO_REPARSE_TAG_LX_BLK 0x80000026 #define IO_REPARSE_TAG_LX_BLK 0x80000026
#define IO_REPARSE_TAG_LX_SYMLINK_LE cpu_to_le32(0xA000001D)
#define IO_REPARSE_TAG_AF_UNIX_LE cpu_to_le32(0x80000023)
#define IO_REPARSE_TAG_LX_FIFO_LE cpu_to_le32(0x80000024)
#define IO_REPARSE_TAG_LX_CHR_LE cpu_to_le32(0x80000025)
#define IO_REPARSE_TAG_LX_BLK_LE cpu_to_le32(0x80000026)
/* fsctl flags */ /* fsctl flags */
/* If Flags is set to this value, the request is an FSCTL not ioctl request */ /* If Flags is set to this value, the request is an FSCTL not ioctl request */
#define SMB2_0_IOCTL_IS_FSCTL 0x00000001 #define SMB2_0_IOCTL_IS_FSCTL 0x00000001
#endif /* __SMBFSCTL_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment