| /********************************************************************** |
| * |
| * Copyright(c) 2008 Imagination Technologies Ltd. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms and conditions of the GNU General Public License, |
| * version 2, as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope it will be useful but, except |
| * as otherwise stated in writing, without any warranty; without even the |
| * implied warranty of merchantability or fitness for a particular purpose. |
| * See the GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License along with |
| * this program; if not, write to the Free Software Foundation, Inc., |
| * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. |
| * |
| * The full GNU General Public License is included in this distribution in |
| * the file called "COPYING". |
| * |
| * Contact Information: |
| * Imagination Technologies Ltd. <gpl-support@imgtec.com> |
| * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK |
| * |
| ******************************************************************************/ |
| |
| #ifndef __IOCTLDEF_H__ |
| #define __IOCTLDEF_H__ |
| |
| #define MAKEIOCTLINDEX(i) (((i) >> 2) & 0xFFF) |
| |
| #ifndef CTL_CODE |
| |
| #define DEVICE_TYPE ULONG |
| |
| #define FILE_DEVICE_BEEP 0x00000001 |
| #define FILE_DEVICE_CD_ROM 0x00000002 |
| #define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 |
| #define FILE_DEVICE_CONTROLLER 0x00000004 |
| #define FILE_DEVICE_DATALINK 0x00000005 |
| #define FILE_DEVICE_DFS 0x00000006 |
| #define FILE_DEVICE_DISK 0x00000007 |
| #define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 |
| #define FILE_DEVICE_FILE_SYSTEM 0x00000009 |
| #define FILE_DEVICE_INPORT_PORT 0x0000000a |
| #define FILE_DEVICE_KEYBOARD 0x0000000b |
| #define FILE_DEVICE_MAILSLOT 0x0000000c |
| #define FILE_DEVICE_MIDI_IN 0x0000000d |
| #define FILE_DEVICE_MIDI_OUT 0x0000000e |
| #define FILE_DEVICE_MOUSE 0x0000000f |
| #define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 |
| #define FILE_DEVICE_NAMED_PIPE 0x00000011 |
| #define FILE_DEVICE_NETWORK 0x00000012 |
| #define FILE_DEVICE_NETWORK_BROWSER 0x00000013 |
| #define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 |
| #define FILE_DEVICE_NULL 0x00000015 |
| #define FILE_DEVICE_PARALLEL_PORT 0x00000016 |
| #define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 |
| #define FILE_DEVICE_PRINTER 0x00000018 |
| #define FILE_DEVICE_SCANNER 0x00000019 |
| #define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a |
| #define FILE_DEVICE_SERIAL_PORT 0x0000001b |
| #define FILE_DEVICE_SCREEN 0x0000001c |
| #define FILE_DEVICE_SOUND 0x0000001d |
| #define FILE_DEVICE_STREAMS 0x0000001e |
| #define FILE_DEVICE_TAPE 0x0000001f |
| #define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 |
| #define FILE_DEVICE_TRANSPORT 0x00000021 |
| #define FILE_DEVICE_UNKNOWN 0x00000022 |
| #define FILE_DEVICE_VIDEO 0x00000023 |
| #define FILE_DEVICE_VIRTUAL_DISK 0x00000024 |
| #define FILE_DEVICE_WAVE_IN 0x00000025 |
| #define FILE_DEVICE_WAVE_OUT 0x00000026 |
| #define FILE_DEVICE_8042_PORT 0x00000027 |
| #define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 |
| #define FILE_DEVICE_BATTERY 0x00000029 |
| #define FILE_DEVICE_BUS_EXTENDER 0x0000002a |
| #define FILE_DEVICE_MODEM 0x0000002b |
| #define FILE_DEVICE_VDM 0x0000002c |
| #define FILE_DEVICE_MASS_STORAGE 0x0000002d |
| |
| #define CTL_CODE( DeviceType, Function, Method, Access ) ( \ |
| ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \ |
| ) |
| |
| #define METHOD_BUFFERED 0 |
| #define METHOD_IN_DIRECT 1 |
| #define METHOD_OUT_DIRECT 2 |
| #define METHOD_NEITHER 3 |
| |
| #define FILE_ANY_ACCESS 0 |
| #define FILE_READ_ACCESS ( 0x0001 ) |
| #define FILE_WRITE_ACCESS ( 0x0002 ) |
| |
| #endif |
| |
| #endif |
| |