EPICS Base  7.0.6.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
devLib.h File Reference

API for accessing hardware devices, originally over VMEbus. More...

#include "devLibVME.h"
Include dependency graph for devLib.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

Macros for normalizing values
Warning
Deprecated, we don't know of any code currently using these.
#define devCreateMask(NBITS)   ((1<<(NBITS))-1)
 Create a bit mask for a given number of bits.
 
#define devDigToNml(DIGITAL, NBITS)   (((double)(DIGITAL))/devCreateMask(NBITS))
 Normalize a raw integer value and convert it to type double.
 
#define devNmlToDig(NORMAL, NBITS)   (((long)(NORMAL)) * devCreateMask(NBITS))
 Convert a normalized value to a raw integer.
 
Macros for pointer alignment
Warning
Deprecated, we don't know of any code currently using these.
#define devCreateAlignmentMask(CTYPE)   (sizeof(CTYPE)>sizeof(double)?sizeof(double)-1:sizeof(CTYPE)-1)
 Create an alignment mask for CTYPE.
 
#define devPtrAlignTest(PTR)   (!(devCreateAlignmentMask(*PTR)&(long)(PTR)))
 Check Pointer alignment, returns true if the pointer PTR is suitably aligned for its data type.
 
Error status values returned by devLib routines
#define S_dev_success   0
 
#define S_dev_vectorInUse   (M_devLib| 1) /*Interrupt vector in use*/
 Interrupt vector in use.
 
#define S_dev_vecInstlFail   (M_devLib| 2) /*Interrupt vector install failed*/
 Interrupt vector install failed.
 
#define S_dev_uknIntType   (M_devLib| 3) /*Unrecognized interrupt type*/
 Unrecognized interrupt type.
 
#define S_dev_vectorNotInUse   (M_devLib| 4) /*Interrupt vector not in use by caller*/
 Interrupt vector not in use by caller.
 
#define S_dev_badA16   (M_devLib| 5) /*Invalid VME A16 address*/
 Invalid VME A16 address.
 
#define S_dev_badA24   (M_devLib| 6) /*Invalid VME A24 address*/
 Invalid VME A24 address.
 
#define S_dev_badA32   (M_devLib| 7) /*Invalid VME A32 address*/
 Invalid VME A32 address.
 
#define S_dev_uknAddrType   (M_devLib| 8) /*Unrecognized address space type*/
 Unrecognized address space type.
 
#define S_dev_addressOverlap   (M_devLib| 9) /*Specified device address overlaps another device*/
 Specified device address overlaps another device.
 
#define S_dev_identifyOverlap   (M_devLib| 10) /*This device already owns the address range*/
 This device already owns the address range.
 
#define S_dev_addrMapFail   (M_devLib| 11) /*Unable to map address*/
 Unable to map address.
 
#define S_dev_intDisconnect   (M_devLib| 12) /*Interrupt at vector disconnected from an EPICS device*/
 Interrupt at vector disconnected from an EPICS device.
 
#define S_dev_internal   (M_devLib| 13) /*Internal failure*/
 Internal failure.
 
#define S_dev_intEnFail   (M_devLib| 14) /*Unable to enable interrupt level*/
 Unable to enable interrupt level.
 
#define S_dev_intDissFail   (M_devLib| 15) /*Unable to disable interrupt level*/
 Unable to disable interrupt level.
 
#define S_dev_noMemory   (M_devLib| 16) /*Memory allocation failed*/
 Memory allocation failed.
 
#define S_dev_addressNotFound   (M_devLib| 17) /*Specified device address unregistered*/
 Specified device address unregistered.
 
#define S_dev_noDevice   (M_devLib| 18) /*No device at specified address*/
 No device at specified address.
 
#define S_dev_wrongDevice   (M_devLib| 19) /*Wrong device type found at specified address*/
 Wrong device type found at specified address.
 
#define S_dev_badSignalNumber   (M_devLib| 20) /*Signal number (offset) to large*/
 Signal number (offset) to large.
 
#define S_dev_badSignalCount   (M_devLib| 21) /*Signal count to large*/
 Signal count to large.
 
#define S_dev_badRequest   (M_devLib| 22) /*Device does not support requested operation*/
 Device does not support requested operation.
 
#define S_dev_highValue   (M_devLib| 23) /*Parameter too high*/
 Parameter too high.
 
#define S_dev_lowValue   (M_devLib| 24) /*Parameter too low*/
 Parameter too low.
 
#define S_dev_multDevice   (M_devLib| 25) /*Specified address is ambiguous (more than one device responds)*/
 Specified address is ambiguous (more than one device responds)
 
#define S_dev_badSelfTest   (M_devLib| 26) /*Device self test failed*/
 Device self test failed.
 
#define S_dev_badInit   (M_devLib| 27) /*Device failed during initialization*/
 Device failed during initialization.
 
#define S_dev_hdwLimit   (M_devLib| 28) /*Input exceeds Hardware Limit*/
 Input exceeds Hardware Limit.
 
#define S_dev_deviceDoesNotFit   (M_devLib| 29) /*Unable to locate address space for device*/
 Unable to locate address space for device.
 
#define S_dev_deviceTMO   (M_devLib| 30) /*Device timed out*/
 Device timed out.
 
#define S_dev_badFunction   (M_devLib| 31) /*Bad function pointer*/
 Bad function pointer.
 
#define S_dev_badVector   (M_devLib| 32) /*Bad interrupt vector*/
 Bad interrupt vector.
 
#define S_dev_badArgument   (M_devLib| 33) /*Bad function argument*/
 Bad function argument.
 
#define S_dev_badISA   (M_devLib| 34) /*Invalid ISA address*/
 Invalid ISA address.
 
#define S_dev_badCRCSR   (M_devLib| 35) /*Invalid VME CR/CSR address*/
 Invalid VME CR/CSR address.
 
#define S_dev_vxWorksIntEnFail   S_dev_intEnFail
 Synonym for S_dev_intEnFail.
 

Detailed Description

Author
Marty Kraimer and Jeff Hill

Support for allocation of common device resources

Definition in file devLib.h.