ReactOS  0.4.15-dev-506-ga3ec01c
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:
{ \
KIRQL OldIrql; \
KeAcquireSpinLock(&RxStrucSupSpinLock, &OldIrql); \
RxDeviceObject->StartStopContext.State = (NewState); \
KeReleaseSpinLock(&RxStrucSupSpinLock, OldIrql); \
}
RX_SPIN_LOCK RxStrucSupSpinLock
Definition: rxce.c:123
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:790

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
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 {
52  RDBSS_STARTABLE = 0,
enum _RX_RDBSS_STATE_ * PRX_RDBSS_STATE
enum _RX_RDBSS_STATE_ RX_RDBSS_STATE

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 }
VOID NTAPI ObDereferenceObject(IN PVOID Object)
Definition: obref.c:375
VOID NTAPI RxpUnregisterMinirdr(_In_ PRDBSS_DEVICE_OBJECT RxDeviceObject)
smooth NULL
Definition: ftsmooth.c:416

Referenced by DriverEntry().

Variable Documentation

◆ RxData

◆ RxStrucSupSpinLock