2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/extypes.h
4 * PURPOSE: Definitions for exported Executive Functions not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
13 /* DEPENDENCIES **************************************************************/
15 /* EXPORTED DATA *************************************************************/
16 extern POBJECT_TYPE NTOSAPI ExIoCompletionType
;
17 extern NTOSAPI POBJECT_TYPE ExMutantObjectType
;
18 extern NTOSAPI POBJECT_TYPE ExTimerType
;
20 /* CONSTANTS *****************************************************************/
21 #define INVALID_HANDLE_VALUE (HANDLE)-1
23 /* ENUMERATIONS **************************************************************/
25 typedef enum _HARDERROR_RESPONSE_OPTION
27 OptionAbortRetryIgnore
,
34 } HARDERROR_RESPONSE_OPTION
, *PHARDERROR_RESPONSE_OPTION
;
36 typedef enum _HARDERROR_RESPONSE
38 ResponseReturnToCaller
,
47 } HARDERROR_RESPONSE
, *PHARDERROR_RESPONSE
;
49 /* TYPES *********************************************************************/
51 typedef struct _EX_QUEUE_WORKER_INFO
53 UCHAR QueueDisabled
:1;
54 UCHAR MakeThreadsAsNecessary
:1;
57 } EX_QUEUE_WORKER_INFO
, *PEX_QUEUE_WORKER_INFO
;
59 typedef struct _EX_WORK_QUEUE
62 ULONG DynamicThreadCount
;
63 ULONG WorkItemsProcessed
;
64 ULONG WorkItemsProcessedLastPass
;
65 ULONG QueueDepthLastPass
;
66 EX_QUEUE_WORKER_INFO Info
;
67 } EX_WORK_QUEUE
, *PEX_WORK_QUEUE
;
69 typedef struct _HANDLE_TABLE_ENTRY_INFO
72 } HANDLE_TABLE_ENTRY_INFO
, *PHANDLE_TABLE_ENTRY_INFO
;
74 typedef struct _RUNDOWN_DESCRIPTOR
78 } RUNDOWN_DESCRIPTOR
, *PRUNDOWN_DESCRIPTOR
;
80 typedef struct _HANDLE_TABLE_ENTRY
85 ULONG_PTR ObAttributes
;
86 PHANDLE_TABLE_ENTRY_INFO InfoTable
;
92 USHORT GrantedAccessIndex
;
93 LONG NextFreeTableEntry
;
95 } HANDLE_TABLE_ENTRY
, *PHANDLE_TABLE_ENTRY
;
97 typedef struct _HANDLE_TABLE
101 PHANDLE_TABLE_ENTRY
**Table
;
102 PEPROCESS QuotaProcess
;
103 HANDLE UniqueProcessId
;
104 LONG FirstFreeTableEntry
;
105 LONG NextIndexNeedingPool
;
106 ERESOURCE HandleTableLock
;
107 LIST_ENTRY HandleTableList
;
108 KEVENT HandleContentionEvent
;