80#if defined(__KERNEL__)
81 #define WDC_MEM_DIRECT_ADDR(pAddrDesc) (pAddrDesc)->pAddr
83 #define WDC_MEM_DIRECT_ADDR(pAddrDesc) (pAddrDesc)->pUserDirectMemAddr
87#define WDC_ADDR_IS_MEM(pAddrDesc) (pAddrDesc)->fIsMemory
101#define WDC_GET_KP_HANDLE(pDev) \
102 ((WDC_DEVICE *)((PWDC_DEVICE)(pDev)))->kerPlug.hKernelPlugIn
105#define WDC_IS_KP(pDev) (BOOL)(WDC_GET_KP_HANDLE(pDev))
121#define WDC_GET_PCARD(pDev) (&(((PWDC_DEVICE)(pDev))->cardReg.Card))
132#define WDC_GET_CARD_HANDLE(pDev) (((PWDC_DEVICE)(pDev))->cardReg.hCard)
143#define WDC_GET_PPCI_SLOT(pDev) (&(((PWDC_DEVICE)(pDev))->slot))
154#define WDC_GET_PPCI_ID(pDev) (&(((PWDC_DEVICE)(pDev))->id))
166#define WDC_GET_ADDR_DESC(pDev, dwAddrSpace) \
167 (&(((PWDC_DEVICE)(pDev))->pAddrDesc[dwAddrSpace]))
179#define WDC_GET_ADDR_SPACE_SIZE(pDev, dwAddrSpace) \
180 ((((PWDC_DEVICE)(pDev))->pAddrDesc[dwAddrSpace]).qwBytes)
191#define WDC_GET_ENABLED_INT_TYPE(pDev) \
192 ((PWDC_DEVICE)pDev)->Int.dwEnabledIntType
203#define WDC_GET_INT_OPTIONS(pDev) ((PWDC_DEVICE)pDev)->Int.dwOptions
215#define WDC_INT_IS_MSI(dwIntType) \
216 (dwIntType & (INTERRUPT_MESSAGE | INTERRUPT_MESSAGE_X))
227#define WDC_GET_ENABLED_INT_LAST_MSG(pDev) \
228 WDC_INT_IS_MSI(WDC_GET_ENABLED_INT_TYPE(pDev)) ? \
229 (((PWDC_DEVICE)pDev)->Int.dwLastMessage) : 0
UPTR pUserDirectMemAddr
Memory address for direct user-mode access.
DWORD dwAddrSpace
Address space number.
UINT64 qwBytes
Size of address space.
KPTR pAddr
I/O / Memory kernel mapped address – for WD_Transfer(), WD_MultiTransfer(), or direct kernel access.
BOOL fIsMemory
TRUE: memory address space; FALSE: I/O.
DWORD dwItemIndex
Index of address space in the pDev->cardReg.Card.Item array.
Address space information struct.
WD_PCI_ID id
PCI device ID.
WD_KERNEL_PLUGIN kerPlug
Kernel PlugIn information.
WD_CARD_REGISTER cardReg
Device's resources information.
DWORD dwNumAddrSpaces
Total number of device's address spaces.
WD_EVENT Event
Event information.
WD_PCI_SLOT slot
PCI device slot location information.
WD_INTERRUPT Int
Interrupt information.
WDC_ADDR_DESC * pAddrDesc
Array of device's address spaces information.
PVOID pCtx
User-specific context.
Device information struct.