1 /* SPDX-License-Identifier: LGPL-2.1+ */ 1 2 /* 3 * fs/smb/server/smbfsctl.h: SMB, CIFS, SMB2 4 * 5 * Copyright (c) International Business Mach 6 * Author(s): Steve French (sfrench@us.ibm.c 7 */ 8 9 /* IOCTL information */ 10 /* 11 * List of ioctl/fsctl function codes that are 12 * future to remote clients like cifs or SMB2 13 * a slightly larger set of fsctls that NTFS l 14 * including the seven below that we do not ha 15 * Even with protocol definitions for most of 16 * need to do some experimentation to identify 17 * remotely. Some of the following, such as t 18 * could be invoked from tools via a specializ 19 * than via the standard vfs entry points 20 */ 21 22 #ifndef __KSMBD_SMBFSCTL_H 23 #define __KSMBD_SMBFSCTL_H 24 25 #define FSCTL_DFS_GET_REFERRALS 0x0006019 26 #define FSCTL_DFS_GET_REFERRALS_EX 0x000601B 27 #define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x0009000 28 #define FSCTL_REQUEST_OPLOCK_LEVEL_2 0x0009000 29 #define FSCTL_REQUEST_BATCH_OPLOCK 0x0009000 30 #define FSCTL_LOCK_VOLUME 0x0009001 31 #define FSCTL_UNLOCK_VOLUME 0x0009001 32 #define FSCTL_IS_PATHNAME_VALID 0x0009002 33 #define FSCTL_GET_COMPRESSION 0x0009003 34 #define FSCTL_SET_COMPRESSION 0x0009C04 35 #define FSCTL_QUERY_FAT_BPB 0x0009005 36 /* Verify the next FSCTL number, we had it as 37 #define FSCTL_FILESYSTEM_GET_STATS 0x0009006 38 #define FSCTL_GET_NTFS_VOLUME_DATA 0x0009006 39 #define FSCTL_GET_RETRIEVAL_POINTERS 0x0009007 40 #define FSCTL_IS_VOLUME_DIRTY 0x0009007 41 #define FSCTL_ALLOW_EXTENDED_DASD_IO 0x0009008 42 #define FSCTL_REQUEST_FILTER_OPLOCK 0x0009008 43 #define FSCTL_FIND_FILES_BY_SID 0x0009008 44 #define FSCTL_SET_OBJECT_ID 0x0009009 45 #define FSCTL_GET_OBJECT_ID 0x0009009 46 #define FSCTL_DELETE_OBJECT_ID 0x000900A 47 #define FSCTL_SET_REPARSE_POINT 0x000900A 48 #define FSCTL_GET_REPARSE_POINT 0x000900A 49 #define FSCTL_DELETE_REPARSE_POINT 0x000900A 50 #define FSCTL_SET_OBJECT_ID_EXTENDED 0x000900B 51 #define FSCTL_CREATE_OR_GET_OBJECT_ID 0x000900 52 #define FSCTL_SET_SPARSE 0x000900C 53 #define FSCTL_SET_ZERO_DATA 0x000980C 54 #define FSCTL_SET_ENCRYPTION 0x000900D 55 #define FSCTL_ENCRYPTION_FSCTL_IO 0x000900D 56 #define FSCTL_WRITE_RAW_ENCRYPTED 0x000900D 57 #define FSCTL_READ_RAW_ENCRYPTED 0x000900E 58 #define FSCTL_READ_FILE_USN_DATA 0x000900E 59 #define FSCTL_WRITE_USN_CLOSE_RECORD 0x000900E 60 #define FSCTL_SIS_COPYFILE 0x0009010 61 #define FSCTL_RECALL_FILE 0x0009011 62 #define FSCTL_QUERY_SPARING_INFO 0x0009013 63 #define FSCTL_SET_ZERO_ON_DEALLOC 0x0009019 64 #define FSCTL_SET_SHORT_NAME_BEHAVIOR 0x000901 65 #define FSCTL_QUERY_ALLOCATED_RANGES 0x000940C 66 #define FSCTL_SET_DEFECT_MANAGEMENT 0x0009813 67 #define FSCTL_DUPLICATE_EXTENTS_TO_FILE 0x0009 68 #define FSCTL_SIS_LINK_FILES 0x0009C10 69 #define FSCTL_PIPE_PEEK 0x0011400 70 #define FSCTL_PIPE_TRANSCEIVE 0x0011C01 71 /* strange that the number for this op is not 72 #define FSCTL_PIPE_WAIT 0x0011001 73 #define FSCTL_REQUEST_RESUME_KEY 0x0014007 74 #define FSCTL_LMR_GET_LINK_TRACK_INF 0x001400E 75 #define FSCTL_LMR_SET_LINK_TRACK_INF 0x001400E 76 #define FSCTL_VALIDATE_NEGOTIATE_INFO 0x001402 77 #define FSCTL_QUERY_NETWORK_INTERFACE_INFO 0x0 78 #define FSCTL_COPYCHUNK 0x001440F 79 #define FSCTL_COPYCHUNK_WRITE 0x001480F 80 81 #define IO_REPARSE_TAG_MOUNT_POINT 0xA000000 82 #define IO_REPARSE_TAG_HSM 0xC000000 83 #define IO_REPARSE_TAG_SIS 0x8000000 84 85 /* WSL reparse tags */ 86 #define IO_REPARSE_TAG_LX_SYMLINK_LE cpu_to 87 #define IO_REPARSE_TAG_AF_UNIX_LE cpu_to 88 #define IO_REPARSE_TAG_LX_FIFO_LE cpu_to 89 #define IO_REPARSE_TAG_LX_CHR_LE cpu_to 90 #define IO_REPARSE_TAG_LX_BLK_LE cpu_to 91 #endif /* __KSMBD_SMBFSCTL_H */ 92
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.