- Move more stuff to wdm.h
[reactos.git] / include / ddk / winddk.h
index ac360ca..2153d13 100644 (file)
@@ -407,19 +407,6 @@ typedef VOID
   IN PVOID  Context,
   IN ULONG  Count);
 
-typedef enum _BUS_QUERY_ID_TYPE {
-  BusQueryDeviceID,
-  BusQueryHardwareIDs,
-  BusQueryCompatibleIDs,
-  BusQueryInstanceID,
-  BusQueryDeviceSerialNumber
-} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
-
-typedef enum _DEVICE_TEXT_TYPE {
-  DeviceTextDescription,
-  DeviceTextLocationInformation
-} DEVICE_TEXT_TYPE, *PDEVICE_TEXT_TYPE;
-
 typedef BOOLEAN
 (DDKAPI *PKTRANSFER_ROUTINE)(
   VOID);
@@ -1133,405 +1120,10 @@ typedef union _FILE_SEGMENT_ELEMENT {
 
 #define SE_UNSOLICITED_INPUT_PRIVILEGE    6
 
-#include <pshpack4.h>
-typedef struct _ACCESS_STATE {
-  LUID  OperationID;
-  BOOLEAN  SecurityEvaluated;
-  BOOLEAN  GenerateAudit;
-  BOOLEAN  GenerateOnClose;
-  BOOLEAN  PrivilegesAllocated;
-  ULONG  Flags;
-  ACCESS_MASK  RemainingDesiredAccess;
-  ACCESS_MASK  PreviouslyGrantedAccess;
-  ACCESS_MASK  OriginalDesiredAccess;
-  SECURITY_SUBJECT_CONTEXT  SubjectSecurityContext;
-  PSECURITY_DESCRIPTOR  SecurityDescriptor;
-  PVOID  AuxData;
-  union {
-    INITIAL_PRIVILEGE_SET  InitialPrivilegeSet;
-    PRIVILEGE_SET  PrivilegeSet;
-  } Privileges;
-
-  BOOLEAN  AuditPrivileges;
-  UNICODE_STRING  ObjectName;
-  UNICODE_STRING  ObjectTypeName;
-} ACCESS_STATE, *PACCESS_STATE;
-#include <poppack.h>
-
-typedef struct _IO_SECURITY_CONTEXT {
-  PSECURITY_QUALITY_OF_SERVICE  SecurityQos;
-  PACCESS_STATE  AccessState;
-  ACCESS_MASK  DesiredAccess;
-  ULONG  FullCreateOptions;
-} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;
-
-#define IO_TYPE_ADAPTER                 1
-#define IO_TYPE_CONTROLLER              2
-#define IO_TYPE_DEVICE                  3
-#define IO_TYPE_DRIVER                  4
-#define IO_TYPE_FILE                    5
-#define IO_TYPE_IRP                     6
-#define IO_TYPE_MASTER_ADAPTER          7
-#define IO_TYPE_OPEN_PACKET             8
-#define IO_TYPE_TIMER                   9
-#define IO_TYPE_VPB                     10
-#define IO_TYPE_ERROR_LOG               11
-#define IO_TYPE_ERROR_MESSAGE           12
-#define IO_TYPE_DEVICE_OBJECT_EXTENSION 13
-
-#define IO_TYPE_CSQ_IRP_CONTEXT 1
-#define IO_TYPE_CSQ 2
-
-struct _IO_CSQ;
-
-typedef struct _IO_CSQ_IRP_CONTEXT {
-  ULONG  Type;
-  struct _IRP  *Irp;
-  struct _IO_CSQ  *Csq;
-} IO_CSQ_IRP_CONTEXT, *PIO_CSQ_IRP_CONTEXT;
-
-typedef VOID
-(DDKAPI *PIO_CSQ_INSERT_IRP)(
-  IN struct _IO_CSQ  *Csq,
-  IN PIRP  Irp);
-
-typedef VOID
-(DDKAPI *PIO_CSQ_REMOVE_IRP)(
-  IN struct _IO_CSQ  *Csq,
-  IN PIRP  Irp);
-
-typedef PIRP
-(DDKAPI *PIO_CSQ_PEEK_NEXT_IRP)(
-  IN struct _IO_CSQ  *Csq,
-  IN PIRP  Irp,
-  IN PVOID  PeekContext);
-
-typedef VOID
-(DDKAPI *PIO_CSQ_ACQUIRE_LOCK)(
-  IN  struct _IO_CSQ  *Csq,
-  OUT PKIRQL  Irql);
-
-typedef VOID
-(DDKAPI *PIO_CSQ_RELEASE_LOCK)(
-  IN struct _IO_CSQ  *Csq,
-  IN KIRQL  Irql);
-
-typedef VOID
-(DDKAPI *PIO_CSQ_COMPLETE_CANCELED_IRP)(
-  IN  struct _IO_CSQ  *Csq,
-  IN  PIRP  Irp);
-
-typedef struct _IO_CSQ {
-  ULONG  Type;
-  PIO_CSQ_INSERT_IRP  CsqInsertIrp;
-  PIO_CSQ_REMOVE_IRP  CsqRemoveIrp;
-  PIO_CSQ_PEEK_NEXT_IRP  CsqPeekNextIrp;
-  PIO_CSQ_ACQUIRE_LOCK  CsqAcquireLock;
-  PIO_CSQ_RELEASE_LOCK  CsqReleaseLock;
-  PIO_CSQ_COMPLETE_CANCELED_IRP  CsqCompleteCanceledIrp;
-  PVOID  ReservePointer;
-} IO_CSQ, *PIO_CSQ;
-
-#if !defined(_ALPHA_)
-#include <pshpack4.h>
-#endif
-typedef struct _IO_STACK_LOCATION {
-  UCHAR  MajorFunction;
-  UCHAR  MinorFunction;
-  UCHAR  Flags;
-  UCHAR  Control;
-  union {
-    struct {
-      PIO_SECURITY_CONTEXT  SecurityContext;
-      ULONG  Options;
-      USHORT POINTER_ALIGNMENT  FileAttributes;
-      USHORT  ShareAccess;
-      ULONG POINTER_ALIGNMENT  EaLength;
-    } Create;
-    struct {
-      ULONG  Length;
-      ULONG POINTER_ALIGNMENT  Key;
-      LARGE_INTEGER  ByteOffset;
-    } Read;
-    struct {
-      ULONG  Length;
-      ULONG POINTER_ALIGNMENT  Key;
-      LARGE_INTEGER  ByteOffset;
-    } Write;
-    struct {
-      ULONG  Length;
-      PUNICODE_STRING  FileName;
-      FILE_INFORMATION_CLASS  FileInformationClass;
-      ULONG  FileIndex;
-    } QueryDirectory;
-    struct {
-      ULONG  Length;
-      ULONG  CompletionFilter;
-    } NotifyDirectory;
-    struct {
-      ULONG  Length;
-      FILE_INFORMATION_CLASS POINTER_ALIGNMENT  FileInformationClass;
-    } QueryFile;
-    struct {
-      ULONG  Length;
-      FILE_INFORMATION_CLASS POINTER_ALIGNMENT  FileInformationClass;
-      PFILE_OBJECT  FileObject;
-      _ANONYMOUS_UNION union {
-        _ANONYMOUS_STRUCT struct {
-          BOOLEAN  ReplaceIfExists;
-          BOOLEAN  AdvanceOnly;
-        } DUMMYSTRUCTNAME;
-        ULONG  ClusterCount;
-        HANDLE  DeleteHandle;
-      } DUMMYUNIONNAME;
-    } SetFile;
-    struct {
-      ULONG  Length;
-      PVOID  EaList;
-      ULONG  EaListLength;
-      ULONG  EaIndex;
-    } QueryEa;
-    struct {
-      ULONG  Length;
-    } SetEa;
-    struct {
-      ULONG  Length;
-      FS_INFORMATION_CLASS POINTER_ALIGNMENT  FsInformationClass;
-    } QueryVolume;
-    struct {
-      ULONG  Length;
-      FS_INFORMATION_CLASS  FsInformationClass;
-    } SetVolume;
-    struct {
-      ULONG  OutputBufferLength;
-      ULONG  InputBufferLength;
-      ULONG  FsControlCode;
-      PVOID  Type3InputBuffer;
-    } FileSystemControl;
-    struct {
-      PLARGE_INTEGER  Length;
-      ULONG  Key;
-      LARGE_INTEGER  ByteOffset;
-    } LockControl;
-    struct {
-      ULONG  OutputBufferLength;
-      ULONG POINTER_ALIGNMENT  InputBufferLength;
-      ULONG POINTER_ALIGNMENT  IoControlCode;
-      PVOID  Type3InputBuffer;
-    } DeviceIoControl;
-    struct {
-      SECURITY_INFORMATION  SecurityInformation;
-      ULONG POINTER_ALIGNMENT  Length;
-    } QuerySecurity;
-    struct {
-      SECURITY_INFORMATION  SecurityInformation;
-      PSECURITY_DESCRIPTOR  SecurityDescriptor;
-    } SetSecurity;
-    struct {
-      PVPB  Vpb;
-      PDEVICE_OBJECT  DeviceObject;
-    } MountVolume;
-    struct {
-      PVPB  Vpb;
-      PDEVICE_OBJECT  DeviceObject;
-    } VerifyVolume;
-    struct {
-      struct _SCSI_REQUEST_BLOCK  *Srb;
-    } Scsi;
-    struct {
-      ULONG  Length;
-      PSID  StartSid;
-      struct _FILE_GET_QUOTA_INFORMATION  *SidList;
-      ULONG  SidListLength;
-    } QueryQuota;
-    struct {
-      ULONG  Length;
-    } SetQuota;
-    struct {
-      DEVICE_RELATION_TYPE  Type;
-    } QueryDeviceRelations;
-    struct {
-      CONST GUID  *InterfaceType;
-      USHORT  Size;
-      USHORT  Version;
-      PINTERFACE  Interface;
-      PVOID  InterfaceSpecificData;
-    } QueryInterface;
-    struct {
-      PDEVICE_CAPABILITIES  Capabilities;
-    } DeviceCapabilities;
-    struct {
-      PIO_RESOURCE_REQUIREMENTS_LIST  IoResourceRequirementList;
-    } FilterResourceRequirements;
-    struct {
-      ULONG  WhichSpace;
-      PVOID  Buffer;
-      ULONG  Offset;
-      ULONG POINTER_ALIGNMENT  Length;
-    } ReadWriteConfig;
-    struct {
-      BOOLEAN  Lock;
-    } SetLock;
-    struct {
-      BUS_QUERY_ID_TYPE  IdType;
-    } QueryId;
-    struct {
-      DEVICE_TEXT_TYPE  DeviceTextType;
-      LCID POINTER_ALIGNMENT  LocaleId;
-    } QueryDeviceText;
-    struct {
-      BOOLEAN  InPath;
-      BOOLEAN  Reserved[3];
-      DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT  Type;
-    } UsageNotification;
-    struct {
-      SYSTEM_POWER_STATE  PowerState;
-    } WaitWake;
-    struct {
-      PPOWER_SEQUENCE  PowerSequence;
-    } PowerSequence;
-    struct {
-      ULONG  SystemContext;
-      POWER_STATE_TYPE POINTER_ALIGNMENT  Type;
-      POWER_STATE POINTER_ALIGNMENT  State;
-      POWER_ACTION POINTER_ALIGNMENT  ShutdownType;
-    } Power;
-    struct {
-      PCM_RESOURCE_LIST  AllocatedResources;
-      PCM_RESOURCE_LIST  AllocatedResourcesTranslated;
-    } StartDevice;
-    struct {
-      ULONG_PTR  ProviderId;
-      PVOID  DataPath;
-      ULONG  BufferSize;
-      PVOID  Buffer;
-    } WMI;
-    struct {
-      PVOID  Argument1;
-      PVOID  Argument2;
-      PVOID  Argument3;
-      PVOID  Argument4;
-    } Others;
-  } Parameters;
-  PDEVICE_OBJECT  DeviceObject;
-  PFILE_OBJECT  FileObject;
-  PIO_COMPLETION_ROUTINE  CompletionRoutine;
-  PVOID  Context;
-} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
-#if !defined(_ALPHA_)
-#include <poppack.h>
-#endif
-
-/* IO_STACK_LOCATION.Control */
-
-#define SL_PENDING_RETURNED               0x01
-#define SL_ERROR_RETURNED                 0x02
-#define SL_INVOKE_ON_CANCEL               0x20
-#define SL_INVOKE_ON_SUCCESS              0x40
-#define SL_INVOKE_ON_ERROR                0x80
-
-/* IO_STACK_LOCATION.Parameters.ReadWriteControl.WhichSpace */
-
-#define PCI_WHICHSPACE_CONFIG             0x0
-#define PCI_WHICHSPACE_ROM                0x52696350 /* 'PciR' */
-
-typedef enum _KEY_INFORMATION_CLASS {
-  KeyBasicInformation,
-  KeyNodeInformation,
-  KeyFullInformation,
-  KeyNameInformation,
-  KeyCachedInformation,
-  KeyFlagsInformation
-} KEY_INFORMATION_CLASS;
-
-typedef struct _KEY_BASIC_INFORMATION {
-  LARGE_INTEGER  LastWriteTime;
-  ULONG  TitleIndex;
-  ULONG  NameLength;
-  WCHAR  Name[1];
-} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
-
-typedef struct _KEY_FULL_INFORMATION {
-  LARGE_INTEGER  LastWriteTime;
-  ULONG  TitleIndex;
-  ULONG  ClassOffset;
-  ULONG  ClassLength;
-  ULONG  SubKeys;
-  ULONG  MaxNameLen;
-  ULONG  MaxClassLen;
-  ULONG  Values;
-  ULONG  MaxValueNameLen;
-  ULONG  MaxValueDataLen;
-  WCHAR  Class[1];
-} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
-
-typedef struct _KEY_NODE_INFORMATION {
-  LARGE_INTEGER  LastWriteTime;
-  ULONG  TitleIndex;
-  ULONG  ClassOffset;
-  ULONG  ClassLength;
-  ULONG  NameLength;
-  WCHAR  Name[1];
-} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION;
-
-typedef struct _KEY_VALUE_BASIC_INFORMATION {
-  ULONG  TitleIndex;
-  ULONG  Type;
-  ULONG  NameLength;
-  WCHAR  Name[1];
-} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;
-
-typedef struct _KEY_VALUE_FULL_INFORMATION {
-  ULONG  TitleIndex;
-  ULONG  Type;
-  ULONG  DataOffset;
-  ULONG  DataLength;
-  ULONG  NameLength;
-  WCHAR  Name[1];
-} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;
-
-typedef struct _KEY_VALUE_PARTIAL_INFORMATION {
-  ULONG  TitleIndex;
-  ULONG  Type;
-  ULONG  DataLength;
-  UCHAR  Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
-
-typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 {
-  ULONG  Type;
-  ULONG  DataLength;
-  UCHAR  Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;
-
-typedef struct _KEY_VALUE_ENTRY {
-  PUNICODE_STRING  ValueName;
-  ULONG  DataLength;
-  ULONG  DataOffset;
-  ULONG  Type;
-} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;
-
-typedef enum _KEY_VALUE_INFORMATION_CLASS {
-  KeyValueBasicInformation,
-  KeyValueFullInformation,
-  KeyValuePartialInformation,
-  KeyValueFullInformationAlign64,
-  KeyValuePartialInformationAlign64
-} KEY_VALUE_INFORMATION_CLASS;
-
-typedef struct _KEY_WRITE_TIME_INFORMATION {
-  LARGE_INTEGER  LastWriteTime;
-} KEY_WRITE_TIME_INFORMATION, *PKEY_WRITE_TIME_INFORMATION;
-
 typedef struct _KEY_USER_FLAGS_INFORMATION {
   ULONG  UserFlags;
 } KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;
 
-typedef enum _KEY_SET_INFORMATION_CLASS {
-  KeyWriteTimeInformation,
-  KeyUserFlagsInformation,
-  MaxKeySetInfoClass
-} KEY_SET_INFORMATION_CLASS;
-
 /* KEY_VALUE_Xxx.Type */
 
 #define REG_NONE                           0