33 #include "libComAPI.h"
60 #ifndef NO_DEVLIB_COMPAT
88 volatile void **ppLocalAddr);
101 unsigned wordSize,
volatile const void *ptr,
void *pValueRead);
134 unsigned wordSize,
volatile void *ptr,
const void *pValueWritten);
151 const char *pOwnerName,
153 size_t logicalBaseAddress,
155 volatile void **pPhysicalAddress);
168 size_t logicalBaseAddress,
169 const char *pOwnerName);
190 const char *pOwnerName,
194 volatile void **pLocalAddress);
216 unsigned vectorNumber,
217 void (*pFunction)(
void *),
234 unsigned vectorNumber,
235 void (*pFunction)(
void *));
324 unsigned interruptLevel,
325 void (*pFunction)(
void *),
336 unsigned interruptLevel,
337 void (*pFunction)(
void *));
362 #ifndef NO_DEVLIB_OLD_INTERFACE
368 typedef enum {intVME, intVXI, intISA} epicsInterruptType;
378 epicsInterruptType intType,
379 unsigned vectorNumber,
380 void (*pFunction)(
void *),
391 epicsInterruptType intType,
392 unsigned vectorNumber,
393 void (*pFunction)(
void *));
403 epicsInterruptType intType,
unsigned level);
413 epicsInterruptType intType,
unsigned level);
LIBCOM_API void devLibA24Free(void *pBlock)
free() for VME drivers that support DMA.
LIBCOM_API long devReadProbe(unsigned wordSize, volatile const void *ptr, void *pValueRead)
Probe the bus for reading from a specific address.
Memory mapped ISA access.
LIBCOM_API long devDisconnectInterrupt(epicsInterruptType intType, unsigned vectorNumber, void(*pFunction)(void *))
LIBCOM_API long devDisableInterruptLevelISA(unsigned level)
LIBCOM_API long devUnregisterAddress(epicsAddressType addrType, size_t logicalBaseAddress, const char *pOwnerName)
Release a bus address range previously registered.
LIBCOM_API const char * epicsAddressTypeName[]
A string representation of each of the bus address types.
Invalid, must be the last entry.
LIBCOM_API long devDisconnectInterruptVME(unsigned vectorNumber, void(*pFunction)(void *))
Disconnect an ISR from its VME interrupt vector.
LIBCOM_API long devAllocAddress(const char *pOwnerName, epicsAddressType addrType, size_t size, unsigned alignment, volatile void **pLocalAddress)
Allocate and register an unoccupied address block.
VME-64 CR/CSR address space.
LIBCOM_API long locationProbe(epicsAddressType addrType, char *pLocation)
LIBCOM_API long devAddressMap(void)
Print a map of registered bus addresses.
LIBCOM_API long devWriteProbe(unsigned wordSize, volatile void *ptr, const void *pValueWritten)
Probe the bus for writing to a specific address.
LIBCOM_API int devInterruptLevelInUseISA(unsigned interruptLevel)
LIBCOM_API long devConnectInterrupt(epicsInterruptType intType, unsigned vectorNumber, void(*pFunction)(void *), void *parameter)
LIBCOM_API long devBusToLocalAddr(epicsAddressType addrType, size_t busAddr, volatile void **ppLocalAddr)
Translate a bus address to a pointer the CPU can use.
LIBCOM_API long devRegisterAddress(const char *pOwnerName, epicsAddressType addrType, size_t logicalBaseAddress, size_t size, volatile void **pPhysicalAddress)
Register a bus address range with a name.
LIBCOM_API void * devLibA24Malloc(size_t size)
malloc() for VME drivers that support DMA.
LIBCOM_API long devDisableInterruptLevel(epicsInterruptType intType, unsigned level)
LIBCOM_API void * devLibA24Calloc(size_t size)
calloc() for VME drivers that support DMA.
LIBCOM_API long devEnableInterruptLevelISA(unsigned level)
LIBCOM_API long devEnableInterruptLevelVME(unsigned level)
Enable a VME interrupt level onto the CPU.
LIBCOM_API long devConnectInterruptVME(unsigned vectorNumber, void(*pFunction)(void *), void *parameter)
Connect an ISR up to a VME interrupt vector.
LIBCOM_API long devNoResponseProbe(epicsAddressType addrType, size_t base, size_t size)
Read-probe a range of bus addresses, looking for empty space.
LIBCOM_API long devDisableInterruptLevelVME(unsigned level)
Disable a VME interrupt level.
Miscellaneous macro definitions.
epicsAddressType
The available bus address types.
LIBCOM_API long devEnableInterruptLevel(epicsInterruptType intType, unsigned level)
API for accessing hardware devices, originally over VMEbus.
LIBCOM_API int devInterruptInUseVME(unsigned vectorNumber)
Determine if a VME interrupt vector is in use.
LIBCOM_API long devDisconnectInterruptISA(unsigned interruptLevel, void(*pFunction)(void *))
LIBCOM_API long devConnectInterruptISA(unsigned interruptLevel, void(*pFunction)(void *), void *parameter)
An interface from devLibVME.c to its OS-specific implementations.