- Move devioctl.h to PSDK, introduce pragma once, apply consistent formatting and add several missing definitions.
[XDK]
- Autogenerate devioctl.h based on devioctl.template.h

svn path=/branches/header-work/; revision=46482
This commit is contained in:
Amine Khaldi 2010-03-27 01:12:23 +00:00
parent dbe15d6293
commit 636b46506f
4 changed files with 86 additions and 11 deletions

View file

@ -3,7 +3,11 @@
*
* IOCTL definitions
*
* This file is part of the ReactOS ddk.
* This file is part of the ReactOS PSDK package.
*
* Contributors:
* Amine Khaldi
* Timo Kreuzer (timo.kreuzer@reactos.org)
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
@ -16,13 +20,12 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#pragma once
#ifndef _DEVIOCTL_
#define _DEVIOCTL_
/* DEVICE_OBJECT.DeviceType */
#define DEVICE_TYPE ULONG
#define FILE_DEVICE_BEEP 0x00000001
#define FILE_DEVICE_CD_ROM 0x00000002
@ -81,26 +84,43 @@
#define FILE_DEVICE_SERENUM 0x00000037
#define FILE_DEVICE_TERMSRV 0x00000038
#define FILE_DEVICE_KSEC 0x00000039
#define FILE_DEVICE_FIPS 0x0000003a
#define FILE_DEVICE_FIPS 0x0000003A
#define FILE_DEVICE_INFINIBAND 0x0000003B
#define FILE_DEVICE_VMBUS 0x0000003E
#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003F
#define FILE_DEVICE_WPD 0x00000040
#define FILE_DEVICE_BLUETOOTH 0x00000041
#define FILE_DEVICE_MT_COMPOSITE 0x00000042
#define FILE_DEVICE_MT_TRANSPORT 0x00000043
#define FILE_DEVICE_BIOMETRIC 0x00000044
#define FILE_DEVICE_PMI 0x00000045
#define CTL_CODE(DeviceType, Function, Method, Access)( \
((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
/* DEVICE_OBJECT.DeviceType */
#define DEVICE_TYPE ULONG
#define CTL_CODE(DeviceType, Function, Method, Access) \
(((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16)
#define METHOD_FROM_CTL_CODE(ctrlCode) ((ULONG)((ctrlCode) & 3))
#define METHOD_FROM_CTL_CODE(ctrlCode) ((ULONG)(ctrlCode & 3))
#define METHOD_BUFFERED 0
#define METHOD_IN_DIRECT 1
#define METHOD_OUT_DIRECT 2
#define METHOD_NEITHER 3
#define METHOD_DIRECT_TO_HARDWARE METHOD_IN_DIRECT
#define METHOD_DIRECT_FROM_HARDWARE METHOD_OUT_DIRECT
#define METHOD_DIRECT_TO_HARDWARE METHOD_IN_DIRECT
#define METHOD_DIRECT_FROM_HARDWARE METHOD_OUT_DIRECT
#define FILE_ANY_ACCESS 0x00000000
#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS
#define FILE_READ_ACCESS 0x00000001
#define FILE_WRITE_ACCESS 0x00000002
#endif /* !_DEVIOCTL_ */
#endif /*_DEVIOCTL_ */

View file

@ -0,0 +1,31 @@
/*
* devioctl.h
*
* IOCTL definitions
*
* This file is part of the ReactOS PSDK package.
*
* Contributors:
* Amine Khaldi
* Timo Kreuzer (timo.kreuzer@reactos.org)
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#pragma once
#ifndef _DEVIOCTL_
#define _DEVIOCTL_
$define (_DEVIOCTL_)
$include (iotypes.h)
#endif /*_DEVIOCTL_ */

View file

@ -2,3 +2,4 @@
..\..\output-i386\tools\hpp\hpp.exe wdm.template.h wdm.h
..\..\output-i386\tools\hpp\hpp.exe ntddk.template.h ntddk.h
..\..\output-i386\tools\hpp\hpp.exe devioctl.template.h devioctl.h

View file

@ -1,6 +1,8 @@
$if (_WDMDDK_ || _NTDDK_)
/******************************************************************************
* I/O Manager Types *
******************************************************************************/
$endif
$if (_WDMDDK_)
#define WDM_MAJORVERSION 0x06
@ -52,7 +54,9 @@ $if (_WDMDDK_)
#define IO_RESOURCE_PREFERRED 0x01
#define IO_RESOURCE_DEFAULT 0x02
#define IO_RESOURCE_ALTERNATIVE 0x08
$endif
$if (_WDMDDK_ || _DEVIOCTL_)
#define FILE_DEVICE_BEEP 0x00000001
#define FILE_DEVICE_CD_ROM 0x00000002
#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
@ -120,6 +124,8 @@ $if (_WDMDDK_)
#define FILE_DEVICE_MT_TRANSPORT 0x00000043
#define FILE_DEVICE_BIOMETRIC 0x00000044
#define FILE_DEVICE_PMI 0x00000045
$endif
$if (_WDMDDK_)
#if defined(NT_PROCESSOR_GROUPS)
@ -208,7 +214,9 @@ typedef struct _WAIT_CONTEXT_BLOCK {
} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
$endif
$if (_WDMDDK_ || _NTDDK_)
/* DEVICE_OBJECT.Flags */
$endif
$if (_NTDDK_)
#define DO_DEVICE_HAS_NAME 0x00000040
#define DO_SYSTEM_BOOT_PARTITION 0x00000100
@ -259,9 +267,13 @@ $if (_WDMDDK_)
#define FILE_128_BYTE_ALIGNMENT 0x0000007f
#define FILE_256_BYTE_ALIGNMENT 0x000000ff
#define FILE_512_BYTE_ALIGNMENT 0x000001ff
$endif
$if (_WDMDDK_ || _DEVIOCTL_)
/* DEVICE_OBJECT.DeviceType */
#define DEVICE_TYPE ULONG
$endif
$if (_WDMDDK_)
typedef struct _DEVICE_OBJECT {
CSHORT Type;
@ -1767,14 +1779,18 @@ typedef struct _IO_COMPLETION_CONTEXT {
#define SL_WATCH_TREE 0x01
#define SL_ALLOW_RAW_MOUNT 0x01
$endif
$if (_WDMDDK_ || _DEVIOCTL_)
#define CTL_CODE(DeviceType, Function, Method, Access) \
(((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16)
#define METHOD_FROM_CTL_CODE(ctrlCode) ((ULONG)(ctrlCode & 3))
$endif
$if (_WDMDDK_)
#define IRP_NOCACHE 0x00000001
#define IRP_PAGING_IO 0x00000002
#define IRP_MOUNT_COMPLETION 0x00000002
@ -2825,7 +2841,9 @@ typedef struct _IO_STACK_LOCATION {
#define SL_INVOKE_ON_CANCEL 0x20
#define SL_INVOKE_ON_SUCCESS 0x40
#define SL_INVOKE_ON_ERROR 0x80
$endif
$if (_WDMDDK_ || _DEVIOCTL_)
#define METHOD_BUFFERED 0
#define METHOD_IN_DIRECT 1
#define METHOD_OUT_DIRECT 2
@ -2833,7 +2851,9 @@ typedef struct _IO_STACK_LOCATION {
#define METHOD_DIRECT_TO_HARDWARE METHOD_IN_DIRECT
#define METHOD_DIRECT_FROM_HARDWARE METHOD_OUT_DIRECT
$endif
$if (_WDMDDK_)
#define FILE_SUPERSEDED 0x00000000
#define FILE_OPENED 0x00000001
#define FILE_CREATED 0x00000002
@ -2921,12 +2941,16 @@ typedef struct _IO_STACK_LOCATION {
#define FILE_OPEN_REPARSE_POINT 0x00200000
#define FILE_OPEN_NO_RECALL 0x00400000
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
$endif
$if (_WDMDDK_ || _DEVIOCTL_)
#define FILE_ANY_ACCESS 0x00000000
#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS
#define FILE_READ_ACCESS 0x00000001
#define FILE_WRITE_ACCESS 0x00000002
$endif
$if (_WDMDDK_)
#define FILE_ALL_ACCESS \
(STANDARD_RIGHTS_REQUIRED | \
SYNCHRONIZE | \
@ -3749,7 +3773,6 @@ typedef struct _PCI_MSIX_TABLE_CONFIG_INTERFACE {
RTL_SIZEOF_THROUGH_FIELD(PCI_MSIX_TABLE_CONFIG_INTERFACE, UnmaskTableEntry)
$endif
$if (_NTDDK_)
#ifndef _ARC_DDK_
#define _ARC_DDK_
typedef enum _CONFIGURATION_TYPE {