update for HEAD-2003091401
[reactos.git] / include / ddk / extypes.h
index ee53a99..93f8341 100644 (file)
@@ -7,16 +7,18 @@
 extern POBJECT_TYPE EXPORTED ExDesktopObjectType;
 extern POBJECT_TYPE EXPORTED ExEventObjectType;
 extern POBJECT_TYPE EXPORTED ExWindowStationObjectType;
+extern POBJECT_TYPE EXPORTED ExIoCompletionType;
 #else
 extern POBJECT_TYPE IMPORTED ExDesktopObjectType;
 extern POBJECT_TYPE IMPORTED ExEventObjectType;
 extern POBJECT_TYPE IMPORTED ExWindowStationObjectType;
+extern POBJECT_TYPE IMPORTED ExIoCompletionType;
 #endif
 
 typedef ULONG INTERLOCKED_RESULT;
 typedef ULONG WORK_QUEUE_TYPE;
 
-typedef ULONG ERESOURCE_THREAD, *PERESOURCE_THREAD;
+typedef ULONG_PTR ERESOURCE_THREAD, *PERESOURCE_THREAD;
 
 typedef struct _OWNER_ENTRY
 {
@@ -25,7 +27,7 @@ typedef struct _OWNER_ENTRY
      {
        LONG OwnerCount;
        ULONG TableSize;
-     } a;
+     }; /* anon */
 } OWNER_ENTRY, *POWNER_ENTRY;
 
 typedef struct _ERESOURCE
@@ -44,7 +46,7 @@ typedef struct _ERESOURCE
      {
        PVOID Address;
        ULONG CreatorBackTraceIndex;
-     } a;
+     }; /* anon */
    KSPIN_LOCK SpinLock;
 } ERESOURCE, *PERESOURCE;
 
@@ -66,34 +68,33 @@ typedef struct _ZONE_HEADER
    ULONG TotalSegmentSize;
 } ZONE_HEADER, *PZONE_HEADER;
 
-typedef struct _ZONE_SEGMENT
+typedef struct _ZONE_SEGMENT_HEADER
 {
-   SINGLE_LIST_ENTRY Entry;
-   ULONG size;
-} ZONE_SEGMENT, *PZONE_SEGMENT;
+   SINGLE_LIST_ENTRY SegmentList; /* was Entry */
+   PVOID Reserved;  /* was ULONG Size; */
+} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;
 
-typedef struct _ZONE_ENTRY
-{
-   SINGLE_LIST_ENTRY Entry;
-} ZONE_ENTRY, *PZONE_ENTRY;
 
 
-typedef VOID STDCALL
+typedef VOID STDCALL_FUNC
 (*PWORKER_THREAD_ROUTINE)(PVOID Parameter);
 
+
+/* Modified by Andrew Greenwood, 16th July 2003: */
+
 typedef struct _WORK_QUEUE_ITEM
 {
-   LIST_ENTRY Entry;
-   PWORKER_THREAD_ROUTINE Routine;
-   PVOID Context;
+   LIST_ENTRY List;
+   PWORKER_THREAD_ROUTINE WorkerRoutine;
+   PVOID Parameter;
 } WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;
 
-typedef PVOID STDCALL
+typedef PVOID STDCALL_FUNC
 (*PALLOCATE_FUNCTION)(POOL_TYPE PoolType,
                      ULONG NumberOfBytes,
                      ULONG Tag);
 
-typedef VOID STDCALL
+typedef VOID STDCALL_FUNC
 (*PFREE_FUNCTION)(PVOID Buffer);
 
 typedef union _SLIST_HEADER
@@ -104,13 +105,13 @@ typedef union _SLIST_HEADER
        SINGLE_LIST_ENTRY Next;
        USHORT Depth;
        USHORT Sequence;        
-     } s;
+     }; /* now anonymous */
 } SLIST_HEADER, *PSLIST_HEADER;
 
 typedef struct _NPAGED_LOOKASIDE_LIST
 {
    SLIST_HEADER ListHead;
-   USHORT MinimumDepth;
+   USHORT Depth;
    USHORT MaximumDepth;
    ULONG TotalAllocates;
    ULONG AllocateMisses;
@@ -125,13 +126,13 @@ typedef struct _NPAGED_LOOKASIDE_LIST
    ULONG LastTotalAllocates;
    ULONG LastAllocateMisses;
    ULONG Pad[2];
-   KSPIN_LOCK Lock;
+   KSPIN_LOCK Obsoleted;
 } NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
 
 typedef struct _PAGED_LOOKASIDE_LIST
 {
    SLIST_HEADER ListHead;
-   USHORT MinimumDepth;
+   USHORT Depth;
    USHORT MaximumDepth;
    ULONG TotalAllocates;
    ULONG AllocateMisses;
@@ -145,7 +146,7 @@ typedef struct _PAGED_LOOKASIDE_LIST
    LIST_ENTRY ListEntry;
    ULONG LastTotalAllocates;
    ULONG LastAllocateMisses;
-   FAST_MUTEX Lock;
+   FAST_MUTEX Obsoleted;
 } PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
 
 
@@ -153,86 +154,11 @@ typedef struct _PAGED_LOOKASIDE_LIST
 
 typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
 
-typedef VOID STDCALL
+typedef VOID STDCALL_FUNC
 (*PCALLBACK_FUNCTION)(PVOID CallbackContext,
                      PVOID Argument1,
                      PVOID Argument2);
 
-/* BEGIN REACTOS ONLY */
-
-typedef enum _TRAVERSE_METHOD {
-  TraverseMethodPreorder,
-  TraverseMethodInorder,
-  TraverseMethodPostorder
-} TRAVERSE_METHOD;
-
-typedef LONG STDCALL
-(*PKEY_COMPARATOR)(IN PVOID  Key1,
-  IN PVOID  Key2);
-
-typedef BOOLEAN STDCALL
-(*PTRAVERSE_ROUTINE)(IN PVOID  Context,
-  IN PVOID  Key,
-  IN PVOID  Value);
-
-struct _BINARY_TREE_NODE;
-
-typedef struct _BINARY_TREE
-{
-  struct _BINARY_TREE_NODE  * RootNode;
-  PKEY_COMPARATOR  Compare;
-  BOOLEAN  UseNonPagedPool;
-  union {
-    NPAGED_LOOKASIDE_LIST  NonPaged;
-    PAGED_LOOKASIDE_LIST  Paged;
-  } List;
-  union {
-    KSPIN_LOCK  NonPaged;
-    FAST_MUTEX  Paged;
-  } Lock;
-} BINARY_TREE, *PBINARY_TREE;
-
-
-struct _SPLAY_TREE_NODE;
-
-typedef struct _SPLAY_TREE
-{
-  struct _SPLAY_TREE_NODE  * RootNode;
-  PKEY_COMPARATOR  Compare;
-  BOOLEAN  Weighted;
-  BOOLEAN  UseNonPagedPool;
-  union {
-    NPAGED_LOOKASIDE_LIST  NonPaged;
-    PAGED_LOOKASIDE_LIST  Paged;
-  } List;
-  union {
-    KSPIN_LOCK  NonPaged;
-    FAST_MUTEX  Paged;
-  } Lock;
-  PVOID  Reserved[4];
-} SPLAY_TREE, *PSPLAY_TREE;
-
-
-typedef struct _HASH_TABLE
-{
-  // Size of hash table in number of bits
-  ULONG  HashTableSize;
-
-  // Use non-paged pool memory?
-  BOOLEAN  UseNonPagedPool;
-
-  // Lock for this structure
-  union {
-    KSPIN_LOCK  NonPaged;
-    FAST_MUTEX  Paged;
-  } Lock;
-
-  // Pointer to array of hash buckets with splay trees
-  PSPLAY_TREE  HashTrees;
-} HASH_TABLE, *PHASH_TABLE;
-
-/* END REACTOS ONLY */
-
 #endif /* __INCLUDE_DDK_EXTYPES_H */
 
 /* EOF */