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

Detailed Description

API for accessing hardware devices, originally over VMEbus.

Author
Marty Kraimer and Jeff Hill

Support for allocation of common device resources

Definition in file devLib.h.

Macro Definition Documentation

#define devCreateAlignmentMask (   CTYPE)    (sizeof(CTYPE)>sizeof(double)?sizeof(double)-1:sizeof(CTYPE)-1)

Create an alignment mask for CTYPE.

Definition at line 43 of file devLib.h.

#define devCreateMask (   NBITS)    ((1<<(NBITS))-1)

Create a bit mask for a given number of bits.

Definition at line 28 of file devLib.h.

#define devDigToNml (   DIGITAL,
  NBITS 
)    (((double)(DIGITAL))/devCreateMask(NBITS))

Normalize a raw integer value and convert it to type double.

Definition at line 30 of file devLib.h.

#define devNmlToDig (   NORMAL,
  NBITS 
)    (((long)(NORMAL)) * devCreateMask(NBITS))

Convert a normalized value to a raw integer.

Definition at line 33 of file devLib.h.

#define devPtrAlignTest (   PTR)    (!(devCreateAlignmentMask(*PTR)&(long)(PTR)))

Check Pointer alignment, returns true if the pointer PTR is suitably aligned for its data type.

Definition at line 49 of file devLib.h.

#define S_dev_addressNotFound   (M_devLib| 17) /*Specified device address unregistered*/

Specified device address unregistered.

Definition at line 90 of file devLib.h.

#define S_dev_addressOverlap   (M_devLib| 9) /*Specified device address overlaps another device*/

Specified device address overlaps another device.

Definition at line 74 of file devLib.h.

#define S_dev_addrMapFail   (M_devLib| 11) /*Unable to map address*/

Unable to map address.

Definition at line 78 of file devLib.h.

#define S_dev_badA16   (M_devLib| 5) /*Invalid VME A16 address*/

Invalid VME A16 address.

Definition at line 66 of file devLib.h.

#define S_dev_badA24   (M_devLib| 6) /*Invalid VME A24 address*/

Invalid VME A24 address.

Definition at line 68 of file devLib.h.

#define S_dev_badA32   (M_devLib| 7) /*Invalid VME A32 address*/

Invalid VME A32 address.

Definition at line 70 of file devLib.h.

#define S_dev_badArgument   (M_devLib| 33) /*Bad function argument*/

Bad function argument.

Definition at line 122 of file devLib.h.

#define S_dev_badCRCSR   (M_devLib| 35) /*Invalid VME CR/CSR address*/

Invalid VME CR/CSR address.

Definition at line 126 of file devLib.h.

#define S_dev_badFunction   (M_devLib| 31) /*Bad function pointer*/

Bad function pointer.

Definition at line 118 of file devLib.h.

#define S_dev_badInit   (M_devLib| 27) /*Device failed during initialization*/

Device failed during initialization.

Definition at line 110 of file devLib.h.

#define S_dev_badISA   (M_devLib| 34) /*Invalid ISA address*/

Invalid ISA address.

Definition at line 124 of file devLib.h.

#define S_dev_badRequest   (M_devLib| 22) /*Device does not support requested operation*/

Device does not support requested operation.

Definition at line 100 of file devLib.h.

#define S_dev_badSelfTest   (M_devLib| 26) /*Device self test failed*/

Device self test failed.

Definition at line 108 of file devLib.h.

#define S_dev_badSignalCount   (M_devLib| 21) /*Signal count to large*/

Signal count to large.

Definition at line 98 of file devLib.h.

#define S_dev_badSignalNumber   (M_devLib| 20) /*Signal number (offset) to large*/

Signal number (offset) to large.

Definition at line 96 of file devLib.h.

#define S_dev_badVector   (M_devLib| 32) /*Bad interrupt vector*/

Bad interrupt vector.

Definition at line 120 of file devLib.h.

#define S_dev_deviceDoesNotFit   (M_devLib| 29) /*Unable to locate address space for device*/

Unable to locate address space for device.

Definition at line 114 of file devLib.h.

#define S_dev_deviceTMO   (M_devLib| 30) /*Device timed out*/

Device timed out.

Definition at line 116 of file devLib.h.

#define S_dev_hdwLimit   (M_devLib| 28) /*Input exceeds Hardware Limit*/

Input exceeds Hardware Limit.

Definition at line 112 of file devLib.h.

#define S_dev_highValue   (M_devLib| 23) /*Parameter too high*/

Parameter too high.

Definition at line 102 of file devLib.h.

#define S_dev_identifyOverlap   (M_devLib| 10) /*This device already owns the address range*/

This device already owns the address range.

Definition at line 76 of file devLib.h.

#define S_dev_intDisconnect   (M_devLib| 12) /*Interrupt at vector disconnected from an EPICS device*/

Interrupt at vector disconnected from an EPICS device.

Definition at line 80 of file devLib.h.

#define S_dev_intDissFail   (M_devLib| 15) /*Unable to disable interrupt level*/

Unable to disable interrupt level.

Definition at line 86 of file devLib.h.

#define S_dev_intEnFail   (M_devLib| 14) /*Unable to enable interrupt level*/

Unable to enable interrupt level.

Definition at line 84 of file devLib.h.

#define S_dev_internal   (M_devLib| 13) /*Internal failure*/

Internal failure.

Definition at line 82 of file devLib.h.

#define S_dev_lowValue   (M_devLib| 24) /*Parameter too low*/

Parameter too low.

Definition at line 104 of file devLib.h.

#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)

Definition at line 106 of file devLib.h.

#define S_dev_noDevice   (M_devLib| 18) /*No device at specified address*/

No device at specified address.

Definition at line 92 of file devLib.h.

#define S_dev_noMemory   (M_devLib| 16) /*Memory allocation failed*/

Memory allocation failed.

Definition at line 88 of file devLib.h.

#define S_dev_success   0

Definition at line 56 of file devLib.h.

#define S_dev_uknAddrType   (M_devLib| 8) /*Unrecognized address space type*/

Unrecognized address space type.

Definition at line 72 of file devLib.h.

#define S_dev_uknIntType   (M_devLib| 3) /*Unrecognized interrupt type*/

Unrecognized interrupt type.

Definition at line 62 of file devLib.h.

#define S_dev_vecInstlFail   (M_devLib| 2) /*Interrupt vector install failed*/

Interrupt vector install failed.

Definition at line 60 of file devLib.h.

#define S_dev_vectorInUse   (M_devLib| 1) /*Interrupt vector in use*/

Interrupt vector in use.

Definition at line 58 of file devLib.h.

#define S_dev_vectorNotInUse   (M_devLib| 4) /*Interrupt vector not in use by caller*/

Interrupt vector not in use by caller.

Definition at line 64 of file devLib.h.

#define S_dev_vxWorksIntEnFail   S_dev_intEnFail

Synonym for S_dev_intEnFail.

Definition at line 128 of file devLib.h.

#define S_dev_wrongDevice   (M_devLib| 19) /*Wrong device type found at specified address*/

Wrong device type found at specified address.

Definition at line 94 of file devLib.h.