devLibVMEImpl.h
An interface from devLibVME.c to its OS-specific implementations.
- Author
Marty Kraimer, Jeff Hill
Defines
-
pdevLibVirtualOS
An alias for pdevLibVME.
-
struct devLibVME
- #include <devLibVMEImpl.h>
A table of function pointers for devLibVME implementations.
The global virtual OS table pdevLibVME controls the behavior of the functions defined in devLib.h. All of which call into the functions found in this table to perform system specific tasks.
Public Members
-
long (*pDevMapAddr)(epicsAddressType addrType, unsigned options, size_t logicalAddress, size_t size, volatile void **ppPhysicalAddress)
Map a bus address to the CPU’s address space.
-
long (*pDevReadProbe)(unsigned wordSize, volatile const void *ptr, void *pValueRead)
Read a word, detect and protect against bus errors.
-
long (*pDevWriteProbe)(unsigned wordSize, volatile void *ptr, const void *pValueWritten)
Write a word, detect and protect against bus errors.
-
long (*pDevConnectInterruptVME)(unsigned vectorNumber, void (*pFunction)(void*), void *parameter)
Connect ISR to a VME interrupt vector.
-
long (*pDevDisconnectInterruptVME)(unsigned vectorNumber, void (*pFunction)(void*))
Disconnect ISR from a VME interrupt vector.
-
long (*pDevEnableInterruptLevelVME)(unsigned level)
Enable VME interrupt level to CPU.
-
long (*pDevDisableInterruptLevelVME)(unsigned level)
Disable VME interrupt level to CPU.
-
void *(*pDevA24Malloc)(size_t nbytes)
Malloc a block accessible from the VME A24 address space.
-
void (*pDevA24Free)(void *pBlock)
Free a block allocated for the VME A24 address space.
-
long (*pDevInit)(void)
Init devLib.
-
int (*pDevInterruptInUseVME)(unsigned vectorNumber)
Check if interrupt vector has an ISR connected.
-
long (*pDevMapAddr)(epicsAddressType addrType, unsigned options, size_t logicalAddress, size_t size, volatile void **ppPhysicalAddress)