diff --git a/src/db/dbAccess.c b/src/db/dbAccess.c index d768d5f16..3a5b2b231 100644 --- a/src/db/dbAccess.c +++ b/src/db/dbAccess.c @@ -94,6 +94,7 @@ #include #include #include +#include extern struct dbBase *pdbBase; extern long lset_stack_not_empty; @@ -679,7 +680,7 @@ long dbFastLinkPut( } } else if (special == SPC_AS) { - asChangeGroup(&pdest->asp, pdest->asg); + asChangeGroup((ASMEMBERPVT *)&pdest->asp, pdest->asg); } } else { diff --git a/src/db/dbLink.c b/src/db/dbLink.c index f7ed39a78..c29977d70 100644 --- a/src/db/dbLink.c +++ b/src/db/dbLink.c @@ -87,6 +87,7 @@ #include #include #include +#include extern struct dbBase *pdbBase; @@ -5835,7 +5836,7 @@ long dbPut( if(special==SPC_SCAN) { scanAdd(precord); } else if(special==SPC_AS) { - asChangeGroup(&precord->asp,precord->asg); + asChangeGroup((ASMEMBERPVT *)&precord->asp,precord->asg); } } else { diff --git a/src/db/dbNotify.c b/src/db/dbNotify.c index 738ab869a..b825f9a8a 100644 --- a/src/db/dbNotify.c +++ b/src/db/dbNotify.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include diff --git a/src/db/dbTest.c b/src/db/dbTest.c index 0abb8752a..b8911ddc3 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -1761,4 +1761,56 @@ char *record_name; return(0); } + +int dbllsdblinks(int lset) +{ + int i,link; + struct recLoc *precLoc; + struct recDes *precDes; + struct recTypDes *precTypDes; + struct recHeader *precHeader; + RECNODE *precNode; + struct fldDes *pfldDes; + struct dbCommon *precord; + struct link *plink; + + if(!(precHeader = pdbBase->precHeader)) return(-1); + if(!(precDes = pdbBase->precDes)) return(-1); + for(i=0; i< (precHeader->number); i++) { + if(!(precLoc = precHeader->papRecLoc[i]))continue; + if(!precLoc->preclist) continue; + precTypDes = precDes->papRecTypDes[i]; + for(precNode=(RECNODE *)ellFirst(precLoc->preclist); + precNode; precNode = (RECNODE *)ellNext(&precNode->node)) { + precord = precNode->precord; + /* If NAME is null then skip this record*/ + if(!(precord->name[0])) continue; + if(precord->lset != lset) continue; + printf("%s\n",precord->name); + for(link=0; (linkno_links) ; link++) { + struct dbAddr *pdbAddr; + pfldDes = precTypDes->papFldDes[precTypDes->link_ind[link]]; + /* + * Find link structure, which is at an offset in the record + */ + plink = (struct link *)((char *)precord + pfldDes->offset); + /* Ignore link if type is constant, channel access, or hardware specific */ + if(plink->type != DB_LINK) continue; + pdbAddr = (struct dbAddr *)(plink->value.db_link.pdbAddr); + if(pfldDes->field_type==DBF_INLINK) { + printf("\t INLINK"); + } else if(pfldDes->field_type==DBF_OUTLINK) { + printf("\tOUTLINK"); + } else if(pfldDes->field_type==DBF_FWDLINK) { + printf("\tFWDLINK"); + } + printf(" %s %s", + ((plink->value.db_link.process_passive)?" PP":"NPP"), + ((plink->value.db_link.maximize_sevr)?" MS":"NMS")); + printf(" %s\n",pdbAddr->precord->name); + } + } + } + return(0); +} diff --git a/src/db/dbls.c b/src/db/dbls.c index 827dfc345..9e533284c 100644 --- a/src/db/dbls.c +++ b/src/db/dbls.c @@ -703,7 +703,7 @@ DbRecDes(fp, fflag) for (j = 0; j < endNumJ; j++) { printf("%3d %4.4s", precDes->papRecTypDes[begNumI]->sortFldInd[j], - &precDes->papRecTypDes[begNumI]->sortFldName[j]); + (char *)&precDes->papRecTypDes[begNumI]->sortFldName[j]); if (!((j + 1) % 8)) printf("\n"); } diff --git a/src/db/drvTS.c b/src/db/drvTS.c index 8efad6691..a3bc7fa6b 100644 --- a/src/db/drvTS.c +++ b/src/db/drvTS.c @@ -1,6 +1,9 @@ /* * $Log$ + * Revision 1.12 1995/08/17 20:35:09 jbk + * fixed all the -pendantic errors (pain) + * * Revision 1.11 1995/08/17 19:43:04 jbk * Completed the accurate time stamp change. event number 0 is current time * updated at 60HZ, event -1 is the best time that can be provided (1000Hz in @@ -188,7 +191,7 @@ static long (*TSdriverInit)(); #ifdef __cplusplus extern "C" { #endif -long TSinit(); /* called by iocInit currently */ +long TSinit(void); /* called by iocInit currently */ long TSreport(); /* callable from vxWorks shell */ /* test functions */ @@ -427,7 +430,7 @@ long TSgetTimeStamp(int event_number,struct timespec* sp) /* TSinit() - initialize the driver, determine mode. */ -long TSinit() +long TSinit(void) { SYM_TYPE stype; char tz[100],min_west[20]; diff --git a/src/db/iocInit.c b/src/db/iocInit.c index f1526a928..07e0abf8f 100644 --- a/src/db/iocInit.c +++ b/src/db/iocInit.c @@ -98,6 +98,8 @@ #include #include #include +#include +#include /*This module will declare and initilize module_type variables*/ #define MODULE_TYPES_INIT 1 diff --git a/src/db/taskwd.c b/src/db/taskwd.c index c30ba9ecb..1b9e72211 100644 --- a/src/db/taskwd.c +++ b/src/db/taskwd.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include diff --git a/src/vxWorks/db/drvTS.c b/src/vxWorks/db/drvTS.c index 8efad6691..a3bc7fa6b 100644 --- a/src/vxWorks/db/drvTS.c +++ b/src/vxWorks/db/drvTS.c @@ -1,6 +1,9 @@ /* * $Log$ + * Revision 1.12 1995/08/17 20:35:09 jbk + * fixed all the -pendantic errors (pain) + * * Revision 1.11 1995/08/17 19:43:04 jbk * Completed the accurate time stamp change. event number 0 is current time * updated at 60HZ, event -1 is the best time that can be provided (1000Hz in @@ -188,7 +191,7 @@ static long (*TSdriverInit)(); #ifdef __cplusplus extern "C" { #endif -long TSinit(); /* called by iocInit currently */ +long TSinit(void); /* called by iocInit currently */ long TSreport(); /* callable from vxWorks shell */ /* test functions */ @@ -427,7 +430,7 @@ long TSgetTimeStamp(int event_number,struct timespec* sp) /* TSinit() - initialize the driver, determine mode. */ -long TSinit() +long TSinit(void) { SYM_TYPE stype; char tz[100],min_west[20];