Annotation of ntddk/inc/devioctl.h, revision 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.