diff --git a/src/db/Makefile.Unix b/src/db/Makefile.Unix index 5c394a224..949a52e53 100644 --- a/src/db/Makefile.Unix +++ b/src/db/Makefile.Unix @@ -17,7 +17,6 @@ INC += fast_lock.h INC += initHooks.h INC += recSup.h INC += devSup.h -INC += task_params.h INC += taskwd.h INC += recGbl.h INC += dbBkpt.h diff --git a/src/db/Makefile.Vx b/src/db/Makefile.Vx index dc2cb9c8d..7502ea6c0 100644 --- a/src/db/Makefile.Vx +++ b/src/db/Makefile.Vx @@ -18,10 +18,11 @@ MENUS += menuScan.h MENUS += menuYesNo.h RECTYPES += dbCommon.h +USER_DBDFLAGS += -I .. -I $(EPICS_BASE)/dbd -DBINSTALL += dbCommonRecord.db -DBINSTALL += menuGlobal.db -DBINSTALL += epics.db +DBINSTALL += dbCommonRecord.dbd +DBINSTALL += menuGlobal.dbd +DBINSTALL += epics.dbd DBINSTALL += epicsLIBOBJS SRCS.c = \ @@ -73,12 +74,13 @@ LIBNAME = dbLib include $(EPICS)/config/RULES.Vx -dbCommon.h: ../dbCommonRecord.db dbCommon.db +dbCommon.h: ../dbCommonRecord.dbd dbCommon.dbd $(RM) $@ - $(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH $< + $(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \ + $(USER_DBDFLAGS) $< -dbCommon.db: ../dbCommon.db +dbCommon.dbd: ../dbCommon.dbd @test -f $@ || ln -s $< $@ clean:: - @$(RM) dbCommon.db rec base + @$(RM) dbCommon.dbd rec base diff --git a/src/db/dbAccess.c b/src/db/dbAccess.c index e67bf8c17..06e30a907 100644 --- a/src/db/dbAccess.c +++ b/src/db/dbAccess.c @@ -388,12 +388,12 @@ struct rset *dbGetRset(struct dbAddr *paddr) struct dbFldDes *pfldDes = (struct dbFldDes *)paddr->pfldDes; if(!pfldDes) return(0); - return(pfldDes->pdbRecDes->prset); + return(pfldDes->pdbRecordType->prset); } int dbIsValueField(struct dbFldDes *pdbFldDes) { - if(pdbFldDes->pdbRecDes->indvalFlddes == pdbFldDes->indRecDes) + if(pdbFldDes->pdbRecordType->indvalFlddes == pdbFldDes->indRecordType) return(TRUE); else return(FALSE); @@ -401,7 +401,7 @@ int dbIsValueField(struct dbFldDes *pdbFldDes) int dbGetFieldIndex(struct dbAddr *paddr) { - return(((struct dbFldDes *)paddr->pfldDes)->indRecDes); + return(((struct dbFldDes *)paddr->pfldDes)->indRecordType); } @@ -448,7 +448,7 @@ long dbScanLink(dbCommon *pfrom, dbCommon *pto) long dbProcess(dbCommon *precord) { struct rset *prset = (struct rset *)precord->rset; - dbRecDes *pdbRecDes = (dbRecDes *)precord->rdes; + dbRecordType *pdbRecordType = (dbRecordType *)precord->rdes; unsigned char tpro=precord->tpro; unsigned long lset; long status = 0; @@ -500,7 +500,7 @@ long dbProcess(dbCommon *precord) recGblSetSevr(precord, SCAN_ALARM, INVALID_ALARM); monitor_mask = recGblResetAlarms(precord); monitor_mask |= DBE_VALUE; - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->indvalFlddes]; + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->indvalFlddes]; db_post_events(precord, (void *)(((char *)precord) + pdbFldDes->offset), monitor_mask); @@ -531,7 +531,7 @@ long dbProcess(dbCommon *precord) precord->nsta = 0; db_post_events(precord, &precord->stat, DBE_VALUE); db_post_events(precord, &precord->sevr, DBE_VALUE); - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->indvalFlddes]; + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->indvalFlddes]; db_post_events(precord, (void *)(((char *)precord) + pdbFldDes->offset), DBE_VALUE|DBE_ALARM); diff --git a/src/db/dbCommon.db b/src/db/dbCommon.dbd similarity index 99% rename from src/db/dbCommon.db rename to src/db/dbCommon.dbd index 17c850ade..4291bf31d 100644 --- a/src/db/dbCommon.db +++ b/src/db/dbCommon.dbd @@ -201,7 +201,7 @@ extra("void *dpvt") } field(RDES,DBF_NOACCESS) { - prompt("Address of dbRecDes") + prompt("Address of dbRecordType") special(SPC_NOMOD) interest(4) size(4) diff --git a/src/db/dbCommonRecord.db b/src/db/dbCommonRecord.dbd similarity index 51% rename from src/db/dbCommonRecord.db rename to src/db/dbCommonRecord.dbd index 56e062135..83e484a84 100644 --- a/src/db/dbCommonRecord.db +++ b/src/db/dbCommonRecord.dbd @@ -1,3 +1,3 @@ recordtype(dbCommon) { - include "dbCommon.db" + include "dbCommon.dbd" } diff --git a/src/db/dbLock.c b/src/db/dbLock.c index 436df784a..cb4a5a5dd 100644 --- a/src/db/dbLock.c +++ b/src/db/dbLock.c @@ -253,7 +253,7 @@ unsigned long dbLockGetLockId(dbCommon *precord) void dbLockInitRecords(dbBase *pdbbase) { int link; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; dbFldDes *pdbFldDes; dbRecordNode *pdbRecordNode; dbCommon *precord; @@ -262,15 +262,15 @@ void dbLockInitRecords(dbBase *pdbbase) lockRecord *plockRecord; /*Allocate and initialize a lockRecord for each record instance*/ - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - nrecords += ellCount(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + nrecords += ellCount(&pdbRecordType->recList); } /*Allocate all of them at once */ plockRecord = dbCalloc(nrecords,sizeof(lockRecord)); - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList); pdbRecordNode; pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) { precord = pdbRecordNode->precord; @@ -279,17 +279,18 @@ void dbLockInitRecords(dbBase *pdbbase) plockRecord++; } } - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); + pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList); pdbRecordNode; pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) { precord = pdbRecordNode->precord; if(!(precord->name[0])) continue; - for(link=0; linkno_links; link++) { + for(link=0; linkno_links; link++) { DBADDR *pdbAddr; - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[link]]; + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[link]]; plink = (DBLINK *)((char *)precord + pdbFldDes->offset); if(plink->type != DB_LINK) continue; pdbAddr = (DBADDR *)(plink->value.pv_link.pvt); @@ -354,7 +355,7 @@ void dbLockSetSplit(dbCommon *psource) lockRecord *plockRecord; dbCommon *precord; int link; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; dbFldDes *pdbFldDes; DBLINK *plink; int nrecordsInSet,i; @@ -384,11 +385,11 @@ void dbLockSetSplit(dbCommon *psource) precord = paprecord[i]; plockRecord = (lockRecord *)precord->lset; if(!(precord->name[0])) continue; - pdbRecDes = (dbRecDes *)precord->rdes; - for(link=0; linkno_links; link++) { + pdbRecordType = (dbRecordType *)precord->rdes; + for(link=0; linkno_links; link++) { DBADDR *pdbAddr; - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[link]]; + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[link]]; plink = (DBLINK *)((char *)precord + pdbFldDes->offset); if(plink->type != DB_LINK) continue; @@ -420,7 +421,7 @@ long dblsr(char *recordname,int level) dbCommon *precord; lockSet *plockSet; lockRecord *plockRecord; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; dbFldDes *pdbFldDes; DBLINK *plink; @@ -465,13 +466,13 @@ long dblsr(char *recordname,int level) for(plockRecord = (lockRecord *)ellFirst(&plockSet->recordList); plockRecord; plockRecord = (lockRecord *)ellNext(&plockRecord->node)) { precord = plockRecord->precord; - pdbRecDes = (dbRecDes *)precord->rdes; + pdbRecordType = (dbRecordType *)precord->rdes; printf("%s\n",precord->name); if(level<=1) continue; - for(link=0; (linkno_links) ; link++) { + for(link=0; (linkno_links) ; link++) { DBADDR *pdbAddr; - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[link]]; + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[link]]; plink = (DBLINK *)((char *)precord + pdbFldDes->offset); if(plink->type != DB_LINK) continue; pdbAddr = (DBADDR *)(plink->value.pv_link.pvt); diff --git a/src/db/dbScan.c b/src/db/dbScan.c index a50dd58f9..c4bdca1b6 100644 --- a/src/db/dbScan.c +++ b/src/db/dbScan.c @@ -636,14 +636,15 @@ static void scanList(scan_list *psl) static void buildScanLists(void) { - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; dbRecordNode *pdbRecordNode; dbCommon *precord; /*Look for first record*/ - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); + pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList); pdbRecordNode; pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) { precord = pdbRecordNode->precord; diff --git a/src/db/dbTest.c b/src/db/dbTest.c index 9329641c0..05dd5b6e7 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -46,7 +46,7 @@ /* Global Database Test Routines - All can be invoked via vxWorks shell*/ long dba(char*pname); /*dbAddr info */ long dbel(char*pname); /*CA event list */ -long dbl(char *precdesname); /*list records*/ +long dbl(char *precordTypename); /*list records*/ long dbnr(int verbose); /*list number of records of each type*/ long dbgrep(char *pmask); /*list records with mask*/ long dbgf(char *pname); /*get field value*/ @@ -158,17 +158,17 @@ long dbel(char*pname) return(0); } -long dbl(char *precdesname) +long dbl(char *precordTypename) { DBENTRY dbentry; DBENTRY *pdbentry=&dbentry; long status; dbInitEntry(pdbbase,pdbentry); - if(!precdesname) - status = dbFirstRecdes(pdbentry); + if(!precordTypename) + status = dbFirstRecordType(pdbentry); else - status = dbFindRecdes(pdbentry,precdesname); + status = dbFindRecordType(pdbentry,precordTypename); if(status) printf("No record description\n"); while(!status) { status = dbFirstRecord(pdbentry); @@ -176,8 +176,8 @@ long dbl(char *precdesname) printf("%s\n",dbGetRecordName(pdbentry)); status = dbNextRecord(pdbentry); } - if(precdesname) break; - status = dbNextRecdes(pdbentry); + if(precordTypename) break; + status = dbNextRecordType(pdbentry); } dbFinishEntry(pdbentry); return(0); @@ -192,14 +192,14 @@ long dbnr(int verbose) int total=0; dbInitEntry(pdbbase,pdbentry); - status = dbFirstRecdes(pdbentry); + status = dbFirstRecordType(pdbentry); if(status) printf("No record description\n"); while(!status) { nrecords = dbGetNRecords(pdbentry); total += nrecords; if(verbose || nrecords) - printf("%.4d %s\n",nrecords,dbGetRecdesName(pdbentry)); - status = dbNextRecdes(pdbentry); + printf("%.4d %s\n",nrecords,dbGetRecordTypeName(pdbentry)); + status = dbNextRecordType(pdbentry); } dbFinishEntry(pdbentry); printf("Total Records: %d\n",total); @@ -261,7 +261,7 @@ long dbgrep(char *pmask) char *pname; dbInitEntry(pdbbase,pdbentry); - status = dbFirstRecdes(pdbentry); + status = dbFirstRecordType(pdbentry); while(!status) { status = dbFirstRecord(pdbentry); while(!status) { @@ -269,7 +269,7 @@ long dbgrep(char *pmask) if (specified_by(pname, pmask)) printf("%s\n", pname); status = dbNextRecord(pdbentry); } - status = dbNextRecdes(pdbentry); + status = dbNextRecordType(pdbentry); } dbFinishEntry(pdbentry); return(0); @@ -643,7 +643,7 @@ long dbior(char *pdrvName,int type) char *pname; drvSup *pdrvSup; struct drvet *pdrvet; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; devSup *pdevSup; struct dset *pdset; @@ -664,9 +664,10 @@ long dbior(char *pdrvName,int type) } } /* now check devSup reports */ - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - for(pdevSup = (devSup *)ellFirst(&pdbRecDes->devList); pdevSup; + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); + pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + for(pdevSup = (devSup *)ellFirst(&pdbRecordType->devList); pdevSup; pdevSup = (devSup *)ellNext(&pdevSup->node)) { if(!(pdset = pdevSup->pdset)) continue; if(!(pname = pdevSup->name)) continue; @@ -714,7 +715,7 @@ static void printDbAddr(long status,DBADDR *paddr) printf(" Field Address: %p",paddr->pfield); printf(" Field Description: %p\n",pdbFldDes); printf(" No Elements: %ld\n",paddr->no_elements); - printf(" Record Type: %s\n",pdbFldDes->pdbRecDes->name); + printf(" Record Type: %s\n",pdbFldDes->pdbRecordType->name); printf(" FieldType: DBF_"); field_type = paddr->field_type; if(field_type<0 || field_type>DBR_NOACCESS) @@ -1030,14 +1031,14 @@ static int dbpr_report( char *pmsg; dbFldDes *pdbFldDes = paddr->pfldDes; - dbRecDes *pdbRecDes = pdbFldDes->pdbRecDes; + dbRecordType *pdbRecordType = pdbFldDes->pdbRecordType; short n2; void *pfield; char *pfield_name; pmsg = pMsgBuff->message; - for (n2 = 0; n2 <= pdbRecDes->no_fields - 1; n2++) { - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->sortFldInd[n2]]; + for (n2 = 0; n2 <= pdbRecordType->no_fields - 1; n2++) { + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->sortFldInd[n2]]; pfield_name = pdbFldDes->name; pfield = ((char *)paddr->precord) + pdbFldDes->offset; if (pdbFldDes->interest > interest_level ) diff --git a/src/db/dbcar.c b/src/db/dbcar.c index 1de9bc2c4..5f8d28323 100644 --- a/src/db/dbcar.c +++ b/src/db/dbcar.c @@ -50,7 +50,7 @@ long dbcar(char *precordname,int level) DBENTRY *pdbentry=&dbentry; long status; dbCommon *precord; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; dbFldDes *pdbFldDes; DBLINK *plink; int ncalinks=0; @@ -64,16 +64,16 @@ long dbcar(char *precordname,int level) dbInitEntry(pdbbase,pdbentry); - status = dbFirstRecdes(pdbentry); + status = dbFirstRecordType(pdbentry); while(!status) { status = dbFirstRecord(pdbentry); while(!status) { if(!precordname || (strcmp(precordname,dbGetRecordName(pdbentry)) ==0)) { - pdbRecDes = pdbentry->precdes; + pdbRecordType = pdbentry->precordType; precord = (dbCommon *)pdbentry->precnode->precord; - for(j=0; jno_links; j++) { - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[j]]; + for(j=0; jno_links; j++) { + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[j]]; plink = (DBLINK *)((char *)precord + pdbFldDes->offset); if (plink->type == CA_LINK) { ncalinks++; @@ -118,7 +118,7 @@ long dbcar(char *precordname,int level) } status = dbNextRecord(pdbentry); } - status = dbNextRecdes(pdbentry); + status = dbNextRecordType(pdbentry); } done: printf("ncalinks %d",ncalinks); diff --git a/src/db/epics.db b/src/db/epics.dbd similarity index 87% rename from src/db/epics.db rename to src/db/epics.dbd index b122b1bb2..f0292f066 100644 --- a/src/db/epics.db +++ b/src/db/epics.dbd @@ -1,46 +1,46 @@ -include "menuGlobal.db" -include "menuConvert.db" -include "aiRecord.db" -#include "aaiRecord.db" -include "aoRecord.db" -#include "aaoRecord.db" -include "biRecord.db" -include "boRecord.db" -include "calcRecord.db" -include "compressRecord.db" -include "dfanoutRecord.db" -#include "egRecord.db" -#include "egeventRecord.db" -#include "erRecord.db" -#include "ereventRecord.db" -include "eventRecord.db" -include "fanoutRecord.db" -#include "histogramRecord.db" -include "longinRecord.db" -include "longoutRecord.db" -include "mbbiRecord.db" -include "mbbiDirectRecord.db" -include "mbboRecord.db" -include "mbboDirectRecord.db" -include "permissiveRecord.db" -include "pidRecord.db" -#include "pulseCounterRecord.db" -#include "pulseDelayRecord.db" -#include "pulseTrainRecord.db" -#include "scanRecord.db" -include "selRecord.db" -include "seqRecord.db" -include "stateRecord.db" -#include "steppermotorRecord.db" -include "stringinRecord.db" -include "stringoutRecord.db" -include "subRecord.db" -#include "gsubRecord.db" -#include "palRecord.db" -include "subArrayRecord.db" -#include "timerRecord.db" -#include "waitRecord.db" -include "waveformRecord.db" +include "menuGlobal.dbd" +include "menuConvert.dbd" +include "aiRecord.dbd" +#include "aaiRecord.dbd" +include "aoRecord.dbd" +#include "aaoRecord.dbd" +include "biRecord.dbd" +include "boRecord.dbd" +include "calcRecord.dbd" +include "compressRecord.dbd" +include "dfanoutRecord.dbd" +#include "egRecord.dbd" +#include "egeventRecord.dbd" +#include "erRecord.dbd" +#include "ereventRecord.dbd" +include "eventRecord.dbd" +include "fanoutRecord.dbd" +#include "histogramRecord.dbd" +include "longinRecord.dbd" +include "longoutRecord.dbd" +include "mbbiRecord.dbd" +include "mbbiDirectRecord.dbd" +include "mbboRecord.dbd" +include "mbboDirectRecord.dbd" +include "permissiveRecord.dbd" +include "pidRecord.dbd" +#include "pulseCounterRecord.dbd" +#include "pulseDelayRecord.dbd" +#include "pulseTrainRecord.dbd" +#include "scanRecord.dbd" +include "selRecord.dbd" +include "seqRecord.dbd" +include "stateRecord.dbd" +#include "steppermotorRecord.dbd" +include "stringinRecord.dbd" +include "stringoutRecord.dbd" +include "subRecord.dbd" +#include "gsubRecord.dbd" +#include "palRecord.dbd" +include "subArrayRecord.dbd" +#include "timerRecord.dbd" +#include "waitRecord.dbd" +include "waveformRecord.dbd" device(ai,CONSTANT,devAiSoft,"Soft Channel") #device(ai,CONSTANT,devAiSoftRaw,"Raw Soft Channel") #device(ai,VME_IO,devAiXy566Se,"XYCOM-566 SE Scanned") @@ -237,7 +237,7 @@ device(waveform,CONSTANT,devWfSoft,"Soft Channel") #driver(drvIpac) #driver(drvTip810) #driver(drvVmi2534) -#include "bptTypeJdegC.db" -#include "bptTypeJdegF.db" -#include "bptTypeKdegC.db" -#include "bptTypeKdegF.db" +#include "bptTypeJdegC.dbd" +#include "bptTypeJdegF.dbd" +#include "bptTypeKdegC.dbd" +#include "bptTypeKdegF.dbd" diff --git a/src/db/iocInit.c b/src/db/iocInit.c index 0e547fe5b..c495c96c2 100644 --- a/src/db/iocInit.c +++ b/src/db/iocInit.c @@ -306,22 +306,22 @@ LOCAL long initRecSup(void) long status=0; long rtnval; STATUS vxstatus; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; struct rset *prset; - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { strcpy(name,"_"); - strcat(name,pdbRecDes->name); + strcat(name,pdbRecordType->name); strcat(name,"RSET"); vxstatus = symFindByName(sysSymTbl, name, - (void *)&pdbRecDes->prset, &type); + (void *)&pdbRecordType->prset, &type); if (vxstatus != OK) { status = S_rec_noRSET; - errPrintf(status,__FILE__,__LINE__,"%s",pdbRecDes->name); + errPrintf(status,__FILE__,__LINE__,"%s",pdbRecordType->name); continue; } - prset = pdbRecDes->prset; + prset = pdbRecordType->prset; /* If an initialization routine exists for a record type, execute it */ if(!prset->init) { continue; @@ -347,13 +347,13 @@ LOCAL long initDevSup(void) long status=0; long rtnval = 0; STATUS vxstatus; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; devSup *pdevSup; struct dset *pdset; - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - for(pdevSup = (devSup *)ellFirst(&pdbRecDes->devList); pdevSup; + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + for(pdevSup = (devSup *)ellFirst(&pdbRecordType->devList); pdevSup; pdevSup = (devSup *)ellNext(&pdevSup->node)) { if(!(pname = pdevSup->name)) continue; strcpy(name, "_"); @@ -381,13 +381,13 @@ LOCAL long initDevSup(void) */ LOCAL long finishDevSup(void) { - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; devSup *pdevSup; struct dset *pdset; - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - for(pdevSup = (devSup *)ellFirst(&pdbRecDes->devList); pdevSup; + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + for(pdevSup = (devSup *)ellFirst(&pdbRecordType->devList); pdevSup; pdevSup = (devSup *)ellNext(&pdevSup->node)) { if(!(pdset = pdevSup->pdset)) continue; if(pdset->init) (*pdset->init)(1); @@ -401,7 +401,7 @@ LOCAL long initDatabase(void) { long status=0; long rtnval=0; - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; dbFldDes *pdbFldDes; dbRecordNode *pdbRecordNode; devSup *pdevSup; @@ -412,10 +412,10 @@ LOCAL long initDatabase(void) DBLINK *plink; int j; - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - prset = pdbRecDes->prset; - for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + prset = pdbRecordType->prset; + for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList); pdbRecordNode; pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) { if(!prset) break; @@ -423,7 +423,7 @@ LOCAL long initDatabase(void) precord = pdbRecordNode->precord; if(!(precord->name[0])) continue; precord->rset = prset; - precord->rdes = pdbRecDes; + precord->rdes = pdbRecordType; FASTLOCKINIT(&precord->mlok); ellInit(&(precord->mlis)); @@ -431,7 +431,7 @@ LOCAL long initDatabase(void) precord->pact=FALSE; /* Init DSET NOTE that result may be NULL */ - pdevSup = (devSup *)ellNth(&pdbRecDes->devList,precord->dtyp+1); + pdevSup = (devSup *)ellNth(&pdbRecordType->devList,precord->dtyp+1); pdset = (pdevSup ? pdevSup->pdset : 0); precord->dset = pdset; if(!prset->init_record) continue; @@ -443,18 +443,18 @@ LOCAL long initDatabase(void) /* * Second pass to resolve links */ - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - prset = pdbRecDes->prset; - for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + prset = pdbRecordType->prset; + for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList); pdbRecordNode; pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) { precord = pdbRecordNode->precord; if(!(precord->name[0])) continue; /* Convert all PV_LINKs to DB_LINKs or CA_LINKs */ /* For all the links in the record type... */ - for(j=0; jno_links; j++) { - pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[j]]; + for(j=0; jno_links; j++) { + pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[j]]; plink = (DBLINK *)((char *)precord + pdbFldDes->offset); if (plink->type == PV_LINK) { if(!(plink->value.pv_link.pvlMask&(pvlOptCA|pvlOptCP|pvlOptCPP)) @@ -484,10 +484,10 @@ LOCAL long initDatabase(void) } /* Call record support init_record routine - Second pass */ - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - prset = pdbRecDes->prset; - for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + prset = pdbRecordType->prset; + for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList); pdbRecordNode; pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) { if(!prset) break; @@ -509,13 +509,14 @@ LOCAL long initDatabase(void) */ LOCAL long initialProcess(void) { - dbRecDes *pdbRecDes; + dbRecordType *pdbRecordType; dbRecordNode *pdbRecordNode; dbCommon *precord; - for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes; - pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) { - for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList); + for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); + pdbRecordType; + pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) { + for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList); pdbRecordNode; pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) { precord = pdbRecordNode->precord; diff --git a/src/db/menuAlarmSevr.db b/src/db/menuAlarmSevr.dbd similarity index 100% rename from src/db/menuAlarmSevr.db rename to src/db/menuAlarmSevr.dbd diff --git a/src/db/menuAlarmStat.db b/src/db/menuAlarmStat.dbd similarity index 100% rename from src/db/menuAlarmStat.db rename to src/db/menuAlarmStat.dbd diff --git a/src/db/menuArrType.db b/src/db/menuArrType.dbd similarity index 100% rename from src/db/menuArrType.db rename to src/db/menuArrType.dbd diff --git a/src/db/menuCompress.db b/src/db/menuCompress.dbd similarity index 100% rename from src/db/menuCompress.db rename to src/db/menuCompress.dbd diff --git a/src/db/menuFtype.db b/src/db/menuFtype.dbd similarity index 100% rename from src/db/menuFtype.db rename to src/db/menuFtype.dbd diff --git a/src/db/menuGlobal.db b/src/db/menuGlobal.db deleted file mode 100644 index 1327df7a2..000000000 --- a/src/db/menuGlobal.db +++ /dev/null @@ -1,11 +0,0 @@ -include "menuAlarmSevr.db" -include "menuAlarmStat.db" -include "menuArrType.db" -include "menuCompress.db" -include "menuFtype.db" -include "menuIvoa.db" -include "menuLinr.db" -include "menuOmsl.db" -include "menuPriority.db" -include "menuScan.db" -include "menuYesNo.db" diff --git a/src/db/menuGlobal.dbd b/src/db/menuGlobal.dbd new file mode 100644 index 000000000..76e66c1a1 --- /dev/null +++ b/src/db/menuGlobal.dbd @@ -0,0 +1,11 @@ +include "menuAlarmSevr.dbd" +include "menuAlarmStat.dbd" +include "menuArrType.dbd" +include "menuCompress.dbd" +include "menuFtype.dbd" +include "menuIvoa.dbd" +include "menuLinr.dbd" +include "menuOmsl.dbd" +include "menuPriority.dbd" +include "menuScan.dbd" +include "menuYesNo.dbd" diff --git a/src/db/menuIvoa.db b/src/db/menuIvoa.dbd similarity index 100% rename from src/db/menuIvoa.db rename to src/db/menuIvoa.dbd diff --git a/src/db/menuLinr.db b/src/db/menuLinr.dbd similarity index 100% rename from src/db/menuLinr.db rename to src/db/menuLinr.dbd diff --git a/src/db/menuOmsl.db b/src/db/menuOmsl.dbd similarity index 100% rename from src/db/menuOmsl.db rename to src/db/menuOmsl.dbd diff --git a/src/db/menuPriority.db b/src/db/menuPriority.dbd similarity index 100% rename from src/db/menuPriority.db rename to src/db/menuPriority.dbd diff --git a/src/db/menuScan.db b/src/db/menuScan.dbd similarity index 100% rename from src/db/menuScan.db rename to src/db/menuScan.dbd diff --git a/src/db/menuYesNo.db b/src/db/menuYesNo.dbd similarity index 100% rename from src/db/menuYesNo.db rename to src/db/menuYesNo.dbd diff --git a/src/db/recGbl.c b/src/db/recGbl.c index b23fdcd5e..8af538c46 100644 --- a/src/db/recGbl.c +++ b/src/db/recGbl.c @@ -112,10 +112,10 @@ void recGblRecSupError(long status,struct dbAddr *paddr,char *pcaller_name, char buffer[200]; struct dbCommon *precord; dbFldDes *pdbFldDes = 0; - dbRecDes *pdbRecDes = 0; + dbRecordType *pdbRecordType = 0; if(paddr) pdbFldDes=(dbFldDes *)(paddr->pfldDes); - if(pdbFldDes) pdbRecDes = pdbFldDes->pdbRecDes; + if(pdbFldDes) pdbRecordType = pdbFldDes->pdbRecordType; buffer[0]=0; strcat(buffer,"Record Support Routine ("); if(psupport_name) @@ -123,9 +123,9 @@ void recGblRecSupError(long status,struct dbAddr *paddr,char *pcaller_name, else strcat(buffer,"Unknown"); strcat(buffer,") not available.\n"); - if(pdbRecDes) { + if(pdbRecordType) { strcat(buffer,"Record Type is "); - strcat(buffer,pdbRecDes->name); + strcat(buffer,pdbRecordType->name); if(paddr) { /* print process variable name */ precord=(struct dbCommon *)(paddr->precord); strcat(buffer,", PV is "); diff --git a/src/db/task_params.h b/src/db/task_params.h deleted file mode 100644 index c234da4fc..000000000 --- a/src/db/task_params.h +++ /dev/null @@ -1,230 +0,0 @@ -/* task_params.h */ -/* $Id$ */ - -/* Parameters for tasks on IOC */ -/* - * Authors: Andy Kozubal, Jeff Hill, and Bob Dalesio - * Date: 2-24-89 - * - * Experimental Physics and Industrial Control System (EPICS) - * - * Copyright 1991, the Regents of the University of California, - * and the University of Chicago Board of Governors. - * - * This software was produced under U.S. Government contracts: - * (W-7405-ENG-36) at the Los Alamos National Laboratory, - * and (W-31-109-ENG-38) at Argonne National Laboratory. - * - * Initial development by: - * The Controls and Automation Group (AT-8) - * Ground Test Accelerator - * Accelerator Technology Division - * Los Alamos National Laboratory - * - * Co-developed with - * The Controls and Computing Group - * Accelerator Systems Division - * Advanced Photon Source - * Argonne National Laboratory - * - * Modification Log: - * ----------------- - * .01 07-23-91 ges Add time-stamp task. - * .02 09-12-91 joh stack sizes increased for v5 vxWorks. - * .03 10-24-91 lrd Increased stack sizes for scan tasks - * .04 12-12-91 joh Increased stack size for the - * wfDoneTask - * .05 12-18-91 mrk Added callback task priorities - * Changed def of PERIODSCAN_PRI and SEQUENCER_PRI - * Shortened length of task names - * .06 12-18-91 jba Global change of WDSCAN to TASKWD - * .07 01-21-92 rcz Increased all stack sizes by 1000 for V5 - * .08 01-21-92 jrw added the GPIB & BB driver task info - * .09 01-04-92 jba Added callback task priorities - * .10 03-16-92 jrw added BB rx and tx specific task info - * .11 05-22-92 lrd added the allen-bradley binary input Change of State scanner - * .12 08-26-92 joh added xy 240 stuff - * .13 08-26-92 joh added FP to CA repeater and on line to be safe - * .14 02-16-92 joh removed historical items - * .15 11-19-93 joh moved CA client priority up by one notch - * .16 09-13-93 joh incresed CA on line beacon maximum delay - * to 60 sec - * .17 03-18-94 mcn added entries for breakpoint tasks - * $Log$ - * Revision 1.2 1996/04/22 14:31:08 mrk - * Changes for dynamic link modification - * - * Revision 1.1 1996/01/25 21:13:29 mrk - * moved includes; .ascii=> .db; path changes - * - * Revision 1.27 1995/11/29 19:27:59 jhill - * added $Log$ - * added Revision 1.2 1996/04/22 14:31:08 mrk - * added Changes for dynamic link modification - * added - * added Revision 1.1 1996/01/25 21:13:29 mrk - * added moved includes; .ascii=> .db; path changes - * added - * - */ - -#ifndef INCtaskLibh -#include -#endif - -#define VXTASKIDSELF 0 - -/* Task Names */ -#define IOEVENTSCAN_NAME "scanIo" -#define EVENTSCAN_NAME "scanEvent" -#define SCANONCE_NAME "scanOnce" -#define SMCMD_NAME "smCommand" -#define SMRESP_NAME "smResponse" -#define ABDONE_NAME "abDone" -#define ABSCAN_NAME "abScan" -#define ABCOS_NAME "abBiCosScanner" -#define MOMENTARY_NAME "momentary" -#define WFDONE_NAME "wfDone" -#define SEQUENCER_NAME "sequencer" -#define BKPT_CONT_NAME "bkptCont" -#define SCANNER_NAME "scanner" -#define REQ_SRVR_NAME "CA TCP" -#define CA_CLIENT_NAME "CA client" -#define CA_EVENT_NAME "CA event" -#define CAST_SRVR_NAME "CA UDP" -#define CA_REPEATER_NAME "CA repeater" -#define CA_ONLINE_NAME "CA online" -#define TASKWD_NAME "taskwd" -#define SMIOTEST_NAME "smInout" -#define SMROTTEST_NAME "smRotate" -#define EVENT_PEND_NAME "event task" -#define TIMESTAMP_NAME "timeStamp" -#define XY240_NAME "xy 240 scan" -#define GPIBLINK_NAME "gpibLink" -#define BBLINK_NAME "bbLinkTask" -#define BBTXLINK_NAME "bbTx" -#define BBRXLINK_NAME "bbRx" -#define BBWDTASK_NAME "bbwd" -#define EPICSPRINT_NAME "epicsPrint" -#define LOG_RESTART_NAME "logRestart" - -/* Task priorities */ -#define EPICSPRINT_PRI 70 -#define SCANONCE_PRI 65 /* scan one time */ -/*DO NOT RUN ANY RECORD PROCESSING TASKS AT HIGHER PRIORITY THAN _netTask=50*/ -#define CALLBACK_PRI_LOW 65 /* callback task - generall callback task */ -#define CALLBACK_PRI_MEDIUM 57 /* callback task - generall callback task */ -#define CALLBACK_PRI_HIGH 51 /* callback task - generall callback task */ -#define IOEVENTSCAN_PRI 51 /* I/O Event Scanner - Runs on I/O interrupt */ -#define EVENTSCAN_PRI 52 /* Event Scanner - Runs on a global event */ -#define TIMESTAMP_PRI 32 /* Time-stamp task - interrupt */ -#define SMCMD_PRI 42 /* Stepper Motor Command Task - Waits for cmds */ -#define SMRESP_PRI 43 /* Stepper Motor Resp Task - Waits for resps */ -#define ABCOS_PRI 43 /* Allen-Bradley Binary Input COS io_event wakeup */ -#define ABDONE_PRI 44 /* Allen-Bradley Resp Task - Interrupt Driven */ -#define ABSCAN_PRI 45 /* Allen-Bradley Scan Task - Base Rate .1 secs */ -#define BBLINK_PRI 46 -#define BBWDTASK_PRI 45 /* BitBus watchdog task */ -#define BBRXLINK_PRI 46 /* BitBus link task */ -#define BBTXLINK_PRI 47 /* BitBus link task */ -#define GPIBLINK_PRI 47 /* GPIB link task */ -#define MOMENTARY_PRI 48 /* Momentary output - posted from watchdog */ -#define WFDONE_PRI 49 /* Waveform Task - Base Rate of .1 second */ -#define PERIODSCAN_PRI 59 /* Periodic Scanners - Slowest rate */ -#define SEQUENCER_PRI 70 -#define XY240_PRI 111 /* xy 240 dio scanner */ -#define DB_CA_PRI 100 -#define SCANNER_PRI 150 -#define REQ_SRVR_PRI 181 /* Channel Access TCP request server*/ -#define CA_CLIENT_PRI 180 /* Channel Access clients */ -#define CA_REPEATER_PRI 181 /* Channel Access repeater */ -#define CAST_SRVR_PRI 182 /* Channel Access broadcast server */ -#define CA_ONLINE_PRI 183 /* Channel Access server online notify */ -#define TASKWD_PRI 200 /* Watchdog Scan Task - runs every 6 seconds */ -#define SMIOTEST_PRI 205 /* Stepper Mtr in/out test - runs every .1 sec */ -#define SMROTTEST_PRI 205 /* Stepper Mtr rotate test - runs every .1 sec */ -#define LOG_RESTART_PRI 200 /* Log server connection watch dog */ - -/* Task delay times (seconds) */ -#define TASKWD_DELAY 6 - -/* Task delay times (tics) */ -#define ABSCAN_RATE (sysClkRateGet()/6) -#define SEQUENCER_DELAY (sysClkRateGet()/5) -#define SCANNER_DELAY (sysClkRateGet()/5) -#define CA_ONLINE_DELAY (sysClkRateGet()*15) -#define LOG_RESTART_DELAY (sysClkRateGet()*30) - -/* Task creation options */ -#define EPICSPRINT_OPT VX_FP_TASK -#define IOEVENTSCAN_OPT VX_FP_TASK -#define EVENTSCAN_OPT VX_FP_TASK -#define SCANONCE_OPT VX_FP_TASK -#define CALLBACK_OPT VX_FP_TASK -#define SMCMD_OPT VX_FP_TASK -#define SMRESP_OPT VX_FP_TASK -#define ABDONE_OPT VX_FP_TASK -#define ABCOS_OPT VX_FP_TASK -#define ABSCAN_OPT VX_FP_TASK -#define MOMENTARY_OPT VX_FP_TASK -#define PERIODSCAN_OPT VX_FP_TASK -#define WFDONE_OPT VX_FP_TASK -#define SEQUENCER_OPT VX_FP_TASK | VX_STDIO -#define BKPT_CONT_OPT VX_FP_TASK -#define SCANNER_OPT VX_FP_TASK -#define REQ_SRVR_OPT VX_FP_TASK -#define CAST_SRVR_OPT VX_FP_TASK -#define CA_CLIENT_OPT VX_FP_TASK -#define CA_REPEATER_OPT VX_FP_TASK -#define CA_ONLINE_OPT VX_FP_TASK -#define TASKWD_OPT VX_FP_TASK -#define SMIOTEST_OPT VX_FP_TASK -#define SMROTTEST_OPT VX_FP_TASK -#define EVENT_PEND_OPT VX_FP_TASK -#define TIMESTAMP_OPT VX_FP_TASK -#define GPIBLINK_OPT VX_FP_TASK|VX_STDIO -#define BBLINK_OPT VX_FP_TASK|VX_STDIO -#define BBTXLINK_OPT VX_FP_TASK|VX_STDIO -#define BBRXLINK_OPT VX_FP_TASK|VX_STDIO -#define BBWDTASK_OPT VX_FP_TASK|VX_STDIO -#define DB_CA_OPT (VX_FP_TASK | VX_STDIO) -#define XY_240_OPT (0) /* none */ -#define LOG_RESTART_OPT (VX_FP_TASK) - - -/* Task stack sizes */ -#define EPICSPRINT_STACK 4000 -#define EVENTSCAN_STACK 10000 -#define SCANONCE_STACK 10000 -#define CALLBACK_STACK 10000 -#define SMCMD_STACK 3000 -#define SMRESP_STACK 3000 -#define ABCOS_STACK 3000 -#define ABDONE_STACK 3000 -#define ABSCAN_STACK 3000 -#define MOMENTARY_STACK 2000 -#define PERIODSCAN_STACK 10000 -#define WFDONE_STACK 9000 -#define SEQUENCER_STACK 5096 -#define BKPT_CONT_STACK 10000 -#define SCANNER_STACK 3048 -#define RSP_SRVR_STACK 5096 -#define REQ_SRVR_STACK 5096 -#define CAST_SRVR_STACK 5096 -#define CA_CLIENT_STACK 10000 -#define CA_REPEATER_STACK 5096 -#define CA_ONLINE_STACK 3048 -#define TASKWD_STACK 2000 /* moved up by 1000 for v5 vxWorks */ -#define SMIOTEST_STACK 2000 -#define SMROTTEST_STACK 2000 -#define EVENT_PEND_STACK 5096 -#define TIMESTAMP_STACK 4000 -#define GPIBLINK_STACK 5000 -#define BBLINK_STACK 5000 -#define BBRXLINK_STACK 5000 -#define BBTXLINK_STACK 5000 -#define BBWDTASK_STACK 5000 -#define DB_CA_STACK 10000 -#define XY_240_STACK 4096 -#define LOG_RESTART_STACK 0x1000 -