ReactOS 0.4.16-dev-303-g11d5cb8
prefix.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _RX_CONNECTION_ID
 
struct  _RX_PREFIX_ENTRY
 
struct  _RX_PREFIX_TABLE
 

Macros

#define RX_PREFIX_TABLE_DEFAULT_LENGTH   32
 
#define RxAcquirePrefixTableLockShared(T, W)   RxpAcquirePrefixTableLockShared((T),(W),TRUE)
 
#define RxAcquirePrefixTableLockExclusive(T, W)   RxpAcquirePrefixTableLockExclusive((T), (W), TRUE)
 
#define RxReleasePrefixTableLock(T)   RxpReleasePrefixTableLock((T), TRUE)
 
#define RxIsPrefixTableLockExclusive(T)   ExIsResourceAcquiredExclusiveLite(&(T)->TableLock)
 
#define RxIsPrefixTableLockAcquired(T)
 

Typedefs

typedef struct _RX_CONNECTION_ID RX_CONNECTION_ID
 
typedef struct _RX_CONNECTION_IDPRX_CONNECTION_ID
 
typedef struct _RX_PREFIX_ENTRY RX_PREFIX_ENTRY
 
typedef struct _RX_PREFIX_ENTRYPRX_PREFIX_ENTRY
 
typedef struct _RX_PREFIX_TABLE RX_PREFIX_TABLE
 
typedef struct _RX_PREFIX_TABLEPRX_PREFIX_TABLE
 

Functions

ULONG RxTableComputeHashValue (_In_ PUNICODE_STRING Name)
 
PVOID RxPrefixTableLookupName (_In_ PRX_PREFIX_TABLE ThisTable, _In_ PUNICODE_STRING CanonicalName, _Out_ PUNICODE_STRING RemainingName, _In_ PRX_CONNECTION_ID ConnectionId)
 
PRX_PREFIX_ENTRY RxPrefixTableInsertName (_Inout_ PRX_PREFIX_TABLE ThisTable, _Inout_ PRX_PREFIX_ENTRY ThisEntry, _In_ PVOID Container, _In_ PULONG ContainerRefCount, _In_ USHORT CaseInsensitiveLength, _In_ PRX_CONNECTION_ID ConnectionId)
 
VOID RxRemovePrefixTableEntry (_Inout_ PRX_PREFIX_TABLE ThisTable, _Inout_ PRX_PREFIX_ENTRY Entry)
 
VOID RxInitializePrefixTable (_Inout_ PRX_PREFIX_TABLE ThisTable, _In_opt_ ULONG TableSize, _In_ BOOLEAN CaseInsensitiveMatch)
 
BOOLEAN RxpAcquirePrefixTableLockShared (_In_ PRX_PREFIX_TABLE pTable, _In_ BOOLEAN Wait, _In_ BOOLEAN ProcessBufferingStateChangeRequests)
 
BOOLEAN RxpAcquirePrefixTableLockExclusive (_In_ PRX_PREFIX_TABLE pTable, _In_ BOOLEAN Wait, _In_ BOOLEAN ProcessBufferingStateChangeRequests)
 
VOID RxpReleasePrefixTableLock (_In_ PRX_PREFIX_TABLE pTable, _In_ BOOLEAN ProcessBufferingStateChangeRequests)
 
VOID RxExclusivePrefixTableLockToShared (_In_ PRX_PREFIX_TABLE Table)
 

Macro Definition Documentation

◆ RX_PREFIX_TABLE_DEFAULT_LENGTH

#define RX_PREFIX_TABLE_DEFAULT_LENGTH   32

Definition at line 60 of file prefix.h.

◆ RxAcquirePrefixTableLockExclusive

#define RxAcquirePrefixTableLockExclusive (   T,
  W 
)    RxpAcquirePrefixTableLockExclusive((T), (W), TRUE)

Definition at line 83 of file prefix.h.

◆ RxAcquirePrefixTableLockShared

#define RxAcquirePrefixTableLockShared (   T,
  W 
)    RxpAcquirePrefixTableLockShared((T),(W),TRUE)

Definition at line 82 of file prefix.h.

◆ RxIsPrefixTableLockAcquired

#define RxIsPrefixTableLockAcquired (   T)
Value:
(ExIsResourceAcquiredSharedLite(&(T)->TableLock) || \
ExIsResourceAcquiredExclusiveLite(&(T)->TableLock))
#define T
Definition: mbstring.h:31
ULONG NTAPI ExIsResourceAcquiredSharedLite(IN PERESOURCE Resource)
Definition: resource.c:1663

Definition at line 113 of file prefix.h.

◆ RxIsPrefixTableLockExclusive

#define RxIsPrefixTableLockExclusive (   T)    ExIsResourceAcquiredExclusiveLite(&(T)->TableLock)

Definition at line 112 of file prefix.h.

◆ RxReleasePrefixTableLock

#define RxReleasePrefixTableLock (   T)    RxpReleasePrefixTableLock((T), TRUE)

Definition at line 84 of file prefix.h.

Typedef Documentation

◆ PRX_CONNECTION_ID

◆ PRX_PREFIX_ENTRY

◆ PRX_PREFIX_TABLE

◆ RX_CONNECTION_ID

◆ RX_PREFIX_ENTRY

◆ RX_PREFIX_TABLE

Function Documentation

◆ RxExclusivePrefixTableLockToShared()

VOID RxExclusivePrefixTableLockToShared ( _In_ PRX_PREFIX_TABLE  Table)

◆ RxInitializePrefixTable()

VOID RxInitializePrefixTable ( _Inout_ PRX_PREFIX_TABLE  ThisTable,
_In_opt_ ULONG  TableSize,
_In_ BOOLEAN  CaseInsensitiveMatch 
)

Referenced by RxRegisterMinirdr().

◆ RxpAcquirePrefixTableLockExclusive()

BOOLEAN RxpAcquirePrefixTableLockExclusive ( _In_ PRX_PREFIX_TABLE  pTable,
_In_ BOOLEAN  Wait,
_In_ BOOLEAN  ProcessBufferingStateChangeRequests 
)

◆ RxpAcquirePrefixTableLockShared()

BOOLEAN RxpAcquirePrefixTableLockShared ( _In_ PRX_PREFIX_TABLE  pTable,
_In_ BOOLEAN  Wait,
_In_ BOOLEAN  ProcessBufferingStateChangeRequests 
)

◆ RxPrefixTableInsertName()

PRX_PREFIX_ENTRY RxPrefixTableInsertName ( _Inout_ PRX_PREFIX_TABLE  ThisTable,
_Inout_ PRX_PREFIX_ENTRY  ThisEntry,
_In_ PVOID  Container,
_In_ PULONG  ContainerRefCount,
_In_ USHORT  CaseInsensitiveLength,
_In_ PRX_CONNECTION_ID  ConnectionId 
)

◆ RxPrefixTableLookupName()

PVOID RxPrefixTableLookupName ( _In_ PRX_PREFIX_TABLE  ThisTable,
_In_ PUNICODE_STRING  CanonicalName,
_Out_ PUNICODE_STRING  RemainingName,
_In_ PRX_CONNECTION_ID  ConnectionId 
)

◆ RxpReleasePrefixTableLock()

VOID RxpReleasePrefixTableLock ( _In_ PRX_PREFIX_TABLE  pTable,
_In_ BOOLEAN  ProcessBufferingStateChangeRequests 
)

◆ RxRemovePrefixTableEntry()

VOID RxRemovePrefixTableEntry ( _Inout_ PRX_PREFIX_TABLE  ThisTable,
_Inout_ PRX_PREFIX_ENTRY  Entry 
)

◆ RxTableComputeHashValue()

ULONG RxTableComputeHashValue ( _In_ PUNICODE_STRING  Name)