[DDK]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 27 Mar 2010 01:12:23 +0000 (01:12 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 27 Mar 2010 01:12:23 +0000 (01:12 +0000)
- 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

include/psdk/devioctl.h [moved from include/ddk/devioctl.h with 79% similarity]
include/xdk/devioctl.template.h [new file with mode: 0644]
include/xdk/generate.bat
include/xdk/iotypes.h

similarity index 79%
rename from include/ddk/devioctl.h
rename to include/psdk/devioctl.h
index f5fe010..d192b32 100644 (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
  *
  * 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
 #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
+
+/* DEVICE_OBJECT.DeviceType */
+#define DEVICE_TYPE ULONG
 
-#define CTL_CODE(DeviceType, Function, Method, Access)( \
-  ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
+
+#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_ */
diff --git a/include/xdk/devioctl.template.h b/include/xdk/devioctl.template.h
new file mode 100644 (file)
index 0000000..ac7e130
--- /dev/null
@@ -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_ */
index e26f34a..c5653ff 100644 (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
index aac22cb..7898878 100644 (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 {