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

Link Support API. More...

#include "link.h"
#include "dbCoreAPI.h"
#include "epicsTypes.h"
#include "epicsTime.h"
#include "dbAddr.h"
#include "dbChannel.h"
Include dependency graph for dbLink.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lset
 Link Support Entry Table. More...
 

Macros

#define dbGetSevr(link, sevr)   dbGetAlarm(link, NULL, sevr)
 
#define dbGetAlarmMsg(LINK, STAT, SEVR, BUF, BUFLEN)   dbGetAlarmMsg(LINK, STAT, SEVR, BUF, BUFLEN)
 
#define dbGetTimeStampTag(LINK, STAMP, TAG)   dbGetTimeStampTag(LINK, STAMP, TAG)
 

Typedefs

typedef long(* dbLinkUserCallback )(struct link *plink, void *priv)
 callback routine for locked link operations More...
 

Functions

DBCORE_API const char * dbLinkFieldName (const struct link *plink)
 
DBCORE_API void dbInitLink (struct link *plink, short dbfType)
 
DBCORE_API void dbAddLink (struct dbLocker *locker, struct link *plink, short dbfType, dbChannel *ptarget)
 
DBCORE_API void dbLinkOpen (struct link *plink)
 
DBCORE_API void dbRemoveLink (struct dbLocker *locker, struct link *plink)
 
DBCORE_API int dbLinkIsDefined (const struct link *plink)
 
DBCORE_API int dbLinkIsConstant (const struct link *plink)
 
DBCORE_API int dbLinkIsVolatile (const struct link *plink)
 
DBCORE_API long dbLoadLink (struct link *plink, short dbrType, void *pbuffer)
 
DBCORE_API long dbLoadLinkArray (struct link *, short dbrType, void *pbuffer, long *pnRequest)
 
DBCORE_API long dbGetNelements (const struct link *plink, long *pnElements)
 
DBCORE_API int dbIsLinkConnected (const struct link *plink)
 
DBCORE_API int dbGetLinkDBFtype (const struct link *plink)
 
DBCORE_API long dbTryGetLink (struct link *, short dbrType, void *pbuffer, long *nRequest)
 
DBCORE_API long dbGetLink (struct link *, short dbrType, void *pbuffer, long *options, long *nRequest)
 
DBCORE_API long dbGetControlLimits (const struct link *plink, double *low, double *high)
 
DBCORE_API long dbGetGraphicLimits (const struct link *plink, double *low, double *high)
 
DBCORE_API long dbGetAlarmLimits (const struct link *plink, double *lolo, double *low, double *high, double *hihi)
 
DBCORE_API long dbGetPrecision (const struct link *plink, short *precision)
 
DBCORE_API long dbGetUnits (const struct link *plink, char *units, int unitsSize)
 
DBCORE_API long dbGetAlarm (const struct link *plink, epicsEnum16 *status, epicsEnum16 *severity)
 
DBCORE_API long dbGetAlarmMsg (const struct link *plink, epicsEnum16 *status, epicsEnum16 *severity, char *msgbuf, size_t msgbuflen)
 
DBCORE_API long dbGetTimeStamp (const struct link *plink, epicsTimeStamp *pstamp)
 
DBCORE_API long dbGetTimeStampTag (const struct link *plink, epicsTimeStamp *pstamp, epicsUTag *ptag)
 
DBCORE_API long dbPutLink (struct link *plink, short dbrType, const void *pbuffer, long nRequest)
 
DBCORE_API void dbLinkAsyncComplete (struct link *plink)
 
DBCORE_API long dbPutLinkAsync (struct link *plink, short dbrType, const void *pbuffer, long nRequest)
 
DBCORE_API void dbScanFwdLink (struct link *plink)
 
DBCORE_API long dbLinkDoLocked (struct link *plink, dbLinkUserCallback rtn, void *priv)
 
DBCORE_API long dbLoadLinkLS (struct link *plink, char *pbuffer, epicsUInt32 size, epicsUInt32 *plen)
 
DBCORE_API long dbGetLinkLS (struct link *plink, char *pbuffer, epicsUInt32 buffer_size, epicsUInt32 *plen)
 
DBCORE_API long dbPutLinkLS (struct link *plink, char *pbuffer, epicsUInt32 len)
 

Detailed Description

Link support run-time API, all link types provide an lset which is used by the IOC database to control and operate the link. This file also declares the dbLink routines that IOC, record and device code can call to perform link operations.

Definition in file dbLink.h.

Typedef Documentation

typedef long(* dbLinkUserCallback)(struct link *plink, void *priv)

Called by the lset::doLocked method to permit multiple link operations while the link instance is locked.

Parameters
plinkthe link
privcontext for the callback routine

Definition at line 49 of file dbLink.h.

Function Documentation

DBCORE_API long dbGetAlarmMsg ( const struct link plink,
epicsEnum16 *  status,
epicsEnum16 *  severity,
char *  msgbuf,
size_t  msgbuflen 
)

Get link alarm and message string. To ensure the complete message string is copied, ensure

msgbuflen >= sizeof (dbCommon::amsg)

. A trailing nil will be added whenever

msgbuflen > 0

.

Since
7.0.6
DBCORE_API long dbGetTimeStampTag ( const struct link plink,
epicsTimeStamp pstamp,
epicsUTag ptag 
)
Since
7.0.6