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)