|
|
1.1 ! root 1: /*++ BUILD Version: 0004 // Increment this if a change has global effects ! 2: ! 3: Copyright (c) 1992-1993 Microsoft Corporation ! 4: ! 5: Module Name: ! 6: ! 7: devioctl.h ! 8: ! 9: Abstract: ! 10: ! 11: This module contains ! 12: ! 13: Author: ! 14: ! 15: Andre Vachon (andreva) 21-Feb-1992 ! 16: ! 17: ! 18: Revision History: ! 19: ! 20: ! 21: --*/ ! 22: ! 23: // begin_winioctl ! 24: ! 25: #ifndef _DEVIOCTL_ ! 26: #define _DEVIOCTL_ ! 27: ! 28: // begin_ntddk begin_nthal ! 29: // ! 30: // Define the various device type values. Note that values used by Microsoft ! 31: // Corporation are in the range 0-32767, and 32768-65535 are reserved for use ! 32: // by customers. ! 33: // ! 34: ! 35: #define DEVICE_TYPE ULONG ! 36: ! 37: #define FILE_DEVICE_BEEP 0x00000001 ! 38: #define FILE_DEVICE_CD_ROM 0x00000002 ! 39: #define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 ! 40: #define FILE_DEVICE_CONTROLLER 0x00000004 ! 41: #define FILE_DEVICE_DATALINK 0x00000005 ! 42: #define FILE_DEVICE_DFS 0x00000006 ! 43: #define FILE_DEVICE_DISK 0x00000007 ! 44: #define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 ! 45: #define FILE_DEVICE_FILE_SYSTEM 0x00000009 ! 46: #define FILE_DEVICE_INPORT_PORT 0x0000000a ! 47: #define FILE_DEVICE_KEYBOARD 0x0000000b ! 48: #define FILE_DEVICE_MAILSLOT 0x0000000c ! 49: #define FILE_DEVICE_MIDI_IN 0x0000000d ! 50: #define FILE_DEVICE_MIDI_OUT 0x0000000e ! 51: #define FILE_DEVICE_MOUSE 0x0000000f ! 52: #define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 ! 53: #define FILE_DEVICE_NAMED_PIPE 0x00000011 ! 54: #define FILE_DEVICE_NETWORK 0x00000012 ! 55: #define FILE_DEVICE_NETWORK_BROWSER 0x00000013 ! 56: #define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 ! 57: #define FILE_DEVICE_NULL 0x00000015 ! 58: #define FILE_DEVICE_PARALLEL_PORT 0x00000016 ! 59: #define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 ! 60: #define FILE_DEVICE_PRINTER 0x00000018 ! 61: #define FILE_DEVICE_SCANNER 0x00000019 ! 62: #define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a ! 63: #define FILE_DEVICE_SERIAL_PORT 0x0000001b ! 64: #define FILE_DEVICE_SCREEN 0x0000001c ! 65: #define FILE_DEVICE_SOUND 0x0000001d ! 66: #define FILE_DEVICE_STREAMS 0x0000001e ! 67: #define FILE_DEVICE_TAPE 0x0000001f ! 68: #define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 ! 69: #define FILE_DEVICE_TRANSPORT 0x00000021 ! 70: #define FILE_DEVICE_UNKNOWN 0x00000022 ! 71: #define FILE_DEVICE_VIDEO 0x00000023 ! 72: #define FILE_DEVICE_VIRTUAL_DISK 0x00000024 ! 73: #define FILE_DEVICE_WAVE_IN 0x00000025 ! 74: #define FILE_DEVICE_WAVE_OUT 0x00000026 ! 75: #define FILE_DEVICE_8042_PORT 0x00000027 ! 76: #define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 ! 77: ! 78: // ! 79: // Macro definition for defining IOCTL and FSCTL function control codes. Note ! 80: // that function codes 0-2047 are reserved for Microsoft Corporation, and ! 81: // 2048-4095 are reserved for customers. ! 82: // ! 83: ! 84: #define CTL_CODE( DeviceType, Function, Method, Access ) ( \ ! 85: ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \ ! 86: ) ! 87: ! 88: // ! 89: // Define the method codes for how buffers are passed for I/O and FS controls ! 90: // ! 91: ! 92: #define METHOD_BUFFERED 0 ! 93: #define METHOD_IN_DIRECT 1 ! 94: #define METHOD_OUT_DIRECT 2 ! 95: #define METHOD_NEITHER 3 ! 96: ! 97: // ! 98: // Define the access check value for any access ! 99: // ! 100: // ! 101: // The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in ! 102: // ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these ! 103: // constants *MUST* always be in sync. ! 104: // ! 105: ! 106: ! 107: #define FILE_ANY_ACCESS 0 ! 108: #define FILE_READ_ACCESS ( 0x0001 ) // file & pipe ! 109: #define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe ! 110: ! 111: // end_ntddk end_nthal ! 112: ! 113: #endif // _DEVIOCTL_ ! 114: ! 115: // end_winioctl
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.