ReactOS  0.4.12-dev-418-g3df31a8
extypes.h File Reference

Go to the source code of this file.

Classes

struct  _GENERAL_LOOKASIDE
 
struct  _GENERAL_LOOKASIDE_POOL
 
struct  _PAGED_LOOKASIDE_LIST
 
struct  _NPAGED_LOOKASIDE_LIST
 
struct  _LOOKASIDE_LIST_EX
 
struct  _EX_RUNDOWN_REF
 
struct  _WORK_QUEUE_ITEM
 
struct  _OWNER_ENTRY
 
struct  _ERESOURCE
 
struct  _RESOURCE_HASH_ENTRY
 
struct  _RESOURCE_PERFORMANCE_DATA
 
struct  _ZONE_HEADER
 

Macros

#define EX_RUNDOWN_ACTIVE   0x1
 
#define EX_RUNDOWN_COUNT_SHIFT   0x1
 
#define EX_RUNDOWN_COUNT_INC   (1 << EX_RUNDOWN_COUNT_SHIFT)
 
#define LOOKASIDE_ALIGN   DECLSPEC_CACHEALIGN
 
#define GENERAL_LOOKASIDE_LAYOUT
 
#define LOOKASIDE_CHECK(f)   C_ASSERT(FIELD_OFFSET(GENERAL_LOOKASIDE,f) == FIELD_OFFSET(GENERAL_LOOKASIDE_POOL,f))
 
#define LOOKASIDE_MINIMUM_BLOCK_SIZE   (RTL_SIZEOF_THROUGH_FIELD (SLIST_ENTRY, Next))
 
#define EX_LOOKASIDE_LIST_EX_FLAGS_RAISE_ON_FAIL   0x00000001UL
 
#define EX_LOOKASIDE_LIST_EX_FLAGS_FAIL_NO_RAISE   0x00000002UL
 
#define EX_MAXIMUM_LOOKASIDE_DEPTH_BASE   256
 
#define EX_MAXIMUM_LOOKASIDE_DEPTH_LIMIT   1024
 
#define ResourceNeverExclusive   0x0010
 
#define ResourceReleaseByOtherThread   0x0020
 
#define ResourceOwnedExclusive   0x0080
 
#define RESOURCE_HASH_TABLE_SIZE   64
 
#define IF_NTOS_DEBUG(FlagName)   if(FALSE)
 
#define PROTECTED_POOL   0x80000000
 
#define INVALID_PROCESSOR_INDEX   0xffffffff
 
#define EX_PUSH_LOCK   ULONG_PTR
 
#define PEX_PUSH_LOCK   PULONG_PTR
 

Typedefs

typedef enum _SUITE_TYPE SUITE_TYPE
 
typedef enum _EX_POOL_PRIORITY EX_POOL_PRIORITY
 
typedef struct _LOOKASIDE_LIST_EXPLOOKASIDE_LIST_EX
 
typedef CALLBACK_FUNCTIONPCALLBACK_FUNCTION
 
typedef struct LOOKASIDE_ALIGN _GENERAL_LOOKASIDE GENERAL_LOOKASIDE
 
typedef struct LOOKASIDE_ALIGN _GENERAL_LOOKASIDEPGENERAL_LOOKASIDE
 
typedef struct _GENERAL_LOOKASIDE_POOL GENERAL_LOOKASIDE_POOL
 
typedef struct _GENERAL_LOOKASIDE_POOLPGENERAL_LOOKASIDE_POOL
 
typedef struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST PAGED_LOOKASIDE_LIST
 
typedef struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LISTPPAGED_LOOKASIDE_LIST
 
typedef struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
 
typedef struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LISTPNPAGED_LOOKASIDE_LIST
 
typedef struct _LOOKASIDE_LIST_EX LOOKASIDE_LIST_EX
 
typedef struct _EX_RUNDOWN_REF EX_RUNDOWN_REF
 
typedef struct _EX_RUNDOWN_REFPEX_RUNDOWN_REF
 
typedef struct _EX_RUNDOWN_REF_CACHE_AWAREPEX_RUNDOWN_REF_CACHE_AWARE
 
typedef enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
 
typedef WORKER_THREAD_ROUTINE * PWORKER_THREAD_ROUTINE
 
typedef struct _WORK_QUEUE_ITEM WORK_QUEUE_ITEM
 
typedef struct _WORK_QUEUE_ITEMPWORK_QUEUE_ITEM
 
typedef ULONG_PTR ERESOURCE_THREAD
 
typedef ULONG_PTRPERESOURCE_THREAD
 
typedef struct _OWNER_ENTRY OWNER_ENTRY
 
typedef struct _OWNER_ENTRYPOWNER_ENTRY
 
typedef struct _ERESOURCE ERESOURCE
 
typedef struct _ERESOURCEPERESOURCE
 
typedef struct _RESOURCE_HASH_ENTRY RESOURCE_HASH_ENTRY
 
typedef struct _RESOURCE_HASH_ENTRYPRESOURCE_HASH_ENTRY
 
typedef struct _RESOURCE_PERFORMANCE_DATA RESOURCE_PERFORMANCE_DATA
 
typedef struct _RESOURCE_PERFORMANCE_DATAPRESOURCE_PERFORMANCE_DATA
 
typedef struct _ZONE_HEADER ZONE_HEADER
 
typedef struct _ZONE_HEADERPZONE_HEADER
 

Enumerations

enum  _SUITE_TYPE {
  SmallBusiness, Enterprise, BackOffice, CommunicationServer,
  TerminalServer, SmallBusinessRestricted, EmbeddedNT, DataCenter,
  SingleUserTS, Personal, Blade, EmbeddedRestricted,
  SecurityAppliance, StorageServer, ComputeServer, WHServer,
  MaxSuiteType
}
 
enum  _EX_POOL_PRIORITY {
  LowPoolPriority, LowPoolPrioritySpecialPoolOverrun = 8, LowPoolPrioritySpecialPoolUnderrun = 9, NormalPoolPriority = 16,
  NormalPoolPrioritySpecialPoolOverrun = 24, NormalPoolPrioritySpecialPoolUnderrun = 25, HighPoolPriority = 32, HighPoolPrioritySpecialPoolOverrun = 40,
  HighPoolPrioritySpecialPoolUnderrun = 41
}
 
enum  _WORK_QUEUE_TYPE { CriticalWorkQueue, DelayedWorkQueue, HyperCriticalWorkQueue, MaximumWorkQueue }
 

Functions

 $if (_WDMDDK_||_NTDDK_) $endif(_WDMDDK_||_NTDDK_) $if(_WDMDDK_) typedef struct _FAST_MUTEX
 
_IRQL_requires_same_ _Function_class_ (ALLOCATE_FUNCTION) typedef PVOID(NTAPI *PALLOCATE_FUNCTION)(_In_ POOL_TYPE PoolType
 
_IRQL_requires_same_ _Function_class_ (ALLOCATE_FUNCTION_EX) typedef PVOID(NTAPI *PALLOCATE_FUNCTION_EX)(_In_ POOL_TYPE PoolType
 
_IRQL_requires_same_ _Function_class_ (FREE_FUNCTION) typedef VOID(NTAPI *PFREE_FUNCTION)(_In_ PVOID Buffer)
 
_IRQL_requires_same_ _Function_class_ (FREE_FUNCTION_EX) typedef VOID(NTAPI *PFREE_FUNCTION_EX)(_In_ PVOID Buffer
 
_IRQL_requires_same_ _Function_class_ (CALLBACK_FUNCTION) typedef VOID(NTAPI CALLBACK_FUNCTION)(_In_opt_ PVOID CallbackContext
 
 LOOKASIDE_CHECK (TotalFrees)
 
 LOOKASIDE_CHECK (Tag)
 
 LOOKASIDE_CHECK (Future)
 
_IRQL_requires_same_ _Function_class_ (WORKER_THREAD_ROUTINE) typedef VOID(NTAPI WORKER_THREAD_ROUTINE)(_In_ PVOID Parameter)
 
 $endif (_WDMDDK_) $if(_NTDDK_) typedef struct _ZONE_SEGMENT_HEADER
 

Variables

 FAST_MUTEX
 
PFAST_MUTEX
 
_IRQL_requires_same_ _In_ SIZE_T NumberOfBytes
 
_IRQL_requires_same_ _In_ SIZE_T _In_ ULONG Tag
 
_IRQL_requires_same_ _In_ SIZE_T _In_ ULONG _Inout_ PLOOKASIDE_LIST_EX Lookaside
 
_IRQL_requires_same_ _In_opt_ PVOID Argument1
 
_IRQL_requires_same_ _In_opt_ PVOID _In_opt_ PVOID Argument2
 
 ZONE_SEGMENT_HEADER
 
PZONE_SEGMENT_HEADER
 

Macro Definition Documentation

◆ EX_LOOKASIDE_LIST_EX_FLAGS_FAIL_NO_RAISE

#define EX_LOOKASIDE_LIST_EX_FLAGS_FAIL_NO_RAISE   0x00000002UL

Definition at line 172 of file extypes.h.

◆ EX_LOOKASIDE_LIST_EX_FLAGS_RAISE_ON_FAIL

#define EX_LOOKASIDE_LIST_EX_FLAGS_RAISE_ON_FAIL   0x00000001UL

Definition at line 171 of file extypes.h.

◆ EX_MAXIMUM_LOOKASIDE_DEPTH_BASE

#define EX_MAXIMUM_LOOKASIDE_DEPTH_BASE   256

Definition at line 174 of file extypes.h.

◆ EX_MAXIMUM_LOOKASIDE_DEPTH_LIMIT

#define EX_MAXIMUM_LOOKASIDE_DEPTH_LIMIT   1024

Definition at line 175 of file extypes.h.

◆ EX_PUSH_LOCK

◆ EX_RUNDOWN_ACTIVE

#define EX_RUNDOWN_ACTIVE   0x1

◆ EX_RUNDOWN_COUNT_INC

#define EX_RUNDOWN_COUNT_INC   (1 << EX_RUNDOWN_COUNT_SHIFT)

◆ EX_RUNDOWN_COUNT_SHIFT

#define EX_RUNDOWN_COUNT_SHIFT   0x1

◆ GENERAL_LOOKASIDE_LAYOUT

#define GENERAL_LOOKASIDE_LAYOUT

Definition at line 98 of file extypes.h.

◆ IF_NTOS_DEBUG

#define IF_NTOS_DEBUG (   FlagName)    if(FALSE)

Definition at line 277 of file extypes.h.

◆ INVALID_PROCESSOR_INDEX

#define INVALID_PROCESSOR_INDEX   0xffffffff

◆ LOOKASIDE_ALIGN

#define LOOKASIDE_ALIGN   DECLSPEC_CACHEALIGN

Definition at line 54 of file extypes.h.

◆ LOOKASIDE_CHECK

Definition at line 142 of file extypes.h.

◆ LOOKASIDE_MINIMUM_BLOCK_SIZE

#define LOOKASIDE_MINIMUM_BLOCK_SIZE   (RTL_SIZEOF_THROUGH_FIELD (SLIST_ENTRY, Next))

Definition at line 163 of file extypes.h.

◆ PEX_PUSH_LOCK

◆ PROTECTED_POOL

#define PROTECTED_POOL   0x80000000

Definition at line 294 of file extypes.h.

◆ RESOURCE_HASH_TABLE_SIZE

#define RESOURCE_HASH_TABLE_SIZE   64

Definition at line 249 of file extypes.h.

◆ ResourceNeverExclusive

#define ResourceNeverExclusive   0x0010

Definition at line 245 of file extypes.h.

◆ ResourceOwnedExclusive

#define ResourceOwnedExclusive   0x0080

Definition at line 247 of file extypes.h.

◆ ResourceReleaseByOtherThread

#define ResourceReleaseByOtherThread   0x0020

Definition at line 246 of file extypes.h.

Typedef Documentation

◆ ERESOURCE

◆ ERESOURCE_THREAD

Definition at line 208 of file extypes.h.

◆ EX_POOL_PRIORITY

◆ EX_RUNDOWN_REF

◆ GENERAL_LOOKASIDE

◆ GENERAL_LOOKASIDE_POOL

◆ LOOKASIDE_LIST_EX

◆ NPAGED_LOOKASIDE_LIST

◆ OWNER_ENTRY

◆ PAGED_LOOKASIDE_LIST

◆ PCALLBACK_FUNCTION

Definition at line 96 of file extypes.h.

◆ PERESOURCE

◆ PERESOURCE_THREAD

Definition at line 208 of file extypes.h.

◆ PEX_RUNDOWN_REF

◆ PEX_RUNDOWN_REF_CACHE_AWARE

◆ PGENERAL_LOOKASIDE

◆ PGENERAL_LOOKASIDE_POOL

◆ PLOOKASIDE_LIST_EX

Definition at line 57 of file extypes.h.

◆ PNPAGED_LOOKASIDE_LIST

◆ POWNER_ENTRY

◆ PPAGED_LOOKASIDE_LIST

◆ PRESOURCE_HASH_ENTRY

◆ PRESOURCE_PERFORMANCE_DATA

◆ PWORK_QUEUE_ITEM

◆ PWORKER_THREAD_ROUTINE

typedef WORKER_THREAD_ROUTINE* PWORKER_THREAD_ROUTINE

Definition at line 200 of file extypes.h.

◆ PZONE_HEADER

◆ RESOURCE_HASH_ENTRY

◆ RESOURCE_PERFORMANCE_DATA

◆ SUITE_TYPE

◆ WORK_QUEUE_ITEM

◆ WORK_QUEUE_TYPE

◆ ZONE_HEADER

Enumeration Type Documentation

◆ _EX_POOL_PRIORITY

Enumerator
LowPoolPriority 
LowPoolPrioritySpecialPoolOverrun 
LowPoolPrioritySpecialPoolUnderrun 
NormalPoolPriority 
NormalPoolPrioritySpecialPoolOverrun 
NormalPoolPrioritySpecialPoolUnderrun 
HighPoolPriority 
HighPoolPrioritySpecialPoolOverrun 
HighPoolPrioritySpecialPoolUnderrun 

Definition at line 39 of file extypes.h.

◆ _SUITE_TYPE

Enumerator
SmallBusiness 
Enterprise 
BackOffice 
CommunicationServer 
TerminalServer 
SmallBusinessRestricted 
EmbeddedNT 
DataCenter 
SingleUserTS 
Personal 
Blade 
EmbeddedRestricted 
SecurityAppliance 
StorageServer 
ComputeServer 
WHServer 
MaxSuiteType 

Definition at line 19 of file extypes.h.

◆ _WORK_QUEUE_TYPE

Enumerator
CriticalWorkQueue 
DelayedWorkQueue 
HyperCriticalWorkQueue 
MaximumWorkQueue 

Definition at line 188 of file extypes.h.

Function Documentation

◆ $endif()

$endif ( _WDMDDK_  )

Definition at line 280 of file extypes.h.

282  {
283  SINGLE_LIST_ENTRY SegmentList;
284  PVOID Reserved;
ZONE_SEGMENT_HEADER
Definition: extypes.h:285
Definition: ntbasedef.h:635
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
* PZONE_SEGMENT_HEADER
Definition: extypes.h:285

◆ $if()

$if ( _WDMDDK_||  _NTDDK_)

Definition at line 1 of file extypes.h.

11  {
12  volatile LONG Count;
14  ULONG Contention;
15  KEVENT Event;
16  ULONG OldIrql;
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
long LONG
Definition: pedump.c:60
_In_ PVOID _In_ ULONG Event
Definition: iotypes.h:434
FAST_MUTEX
Definition: extypes.h:17
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:803
* PFAST_MUTEX
Definition: extypes.h:17
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
Definition: rtlfuncs.h:1557
unsigned int ULONG
Definition: retypes.h:1

◆ _Function_class_() [1/6]

_IRQL_requires_same_ _Function_class_ ( ALLOCATE_FUNCTION  )

◆ _Function_class_() [2/6]

_IRQL_requires_same_ _Function_class_ ( ALLOCATE_FUNCTION_EX  )

◆ _Function_class_() [3/6]

_IRQL_requires_same_ _Function_class_ ( FREE_FUNCTION  )

◆ _Function_class_() [4/6]

_IRQL_requires_same_ _Function_class_ ( FREE_FUNCTION_EX  )

◆ _Function_class_() [5/6]

_IRQL_requires_same_ _Function_class_ ( CALLBACK_FUNCTION  )

◆ _Function_class_() [6/6]

_IRQL_requires_same_ _Function_class_ ( WORKER_THREAD_ROUTINE  )

Definition at line 1005 of file registry.c.

1007  {
1008 #else
1009 static void registry_work_item(PVOID Parameter) {
1010 #endif
1011  NTSTATUS Status;
1012  HANDLE regh = (HANDLE)Parameter;
1014 
1015  TRACE("registry changed\n");
1016 
1018 
1019  Status = ZwNotifyChangeKey(regh, NULL, (PVOID)&wqi, (PVOID)DelayedWorkQueue, &iosb, REG_NOTIFY_CHANGE_LAST_SET, TRUE, NULL, 0, TRUE);
1020  if (!NT_SUCCESS(Status))
1021  ERR("ZwNotifyChangeKey returned %08x\n", Status);
1022 }
static PIO_STATUS_BLOCK iosb
Definition: file.c:98
#define TRUE
Definition: types.h:120
WORK_QUEUE_ITEM wqi
Definition: registry.c:32
LONG NTSTATUS
Definition: precomp.h:26
_In_ PVOID Parameter
Definition: ldrtypes.h:239
smooth NULL
Definition: ftsmooth.c:416
#define REG_NOTIFY_CHANGE_LAST_SET
Definition: winreg.h:40
#define TRACE(s)
Definition: solgame.cpp:4
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:24
PVOID HANDLE
Definition: typedefs.h:71
UNICODE_STRING registry_path
Definition: btrfs.c:85
Status
Definition: gdiplustypes.h:24
#define ERR(fmt,...)
Definition: debug.h:109
void read_registry(PUNICODE_STRING regpath, BOOL refresh)
Definition: registry.c:763

◆ LOOKASIDE_CHECK() [1/3]

LOOKASIDE_CHECK ( TotalFrees  )

◆ LOOKASIDE_CHECK() [2/3]

LOOKASIDE_CHECK ( Tag  )

◆ LOOKASIDE_CHECK() [3/3]

LOOKASIDE_CHECK ( Future  )

Variable Documentation

◆ Argument1

Definition at line 94 of file extypes.h.

◆ Argument2

Definition at line 94 of file extypes.h.

◆ FAST_MUTEX

FAST_MUTEX

◆ Lookaside

Definition at line 72 of file extypes.h.

◆ NumberOfBytes

Definition at line 64 of file extypes.h.

◆ PFAST_MUTEX

◆ PZONE_SEGMENT_HEADER

* PZONE_SEGMENT_HEADER

Definition at line 285 of file extypes.h.

Referenced by ExExtendZone(), and ExInitializeZone().

◆ Tag

Definition at line 64 of file extypes.h.

◆ ZONE_SEGMENT_HEADER

ZONE_SEGMENT_HEADER

Definition at line 285 of file extypes.h.

Referenced by ExExtendZone(), ExInitializeZone(), and UDFInitializeZones().