67 lines
2.6 KiB
C
67 lines
2.6 KiB
C
/* devSup.h Device Support */
|
|
/* share/epicsH $Id$ */
|
|
/*
|
|
* Author: Marty Kraimer
|
|
* Date: 6-1-90
|
|
*
|
|
* Experimental Physics and Industrial Control System (EPICS)
|
|
*
|
|
* Copyright 1991, the Regents of the University of California,
|
|
* and the University of Chicago Board of Governors.
|
|
*
|
|
* This software was produced under U.S. Government contracts:
|
|
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
|
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
|
*
|
|
* Initial development by:
|
|
* The Controls and Automation Group (AT-8)
|
|
* Ground Test Accelerator
|
|
* Accelerator Technology Division
|
|
* Los Alamos National Laboratory
|
|
*
|
|
* Co-developed with
|
|
* The Controls and Computing Group
|
|
* Accelerator Systems Division
|
|
* Advanced Photon Source
|
|
* Argonne National Laboratory
|
|
*
|
|
* Modification Log:
|
|
* -----------------
|
|
* .01 10-04-91 jba Added error message
|
|
* .02 05-18-92 rcz Changed macro "GET_DEVSUP(" to "GET_PDEVSUP(precDevSup,"
|
|
* .03 05-18-92 rcz Structure devSup changed element name from dsetName to papDsetName
|
|
* .04 05-18-92 rcz New database access
|
|
*/
|
|
|
|
#ifndef INCdevSuph
|
|
#define INCdevSuph 1
|
|
|
|
#ifdef __cplusplus
|
|
typedef long (*DEVSUPFUN)(void*); /* ptr to device support function*/
|
|
#else
|
|
typedef long (*DEVSUPFUN)(); /* ptr to device support function*/
|
|
#endif
|
|
|
|
struct dset { /* device support entry table */
|
|
long number; /*number of support routines*/
|
|
DEVSUPFUN report; /*print report*/
|
|
DEVSUPFUN init; /*init support*/
|
|
DEVSUPFUN init_record; /*init support for particular record*/
|
|
DEVSUPFUN get_ioint_info; /* get io interrupt information*/
|
|
/*other functions are record dependent*/
|
|
};
|
|
|
|
#define S_dev_noDevSup (M_devSup| 1) /*SDR_DEVSUP: Device support missing*/
|
|
#define S_dev_noDSET (M_devSup| 3) /*Missing device support entry table*/
|
|
#define S_dev_missingSup (M_devSup| 5) /*Missing device support routine*/
|
|
#define S_dev_badInpType (M_devSup| 7) /*Bad INP link type*/
|
|
#define S_dev_badOutType (M_devSup| 9) /*Bad OUT link type*/
|
|
#define S_dev_badInitRet (M_devSup|11) /*Bad init_rec return value */
|
|
#define S_dev_badBus (M_devSup|13) /*Illegal bus type*/
|
|
#define S_dev_badCard (M_devSup|15) /*Illegal or nonexistant module*/
|
|
#define S_dev_badSignal (M_devSup|17) /*Illegal signal*/
|
|
#define S_dev_NoInit (M_devSup|19) /*No init*/
|
|
#define S_dev_Conflict (M_devSup|21) /*Multiple records accessing same signal*/
|
|
|
|
#endif
|