ReactOS 0.4.16-dev-1946-g52006dd
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 2761 of file iotypes.h.

2763 {
2764 CSHORT Type;
2765 USHORT Size;
2766 struct _MDL *MdlAddress;
2767 ULONG Flags;
2768 union {
2769 struct _IRP *MasterIrp;
2770 volatile LONG IrpCount;
2771 PVOID SystemBuffer;
2772 } AssociatedIrp;
2773 LIST_ENTRY ThreadListEntry;
2775 KPROCESSOR_MODE RequestorMode;
2776 BOOLEAN PendingReturned;
2777 CHAR StackCount;
2778 CHAR CurrentLocation;
2780 KIRQL CancelIrql;
2781 CCHAR ApcEnvironment;
2782 UCHAR AllocationFlags;
2783 PIO_STATUS_BLOCK UserIosb;
2784 PKEVENT UserEvent;
2785 union {
2786 struct {
2787 _ANONYMOUS_UNION union {
2788 PIO_APC_ROUTINE UserApcRoutine;
2789 PVOID IssuingProcess;
2791 PVOID UserApcContext;
2792 } AsynchronousParameters;
2794 } Overlay;
2796 PVOID UserBuffer;
2797 union {
2798 struct {
2799 _ANONYMOUS_UNION union {
2801 _ANONYMOUS_STRUCT struct {
2806 PCHAR AuxiliaryBuffer;
2807 _ANONYMOUS_STRUCT struct {
2808 LIST_ENTRY ListEntry;
2809 _ANONYMOUS_UNION union {
2810 struct _IO_STACK_LOCATION *CurrentStackLocation;
2811 ULONG PacketType;
2814 struct _FILE_OBJECT *OriginalFileObject;
2815 } Overlay;
2816 KAPC Apc;
2817 PVOID CompletionKey;
2818 } Tail;
2819} 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: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
union _IRP::@1696 AssociatedIrp
Definition: ketypes.h:599
Definition: ketypes.h:630
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: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:2744
IRP
Definition: iotypes.h:2819
DRIVER_CANCEL * PDRIVER_CANCEL
Definition: iotypes.h:2761
* PIRP
Definition: iotypes.h:2819
_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