ReactOS  0.4.15-dev-3165-gdf6fff7
fxdmatransaction.hpp File Reference
Include dependency graph for fxdmatransaction.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FxDmaTransactionBase
 
class  FxDmaScatterGatherTransaction
 
class  FxDmaPacketTransaction
 
class  FxDmaSystemTransaction
 

Macros

#define FX_STRONG_REF_TAG   0x1
 
#define FX_ENCODE_POINTER(T, p, tag)   ((T*) ((ULONG_PTR) p | (ULONG_PTR) tag))
 
#define FX_DECODE_POINTER(T, p, tag)   ((T*) ((ULONG_PTR) p & ~(ULONG_PTR) tag))
 
#define FX_IS_POINTER_ENCODED(p, tag)   ((((ULONG_PTR) p & (ULONG_PTR) tag) == tag) ? TRUE : FALSE)
 
#define UNDEFINED_DMA_COMPLETION_STATUS   ((DMA_COMPLETION_STATUS) -1)
 

Enumerations

enum  FxDmaTransactionState {
  FxDmaTransactionStateInvalid = 0, FxDmaTransactionStateCreated, FxDmaTransactionStateReserved, FxDmaTransactionStateInitialized,
  FxDmaTransactionStateTransfer, FxDmaTransactionStateTransferCompleted, FxDmaTransactionStateTransferFailed, FxDmaTransactionStateReleased,
  FxDmaTransactionStateDeleted
}
 
enum  FxDmaCompletionType { FxDmaCompletionTypeFull = 1, FxDmaCompletionTypePartial, FxDmaCompletionTypeAbort }
 

Functions

typedef DECLSPEC_ALIGN (MEMORY_ALLOCATION_ALIGNMENT) UCHAR UCHAR_MEMORY_ALIGNED
 

Macro Definition Documentation

◆ FX_DECODE_POINTER

#define FX_DECODE_POINTER (   T,
  p,
  tag 
)    ((T*) ((ULONG_PTR) p & ~(ULONG_PTR) tag))

Definition at line 77 of file fxdmatransaction.hpp.

◆ FX_ENCODE_POINTER

#define FX_ENCODE_POINTER (   T,
  p,
  tag 
)    ((T*) ((ULONG_PTR) p | (ULONG_PTR) tag))

Definition at line 76 of file fxdmatransaction.hpp.

◆ FX_IS_POINTER_ENCODED

#define FX_IS_POINTER_ENCODED (   p,
  tag 
)    ((((ULONG_PTR) p & (ULONG_PTR) tag) == tag) ? TRUE : FALSE)

Definition at line 78 of file fxdmatransaction.hpp.

◆ FX_STRONG_REF_TAG

#define FX_STRONG_REF_TAG   0x1

Definition at line 71 of file fxdmatransaction.hpp.

◆ UNDEFINED_DMA_COMPLETION_STATUS

#define UNDEFINED_DMA_COMPLETION_STATUS   ((DMA_COMPLETION_STATUS) -1)

Definition at line 84 of file fxdmatransaction.hpp.

Enumeration Type Documentation

◆ FxDmaCompletionType

Enumerator
FxDmaCompletionTypeFull 
FxDmaCompletionTypePartial 
FxDmaCompletionTypeAbort 

Definition at line 58 of file fxdmatransaction.hpp.

◆ FxDmaTransactionState

Enumerator
FxDmaTransactionStateInvalid 
FxDmaTransactionStateCreated 
FxDmaTransactionStateReserved 
FxDmaTransactionStateInitialized 
FxDmaTransactionStateTransfer 
FxDmaTransactionStateTransferCompleted 
FxDmaTransactionStateTransferFailed 
FxDmaTransactionStateReleased 
FxDmaTransactionStateDeleted 

Definition at line 35 of file fxdmatransaction.hpp.

Function Documentation

◆ DECLSPEC_ALIGN()

typedef DECLSPEC_ALIGN ( MEMORY_ALLOCATION_ALIGNMENT  )

Definition at line 2761 of file iotypes.h.

2761  {
2762  CSHORT Type;
2763  USHORT Size;
2764  struct _MDL *MdlAddress;
2765  ULONG Flags;
2766  union {
2767  struct _IRP *MasterIrp;
2768  volatile LONG IrpCount;
2769  PVOID SystemBuffer;
2770  } AssociatedIrp;
2771  LIST_ENTRY ThreadListEntry;
2773  KPROCESSOR_MODE RequestorMode;
2774  BOOLEAN PendingReturned;
2775  CHAR StackCount;
2776  CHAR CurrentLocation;
2777  BOOLEAN Cancel;
2778  KIRQL CancelIrql;
2779  CCHAR ApcEnvironment;
2780  UCHAR AllocationFlags;
2781  PIO_STATUS_BLOCK UserIosb;
2782  PKEVENT UserEvent;
2783  union {
2784  struct {
2785  _ANONYMOUS_UNION union {
2786  PIO_APC_ROUTINE UserApcRoutine;
2787  PVOID IssuingProcess;
2788  } DUMMYUNIONNAME;
2789  PVOID UserApcContext;
2790  } AsynchronousParameters;
2792  } Overlay;
2793  volatile PDRIVER_CANCEL CancelRoutine;
2794  PVOID UserBuffer;
2795  union {
2796  struct {
2797  _ANONYMOUS_UNION union {
2799  _ANONYMOUS_STRUCT struct {
2800  PVOID DriverContext[4];
2801  } DUMMYSTRUCTNAME;
2802  } DUMMYUNIONNAME;
2803  PETHREAD Thread;
2804  PCHAR AuxiliaryBuffer;
2805  _ANONYMOUS_STRUCT struct {
2806  LIST_ENTRY ListEntry;
2807  _ANONYMOUS_UNION union {
2808  struct _IO_STACK_LOCATION *CurrentStackLocation;
2809  ULONG PacketType;
2810  } DUMMYUNIONNAME;
2811  } DUMMYSTRUCTNAME;
2812  struct _FILE_OBJECT *OriginalFileObject;
2813  } Overlay;
2814  KAPC Apc;
2815  PVOID CompletionKey;
2816  } Tail;
2817 } IRP, *PIRP;
signed char * PCHAR
Definition: retypes.h:7
DRIVER_CANCEL * PDRIVER_CANCEL
Definition: iotypes.h:2759
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
char CHAR
Definition: xmlstorage.h:175
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
IRP
Definition: iotypes.h:2817
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
UCHAR KIRQL
Definition: env_spec_w32.h:591
long LONG
Definition: pedump.c:60
_In_opt_ PDRIVER_CANCEL CancelRoutine
Definition: iofuncs.h:2744
unsigned char BOOLEAN
void Cancel(int sigNum)
Definition: shell.c:481
_In_ PLARGE_INTEGER _In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ BOOLEAN _Out_ PIO_STATUS_BLOCK IoStatus
Definition: iotypes.h:1436
char CCHAR
Definition: typedefs.h:51
Type
Definition: Type.h:6
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2652
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
unsigned char UCHAR
Definition: xmlstorage.h:181
_In_ USHORT _In_ UCHAR _In_ USHORT _In_ USHORT _In_ ULONG Flags
Definition: iotypes.h:892
Definition: ketypes.h:535
Definition: typedefs.h:119
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
Definition: fatprocs.h:319
Definition: ketypes.h:566
unsigned short USHORT
Definition: pedump.c:61
* PIRP
Definition: iotypes.h:2817
VOID(NTAPI * PIO_APC_ROUTINE)(_In_ PVOID ApcContext, _In_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG Reserved)
Definition: iotypes.h:562
unsigned int ULONG
Definition: retypes.h:1
_Inout_ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
Definition: kefuncs.h:339
#define DUMMYSTRUCTNAME
Definition: ntbasedef.h:58
short CSHORT
Definition: umtypes.h:127
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
Definition: wdfdevice.h:1697