ReactOS 0.4.16-dev-109-gf4cb10f
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.

58 {
62};
@ FxDmaCompletionTypeAbort
@ FxDmaCompletionTypePartial
@ FxDmaCompletionTypeFull

◆ 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 2759 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;
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;
2789 PVOID UserApcContext;
2790 } AsynchronousParameters;
2792 } Overlay;
2794 PVOID UserBuffer;
2795 union {
2796 struct {
2797 _ANONYMOUS_UNION union {
2799 _ANONYMOUS_STRUCT struct {
2804 PCHAR AuxiliaryBuffer;
2805 _ANONYMOUS_STRUCT struct {
2806 LIST_ENTRY ListEntry;
2807 _ANONYMOUS_UNION union {
2808 struct _IO_STACK_LOCATION *CurrentStackLocation;
2809 ULONG PacketType;
2812 struct _FILE_OBJECT *OriginalFileObject;
2813 } Overlay;
2814 KAPC Apc;
2815 PVOID CompletionKey;
2816 } Tail;
2817} IRP, *PIRP;
unsigned char BOOLEAN
Type
Definition: Type.h:7
UCHAR KIRQL
Definition: env_spec_w32.h:591
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
Definition: fatprocs.h:323
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
void Cancel(int sigNum)
Definition: shell.c:481
VOID(* PIO_APC_ROUTINE)(IN PVOID ApcContext, IN PIO_STATUS_BLOCK IoStatusBlock, IN ULONG Reserved)
Definition: nt_native.h:877
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
#define DUMMYSTRUCTNAME
Definition: ntbasedef.h:58
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
union _IRP::@1577 AssociatedIrp
Definition: ketypes.h:547
Definition: ketypes.h:578
Definition: typedefs.h:120
uint32_t ULONG
Definition: typedefs.h:59
char CCHAR
Definition: typedefs.h:51
char * PCHAR
Definition: typedefs.h:51
short CSHORT
Definition: umtypes.h:127
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
Definition: wdfdevice.h:1703
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_In_opt_ PDRIVER_CANCEL CancelRoutine
Definition: iofuncs.h:2744
IRP
Definition: iotypes.h:2817
DRIVER_CANCEL * PDRIVER_CANCEL
Definition: iotypes.h:2759
* PIRP
Definition: iotypes.h:2817
_In_ USHORT _In_ UCHAR _In_ USHORT _In_ USHORT _In_ ULONG Flags
Definition: iotypes.h:896
_In_ PLARGE_INTEGER _In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ BOOLEAN _Out_ PIO_STATUS_BLOCK IoStatus
Definition: iotypes.h:1441
_Inout_ PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
Definition: kefuncs.h:327
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
unsigned char UCHAR
Definition: xmlstorage.h:181
char CHAR
Definition: xmlstorage.h:175