[2/6] include/ddk/wdm.h: Add defines

Alexander Morozov amorozov at etersoft.ru
Tue Jul 22 03:53:13 CDT 2008


Add defines which are necessary for ntoskrnl.exe tests.
-------------- next part --------------
From 3bf9905e668e6e771e4e0b6ba2ec5e1deab9d429 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov at etersoft.ru>
Date: Mon, 21 Jul 2008 18:44:37 +0400
Subject: [PATCH] include/ddk/wdm.h: Add defines

---
 include/ddk/wdm.h |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 5563def..4b08263 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -157,11 +157,66 @@ typedef struct _WAIT_CONTEXT_BLOCK {
   PKDPC  BufferChainingDpc;
 } WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
 
+#define DO_BUFFERED_IO                  0x00000004
+#define DO_EXCLUSIVE                    0x00000008
+#define DO_DIRECT_IO                    0x00000010
+#define DO_MAP_IO_BUFFER                0x00000020
+#define DO_DEVICE_INITIALIZING          0x00000080
+#define DO_SHUTDOWN_REGISTERED          0x00000800
+#define DO_BUS_ENUMERATED_DEVICE        0x00001000
+#define DO_POWER_PAGABLE                0x00002000
+#define DO_POWER_INRUSH                 0x00004000
+
+#define IO_NO_INCREMENT                     0
+#define IO_CD_ROM_INCREMENT                 1
+#define IO_DISK_INCREMENT                   1
+#define IO_KEYBOARD_INCREMENT               6
+#define IO_MAILSLOT_INCREMENT               2
+#define IO_MOUSE_INCREMENT                  6
+#define IO_NAMED_PIPE_INCREMENT             2
+#define IO_NETWORK_INCREMENT                2
+#define IO_PARALLEL_INCREMENT               1
+#define IO_SERIAL_INCREMENT                 2
+#define IO_SOUND_INCREMENT                  8
+#define IO_VIDEO_INCREMENT                  1
+
 #ifndef DEVICE_TYPE
 #define DEVICE_TYPE ULONG
 #endif
 #define IRP_MJ_MAXIMUM_FUNCTION           0x1b
+#define IRP_MJ_CREATE                     0x00
+#define IRP_MJ_CREATE_NAMED_PIPE          0x01
+#define IRP_MJ_CLOSE                      0x02
+#define IRP_MJ_READ                       0x03
+#define IRP_MJ_WRITE                      0x04
+#define IRP_MJ_QUERY_INFORMATION          0x05
+#define IRP_MJ_SET_INFORMATION            0x06
+#define IRP_MJ_QUERY_EA                   0x07
+#define IRP_MJ_SET_EA                     0x08
+#define IRP_MJ_FLUSH_BUFFERS              0x09
+#define IRP_MJ_QUERY_VOLUME_INFORMATION   0x0a
+#define IRP_MJ_SET_VOLUME_INFORMATION     0x0b
+#define IRP_MJ_DIRECTORY_CONTROL          0x0c
+#define IRP_MJ_FILE_SYSTEM_CONTROL        0x0d
 #define IRP_MJ_DEVICE_CONTROL             0x0e
+#define IRP_MJ_INTERNAL_DEVICE_CONTROL    0x0f
+#define IRP_MJ_SHUTDOWN                   0x10
+#define IRP_MJ_LOCK_CONTROL               0x11
+#define IRP_MJ_CLEANUP                    0x12
+#define IRP_MJ_CREATE_MAILSLOT            0x13
+#define IRP_MJ_QUERY_SECURITY             0x14
+#define IRP_MJ_SET_SECURITY               0x15
+#define IRP_MJ_POWER                      0x16
+#define IRP_MJ_SYSTEM_CONTROL             0x17
+#define IRP_MJ_DEVICE_CHANGE              0x18
+#define IRP_MJ_QUERY_QUOTA                0x19
+#define IRP_MJ_SET_QUOTA                  0x1a
+#define IRP_MJ_PNP                        0x1b
+
+#define IRP_QUOTA_CHARGED               0x01
+#define IRP_ALLOCATED_MUST_SUCCEED      0x02
+#define IRP_ALLOCATED_FIXED_SIZE        0x04
+#define IRP_LOOKASIDE_ALLOCATION        0x08
 
 typedef struct _DEVICE_OBJECT {
   CSHORT  Type;
@@ -660,6 +715,11 @@ typedef NTSTATUS (WINAPI *PIO_COMPLETION_ROUTINE)(
   IN struct _IRP  *Irp,
   IN PVOID  Context);
 
+#define SL_PENDING_RETURNED             0x01
+#define SL_INVOKE_ON_CANCEL             0x20
+#define SL_INVOKE_ON_SUCCESS            0x40
+#define SL_INVOKE_ON_ERROR              0x80
+
 #include <pshpack1.h>
 typedef struct _IO_STACK_LOCATION {
   UCHAR  MajorFunction;
-- 
1.5.4.5.GIT



More information about the wine-patches mailing list