Converted most void* entries in dbCommon into struct ... * entries
and removed the casts in the code. There are more casts in device and record support which should now be removed, but I haven't done them (yet..).
This commit is contained in:
@@ -186,7 +186,7 @@ static void ProcessCallback(CALLBACK *pCallback)
|
||||
|
||||
callbackGetUser(pRec, pCallback);
|
||||
dbScanLock(pRec);
|
||||
(*((struct rset *)pRec->rset)->process)(pRec);
|
||||
(*pRec->rset->process)(pRec);
|
||||
dbScanUnlock(pRec);
|
||||
}
|
||||
void callbackRequestProcessCallback(CALLBACK *pCallback,
|
||||
|
||||
@@ -531,8 +531,8 @@ void dbScanFwdLink(struct link *plink)
|
||||
*/
|
||||
long dbProcess(dbCommon *precord)
|
||||
{
|
||||
struct rset *prset = (struct rset *)precord->rset;
|
||||
dbRecordType *pdbRecordType = (dbRecordType *)precord->rdes;
|
||||
struct rset *prset = precord->rset;
|
||||
dbRecordType *pdbRecordType = precord->rdes;
|
||||
unsigned char tpro=precord->tpro;
|
||||
unsigned long lset;
|
||||
long status = 0;
|
||||
@@ -624,7 +624,7 @@ long dbProcess(dbCommon *precord)
|
||||
|
||||
/* locate record processing routine */
|
||||
/* put this in iocInit() !!! */
|
||||
if (!(prset=(struct rset *)precord->rset) || !(prset->process)) {
|
||||
if (!(prset=precord->rset) || !(prset->process)) {
|
||||
precord->pact=1;/*set pact TRUE so error is issued only once*/
|
||||
recGblRecordError(S_db_noRSET, (void *)precord, "dbProcess");
|
||||
status = S_db_noRSET;
|
||||
|
||||
@@ -159,25 +159,25 @@
|
||||
prompt("addr of PUTNOTIFY")
|
||||
special(SPC_NOMOD)
|
||||
interest(4)
|
||||
extra("void *ppn")
|
||||
extra("struct putNotify *ppn")
|
||||
}
|
||||
field(PPNN,DBF_NOACCESS) {
|
||||
prompt("next record PUTNOTIFY")
|
||||
special(SPC_NOMOD)
|
||||
interest(4)
|
||||
extra("void *ppnn")
|
||||
extra("struct pnWaitNode *ppnn")
|
||||
}
|
||||
field(SPVT,DBF_NOACCESS) {
|
||||
prompt("Scan Private")
|
||||
special(SPC_NOMOD)
|
||||
interest(4)
|
||||
extra("void *spvt")
|
||||
extra("struct scan_element *spvt")
|
||||
}
|
||||
field(RSET,DBF_NOACCESS) {
|
||||
prompt("Address of RSET")
|
||||
special(SPC_NOMOD)
|
||||
interest(4)
|
||||
extra("void *rset")
|
||||
extra("struct rset *rset")
|
||||
}
|
||||
field(DSET,DBF_NOACCESS) {
|
||||
prompt("DSET address")
|
||||
@@ -195,13 +195,13 @@
|
||||
prompt("Address of dbRecordType")
|
||||
special(SPC_NOMOD)
|
||||
interest(4)
|
||||
extra("void *rdes")
|
||||
extra("struct dbRecordType *rdes")
|
||||
}
|
||||
field(LSET,DBF_NOACCESS) {
|
||||
prompt("Lock Set")
|
||||
special(SPC_NOMOD)
|
||||
interest(4)
|
||||
extra("void *lset")
|
||||
extra("struct lockRecord *lset")
|
||||
}
|
||||
field(PRIO,DBF_MENU) {
|
||||
prompt("Scheduling Priority")
|
||||
|
||||
@@ -175,7 +175,7 @@ void dbLockSetGblUnlock(void)
|
||||
|
||||
void dbLockSetRecordLock(dbCommon *precord)
|
||||
{
|
||||
lockRecord *plockRecord = (lockRecord *)precord->lset;
|
||||
lockRecord *plockRecord = precord->lset;
|
||||
lockSet *plockSet;
|
||||
STATUS status;
|
||||
|
||||
@@ -212,7 +212,7 @@ void dbScanLock(dbCommon *precord)
|
||||
lockSet *plockSet;
|
||||
STATUS status;
|
||||
|
||||
if(!(plockRecord= (lockRecord *)precord->lset)) {
|
||||
if(!(plockRecord= precord->lset)) {
|
||||
epicsPrintf("dbScanLock plockRecord is NULL record %s\n",
|
||||
precord->name);
|
||||
taskSuspend(0);
|
||||
@@ -235,7 +235,7 @@ void dbScanLock(dbCommon *precord)
|
||||
|
||||
void dbScanUnlock(dbCommon *precord)
|
||||
{
|
||||
lockRecord *plockRecord = (lockRecord *)precord->lset;
|
||||
lockRecord *plockRecord = precord->lset;
|
||||
|
||||
if(!plockRecord || !plockRecord->plockSet) {
|
||||
epicsPrintf("dbScanUnlock plockRecord or plockRecord->plockSet NULL\n");
|
||||
@@ -247,7 +247,7 @@ void dbScanUnlock(dbCommon *precord)
|
||||
|
||||
unsigned long dbLockGetLockId(dbCommon *precord)
|
||||
{
|
||||
lockRecord *plockRecord = (lockRecord *)precord->lset;
|
||||
lockRecord *plockRecord = precord->lset;
|
||||
lockSet *plockSet;
|
||||
|
||||
if(!plockRecord) return(0);
|
||||
@@ -312,7 +312,7 @@ void dbLockInitRecords(dbBase *pdbbase)
|
||||
&& pdbAddr->no_elements<=1) continue;
|
||||
dbLockSetMerge(precord,pdbAddr->precord);
|
||||
}
|
||||
plockRecord = (lockRecord *)precord->lset;
|
||||
plockRecord = precord->lset;
|
||||
if(!plockRecord->plockSet) allocLock(plockRecord);
|
||||
}
|
||||
}
|
||||
@@ -320,8 +320,8 @@ void dbLockInitRecords(dbBase *pdbbase)
|
||||
|
||||
void dbLockSetMerge(dbCommon *pfirst,dbCommon *psecond)
|
||||
{
|
||||
lockRecord *p1lockRecord = (lockRecord *)pfirst->lset;
|
||||
lockRecord *p2lockRecord = (lockRecord *)psecond->lset;
|
||||
lockRecord *p1lockRecord = pfirst->lset;
|
||||
lockRecord *p2lockRecord = psecond->lset;
|
||||
lockSet *p1lockSet;
|
||||
lockSet *p2lockSet;
|
||||
|
||||
@@ -368,7 +368,7 @@ void dbLockSetSplit(dbCommon *psource)
|
||||
int nrecordsInSet,i;
|
||||
dbCommon **paprecord;
|
||||
|
||||
plockRecord = (lockRecord *)psource->lset;
|
||||
plockRecord = psource->lset;
|
||||
if(!plockRecord) {
|
||||
errMessage(-1,"dbLockSetSplit called before lockRecord allocated");
|
||||
return;
|
||||
@@ -390,9 +390,9 @@ void dbLockSetSplit(dbCommon *psource)
|
||||
/*Now recompute lock sets */
|
||||
for(i=0; i<nrecordsInSet; i++) {
|
||||
precord = paprecord[i];
|
||||
plockRecord = (lockRecord *)precord->lset;
|
||||
plockRecord = precord->lset;
|
||||
if(!(precord->name[0])) continue;
|
||||
pdbRecordType = (dbRecordType *)precord->rdes;
|
||||
pdbRecordType = precord->rdes;
|
||||
for(link=0; link<pdbRecordType->no_links; link++) {
|
||||
DBADDR *pdbAddr;
|
||||
|
||||
@@ -442,7 +442,7 @@ long dblsr(char *recordname,int level)
|
||||
}
|
||||
precord = pdbentry->precnode->precord;
|
||||
dbFinishEntry(pdbentry);
|
||||
plockRecord = (lockRecord *)precord->lset;
|
||||
plockRecord = precord->lset;
|
||||
if(!plockRecord) return(0);
|
||||
plockSet = plockRecord->plockSet;
|
||||
} else {
|
||||
@@ -473,7 +473,7 @@ long dblsr(char *recordname,int level)
|
||||
for(plockRecord = (lockRecord *)ellFirst(&plockSet->recordList);
|
||||
plockRecord; plockRecord = (lockRecord *)ellNext(&plockRecord->node)) {
|
||||
precord = plockRecord->precord;
|
||||
pdbRecordType = (dbRecordType *)precord->rdes;
|
||||
pdbRecordType = precord->rdes;
|
||||
printf("%s\n",precord->name);
|
||||
if(level<=1) continue;
|
||||
for(link=0; (link<pdbRecordType->no_links) ; link++) {
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
#include "recGbl.h"
|
||||
|
||||
/*NODE structure attached to ppnn field of each record in list*/
|
||||
typedef struct {
|
||||
typedef struct pnWaitNode {
|
||||
ELLNODE node;
|
||||
struct dbCommon *precord;
|
||||
} PNWAITNODE;
|
||||
@@ -114,7 +114,7 @@ static void waitAdd(struct dbCommon *precord,PUTNOTIFY *ppn)
|
||||
PNWAITNODE *ppnnode;
|
||||
|
||||
if(!precord->ppnn) precord->ppnn = dbCalloc(1,sizeof(PNWAITNODE));
|
||||
ppnnode = (PNWAITNODE *)precord->ppnn;
|
||||
ppnnode = precord->ppnn;
|
||||
ppnnode->precord = precord;
|
||||
precord->ppn = ppn;
|
||||
ellAdd(&ppn->waitList,&ppnnode->node);
|
||||
@@ -302,8 +302,8 @@ static void notifyCancel(PUTNOTIFY *ppn)
|
||||
|
||||
void dbNotifyCompletion(struct dbCommon *precord)
|
||||
{
|
||||
PUTNOTIFY *ppn = (PUTNOTIFY *)precord->ppn;
|
||||
PNWAITNODE *ppnnode = (PNWAITNODE *)precord->ppnn;;
|
||||
PUTNOTIFY *ppn = precord->ppn;
|
||||
PNWAITNODE *ppnnode = precord->ppnn;;
|
||||
|
||||
ellDelete(&ppn->waitList,&ppnnode->node);
|
||||
precord->ppn = NULL;
|
||||
@@ -313,7 +313,7 @@ void dbNotifyCompletion(struct dbCommon *precord)
|
||||
|
||||
void dbNotifyAdd(struct dbCommon *pfrom, struct dbCommon *pto)
|
||||
{
|
||||
PUTNOTIFY *pfromppn = (PUTNOTIFY *)pfrom->ppn;
|
||||
PUTNOTIFY *pfromppn = pfrom->ppn;
|
||||
PUTNOTIFY *ppn=NULL;
|
||||
|
||||
if(pto->ppn == pfrom->ppn) return; /*Aready in same set*/
|
||||
|
||||
@@ -676,10 +676,10 @@ static void addToList(struct dbCommon *precord,scan_list *psl)
|
||||
scan_element *pse,*ptemp;
|
||||
|
||||
FASTLOCK(&psl->lock);
|
||||
pse = (scan_element *)(precord->spvt);
|
||||
pse = precord->spvt;
|
||||
if(pse==NULL) {
|
||||
pse = dbCalloc(1,sizeof(scan_element));
|
||||
precord->spvt = (void *)pse;
|
||||
precord->spvt = pse;
|
||||
pse->precord = precord;
|
||||
}
|
||||
pse ->pscan_list = psl;
|
||||
@@ -707,7 +707,7 @@ static void deleteFromList(struct dbCommon *precord,scan_list *psl)
|
||||
FASTUNLOCK(&psl->lock);
|
||||
return;
|
||||
}
|
||||
pse = (scan_element *)(precord->spvt);
|
||||
pse = precord->spvt;
|
||||
if(pse==NULL || pse->pscan_list!=psl) {
|
||||
FASTUNLOCK(&psl->lock);
|
||||
errMessage(-1,"deleteFromList failed");
|
||||
|
||||
Reference in New Issue
Block a user