diff --git a/modules/database/src/ioc/db/dbAccessDefs.h b/modules/database/src/ioc/db/dbAccessDefs.h index 5cf0b26ab..451e3f881 100644 --- a/modules/database/src/ioc/db/dbAccessDefs.h +++ b/modules/database/src/ioc/db/dbAccessDefs.h @@ -204,6 +204,8 @@ struct dbr_alDouble {DBRalDouble}; #define S_db_notInit (M_dbAccess|67) /*Not initialized*/ #define S_db_bufFull (M_dbAccess|68) /*Buffer full*/ +struct dbEntry; + epicsShareFunc long dbPutSpecial(struct dbAddr *paddr,int pass); epicsShareFunc rset * dbGetRset(const struct dbAddr *paddr); epicsShareFunc long dbPutAttribute( @@ -213,8 +215,22 @@ epicsShareFunc int dbGetFieldIndex(const struct dbAddr *paddr); epicsShareFunc long dbScanPassive( struct dbCommon *pfrom,struct dbCommon *pto); epicsShareFunc long dbProcess(struct dbCommon *precord); -epicsShareFunc long dbNameToAddr( - const char *pname,struct dbAddr *); +epicsShareFunc long dbNameToAddr(const char *pname, struct dbAddr *); + +/** Initialize DBENTRY from a valid dbAddr* + * Constant time equivalent of dbInitEntry() then dbFindRecord(), + * and finally dbFollowAlias(). + */ +epicsShareFunc void dbInitEntryFromAddr(struct dbAddr *paddr, + struct dbEntry *pdbentry); + +/** Initialize DBENTRY from a valid record (dbCommon*) + * Constant time equivalent of dbInitEntry() then dbFindRecord(), + * and finally dbFollowAlias() when no field is specified. + */ +epicsShareFunc void dbInitEntryFromRecord(struct dbCommon *prec, + struct dbEntry *pdbentry); + epicsShareFunc devSup* dbDTYPtoDevSup(dbRecordType *prdes, int dtyp); epicsShareFunc devSup* dbDSETtoDevSup(dbRecordType *prdes, struct dset *pdset); epicsShareFunc long dbGetField( diff --git a/modules/database/src/ioc/dbStatic/dbStaticLib.h b/modules/database/src/ioc/dbStatic/dbStaticLib.h index a3c55fa9c..e0a2ddc6b 100644 --- a/modules/database/src/ioc/dbStatic/dbStaticLib.h +++ b/modules/database/src/ioc/dbStatic/dbStaticLib.h @@ -30,7 +30,7 @@ extern "C" { typedef dbBase DBBASE; -typedef struct{ +typedef struct dbEntry { DBBASE *pdbbase; dbRecordType *precordType; dbFldDes *pflddes; @@ -41,9 +41,6 @@ typedef struct{ short indfield; } DBENTRY; -struct dbAddr; -struct dbCommon; - /* Static database access routines*/ epicsShareFunc DBBASE * dbAllocBase(void); epicsShareFunc void dbFreeBase(DBBASE *pdbbase); @@ -52,18 +49,6 @@ epicsShareFunc void dbFreeEntry(DBENTRY *pdbentry); epicsShareFunc void dbInitEntry(DBBASE *pdbbase, DBENTRY *pdbentry); -/** Initialize DBENTRY from a valid dbAddr*. - * Constant time equivalent of dbInitEntry() then dbFindRecord(), - * and finally dbFollowAlias() - */ -epicsShareFunc void dbInitEntryFromAddr(struct dbAddr *paddr, DBENTRY *pdbentry); - -/** Initialize DBENTRY from a valid record (dbCommon*). - * Constant time equivalent of dbInitEntry() then dbFindRecord(), - * and finally dbFollowAlias() when no field is specified. - */ -epicsShareFunc void dbInitEntryFromRecord(struct dbCommon *prec, DBENTRY *pdbentry); - epicsShareFunc void dbFinishEntry(DBENTRY *pdbentry); epicsShareFunc DBENTRY * dbCopyEntry(DBENTRY *pdbentry); epicsShareFunc void dbCopyEntryContents(DBENTRY *pfrom,