ReactOS 0.4.17-dev-1190-g4c812f4
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 2774 of file iotypes.h.

2776 {
2777 CSHORT Type;
2778 USHORT Size;
2779 struct _MDL *MdlAddress;
2780 ULONG Flags;
2781 union {
2782 struct _IRP *MasterIrp;
2783 volatile LONG IrpCount;
2784 PVOID SystemBuffer;
2785 } AssociatedIrp;
2786 LIST_ENTRY ThreadListEntry;
2788 KPROCESSOR_MODE RequestorMode;
2789 BOOLEAN PendingReturned;
2790 CHAR StackCount;
2791 CHAR CurrentLocation;
2793 KIRQL CancelIrql;
2794 CCHAR ApcEnvironment;
2795 UCHAR AllocationFlags;
2796 PIO_STATUS_BLOCK UserIosb;
2797 PKEVENT UserEvent;
2798 union {
2799 struct {
2800 _ANONYMOUS_UNION union {
2801 PIO_APC_ROUTINE UserApcRoutine;
2802 PVOID IssuingProcess;
2804 PVOID UserApcContext;
2805 } AsynchronousParameters;
2807 } Overlay;
2809 PVOID UserBuffer;
2810 union {
2811 struct {
2812 _ANONYMOUS_UNION union {
2814 _ANONYMOUS_STRUCT struct {
2819 PCHAR AuxiliaryBuffer;
2820 _ANONYMOUS_STRUCT struct {
2821 LIST_ENTRY ListEntry;
2822 _ANONYMOUS_UNION union {
2823 struct _IO_STACK_LOCATION *CurrentStackLocation;
2824 ULONG PacketType;
2827 struct _FILE_OBJECT *OriginalFileObject;
2828 } Overlay;
2829 KAPC Apc;
2830 PVOID CompletionKey;
2831 } Tail;
2832} IRP, *PIRP;
Type
Definition: Type.h:7
unsigned char BOOLEAN
Definition: actypes.h:127
_In_ ULONG AllocationSize
Definition: dispmprt.h:712
UCHAR KIRQL
Definition: env_spec_w32.h:591
_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:880
#define DUMMYUNIONNAME
Definition: pecoff.h:91
#define DUMMYSTRUCTNAME
Definition: pecoff.h:117
#define _ANONYMOUS_UNION
Definition: pecoff.h:89
#define _ANONYMOUS_STRUCT
Definition: pecoff.h:115
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
union _IRP::@1816 AssociatedIrp
Definition: ketypes.h:615
Definition: ketypes.h:646
Definition: typedefs.h:120
unsigned char UCHAR
Definition: typedefs.h:53
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:1709
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_In_opt_ PDRIVER_CANCEL CancelRoutine
Definition: iofuncs.h:2751
IRP
Definition: iotypes.h:2832
DRIVER_CANCEL * PDRIVER_CANCEL
Definition: iotypes.h:2774
* PIRP
Definition: iotypes.h:2832
_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