|
|
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.