branch update for HEAD-2003091401
[reactos.git] / include / ddk / ketypes.h
index 31e31e4..70fde56 100644 (file)
@@ -3,72 +3,14 @@
 #ifndef __INCLUDE_DDK_KETYPES_H
 #define __INCLUDE_DDK_KETYPES_H
 
-#define MB_FLAGS_MEM_INFO         (0x1)
-#define MB_FLAGS_BOOT_DEVICE      (0x2)
-#define MB_FLAGS_COMMAND_LINE     (0x4)
-#define MB_FLAGS_MODULE_INFO      (0x8)
-#define MB_FLAGS_AOUT_SYMS        (0x10)
-#define MB_FLAGS_ELF_SYMS         (0x20)
-#define MB_FLAGS_MMAP_INFO        (0x40)
-#define MB_FLAGS_DRIVES_INFO      (0x80)
-#define MB_FLAGS_CONFIG_TABLE     (0x100)
-#define MB_FLAGS_BOOT_LOADER_NAME (0x200)
-#define MB_FLAGS_APM_TABLE        (0x400)
-#define MB_FLAGS_GRAPHICS_TABLE   (0x800)
-
-typedef struct _LOADER_MODULE
-{
-   ULONG ModStart;
-   ULONG ModEnd;
-   ULONG String;
-   ULONG Reserved;
-} LOADER_MODULE, *PLOADER_MODULE;
-
-typedef struct _ADDRESS_RANGE
-{
-   ULONG BaseAddrLow;
-   ULONG BaseAddrHigh;
-   ULONG LengthLow;
-   ULONG LengthHigh;
-   ULONG Type;
-} ADDRESS_RANGE, *PADDRESS_RANGE;
-
-typedef struct _LOADER_PARAMETER_BLOCK
-{
-   ULONG Flags;
-   ULONG MemLower;
-   ULONG MemHigher;
-   ULONG BootDevice;
-   ULONG CommandLine;
-   ULONG ModsCount;
-   ULONG ModsAddr;
-   UCHAR Syms[12];
-   ULONG MmapLength;
-   ULONG MmapAddr;
-   ULONG DrivesCount;
-   ULONG DrivesAddr;
-   ULONG ConfigTable;
-   ULONG BootLoaderName;
-} LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
-
-#ifdef __NTOSKRNL__
-extern CHAR EXPORTED KeNumberProcessors;
-extern LOADER_PARAMETER_BLOCK EXPORTED KeLoaderBlock;
-extern ULONG EXPORTED KeDcacheFlushCount;
-extern ULONG EXPORTED KeIcacheFlushCount;
-#else
-extern CHAR IMPORTED KeNumberProcessors;
-extern LOADER_PARAMETER_BLOCK IMPORTED KeLoaderBlock;
-extern ULONG EXPORTED KeDcacheFlushCount;
-extern ULONG EXPORTED KeIcacheFlushCount;
-#endif
-
-
+/* include ntos/ketypes.h here? */
 
 struct _KMUTANT;
 
 typedef LONG KPRIORITY;
 
+typedef LONG FLONG;
+
 typedef VOID STDCALL_FUNC
 (*PKBUGCHECK_CALLBACK_ROUTINE)(PVOID Buffer, ULONG Length);
 
@@ -122,8 +64,8 @@ typedef struct _KQUEUE
 {
    DISPATCHER_HEADER Header;
    LIST_ENTRY        EntryListHead;
-   ULONG             RunningThreads;
-   ULONG             MaximumThreads;
+   ULONG             CurrentCount;
+   ULONG             MaximumCount;
    LIST_ENTRY        ThreadListHead;
 } KQUEUE, *PKQUEUE;
 
@@ -138,20 +80,15 @@ typedef struct _KTIMER
     LONG Period;
 } KTIMER, *PKTIMER;
 
-struct _KSPIN_LOCK;
-
-typedef struct _KSPIN_LOCK
-{
-   ULONG Lock;
-} KSPIN_LOCK, *PKSPIN_LOCK;
+typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
 
 typedef struct _KDEVICE_QUEUE
 {
-   CSHORT Type;
-   CSHORT Size;
-   LIST_ENTRY ListHead;
-   KSPIN_LOCK Lock;
-   BOOLEAN Busy;
+  CSHORT Type;
+  CSHORT Size;
+  LIST_ENTRY DeviceListHead;
+  KSPIN_LOCK Lock;
+  BOOLEAN Busy;
 } KDEVICE_QUEUE, *PKDEVICE_QUEUE;
 
 
@@ -249,8 +186,8 @@ typedef struct _KDPC
 
 typedef struct _KDEVICE_QUEUE_ENTRY
 {
-   LIST_ENTRY Entry;
-   ULONG Key;
+   LIST_ENTRY DeviceListEntry;
+   ULONG SortKey;
    BOOLEAN Inserted;
 } KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY;
 
@@ -271,19 +208,6 @@ typedef BOOLEAN STDCALL_FUNC
 (*PKSERVICE_ROUTINE)(struct _KINTERRUPT* Interrupt,
                     PVOID ServiceContext);
 
-typedef struct _KINTERRUPT
-{
-   ULONG Vector;
-   KAFFINITY ProcessorEnableMask;
-   PKSPIN_LOCK IrqLock;
-   BOOLEAN Shareable;
-   BOOLEAN FloatingSave;
-   PKSERVICE_ROUTINE ServiceRoutine;
-   PVOID ServiceContext;
-   LIST_ENTRY Entry;
-   KIRQL SynchLevel;
-} KINTERRUPT, *PKINTERRUPT;
-
 typedef struct _KSYSTEM_TIME
 {
    ULONG LowPart;
@@ -293,4 +217,27 @@ typedef struct _KSYSTEM_TIME
 
 typedef struct _EPROCESS EPROCESS, *PEPROCESS;
 
+typedef HANDLE HSEMAPHORE;
+
+typedef HANDLE HDRVOBJ;
+
+typedef LONG FLOAT_LONG, *PFLOAT_LONG;
+
+typedef LONG FLOATL;
+
+typedef LONG FIX; /* fixed-point number */
+
+/* copied from W32API */
+typedef struct _KFLOATING_SAVE
+{
+  ULONG  ControlWord;
+  ULONG  StatusWord;
+  ULONG  ErrorOffset;
+  ULONG  ErrorSelector;
+  ULONG  DataOffset;
+  ULONG  DataSelector;
+  ULONG  Cr0NpxState;
+  ULONG  Spare1;
+} KFLOATING_SAVE, *PKFLOATING_SAVE;
+
 #endif /* __INCLUDE_DDK_KETYPES_H */