ReactOS 0.4.15-dev-7934-g1dc8d80
rxstruc.h File Reference
#include "prefix.h"
#include "lowio.h"
#include "scavengr.h"
#include "rxcontx.h"
#include "fcb.h"
Include dependency graph for rxstruc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _RDBSS_EXPORTS
 
struct  _RDBSS_DATA
 
struct  _RDBSS_STARTSTOP_CONTEXT_
 
struct  _RX_DISPATCHER_CONTEXT_
 
struct  _RDBSS_DEVICE_OBJECT
 

Macros

#define RxSetRdbssState(RxDeviceObject, NewState)
 
#define RxGetRdbssState(RxDeviceObject)   RxDeviceObject->StartStopContext.State
 

Typedefs

typedef struct _RDBSS_EXPORTS RDBSS_EXPORTS
 
typedef struct _RDBSS_EXPORTSPRDBSS_EXPORTS
 
typedef enum _LOCK_HOLDING_STATE LOCK_HOLDING_STATE
 
typedef enum _LOCK_HOLDING_STATEPLOCK_HOLDING_STATE
 
typedef struct _RDBSS_DATA RDBSS_DATA
 
typedef RDBSS_DATAPRDBSS_DATA
 
typedef enum _RX_RDBSS_STATE_ RX_RDBSS_STATE
 
typedef enum _RX_RDBSS_STATE_PRX_RDBSS_STATE
 
typedef struct _RDBSS_STARTSTOP_CONTEXT_ RDBSS_STARTSTOP_CONTEXT
 
typedef struct _RDBSS_STARTSTOP_CONTEXT_PRDBSS_STARTSTOP_CONTEXT
 
typedef struct _RX_DISPATCHER_CONTEXT_ RX_DISPATCHER_CONTEXT
 
typedef struct _RX_DISPATCHER_CONTEXT_PRX_DISPATCHER_CONTEXT
 
typedef struct _RDBSS_DEVICE_OBJECT RDBSS_DEVICE_OBJECT
 
typedef struct _RDBSS_DEVICE_OBJECTPRDBSS_DEVICE_OBJECT
 

Enumerations

enum  _LOCK_HOLDING_STATE { LHS_LockNotHeld , LHS_SharedLockHeld , LHS_ExclusiveLockHeld }
 
enum  _RX_RDBSS_STATE_ { RDBSS_STARTABLE = 0 , RDBSS_STARTED , RDBSS_STOP_IN_PROGRESS }
 

Functions

PEPROCESS NTAPI RxGetRDBSSProcess (VOID)
 
FORCEINLINE VOID NTAPI RxUnregisterMinirdr (_In_ PRDBSS_DEVICE_OBJECT RxDeviceObject)
 

Variables

RX_SPIN_LOCK RxStrucSupSpinLock
 
RDBSS_DATA RxData
 

Macro Definition Documentation

◆ RxGetRdbssState

#define RxGetRdbssState (   RxDeviceObject)    RxDeviceObject->StartStopContext.State

Definition at line 78 of file rxstruc.h.

◆ RxSetRdbssState

#define RxSetRdbssState (   RxDeviceObject,
  NewState 
)
Value:
{ \
KeAcquireSpinLock(&RxStrucSupSpinLock, &OldIrql); \
RxDeviceObject->StartStopContext.State = (NewState); \
KeReleaseSpinLock(&RxStrucSupSpinLock, OldIrql); \
}
UCHAR KIRQL
Definition: env_spec_w32.h:591
RX_SPIN_LOCK RxStrucSupSpinLock
Definition: rxce.c:123
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:778

Definition at line 70 of file rxstruc.h.

Typedef Documentation

◆ LOCK_HOLDING_STATE

◆ PLOCK_HOLDING_STATE

◆ PRDBSS_DATA

Definition at line 41 of file rxstruc.h.

◆ PRDBSS_DEVICE_OBJECT

◆ PRDBSS_EXPORTS

◆ PRDBSS_STARTSTOP_CONTEXT

◆ PRX_DISPATCHER_CONTEXT

◆ PRX_RDBSS_STATE

◆ RDBSS_DATA

◆ RDBSS_DEVICE_OBJECT

◆ RDBSS_EXPORTS

◆ RDBSS_STARTSTOP_CONTEXT

◆ RX_DISPATCHER_CONTEXT

◆ RX_RDBSS_STATE

Enumeration Type Documentation

◆ _LOCK_HOLDING_STATE

Enumerator
LHS_LockNotHeld 
LHS_SharedLockHeld 
LHS_ExclusiveLockHeld 

Definition at line 18 of file rxstruc.h.

19{
enum _LOCK_HOLDING_STATE * PLOCK_HOLDING_STATE
@ LHS_LockNotHeld
Definition: rxstruc.h:20
@ LHS_SharedLockHeld
Definition: rxstruc.h:21
@ LHS_ExclusiveLockHeld
Definition: rxstruc.h:22
enum _LOCK_HOLDING_STATE LOCK_HOLDING_STATE

◆ _RX_RDBSS_STATE_

Enumerator
RDBSS_STARTABLE 
RDBSS_STARTED 
RDBSS_STOP_IN_PROGRESS 

Definition at line 50 of file rxstruc.h.

51{
enum _RX_RDBSS_STATE_ RX_RDBSS_STATE
enum _RX_RDBSS_STATE_ * PRX_RDBSS_STATE
@ RDBSS_STARTABLE
Definition: rxstruc.h:52
@ RDBSS_STARTED
Definition: rxstruc.h:53
@ RDBSS_STOP_IN_PROGRESS
Definition: rxstruc.h:54

Function Documentation

◆ RxGetRDBSSProcess()

PEPROCESS NTAPI RxGetRDBSSProcess ( VOID  )

Definition at line 4497 of file rxce.c.

4499{
4500 return RxData.OurProcess;
4501}
RDBSS_DATA RxData
Definition: rdbss.c:537
PEPROCESS OurProcess
Definition: rxstruc.h:34

Referenced by nfs41_CreateSrvCall(), and RxFinalizeSrvCall().

◆ RxUnregisterMinirdr()

FORCEINLINE VOID NTAPI RxUnregisterMinirdr ( _In_ PRDBSS_DEVICE_OBJECT  RxDeviceObject)

Definition at line 136 of file rxstruc.h.

138{
139 PDEVICE_OBJECT RDBSSDeviceObject;
140
141 RDBSSDeviceObject = RxDeviceObject->RDBSSDeviceObject;
142
143 RxpUnregisterMinirdr(RxDeviceObject);
144
145 if (RDBSSDeviceObject != NULL)
146 {
147 ObDereferenceObject(RDBSSDeviceObject);
148 }
149}
#define NULL
Definition: types.h:112
VOID NTAPI RxpUnregisterMinirdr(_In_ PRDBSS_DEVICE_OBJECT RxDeviceObject)
#define ObDereferenceObject
Definition: obfuncs.h:203

Referenced by DriverEntry().

Variable Documentation

◆ RxData

◆ RxStrucSupSpinLock