Files
epics-base/src/db/dbCa.h
2003-12-16 19:47:48 +00:00

67 lines
2.8 KiB
C

/*************************************************************************\
* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE Versions 3.13.7
* and higher are distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/* dbCa.h */
#ifndef INCdbCah
#define INCdbCah
#include "shareLib.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*dbCaCallback)(void *userPvt);
epicsShareFunc void epicsShareAPI dbCaCallbackProcess(struct link *plink);
epicsShareFunc void epicsShareAPI dbCaLinkInit(void);
epicsShareFunc void epicsShareAPI dbCaAddLinkCallback(struct link *plink,
dbCaCallback connect,dbCaCallback monitor,void *userPvt);
#define dbCaAddLink(plink) dbCaAddLinkCallback((plink),0,0,0)
epicsShareFunc void epicsShareAPI dbCaRemoveLink(struct link *plink);
epicsShareFunc long epicsShareAPI dbCaGetLink(
struct link *plink,short dbrType,void *pbuffer,
unsigned short *psevr,long *nRequest);
epicsShareFunc long epicsShareAPI dbCaPutLinkCallback(
struct link *plink,short dbrType,const void *pbuffer,long nRequest,
dbCaCallback callback,void *userPvt);
#define dbCaPutLink(plink,dbrType,pbuffer,nRequest) \
dbCaPutLinkCallback((plink),(dbrType),(pbuffer),(nRequest),0,0)
epicsShareFunc int epicsShareAPI dbCaIsLinkConnected(const struct link *plink);
/* The following are available after the link is connected*/
epicsShareFunc long epicsShareAPI dbCaGetNelements(
const struct link *plink,long *nelements);
epicsShareFunc long epicsShareAPI dbCaGetSevr(
const struct link *plink,short *severity);
epicsShareFunc long epicsShareAPI dbCaGetTimeStamp(
const struct link *plink,epicsTimeStamp *pstamp);
epicsShareFunc int epicsShareAPI dbCaGetLinkDBFtype(const struct link *plink);
/*The following are available after attribute request is complete*/
epicsShareFunc long epicsShareAPI dbCaGetAttributes(
const struct link *plink,dbCaCallback callback,void *userPvt);
epicsShareFunc long epicsShareAPI dbCaGetControlLimits(
const struct link *plink,double *low, double *high);
epicsShareFunc long epicsShareAPI dbCaGetGraphicLimits(
const struct link *plink,double *low, double *high);
epicsShareFunc long epicsShareAPI dbCaGetAlarmLimits(
const struct link *plink,double *lolo, double *low, double *high, double *hihi);
epicsShareFunc long epicsShareAPI dbCaGetPrecision(
const struct link *plink,short *precision);
epicsShareFunc long epicsShareAPI dbCaGetUnits(
const struct link *plink,char *units,int unitsSize);
extern struct ca_client_context * dbCaClientContext;
#ifdef __cplusplus
}
#endif
#endif /*INCdbCah*/