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
{
{
LONG OwnerCount;
ULONG TableSize;
- } a;
+ }; /* anon */
} OWNER_ENTRY, *POWNER_ENTRY;
typedef struct _ERESOURCE
{
PVOID Address;
ULONG CreatorBackTraceIndex;
- } a;
+ }; /* anon */
KSPIN_LOCK SpinLock;
} ERESOURCE, *PERESOURCE;
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
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;
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;
LIST_ENTRY ListEntry;
ULONG LastTotalAllocates;
ULONG LastAllocateMisses;
- FAST_MUTEX Lock;
+ FAST_MUTEX Obsoleted;
} PAGED_LOOKASIDE_LIST, *PPAGED_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 */