1da6c28aaSamw /* 2da6c28aaSamw * CDDL HEADER START 3da6c28aaSamw * 4da6c28aaSamw * The contents of this file are subject to the terms of the 5da6c28aaSamw * Common Development and Distribution License (the "License"). 6da6c28aaSamw * You may not use this file except in compliance with the License. 7da6c28aaSamw * 8da6c28aaSamw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9da6c28aaSamw * or http://www.opensolaris.org/os/licensing. 10da6c28aaSamw * See the License for the specific language governing permissions 11da6c28aaSamw * and limitations under the License. 12da6c28aaSamw * 13da6c28aaSamw * When distributing Covered Code, include this CDDL HEADER in each 14da6c28aaSamw * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15da6c28aaSamw * If applicable, add the following below this CDDL HEADER, with the 16da6c28aaSamw * fields enclosed by brackets "[]" replaced with your own identifying 17da6c28aaSamw * information: Portions Copyright [yyyy] [name of copyright owner] 18da6c28aaSamw * 19da6c28aaSamw * CDDL HEADER END 20da6c28aaSamw */ 21da6c28aaSamw /* 2289dc44ceSjose borrego * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23da6c28aaSamw * Use is subject to license terms. 24*a90cf9f2SGordon Ross * 25*a90cf9f2SGordon Ross * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 26da6c28aaSamw */ 27da6c28aaSamw #ifndef _SMBSRV_WINIOCTL_H 28da6c28aaSamw #define _SMBSRV_WINIOCTL_H 29da6c28aaSamw 30da6c28aaSamw /* 31da6c28aaSamw * Standard Windows NT IOCTL/FSCTL definitions (derived from the VC++ 32da6c28aaSamw * include file of the same name). 33da6c28aaSamw */ 34da6c28aaSamw 35da6c28aaSamw #ifdef __cplusplus 36da6c28aaSamw extern "C" { 37da6c28aaSamw #endif 38da6c28aaSamw 39da6c28aaSamw #ifndef _DEVIOCTL_ 40da6c28aaSamw #define _DEVIOCTL_ 41da6c28aaSamw 42da6c28aaSamw /* 43da6c28aaSamw * begin_ntddk begin_wdm begin_nthal begin_ntifs 44da6c28aaSamw * 45da6c28aaSamw * Define the various device type values. Note that values used by Microsoft 46da6c28aaSamw * Corporation are in the range 0-32767, and 32768-65535 are reserved for use 47da6c28aaSamw * by customers. 48da6c28aaSamw */ 49da6c28aaSamw 50da6c28aaSamw #define DEVICE_TYPE DWORD 51da6c28aaSamw 52da6c28aaSamw #define FILE_DEVICE_BEEP 0x00000001 53da6c28aaSamw #define FILE_DEVICE_CD_ROM 0x00000002 54da6c28aaSamw #define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 55da6c28aaSamw #define FILE_DEVICE_CONTROLLER 0x00000004 56da6c28aaSamw #define FILE_DEVICE_DATALINK 0x00000005 57da6c28aaSamw #define FILE_DEVICE_DFS 0x00000006 58da6c28aaSamw #define FILE_DEVICE_DISK 0x00000007 59da6c28aaSamw #define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 60da6c28aaSamw #define FILE_DEVICE_FILE_SYSTEM 0x00000009 61da6c28aaSamw #define FILE_DEVICE_INPORT_PORT 0x0000000a 62da6c28aaSamw #define FILE_DEVICE_KEYBOARD 0x0000000b 63da6c28aaSamw #define FILE_DEVICE_MAILSLOT 0x0000000c 64da6c28aaSamw #define FILE_DEVICE_MIDI_IN 0x0000000d 65da6c28aaSamw #define FILE_DEVICE_MIDI_OUT 0x0000000e 66da6c28aaSamw #define FILE_DEVICE_MOUSE 0x0000000f 67da6c28aaSamw #define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 68da6c28aaSamw #define FILE_DEVICE_NAMED_PIPE 0x00000011 69da6c28aaSamw #define FILE_DEVICE_NETWORK 0x00000012 70da6c28aaSamw #define FILE_DEVICE_NETWORK_BROWSER 0x00000013 71da6c28aaSamw #define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 72da6c28aaSamw #define FILE_DEVICE_NULL 0x00000015 73da6c28aaSamw #define FILE_DEVICE_PARALLEL_PORT 0x00000016 74da6c28aaSamw #define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 75da6c28aaSamw #define FILE_DEVICE_PRINTER 0x00000018 76da6c28aaSamw #define FILE_DEVICE_SCANNER 0x00000019 77da6c28aaSamw #define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a 78da6c28aaSamw #define FILE_DEVICE_SERIAL_PORT 0x0000001b 79da6c28aaSamw #define FILE_DEVICE_SCREEN 0x0000001c 80da6c28aaSamw #define FILE_DEVICE_SOUND 0x0000001d 81da6c28aaSamw #define FILE_DEVICE_STREAMS 0x0000001e 82da6c28aaSamw #define FILE_DEVICE_TAPE 0x0000001f 83da6c28aaSamw #define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 84da6c28aaSamw #define FILE_DEVICE_TRANSPORT 0x00000021 85da6c28aaSamw #define FILE_DEVICE_UNKNOWN 0x00000022 86da6c28aaSamw #define FILE_DEVICE_VIDEO 0x00000023 87da6c28aaSamw #define FILE_DEVICE_VIRTUAL_DISK 0x00000024 88da6c28aaSamw #define FILE_DEVICE_WAVE_IN 0x00000025 89da6c28aaSamw #define FILE_DEVICE_WAVE_OUT 0x00000026 90da6c28aaSamw #define FILE_DEVICE_8042_PORT 0x00000027 91da6c28aaSamw #define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 92da6c28aaSamw #define FILE_DEVICE_BATTERY 0x00000029 93da6c28aaSamw #define FILE_DEVICE_BUS_EXTENDER 0x0000002a 94da6c28aaSamw #define FILE_DEVICE_MODEM 0x0000002b 95da6c28aaSamw #define FILE_DEVICE_VDM 0x0000002c 96da6c28aaSamw #define FILE_DEVICE_MASS_STORAGE 0x0000002d 97da6c28aaSamw #define FILE_DEVICE_SMB 0x0000002e 98da6c28aaSamw #define FILE_DEVICE_KS 0x0000002f 99da6c28aaSamw #define FILE_DEVICE_CHANGER 0x00000030 100da6c28aaSamw #define FILE_DEVICE_SMARTCARD 0x00000031 101da6c28aaSamw #define FILE_DEVICE_ACPI 0x00000032 102da6c28aaSamw #define FILE_DEVICE_DVD 0x00000033 103da6c28aaSamw #define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034 104da6c28aaSamw #define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035 105da6c28aaSamw #define FILE_DEVICE_DFS_VOLUME 0x00000036 106da6c28aaSamw 107da6c28aaSamw /* 108da6c28aaSamw * Macro definition for defining IOCTL and FSCTL function control codes. Note 109da6c28aaSamw * that function codes 0-2047 are reserved for Microsoft Corporation, and 110da6c28aaSamw * 2048-4095 are reserved for customers. 111da6c28aaSamw */ 112da6c28aaSamw 113da6c28aaSamw #define CTL_CODE(DeviceType, Function, Method, Access) \ 114da6c28aaSamw (((DeviceType) << 16) | ((Access) << 14) | \ 115da6c28aaSamw ((Function) << 2) | (Method)) 116da6c28aaSamw 117da6c28aaSamw /* 118da6c28aaSamw * Define the method codes for how buffers are passed for I/O and FS controls 119da6c28aaSamw */ 120da6c28aaSamw 121da6c28aaSamw #define METHOD_BUFFERED 0 122da6c28aaSamw #define METHOD_IN_DIRECT 1 123da6c28aaSamw #define METHOD_OUT_DIRECT 2 124da6c28aaSamw #define METHOD_NEITHER 3 125da6c28aaSamw 126da6c28aaSamw /* 127da6c28aaSamw * Define the access check value for any access 128da6c28aaSamw */ 129da6c28aaSamw 130da6c28aaSamw #define FILE_ANY_ACCESS 0 131da6c28aaSamw #define FILE_READ_ACCESS 0x0001 /* file & pipe */ 132da6c28aaSamw #define FILE_WRITE_ACCESS 0x0002 /* file & pipe */ 133da6c28aaSamw 134da6c28aaSamw /* end_ntddk end_wdm end_nthal end_ntifs */ 135da6c28aaSamw 136da6c28aaSamw #endif /* _DEVIOCTL_ */ 137da6c28aaSamw 138da6c28aaSamw 139da6c28aaSamw #ifndef _NTDDSTOR_H_ 140da6c28aaSamw #define _NTDDSTOR_H_ 141da6c28aaSamw 142da6c28aaSamw #ifdef __cplusplus 143da6c28aaSamw extern "C" { 144da6c28aaSamw #endif 145da6c28aaSamw 146da6c28aaSamw /* 147da6c28aaSamw * IoControlCode values for storage devices 148da6c28aaSamw */ 149da6c28aaSamw 150da6c28aaSamw #define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE 151da6c28aaSamw 152da6c28aaSamw /* 153da6c28aaSamw * The following device control codes are common for all class drivers. They 154da6c28aaSamw * should be used in place of the older IOCTL_DISK, IOCTL_CDROM and IOCTL_TAPE 155da6c28aaSamw * common codes 156da6c28aaSamw */ 157da6c28aaSamw 158da6c28aaSamw #define IOCTL_STORAGE_CHECK_VERIFY \ 159da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) 160da6c28aaSamw #define IOCTL_STORAGE_MEDIA_REMOVAL \ 161da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS) 162da6c28aaSamw #define IOCTL_STORAGE_EJECT_MEDIA \ 163da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS) 164da6c28aaSamw #define IOCTL_STORAGE_LOAD_MEDIA \ 165da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS) 166da6c28aaSamw #define IOCTL_STORAGE_RESERVE \ 167da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS) 168da6c28aaSamw #define IOCTL_STORAGE_RELEASE \ 169da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS) 170da6c28aaSamw #define IOCTL_STORAGE_FIND_NEW_DEVICES \ 171da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) 172da6c28aaSamw 173da6c28aaSamw #define IOCTL_STORAGE_GET_MEDIA_TYPES \ 174da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS) 175da6c28aaSamw #define IOCTL_STORAGE_GET_MEDIA_TYPES_EX \ 176da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS) 177da6c28aaSamw 178da6c28aaSamw #define IOCTL_STORAGE_RESET_BUS \ 179da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS) 180da6c28aaSamw #define IOCTL_STORAGE_RESET_DEVICE \ 181da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS) 182da6c28aaSamw 183da6c28aaSamw #define IOCTL_STORAGE_GET_DEVICE_NUMBER \ 184da6c28aaSamw CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS) 185da6c28aaSamw 186da6c28aaSamw 187da6c28aaSamw #ifdef __cplusplus 188da6c28aaSamw } 189da6c28aaSamw #endif 190da6c28aaSamw #endif /* _NTDDSTOR_H_ */ 191da6c28aaSamw 192da6c28aaSamw /* 193da6c28aaSamw * IoControlCode values for disk devices. 194da6c28aaSamw */ 195da6c28aaSamw 196da6c28aaSamw #define IOCTL_DISK_BASE FILE_DEVICE_DISK 197da6c28aaSamw #define IOCTL_DISK_GET_DRIVE_GEOMETRY \ 198da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS) 199da6c28aaSamw #define IOCTL_DISK_GET_PARTITION_INFO \ 200da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS) 201da6c28aaSamw #define IOCTL_DISK_SET_PARTITION_INFO \ 202da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0002, METHOD_BUFFERED, \ 203da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 204da6c28aaSamw #define IOCTL_DISK_GET_DRIVE_LAYOUT \ 205da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS) 206da6c28aaSamw #define IOCTL_DISK_SET_DRIVE_LAYOUT \ 207da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0004, METHOD_BUFFERED, \ 208da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 209da6c28aaSamw #define IOCTL_DISK_VERIFY \ 210da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, FILE_ANY_ACCESS) 211da6c28aaSamw #define IOCTL_DISK_FORMAT_TRACKS \ 212da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED, \ 213da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 214da6c28aaSamw #define IOCTL_DISK_REASSIGN_BLOCKS \ 215da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED, \ 216da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 217da6c28aaSamw #define IOCTL_DISK_PERFORMANCE \ 218da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS) 219da6c28aaSamw #define IOCTL_DISK_IS_WRITABLE \ 220da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, FILE_ANY_ACCESS) 221da6c28aaSamw #define IOCTL_DISK_LOGGING \ 222da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x000a, METHOD_BUFFERED, FILE_ANY_ACCESS) 223da6c28aaSamw #define IOCTL_DISK_FORMAT_TRACKS_EX \ 224da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x000b, METHOD_BUFFERED, \ 225da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 226da6c28aaSamw #define IOCTL_DISK_HISTOGRAM_STRUCTURE \ 227da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x000c, METHOD_BUFFERED, FILE_ANY_ACCESS) 228da6c28aaSamw #define IOCTL_DISK_HISTOGRAM_DATA \ 229da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x000d, METHOD_BUFFERED, FILE_ANY_ACCESS) 230da6c28aaSamw #define IOCTL_DISK_HISTOGRAM_RESET \ 231da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x000e, METHOD_BUFFERED, FILE_ANY_ACCESS) 232da6c28aaSamw #define IOCTL_DISK_REQUEST_STRUCTURE \ 233da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x000f, METHOD_BUFFERED, FILE_ANY_ACCESS) 234da6c28aaSamw #define IOCTL_DISK_REQUEST_DATA \ 235da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS) 236da6c28aaSamw #define IOCTL_DISK_CONTROLLER_NUMBER \ 237da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0011, METHOD_BUFFERED, FILE_ANY_ACCESS) 238da6c28aaSamw 239da6c28aaSamw /* 240da6c28aaSamw * IOCTL support for SMART drive fault prediction. 241da6c28aaSamw */ 242da6c28aaSamw 243da6c28aaSamw #define SMART_GET_VERSION \ 244da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS) 245da6c28aaSamw #define SMART_SEND_DRIVE_COMMAND \ 246da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED, \ 247da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 248da6c28aaSamw #define SMART_RCV_DRIVE_DATA \ 249da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, \ 250da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 251da6c28aaSamw 252da6c28aaSamw 253da6c28aaSamw /* 254da6c28aaSamw * The following device control codes are common for all class drivers. The 255da6c28aaSamw * functions codes defined here must match all of the other class drivers. 256da6c28aaSamw * 257da6c28aaSamw * Warning: these codes will be replaced in the future by equivalent 258da6c28aaSamw * IOCTL_STORAGE codes 259da6c28aaSamw */ 260da6c28aaSamw 261da6c28aaSamw #define IOCTL_DISK_CHECK_VERIFY \ 262da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) 263da6c28aaSamw #define IOCTL_DISK_MEDIA_REMOVAL \ 264da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS) 265da6c28aaSamw #define IOCTL_DISK_EJECT_MEDIA \ 266da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS) 267da6c28aaSamw #define IOCTL_DISK_LOAD_MEDIA \ 268da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS) 269da6c28aaSamw #define IOCTL_DISK_RESERVE \ 270da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS) 271da6c28aaSamw #define IOCTL_DISK_RELEASE \ 272da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS) 273da6c28aaSamw #define IOCTL_DISK_FIND_NEW_DEVICES \ 274da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) 275da6c28aaSamw #define IOCTL_DISK_GET_MEDIA_TYPES \ 276da6c28aaSamw CTL_CODE(IOCTL_DISK_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS) 277da6c28aaSamw 278da6c28aaSamw #define IOCTL_CHANGER_BASE FILE_DEVICE_CHANGER 279da6c28aaSamw 280da6c28aaSamw #define IOCTL_CHANGER_GET_PARAMETERS \ 281da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS) 282da6c28aaSamw #define IOCTL_CHANGER_GET_STATUS \ 283da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS) 284da6c28aaSamw #define IOCTL_CHANGER_GET_PRODUCT_DATA \ 285da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS) 286da6c28aaSamw #define IOCTL_CHANGER_SET_ACCESS \ 287da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0004, METHOD_BUFFERED, \ 288da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 289da6c28aaSamw #define IOCTL_CHANGER_GET_ELEMENT_STATUS \ 290da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0005, METHOD_BUFFERED, \ 291da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 292da6c28aaSamw #define IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS \ 293da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS) 294da6c28aaSamw #define IOCTL_CHANGER_SET_POSITION \ 295da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS) 296da6c28aaSamw #define IOCTL_CHANGER_EXCHANGE_MEDIUM \ 297da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS) 298da6c28aaSamw #define IOCTL_CHANGER_MOVE_MEDIUM \ 299da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS) 300da6c28aaSamw #define IOCTL_CHANGER_REINITIALIZE_TRANSPORT \ 301da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS) 302da6c28aaSamw #define IOCTL_CHANGER_QUERY_VOLUME_TAGS \ 303da6c28aaSamw CTL_CODE(IOCTL_CHANGER_BASE, 0x000B, METHOD_BUFFERED, \ 304da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 305da6c28aaSamw 306da6c28aaSamw #ifndef _FILESYSTEMFSCTL_ 307da6c28aaSamw #define _FILESYSTEMFSCTL_ 308da6c28aaSamw /* 309da6c28aaSamw * The following is a list of the native file system fsctls followed by 310e3f2c991SKeyur Desai * additional network file system fsctls, DFS fsctls and Named Pipe fsctls. 311e3f2c991SKeyur Desai * Some values have been decommissioned. 312da6c28aaSamw */ 313da6c28aaSamw 314e3f2c991SKeyur Desai /* FILE_DEVICE_FILE_SYSTEM */ 315da6c28aaSamw #define FSCTL_REQUEST_OPLOCK_LEVEL_1 \ 316da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS) 317da6c28aaSamw #define FSCTL_REQUEST_OPLOCK_LEVEL_2 \ 318da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1, METHOD_BUFFERED, FILE_ANY_ACCESS) 319da6c28aaSamw #define FSCTL_REQUEST_BATCH_OPLOCK \ 320da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) 321da6c28aaSamw #define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE \ 322da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 3, METHOD_BUFFERED, FILE_ANY_ACCESS) 323da6c28aaSamw #define FSCTL_OPBATCH_ACK_CLOSE_PENDING \ 324da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 4, METHOD_BUFFERED, FILE_ANY_ACCESS) 325da6c28aaSamw #define FSCTL_OPLOCK_BREAK_NOTIFY \ 326da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5, METHOD_BUFFERED, FILE_ANY_ACCESS) 327da6c28aaSamw #define FSCTL_LOCK_VOLUME \ 328da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS) 329da6c28aaSamw #define FSCTL_UNLOCK_VOLUME \ 330da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) 331da6c28aaSamw #define FSCTL_DISMOUNT_VOLUME \ 332da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS) 333da6c28aaSamw /* decommissioned fsctl value 9 */ 334da6c28aaSamw #define FSCTL_IS_VOLUME_MOUNTED \ 335da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS) 336da6c28aaSamw /* PATHNAME_BUFFER, */ 337da6c28aaSamw #define FSCTL_IS_PATHNAME_VALID \ 338da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS) 339da6c28aaSamw #define FSCTL_MARK_VOLUME_DIRTY \ 340da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS) 341da6c28aaSamw /* decommissioned fsctl value 13 */ 342da6c28aaSamw #define FSCTL_QUERY_RETRIEVAL_POINTERS \ 343da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14, METHOD_NEITHER, FILE_ANY_ACCESS) 344da6c28aaSamw #define FSCTL_GET_COMPRESSION \ 345da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS) 346da6c28aaSamw #define FSCTL_SET_COMPRESSION \ 347da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, \ 348da6c28aaSamw FILE_READ_ACCESS | FILE_WRITE_ACCESS) 349da6c28aaSamw /* decommissioned fsctl value 17 */ 350da6c28aaSamw /* decommissioned fsctl value 18 */ 351da6c28aaSamw #define FSCTL_MARK_AS_SYSTEM_HIVE \ 352da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19, METHOD_NEITHER, FILE_ANY_ACCESS) 353da6c28aaSamw #define FSCTL_OPLOCK_BREAK_ACK_NO_2 \ 354da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS) 355da6c28aaSamw #define FSCTL_INVALIDATE_VOLUMES \ 356da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS) 357da6c28aaSamw /* FSCTL_QUERY_FAT_BPB_BUFFER */ 358da6c28aaSamw #define FSCTL_QUERY_FAT_BPB \ 359da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS) 360da6c28aaSamw #define FSCTL_REQUEST_FILTER_OPLOCK \ 361da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS) 362da6c28aaSamw /* FILESYSTEM_STATISTICS */ 363da6c28aaSamw #define FSCTL_FILESYSTEM_GET_STATISTICS \ 364da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS) 365da6c28aaSamw /* NTFS_VOLUME_DATA_BUFFER */ 366da6c28aaSamw #define FSCTL_GET_NTFS_VOLUME_DATA \ 367da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS) 368da6c28aaSamw /* NTFS_FILE_RECORD_INPUT_BUFFER, NTFS_FILE_RECORD_OUTPUT_BUFFER */ 369da6c28aaSamw #define FSCTL_GET_NTFS_FILE_RECORD \ 370da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS) 371da6c28aaSamw /* STARTING_LCN_INPUT_BUFFER, VOLUME_BITMAP_BUFFER */ 372da6c28aaSamw #define FSCTL_GET_VOLUME_BITMAP \ 373da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS) 374da6c28aaSamw /* STARTING_VCN_INPUT_BUFFER, RETRIEVAL_POINTERS_BUFFER */ 375da6c28aaSamw #define FSCTL_GET_RETRIEVAL_POINTERS \ 376da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS) 377da6c28aaSamw /* MOVE_FILE_DATA, */ 378da6c28aaSamw #define FSCTL_MOVE_FILE \ 379da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_ANY_ACCESS) 380da6c28aaSamw #define FSCTL_IS_VOLUME_DIRTY \ 381da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS) 382da6c28aaSamw #define FSCTL_GET_HFS_INFORMATION \ 383da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 31, METHOD_BUFFERED, FILE_ANY_ACCESS) 384da6c28aaSamw #define FSCTL_ALLOW_EXTENDED_DASD_IO \ 385da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER, FILE_ANY_ACCESS) 386da6c28aaSamw #define FSCTL_READ_PROPERTY_DATA \ 387da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 33, METHOD_NEITHER, FILE_ANY_ACCESS) 388da6c28aaSamw #define FSCTL_WRITE_PROPERTY_DATA \ 389da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 34, METHOD_NEITHER, FILE_ANY_ACCESS) 390da6c28aaSamw #define FSCTL_FIND_FILES_BY_SID \ 391da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS) 392da6c28aaSamw /* decommissioned fsctl value 36 */ 393da6c28aaSamw #define FSCTL_DUMP_PROPERTY_DATA \ 394da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 37, METHOD_NEITHER, FILE_ANY_ACCESS) 395da6c28aaSamw /* FILE_OBJECTID_BUFFER */ 396da6c28aaSamw #define FSCTL_SET_OBJECT_ID \ 397*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_ANY_ACCESS) 398da6c28aaSamw /* FILE_OBJECTID_BUFFER */ 399da6c28aaSamw #define FSCTL_GET_OBJECT_ID \ 400da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS) 401da6c28aaSamw #define FSCTL_DELETE_OBJECT_ID \ 402*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_ANY_ACCESS) 403da6c28aaSamw /* REPARSE_DATA_BUFFER, */ 404da6c28aaSamw #define FSCTL_SET_REPARSE_POINT \ 405*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_ANY_ACCESS) 406da6c28aaSamw /* REPARSE_DATA_BUFFER */ 407da6c28aaSamw #define FSCTL_GET_REPARSE_POINT \ 408da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) 409da6c28aaSamw /* REPARSE_DATA_BUFFER, */ 410da6c28aaSamw #define FSCTL_DELETE_REPARSE_POINT \ 411*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_ANY_ACCESS) 412da6c28aaSamw /* MFT_ENUM_DATA, */ 413da6c28aaSamw #define FSCTL_ENUM_USN_DATA \ 414da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44, METHOD_NEITHER, FILE_READ_ACCESS) 415da6c28aaSamw /* BULK_SECURITY_TEST_DATA, */ 416da6c28aaSamw #define FSCTL_SECURITY_ID_CHECK \ 417da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, FILE_READ_ACCESS) 418da6c28aaSamw /* READ_USN_JOURNAL_DATA, USN */ 419da6c28aaSamw #define FSCTL_READ_USN_JOURNAL \ 420da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, FILE_READ_ACCESS) 421da6c28aaSamw #define FSCTL_SET_OBJECT_ID_EXTENDED \ 422*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_ANY_ACCESS) 423da6c28aaSamw /* FILE_OBJECTID_BUFFER */ 424da6c28aaSamw #define FSCTL_CREATE_OR_GET_OBJECT_ID \ 425da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS) 426da6c28aaSamw #define FSCTL_SET_SPARSE \ 427e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_ANY_ACCESS) 428da6c28aaSamw /* FILE_ZERO_DATA_INFORMATION, */ 429da6c28aaSamw #define FSCTL_SET_ZERO_DATA \ 430*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_ACCESS) 431da6c28aaSamw /* FILE_ALLOCATED_RANGE_BUFFER, FILE_ALLOCATED_RANGE_BUFFER */ 432da6c28aaSamw #define FSCTL_QUERY_ALLOCATED_RANGES \ 433da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_ACCESS) 434da6c28aaSamw #define FSCTL_ENABLE_UPGRADE \ 435*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_ACCESS) 436da6c28aaSamw /* ENCRYPTION_BUFFER, */ 437da6c28aaSamw #define FSCTL_SET_ENCRYPTION \ 438*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_NEITHER, FILE_ANY_ACCESS) 439da6c28aaSamw #define FSCTL_ENCRYPTION_FSCTL_IO \ 440da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54, METHOD_NEITHER, FILE_ANY_ACCESS) 441da6c28aaSamw /* ENCRYPTED_DATA_INFO, */ 442da6c28aaSamw #define FSCTL_WRITE_RAW_ENCRYPTED \ 443da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55, METHOD_NEITHER, FILE_ANY_ACCESS) 444da6c28aaSamw /* REQUEST_RAW_ENCRYPTED_DATA, ENCRYPTED_DATA_INFO */ 445da6c28aaSamw #define FSCTL_READ_RAW_ENCRYPTED \ 446da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56, METHOD_NEITHER, FILE_ANY_ACCESS) 447da6c28aaSamw /* CREATE_USN_JOUNRAL_DATA, */ 448da6c28aaSamw #define FSCTL_CREATE_USN_JOURNAL \ 449da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_READ_ACCESS) 450da6c28aaSamw /* Read the Usn Record for a file */ 451da6c28aaSamw #define FSCTL_READ_FILE_USN_DATA \ 452*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_ANY_ACCESS) 453da6c28aaSamw /* Generate Close Usn Record */ 454da6c28aaSamw #define FSCTL_WRITE_USN_CLOSE_RECORD \ 455*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_ANY_ACCESS) 456da6c28aaSamw #define FSCTL_EXTEND_VOLUME \ 457da6c28aaSamw CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS) 458e3f2c991SKeyur Desai #define FSCTL_SIS_COPYFILE \ 459e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS) 460e3f2c991SKeyur Desai #define FSCTL_RECALL_FILE \ 461e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS) 462e3f2c991SKeyur Desai #define FSCTL_SET_DEFECT_MANAGEMENT \ 463*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 77, METHOD_BUFFERED, FILE_WRITE_ACCESS) 464e3f2c991SKeyur Desai #define FSCTL_QUERY_SPARING_INFO \ 465e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 78, METHOD_BUFFERED, FILE_ANY_ACCESS) 466e3f2c991SKeyur Desai #define FSCTL_QUERY_ON_DISK_VOLUME_INFO \ 467e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 79, METHOD_BUFFERED, FILE_ANY_ACCESS) 468e3f2c991SKeyur Desai #define FSCTL_SET_ZERO_ON_DEALLOCATION \ 469e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 101, METHOD_BUFFERED, FILE_ANY_ACCESS) 470e3f2c991SKeyur Desai #define FSCTL_SET_SHORT_NAME_BEHAVIOR \ 471e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 109, METHOD_BUFFERED, FILE_ANY_ACCESS) 472*a90cf9f2SGordon Ross #define FSCTL_FILE_LEVEL_TRIM \ 473*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, FILE_WRITE_ACCESS) 474*a90cf9f2SGordon Ross #define FSCTL_OFFLOAD_READ \ 475*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, FILE_READ_ACCESS) 476*a90cf9f2SGordon Ross #define FSCTL_OFFLOAD_WRITE \ 477*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, FILE_WRITE_ACCESS) 478*a90cf9f2SGordon Ross #define FSCTL_GET_INTEGRITY_INFORMATION \ 479*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS) 480*a90cf9f2SGordon Ross #define FSCTL_SET_INTEGRITY_INFORMATION \ 481*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, \ 482*a90cf9f2SGordon Ross FILE_READ_ACCESS | FILE_WRITE_ACCESS) 483da6c28aaSamw 484e3f2c991SKeyur Desai /* FILE_DEVICE_NETWORK_FILE_SYSTEM */ 48589dc44ceSjose borrego /* Read the snapshot info for Volume Shadow Copy Services */ 48689dc44ceSjose borrego #define FSCTL_SRV_ENUMERATE_SNAPSHOTS \ 48789dc44ceSjose borrego CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x19, \ 48889dc44ceSjose borrego METHOD_BUFFERED, FILE_READ_ACCESS) 489e3f2c991SKeyur Desai /* Retrieve an opaque file reference for server-side data movement */ 490e3f2c991SKeyur Desai #define FSCTL_SRV_REQUEST_RESUME_KEY \ 491e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x1e, \ 492e3f2c991SKeyur Desai METHOD_BUFFERED, FILE_ANY_ACCESS) 493*a90cf9f2SGordon Ross #define FSCTL_LMR_GET_LINK_TRACKING_INFORMATION \ 494e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3a, \ 495*a90cf9f2SGordon Ross METHOD_BUFFERED, FILE_ANY_ACCESS) 496*a90cf9f2SGordon Ross #define FSCTL_LMR_SET_LINK_TRACKING_INFORMATION \ 497e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3b, \ 498*a90cf9f2SGordon Ross METHOD_BUFFERED, FILE_ANY_ACCESS) 499e3f2c991SKeyur Desai /* server-side data movement */ 500e3f2c991SKeyur Desai #define FSCTL_SRV_COPYCHUNK \ 501e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3c, \ 502e3f2c991SKeyur Desai METHOD_OUT_DIRECT, FILE_READ_ACCESS) 503e3f2c991SKeyur Desai /* server-side data movement */ 504e3f2c991SKeyur Desai #define FSCTL_SRV_COPYCHUNK_WRITE \ 505e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3c, \ 506e3f2c991SKeyur Desai METHOD_OUT_DIRECT, FILE_WRITE_ACCESS) 507e3f2c991SKeyur Desai #define FSCTL_SRV_NOTIFY_TRANSACTION \ 508e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x46, \ 509e3f2c991SKeyur Desai METHOD_BUFFERED, FILE_WRITE_ACCESS) 510e3f2c991SKeyur Desai #define FSCTL_SRV_READ_HASH \ 511e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x6e, \ 512e3f2c991SKeyur Desai METHOD_NEITHER, FILE_READ_ACCESS) 513e3f2c991SKeyur Desai #define FSCTL_SRV_UNKNOWN_x71 \ 514e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x71, \ 515*a90cf9f2SGordon Ross METHOD_BUFFERED, FILE_ANY_ACCESS) 516*a90cf9f2SGordon Ross #define FSCTL_LMR_REQUEST_RESILIENCY \ 517e3f2c991SKeyur Desai CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x75, \ 518e3f2c991SKeyur Desai METHOD_BUFFERED, FILE_ANY_ACCESS) 519*a90cf9f2SGordon Ross #define FSCTL_QUERY_NETWORK_INTERFACE_INFO \ 520*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x7f, \ 521*a90cf9f2SGordon Ross METHOD_BUFFERED, FILE_ANY_ACCESS) 522*a90cf9f2SGordon Ross #define FSCTL_VALIDATE_NEGOTIATE_INFO \ 523*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x81, \ 524*a90cf9f2SGordon Ross METHOD_BUFFERED, FILE_ANY_ACCESS) 525e3f2c991SKeyur Desai 526e3f2c991SKeyur Desai /* FILE_DEVICE_DFS */ 527e3f2c991SKeyur Desai #define FSCTL_DFS_GET_REFERRALS \ 528*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_DFS, 0x65, METHOD_BUFFERED, FILE_ANY_ACCESS) 529*a90cf9f2SGordon Ross #define FSCTL_DFS_GET_REFERRALS_EX \ 530*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_DFS, 0x6c, METHOD_BUFFERED, FILE_ANY_ACCESS) 531e3f2c991SKeyur Desai 532e3f2c991SKeyur Desai /* FILE_DEVICE_NAMED_PIPE */ 533e3f2c991SKeyur Desai #define FSCTL_PIPE_PEEK \ 534*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS) 535e3f2c991SKeyur Desai #define FSCTL_PIPE_TRANSCEIVE \ 536*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, \ 537*a90cf9f2SGordon Ross FILE_READ_ACCESS | FILE_WRITE_ACCESS) 538e3f2c991SKeyur Desai #define FSCTL_PIPE_WAIT \ 539*a90cf9f2SGordon Ross CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS) 54089dc44ceSjose borrego 541da6c28aaSamw #endif /* _FILESYSTEMFSCTL_ */ 542da6c28aaSamw 543da6c28aaSamw #ifdef __cplusplus 544da6c28aaSamw } 545da6c28aaSamw #endif 546da6c28aaSamw 547da6c28aaSamw #endif /* _SMBSRV_WINIOCTL_H */ 548