20 #include "dbCoreAPI.h"
125 long (*
loadLS)(
struct link *plink,
char *pbuffer, epicsUInt32 size,
247 double *hi,
double *hihi);
272 long (*
getUnits)(
const struct link *plink,
char *units,
int unitsSize);
287 epicsEnum16 *severity);
315 const void *pbuffer,
long nRequest);
332 const void *pbuffer,
long nRequest);
377 epicsEnum16 *severity,
char *msgbuf,
size_t msgbuflen);
389 #define dbGetSevr(link, sevr) \
390 dbGetAlarm(link, NULL, sevr)
392 DBCORE_API
const char * dbLinkFieldName(
const struct link *plink);
394 DBCORE_API
void dbInitLink(
struct link *plink,
short dbfType);
395 DBCORE_API
void dbAddLink(
struct dbLocker *locker,
struct link *plink,
398 DBCORE_API
void dbLinkOpen(
struct link *plink);
399 DBCORE_API
void dbRemoveLink(
struct dbLocker *locker,
struct link *plink);
401 DBCORE_API
int dbLinkIsDefined(
const struct link *plink);
402 DBCORE_API
int dbLinkIsConstant(
const struct link *plink);
403 DBCORE_API
int dbLinkIsVolatile(
const struct link *plink);
405 DBCORE_API
long dbLoadLink(
struct link *plink,
short dbrType,
407 DBCORE_API
long dbLoadLinkArray(
struct link *,
short dbrType,
void *pbuffer,
410 DBCORE_API
long dbGetNelements(
const struct link *plink,
long *pnElements);
411 DBCORE_API
int dbIsLinkConnected(
const struct link *plink);
412 DBCORE_API
int dbGetLinkDBFtype(
const struct link *plink);
413 DBCORE_API
long dbTryGetLink(
struct link *,
short dbrType,
void *pbuffer,
415 DBCORE_API
long dbGetLink(
struct link *,
short dbrType,
void *pbuffer,
416 long *options,
long *nRequest);
417 DBCORE_API
long dbGetControlLimits(
const struct link *plink,
double *low,
419 DBCORE_API
long dbGetGraphicLimits(
const struct link *plink,
double *low,
421 DBCORE_API
long dbGetAlarmLimits(
const struct link *plink,
double *lolo,
422 double *low,
double *high,
double *hihi);
423 DBCORE_API
long dbGetPrecision(
const struct link *plink,
short *precision);
424 DBCORE_API
long dbGetUnits(
const struct link *plink,
char *units,
426 DBCORE_API
long dbGetAlarm(
const struct link *plink, epicsEnum16 *status,
427 epicsEnum16 *severity);
434 epicsEnum16 *severity,
char *msgbuf,
size_t msgbuflen);
435 #define dbGetAlarmMsg(LINK, STAT, SEVR, BUF, BUFLEN) dbGetAlarmMsg(LINK, STAT, SEVR, BUF, BUFLEN)
436 DBCORE_API
long dbGetTimeStamp(
const struct link *plink,
441 #define dbGetTimeStampTag(LINK, STAMP, TAG) dbGetTimeStampTag(LINK, STAMP, TAG)
442 DBCORE_API
long dbPutLink(
struct link *plink,
short dbrType,
443 const void *pbuffer,
long nRequest);
444 DBCORE_API
void dbLinkAsyncComplete(
struct link *plink);
445 DBCORE_API
long dbPutLinkAsync(
struct link *plink,
short dbrType,
446 const void *pbuffer,
long nRequest);
447 DBCORE_API
void dbScanFwdLink(
struct link *plink);
452 DBCORE_API
long dbLoadLinkLS(
struct link *plink,
char *pbuffer,
453 epicsUInt32 size, epicsUInt32 *plen);
454 DBCORE_API
long dbGetLinkLS(
struct link *plink,
char *pbuffer,
455 epicsUInt32 buffer_size, epicsUInt32 *plen);
456 DBCORE_API
long dbPutLinkLS(
struct link *plink,
char *pbuffer,
long(* getUnits)(const struct link *plink, char *units, int unitsSize)
get the units string from an input link
epicsUInt64 epicsUTag
Type of UTAG field (dbCommon::utag)
long(* getControlLimits)(const struct link *plink, double *lo, double *hi)
get the control range for an output link
A Database Channel object.
long(* getAlarmLimits)(const struct link *plink, double *lolo, double *lo, double *hi, double *hihi)
get the alarm limits from an input link
long(* getGraphicLimits)(const struct link *plink, double *lo, double *hi)
get the display range from an input link
long(* getElements)(const struct link *plink, long *pnElements)
get array size of an input link
void(* removeLink)(struct dbLocker *locker, struct link *plink)
deactivate link
The core data types used by epics.
long(* putValue)(struct link *plink, short dbrType, const void *pbuffer, long nRequest)
put a value to an output link
const unsigned isVolatile
link volatility
long(* loadScalar)(struct link *plink, short dbrType, void *pbuffer)
load constant scalar from link type
long(* getTimeStampTag)(const struct link *plink, epicsTimeStamp *pstamp, epicsUTag *ptag)
Extended version of getTimeStamp.
long(* getAlarmMsg)(const struct link *plink, epicsEnum16 *status, epicsEnum16 *severity, char *msgbuf, size_t msgbuflen)
Extended version of getAlarm.
long(* dbLinkUserCallback)(struct link *plink, void *priv)
callback routine for locked link operations
int(* getDBFtype)(const struct link *plink)
get data type of link destination
long(* getAlarm)(const struct link *plink, epicsEnum16 *status, epicsEnum16 *severity)
get the alarm condition from an input link
long(* loadLS)(struct link *plink, char *pbuffer, epicsUInt32 size, epicsUInt32 *plen)
load constant long string from link type
long(* getTimeStamp)(const struct link *plink, epicsTimeStamp *pstamp)
get the time-stamp from an input link
EPICS time stamp, for use from C code.
long(* getValue)(struct link *plink, short dbrType, void *pbuffer, long *pnRequest)
get value from an input link
long(* loadArray)(struct link *plink, short dbrType, void *pbuffer, long *pnRequest)
load constant array from link type
void(* scanForward)(struct link *plink)
trigger processing of a forward link
DBCORE_API long dbGetTimeStampTag(const struct link *plink, epicsTimeStamp *pstamp, epicsUTag *ptag)
int(* isConnected)(const struct link *plink)
return link connection status
long(* getPrecision)(const struct link *plink, short *precision)
get the precision from an input link
DBCORE_API long dbGetAlarmMsg(const struct link *plink, epicsEnum16 *status, epicsEnum16 *severity, char *msgbuf, size_t msgbuflen)
Link Support Entry Table.
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
const unsigned isConstant
link constancy
void(* openLink)(struct link *plink)
activate link
long(* doLocked)(struct link *plink, dbLinkUserCallback rtn, void *priv)
execute a callback routine with link locked
long(* putAsync)(struct link *plink, short dbrType, const void *pbuffer, long nRequest)
put a value to an output link with asynchronous completion
The dbChannel API gives access to record fields.