11 #ifndef OSDPCISHARED_H_INC 12 #define OSDPCISHARED_H_INC 14 #include "devLibPCIOSD.h" 25 # define CONTAINER(ptr, structure, member) ({ \ 26 const __typeof(((structure*)0)->member) *_ptr = (ptr); \ 27 (structure*)((char*)_ptr - offsetof(structure, member)); \ 30 # define CONTAINER(ptr, structure, member) \ 31 ((structure*)((char*)(ptr) - offsetof(structure, member))) 69 volatile void **ppLocalAddr,
int sharedDevPCIConfigAccess(const epicsPCIDevice *dev, unsigned offset, void *pArg, devPCIAccessMode mode)
int(* devPCISearchFn)(void *ptr, const epicsPCIDevice *dev)
PCI search callback prototype.
int sharedDevPCIBarLen(const epicsPCIDevice *dev, unsigned int bar, epicsUInt32 *len)
epicsUInt32 len[PCIBARCOUNT]
int sharedDevPCIToLocalAddr(const epicsPCIDevice *dev, unsigned int bar, volatile void **ppLocalAddr, unsigned int opt)
int sharedDevPCIFindCB(const epicsPCIID *idlist, devPCISearchFn searchfn, void *arg, unsigned int opt)
int sharedDevPCIInit(void)
#define CONTAINER(ptr, structure, member)
#define PCIBARCOUNT
The maximum number of base address registers (BARs).
epicsUInt32 base[PCIBARCOUNT]
INLINE osdPCIDevice * pcidev2osd(const epicsPCIDevice *devptr)