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