os/boardsupport/emulator/emulatorbsp/wpdpack/include/devioctl.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     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
    11 //
    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.
    15 //
    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
    62 //
    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.
    66 //
    67 #define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
    68     ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
    69 )
    70 //
    71 // Define the method codes for how buffers are passed for I/O and FS controls
    72 //
    73 #define METHOD_BUFFERED                 0
    74 #define METHOD_IN_DIRECT                1
    75 #define METHOD_OUT_DIRECT               2
    76 #define METHOD_NEITHER                  3
    77 //
    78 // Define the access check value for any access
    79 //
    80 //
    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.
    84 //
    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