add winpcap 4.0.2 from url http://www.winpcap.org/
[natblaster.git] / winpcap / Common / Devioctl.h
blobaf8784bfd36d5f6ce7f87b2db26ef38b8d039917
1 /*++ BUILD Version: 0004 // Increment this if a change has global effects
2 Copyright (c) 1992-1993 Microsoft Corporation
3 Module Name:
4 devioctl.h
5 Revision History:
6 -- */
7 // begin_winioctl
8 #ifndef _DEVIOCTL_
9 #define _DEVIOCTL_
10 // begin_ntddk begin_nthal begin_ntifs
12 // Define the various device type values. Note that values used by Microsoft
13 // Corporation are in the range 0-32767, and 32768-65535 are reserved for use
14 // by customers.
16 #define DEVICE_TYPE ULONG
17 #define FILE_DEVICE_BEEP 0x00000001
18 #define FILE_DEVICE_CD_ROM 0x00000002
19 #define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
20 #define FILE_DEVICE_CONTROLLER 0x00000004
21 #define FILE_DEVICE_DATALINK 0x00000005
22 #define FILE_DEVICE_DFS 0x00000006
23 #define FILE_DEVICE_DISK 0x00000007
24 #define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
25 #define FILE_DEVICE_FILE_SYSTEM 0x00000009
26 #define FILE_DEVICE_INPORT_PORT 0x0000000a
27 #define FILE_DEVICE_KEYBOARD 0x0000000b
28 #define FILE_DEVICE_MAILSLOT 0x0000000c
29 #define FILE_DEVICE_MIDI_IN 0x0000000d
30 #define FILE_DEVICE_MIDI_OUT 0x0000000e
31 #define FILE_DEVICE_MOUSE 0x0000000f
32 #define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
33 #define FILE_DEVICE_NAMED_PIPE 0x00000011
34 #define FILE_DEVICE_NETWORK 0x00000012
35 #define FILE_DEVICE_NETWORK_BROWSER 0x00000013
36 #define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
37 #define FILE_DEVICE_NULL 0x00000015
38 #define FILE_DEVICE_PARALLEL_PORT 0x00000016
39 #define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
40 #define FILE_DEVICE_PRINTER 0x00000018
41 #define FILE_DEVICE_SCANNER 0x00000019
42 #define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
43 #define FILE_DEVICE_SERIAL_PORT 0x0000001b
44 #define FILE_DEVICE_SCREEN 0x0000001c
45 #define FILE_DEVICE_SOUND 0x0000001d
46 #define FILE_DEVICE_STREAMS 0x0000001e
47 #define FILE_DEVICE_TAPE 0x0000001f
48 #define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
49 #define FILE_DEVICE_TRANSPORT 0x00000021
50 #define FILE_DEVICE_UNKNOWN 0x00000022
51 #define FILE_DEVICE_VIDEO 0x00000023
52 #define FILE_DEVICE_VIRTUAL_DISK 0x00000024
53 #define FILE_DEVICE_WAVE_IN 0x00000025
54 #define FILE_DEVICE_WAVE_OUT 0x00000026
55 #define FILE_DEVICE_8042_PORT 0x00000027
56 #define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
57 #define FILE_DEVICE_BATTERY 0x00000029
58 #define FILE_DEVICE_BUS_EXTENDER 0x0000002a
59 #define FILE_DEVICE_MODEM 0x0000002b
60 #define FILE_DEVICE_VDM 0x0000002c
61 #define FILE_DEVICE_MASS_STORAGE 0x0000002d
63 // Macro definition for defining IOCTL and FSCTL function control codes. Note
64 // that function codes 0-2047 are reserved for Microsoft Corporation, and
65 // 2048-4095 are reserved for customers.
67 #define CTL_CODE( DeviceType, Function, Method, Access ) ( \
68 ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
71 // Define the method codes for how buffers are passed for I/O and FS controls
73 #define METHOD_BUFFERED 0
74 #define METHOD_IN_DIRECT 1
75 #define METHOD_OUT_DIRECT 2
76 #define METHOD_NEITHER 3
78 // Define the access check value for any access
81 // The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in
82 // ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these
83 // constants *MUST* always be in sync.
85 #define FILE_ANY_ACCESS 0
86 #define FILE_READ_ACCESS ( 0x0001 ) // file & pipe
87 #define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe
88 // end_ntddk end_nthal end_ntifs
89 #endif // _DEVIOCTL_
90 // end_winioctl