Annotation of ntddk/inc/devioctl.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.