Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Related Pages

Devioctl.h

Go to the documentation of this file.
00001 /* Netmeter V2.0
00002 
00003 Copyright (C) 1999 Politecnico di Torino
00004   
00005 This file is part of the Packet Capture Driver Developer's Pack.
00006         
00007 This library is free software; you can redistribute it and/or
00008 modify it under the terms of the GNU Lesser General Public
00009 License as published by the Free Software Foundation; either
00010 version 2 of the License, or (at your option) any later version.
00011  
00012 This library is distributed in the hope that it will be useful,
00013 but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015 Lesser General Public License for more details.
00016                 
00017 You should have received a copy of the GNU Lesser General Public
00018 License along with this library; if not, write to the Free Software
00019 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020 */
00021 
00022 /*++ BUILD Version: 0004    // Increment this if a change has global effects
00023    Copyright (c) 1992-1993  Microsoft Corporation
00024    Module Name:
00025    devioctl.h
00026    Revision History:
00027    -- */
00028 // begin_winioctl
00029 #ifndef _DEVIOCTL_
00030 #define _DEVIOCTL_
00031 // begin_ntddk begin_nthal begin_ntifs
00032 //
00033 // Define the various device type values.  Note that values used by Microsoft
00034 // Corporation are in the range 0-32767, and 32768-65535 are reserved for use
00035 // by customers.
00036 //
00037 #define DEVICE_TYPE ULONG
00038 #define FILE_DEVICE_BEEP                0x00000001
00039 #define FILE_DEVICE_CD_ROM              0x00000002
00040 #define FILE_DEVICE_CD_ROM_FILE_SYSTEM  0x00000003
00041 #define FILE_DEVICE_CONTROLLER          0x00000004
00042 #define FILE_DEVICE_DATALINK            0x00000005
00043 #define FILE_DEVICE_DFS                 0x00000006
00044 #define FILE_DEVICE_DISK                0x00000007
00045 #define FILE_DEVICE_DISK_FILE_SYSTEM    0x00000008
00046 #define FILE_DEVICE_FILE_SYSTEM         0x00000009
00047 #define FILE_DEVICE_INPORT_PORT         0x0000000a
00048 #define FILE_DEVICE_KEYBOARD            0x0000000b
00049 #define FILE_DEVICE_MAILSLOT            0x0000000c
00050 #define FILE_DEVICE_MIDI_IN             0x0000000d
00051 #define FILE_DEVICE_MIDI_OUT            0x0000000e
00052 #define FILE_DEVICE_MOUSE               0x0000000f
00053 #define FILE_DEVICE_MULTI_UNC_PROVIDER  0x00000010
00054 #define FILE_DEVICE_NAMED_PIPE          0x00000011
00055 #define FILE_DEVICE_NETWORK             0x00000012
00056 #define FILE_DEVICE_NETWORK_BROWSER     0x00000013
00057 #define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
00058 #define FILE_DEVICE_NULL                0x00000015
00059 #define FILE_DEVICE_PARALLEL_PORT       0x00000016
00060 #define FILE_DEVICE_PHYSICAL_NETCARD    0x00000017
00061 #define FILE_DEVICE_PRINTER             0x00000018
00062 #define FILE_DEVICE_SCANNER             0x00000019
00063 #define FILE_DEVICE_SERIAL_MOUSE_PORT   0x0000001a
00064 #define FILE_DEVICE_SERIAL_PORT         0x0000001b
00065 #define FILE_DEVICE_SCREEN              0x0000001c
00066 #define FILE_DEVICE_SOUND               0x0000001d
00067 #define FILE_DEVICE_STREAMS             0x0000001e
00068 #define FILE_DEVICE_TAPE                0x0000001f
00069 #define FILE_DEVICE_TAPE_FILE_SYSTEM    0x00000020
00070 #define FILE_DEVICE_TRANSPORT           0x00000021
00071 #define FILE_DEVICE_UNKNOWN             0x00000022
00072 #define FILE_DEVICE_VIDEO               0x00000023
00073 #define FILE_DEVICE_VIRTUAL_DISK        0x00000024
00074 #define FILE_DEVICE_WAVE_IN             0x00000025
00075 #define FILE_DEVICE_WAVE_OUT            0x00000026
00076 #define FILE_DEVICE_8042_PORT           0x00000027
00077 #define FILE_DEVICE_NETWORK_REDIRECTOR  0x00000028
00078 #define FILE_DEVICE_BATTERY             0x00000029
00079 #define FILE_DEVICE_BUS_EXTENDER        0x0000002a
00080 #define FILE_DEVICE_MODEM               0x0000002b
00081 #define FILE_DEVICE_VDM                 0x0000002c
00082 #define FILE_DEVICE_MASS_STORAGE        0x0000002d
00083 //
00084 // Macro definition for defining IOCTL and FSCTL function control codes.  Note
00085 // that function codes 0-2047 are reserved for Microsoft Corporation, and
00086 // 2048-4095 are reserved for customers.
00087 //
00088 #define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
00089     ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
00090 )
00091 //
00092 // Define the method codes for how buffers are passed for I/O and FS controls
00093 //
00094 #define METHOD_BUFFERED                 0
00095 #define METHOD_IN_DIRECT                1
00096 #define METHOD_OUT_DIRECT               2
00097 #define METHOD_NEITHER                  3
00098 //
00099 // Define the access check value for any access
00100 //
00101 //
00102 // The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in
00103 // ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these
00104 // constants *MUST* always be in sync.
00105 //
00106 #define FILE_ANY_ACCESS                 0
00107 #define FILE_READ_ACCESS          ( 0x0001 )    // file & pipe
00108 #define FILE_WRITE_ACCESS         ( 0x0002 )    // file & pipe
00109 // end_ntddk end_nthal end_ntifs
00110 #endif                          // _DEVIOCTL_
00111 // end_winioctl

Generated on Sun May 14 14:51:19 2006 by  doxygen 1.4.2