From cb35889a20c31ac0c204c6839c95dcc7f37a7d5c Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 24 Mar 2016 10:43:35 -0400 Subject: [PATCH] dbCa: make private all functions which assume CA_LINK is really dbCa --- src/ioc/db/dbCa.h | 3 ++- src/ioc/db/dbLink.c | 1 + src/ioc/db/test/dbCaLinkTest.c | 1 + src/ioc/misc/iocInit.c | 1 + src/std/dev/devAoSoftCallback.c | 3 ++- src/std/dev/devBoSoftCallback.c | 3 ++- src/std/dev/devCalcoutSoftCallback.c | 3 ++- src/std/dev/devLoSoftCallback.c | 3 ++- src/std/dev/devLsoSoftCallback.c | 5 ++++- src/std/dev/devMbboDirectSoftCallback.c | 4 +++- src/std/dev/devMbboSoftCallback.c | 3 ++- src/std/dev/devPrintfSoftCallback.c | 5 ++++- src/std/dev/devSoSoftCallback.c | 3 ++- 13 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/ioc/db/dbCa.h b/src/ioc/db/dbCa.h index c70a94f9a..657d57658 100644 --- a/src/ioc/db/dbCa.h +++ b/src/ioc/db/dbCa.h @@ -20,6 +20,8 @@ extern "C" { typedef void (*dbCaCallback)(void *userPvt); epicsShareFunc void dbCaCallbackProcess(void *usrPvt); +#ifdef EPICS_DBCA_PRIVATE_API + epicsShareFunc void dbCaLinkInit(void); /* internal initialization for iocBuild() */ epicsShareFunc void dbCaLinkInitIsolated(void); /* internal initialization for iocBuildIsolated() */ epicsShareFunc void dbCaRun(void); @@ -47,7 +49,6 @@ epicsShareFunc long dbCaPutLink(struct link *plink,short dbrType, extern struct ca_client_context * dbCaClientContext; -#ifdef EPICS_DBCA_PRIVATE_API epicsShareFunc void dbCaSync(void); epicsShareFunc void dbCaReportLink(const struct link *plink, dbLinkReportInfo *pinfo); epicsShareExtern void (*dbAddLinkHook)(struct link *link, short dbfType); diff --git a/src/ioc/db/dbLink.c b/src/ioc/db/dbLink.c index c47adb307..7e5eb8f41 100644 --- a/src/ioc/db/dbLink.c +++ b/src/ioc/db/dbLink.c @@ -18,6 +18,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "cantProceed.h" #include "cvtFast.h" diff --git a/src/ioc/db/test/dbCaLinkTest.c b/src/ioc/db/test/dbCaLinkTest.c index e1955a5ad..8025f05b0 100644 --- a/src/ioc/db/test/dbCaLinkTest.c +++ b/src/ioc/db/test/dbCaLinkTest.c @@ -13,6 +13,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "epicsString.h" #include "dbUnitTest.h" #include "epicsThread.h" diff --git a/src/ioc/misc/iocInit.c b/src/ioc/misc/iocInit.c index d60d1b2b3..335fdc7a2 100644 --- a/src/ioc/misc/iocInit.c +++ b/src/ioc/misc/iocInit.c @@ -23,6 +23,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "dbDefs.h" #include "ellLib.h" #include "envDefs.h" diff --git a/src/std/dev/devAoSoftCallback.c b/src/std/dev/devAoSoftCallback.c index 35c3f6fe2..ea60a9c1b 100644 --- a/src/std/dev/devAoSoftCallback.c +++ b/src/std/dev/devAoSoftCallback.c @@ -17,6 +17,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbDefs.h" #include "dbAccess.h" @@ -55,7 +56,7 @@ static long write_ao(aoRecord *prec) long status; if(prec->pact) return(0); - if(plink->type!=CA_LINK) { + if(plink->type!=CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) { status = dbPutLink(plink,DBR_DOUBLE,&prec->oval,1); return(status); } diff --git a/src/std/dev/devBoSoftCallback.c b/src/std/dev/devBoSoftCallback.c index 4cdb51a29..2d93e60b4 100644 --- a/src/std/dev/devBoSoftCallback.c +++ b/src/std/dev/devBoSoftCallback.c @@ -19,6 +19,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbDefs.h" #include "dbLock.h" @@ -55,7 +56,7 @@ static long write_bo(boRecord *prec) long status; if(prec->pact) return(0); - if(plink->type!=CA_LINK) { + if(plink->type!=CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) { status = dbPutLink(plink,DBR_USHORT,&prec->val,1); return(status); } diff --git a/src/std/dev/devCalcoutSoftCallback.c b/src/std/dev/devCalcoutSoftCallback.c index 0552df826..2f3caf521 100644 --- a/src/std/dev/devCalcoutSoftCallback.c +++ b/src/std/dev/devCalcoutSoftCallback.c @@ -17,6 +17,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbDefs.h" #include "dbAccess.h" @@ -49,7 +50,7 @@ static long write_calcout(calcoutRecord *prec) long status; if (prec->pact) return 0; - if (plink->type != CA_LINK) { + if (plink->type != CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) { status = dbPutLink(plink, DBR_DOUBLE, &prec->oval, 1); return status; } diff --git a/src/std/dev/devLoSoftCallback.c b/src/std/dev/devLoSoftCallback.c index 2bc4a7e46..e9a924e08 100644 --- a/src/std/dev/devLoSoftCallback.c +++ b/src/std/dev/devLoSoftCallback.c @@ -18,6 +18,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbDefs.h" #include "dbAccess.h" @@ -52,7 +53,7 @@ static long write_longout(longoutRecord *prec) long status; if(prec->pact) return(0); - if(plink->type!=CA_LINK) { + if(plink->type!=CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) { status = dbPutLink(plink,DBR_LONG,&prec->val,1); return(status); } diff --git a/src/std/dev/devLsoSoftCallback.c b/src/std/dev/devLsoSoftCallback.c index 4ab7ead9d..5e044dcfa 100644 --- a/src/std/dev/devLsoSoftCallback.c +++ b/src/std/dev/devLsoSoftCallback.c @@ -10,6 +10,9 @@ * Date: 30 Nov 2012 */ +#include + +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbAccess.h" #include "recGbl.h" @@ -31,7 +34,7 @@ static long write_string(lsoRecord *prec) len = 1; } - if (plink->type != CA_LINK) + if (plink->type != CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) return dbPutLink(plink, dtyp, prec->val, len); status = dbCaPutLinkCallback(plink, dtyp, prec->val, len, diff --git a/src/std/dev/devMbboDirectSoftCallback.c b/src/std/dev/devMbboDirectSoftCallback.c index 8c71ef77e..b7d7e8bf4 100644 --- a/src/std/dev/devMbboDirectSoftCallback.c +++ b/src/std/dev/devMbboDirectSoftCallback.c @@ -13,7 +13,9 @@ */ #include +#include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbAccess.h" #include "recGbl.h" @@ -29,7 +31,7 @@ static long write_mbbo(mbboDirectRecord *prec) if (prec->pact) return 0; - if (plink->type != CA_LINK) { + if (plink->type != CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) { status = dbPutLink(plink, DBR_USHORT, &prec->val, 1); return status; } diff --git a/src/std/dev/devMbboSoftCallback.c b/src/std/dev/devMbboSoftCallback.c index 705308163..07649dfe6 100644 --- a/src/std/dev/devMbboSoftCallback.c +++ b/src/std/dev/devMbboSoftCallback.c @@ -17,6 +17,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbDefs.h" #include "dbAccess.h" @@ -51,7 +52,7 @@ static long write_mbbo(mbboRecord *prec) long status; if(prec->pact) return(0); - if(plink->type!=CA_LINK) { + if(plink->type!=CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) { status = dbPutLink(plink,DBR_USHORT,&prec->val,1); return(status); } diff --git a/src/std/dev/devPrintfSoftCallback.c b/src/std/dev/devPrintfSoftCallback.c index 7f9314d9e..f0b5ec715 100644 --- a/src/std/dev/devPrintfSoftCallback.c +++ b/src/std/dev/devPrintfSoftCallback.c @@ -10,6 +10,9 @@ * Date: 28 Sept 2012 */ +#include + +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbAccess.h" #include "recGbl.h" @@ -31,7 +34,7 @@ static long write_string(printfRecord *prec) len = 1; } - if (plink->type != CA_LINK) + if (plink->type != CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) return dbPutLink(plink, dtyp, prec->val, len); status = dbCaPutLinkCallback(plink, dtyp, prec->val, len, diff --git a/src/std/dev/devSoSoftCallback.c b/src/std/dev/devSoSoftCallback.c index a39e14b4d..c98b5e39d 100644 --- a/src/std/dev/devSoSoftCallback.c +++ b/src/std/dev/devSoSoftCallback.c @@ -17,6 +17,7 @@ #include #include +#define EPICS_DBCA_PRIVATE_API #include "alarm.h" #include "dbDefs.h" #include "dbAccess.h" @@ -52,7 +53,7 @@ static long write_stringout(stringoutRecord *prec) if (prec->pact) return 0; - if (plink->type != CA_LINK) { + if (plink->type != CA_LINK || strcmp(plink->value.pv_link.backend,"ca")!=0) { return dbPutLink(plink, DBR_STRING, &prec->val, 1); }