Added support for new variable dbd keyword, integers only so far.

This commit is contained in:
Andrew Johnson
2003-07-16 18:35:26 +00:00
parent 067c0a3db1
commit da56d5e2b8
7 changed files with 67 additions and 2 deletions
+33
View File
@@ -546,6 +546,7 @@ dbBase * epicsShareAPI dbAllocBase(void)
ellInit(&pdbbase->recordTypeList);
ellInit(&pdbbase->drvList);
ellInit(&pdbbase->registrarList);
ellInit(&pdbbase->variableList);
ellInit(&pdbbase->bptList);
gphInitPvt(&pdbbase->pgpHash,256);
dbPvdInitPvt(pdbbase);
@@ -673,6 +674,14 @@ void epicsShareAPI dbFreeBase(dbBase *pdbbase)
free((void *)ptext);
ptext = ptextNext;
}
ptext = (dbText *)ellFirst(&pdbbase->variableList);
while(ptext) {
ptextNext = (dbText *)ellNext(&ptext->node);
ellDelete(&pdbbase->variableList,&ptext->node);
free((void *)ptext->text);
free((void *)ptext);
ptext = ptextNext;
}
pbrkTable = (brkTable *)ellFirst(&pdbbase->bptList);
while(pbrkTable) {
pbrkTableNext = (brkTable *)ellNext(&pbrkTable->node);
@@ -1163,6 +1172,21 @@ long epicsShareAPI dbWriteRegistrarFP(DBBASE *pdbbase,FILE *fp)
}
return(0);
}
long epicsShareAPI dbWriteVariableFP(DBBASE *pdbbase,FILE *fp)
{
dbText *ptext;
if(!pdbbase) {
fprintf(stderr,"pdbbase not specified\n");
return(-1);
}
for(ptext = (dbText *)ellFirst(&pdbbase->variableList);
ptext; ptext = (dbText *)ellNext(&ptext->node)) {
fprintf(fp,"variable(%s)\n",ptext->text);
}
return(0);
}
long epicsShareAPI dbWriteBreaktable(DBBASE *pdbbase,const char *filename)
{
@@ -3778,6 +3802,15 @@ void epicsShareAPI dbDumpRegistrar(DBBASE *pdbbase)
dbWriteRegistrarFP(pdbbase,stdout);
}
void epicsShareAPI dbDumpVariable(DBBASE *pdbbase)
{
if(!pdbbase) {
printf("pdbbase not specified\n");
return;
}
dbWriteVariableFP(pdbbase,stdout);
}
void epicsShareAPI dbDumpBreaktable(DBBASE *pdbbase,const char *name)
{
brkTable *pbrkTable;