os/boardsupport/emulator/emulatorbsp/wpdpack/include/devioctl.h
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/boardsupport/emulator/emulatorbsp/wpdpack/include/devioctl.h	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,90 @@
     1.4 +/*++ BUILD Version: 0004    // Increment this if a change has global effects
     1.5 +   Copyright (c) 1992-1993  Microsoft Corporation
     1.6 +   Module Name:
     1.7 +   devioctl.h
     1.8 +   Revision History:
     1.9 +   -- */
    1.10 +// begin_winioctl
    1.11 +#ifndef _DEVIOCTL_
    1.12 +#define _DEVIOCTL_
    1.13 +// begin_ntddk begin_nthal begin_ntifs
    1.14 +//
    1.15 +// Define the various device type values.  Note that values used by Microsoft
    1.16 +// Corporation are in the range 0-32767, and 32768-65535 are reserved for use
    1.17 +// by customers.
    1.18 +//
    1.19 +#define DEVICE_TYPE ULONG
    1.20 +#define FILE_DEVICE_BEEP                0x00000001
    1.21 +#define FILE_DEVICE_CD_ROM              0x00000002
    1.22 +#define FILE_DEVICE_CD_ROM_FILE_SYSTEM  0x00000003
    1.23 +#define FILE_DEVICE_CONTROLLER          0x00000004
    1.24 +#define FILE_DEVICE_DATALINK            0x00000005
    1.25 +#define FILE_DEVICE_DFS                 0x00000006
    1.26 +#define FILE_DEVICE_DISK                0x00000007
    1.27 +#define FILE_DEVICE_DISK_FILE_SYSTEM    0x00000008
    1.28 +#define FILE_DEVICE_FILE_SYSTEM         0x00000009
    1.29 +#define FILE_DEVICE_INPORT_PORT         0x0000000a
    1.30 +#define FILE_DEVICE_KEYBOARD            0x0000000b
    1.31 +#define FILE_DEVICE_MAILSLOT            0x0000000c
    1.32 +#define FILE_DEVICE_MIDI_IN             0x0000000d
    1.33 +#define FILE_DEVICE_MIDI_OUT            0x0000000e
    1.34 +#define FILE_DEVICE_MOUSE               0x0000000f
    1.35 +#define FILE_DEVICE_MULTI_UNC_PROVIDER  0x00000010
    1.36 +#define FILE_DEVICE_NAMED_PIPE          0x00000011
    1.37 +#define FILE_DEVICE_NETWORK             0x00000012
    1.38 +#define FILE_DEVICE_NETWORK_BROWSER     0x00000013
    1.39 +#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
    1.40 +#define FILE_DEVICE_NULL                0x00000015
    1.41 +#define FILE_DEVICE_PARALLEL_PORT       0x00000016
    1.42 +#define FILE_DEVICE_PHYSICAL_NETCARD    0x00000017
    1.43 +#define FILE_DEVICE_PRINTER             0x00000018
    1.44 +#define FILE_DEVICE_SCANNER             0x00000019
    1.45 +#define FILE_DEVICE_SERIAL_MOUSE_PORT   0x0000001a
    1.46 +#define FILE_DEVICE_SERIAL_PORT         0x0000001b
    1.47 +#define FILE_DEVICE_SCREEN              0x0000001c
    1.48 +#define FILE_DEVICE_SOUND               0x0000001d
    1.49 +#define FILE_DEVICE_STREAMS             0x0000001e
    1.50 +#define FILE_DEVICE_TAPE                0x0000001f
    1.51 +#define FILE_DEVICE_TAPE_FILE_SYSTEM    0x00000020
    1.52 +#define FILE_DEVICE_TRANSPORT           0x00000021
    1.53 +#define FILE_DEVICE_UNKNOWN             0x00000022
    1.54 +#define FILE_DEVICE_VIDEO               0x00000023
    1.55 +#define FILE_DEVICE_VIRTUAL_DISK        0x00000024
    1.56 +#define FILE_DEVICE_WAVE_IN             0x00000025
    1.57 +#define FILE_DEVICE_WAVE_OUT            0x00000026
    1.58 +#define FILE_DEVICE_8042_PORT           0x00000027
    1.59 +#define FILE_DEVICE_NETWORK_REDIRECTOR  0x00000028
    1.60 +#define FILE_DEVICE_BATTERY             0x00000029
    1.61 +#define FILE_DEVICE_BUS_EXTENDER        0x0000002a
    1.62 +#define FILE_DEVICE_MODEM               0x0000002b
    1.63 +#define FILE_DEVICE_VDM                 0x0000002c
    1.64 +#define FILE_DEVICE_MASS_STORAGE        0x0000002d
    1.65 +//
    1.66 +// Macro definition for defining IOCTL and FSCTL function control codes.  Note
    1.67 +// that function codes 0-2047 are reserved for Microsoft Corporation, and
    1.68 +// 2048-4095 are reserved for customers.
    1.69 +//
    1.70 +#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
    1.71 +    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
    1.72 +)
    1.73 +//
    1.74 +// Define the method codes for how buffers are passed for I/O and FS controls
    1.75 +//
    1.76 +#define METHOD_BUFFERED                 0
    1.77 +#define METHOD_IN_DIRECT                1
    1.78 +#define METHOD_OUT_DIRECT               2
    1.79 +#define METHOD_NEITHER                  3
    1.80 +//
    1.81 +// Define the access check value for any access
    1.82 +//
    1.83 +//
    1.84 +// The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in
    1.85 +// ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these
    1.86 +// constants *MUST* always be in sync.
    1.87 +//
    1.88 +#define FILE_ANY_ACCESS                 0
    1.89 +#define FILE_READ_ACCESS          ( 0x0001 )	// file & pipe
    1.90 +#define FILE_WRITE_ACCESS         ( 0x0002 )	// file & pipe
    1.91 +// end_ntddk end_nthal end_ntifs
    1.92 +#endif				// _DEVIOCTL_
    1.93 +// end_winioctl