ioc/dbStatic: add dbInitEntryFromRecord()
This commit is contained in:
@@ -686,14 +686,27 @@ void dbInitEntryFromAddr(struct dbAddr *paddr, DBENTRY *pdbentry)
|
||||
{
|
||||
struct dbCommon *prec = paddr->precord;
|
||||
dbCommonPvt *ppvt = CONTAINER(prec, dbCommonPvt, common);
|
||||
|
||||
memset((char *)pdbentry,'\0',sizeof(DBENTRY));
|
||||
|
||||
pdbentry->pdbbase = pdbbase;
|
||||
pdbentry->precordType = prec->rdes;
|
||||
pdbentry->precnode = ppvt->node;
|
||||
pdbentry->pflddes = paddr->pfldDes;
|
||||
pdbentry->pinfonode = NULL;
|
||||
pdbentry->pfield = paddr->pfield;
|
||||
pdbentry->indfield = -1; /* invalid */
|
||||
pdbentry->message = NULL;
|
||||
}
|
||||
|
||||
void dbInitEntryFromRecord(struct dbCommon *prec, DBENTRY *pdbentry)
|
||||
{
|
||||
dbCommonPvt *ppvt = CONTAINER(prec, dbCommonPvt, common);
|
||||
|
||||
memset((char *)pdbentry,'\0',sizeof(DBENTRY));
|
||||
|
||||
pdbentry->pdbbase = pdbbase;
|
||||
pdbentry->precordType = prec->rdes;
|
||||
pdbentry->precnode = ppvt->node;
|
||||
pdbentry->indfield = -1; /* invalid */
|
||||
}
|
||||
|
||||
long dbValueSize(short dbr_type)
|
||||
|
||||
@@ -58,6 +58,7 @@ typedef struct{
|
||||
} DBENTRY;
|
||||
|
||||
struct dbAddr;
|
||||
struct dbCommon;
|
||||
|
||||
/*dbDumpFldDes is obsolete. It is only provided for compatibility*/
|
||||
#define dbDumpFldDes dbDumpField
|
||||
@@ -74,6 +75,12 @@ epicsShareFunc void dbInitEntry(DBBASE *pdbbase,
|
||||
* except that DBENTRY::indfield is not set
|
||||
*/
|
||||
epicsShareFunc void dbInitEntryFromAddr(struct dbAddr *paddr, DBENTRY *pdbentry);
|
||||
/** Initialize DBENTRY from a valid record (dbCommon*).
|
||||
* Constant time equivalent of dbInitEntry() then dbFindRecord()
|
||||
* when no field is specified (pflddes and pfield are NULL).
|
||||
* except that DBENTRY::indfield is not set.
|
||||
*/
|
||||
epicsShareFunc void dbInitEntryFromRecord(struct dbCommon *prec, DBENTRY *pdbentry);
|
||||
epicsShareFunc void dbFinishEntry(DBENTRY *pdbentry);
|
||||
epicsShareFunc DBENTRY * dbCopyEntry(DBENTRY *pdbentry);
|
||||
epicsShareFunc void dbCopyEntryContents(DBENTRY *pfrom,
|
||||
|
||||
Reference in New Issue
Block a user