From e20bc046ba93b4c7dc71aa37bafa36b2027ad02a Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Mon, 28 Feb 2000 20:34:07 +0000 Subject: [PATCH] changes for building win32 dlls --- src/db/dbAddr.h | 13 +++---------- src/db/dbBkpt.c | 5 ++++- src/db/dbCa.c | 2 +- src/db/dbConvert.c | 2 +- src/db/dbEvent.c | 2 +- src/db/dbFastLinkConv.c | 2 +- src/db/dbLock.c | 2 +- src/db/dbNotify.c | 2 +- src/db/dbScan.c | 2 +- src/db/dbTest.c | 2 +- src/db/db_access.c | 14 ++++++-------- src/db/db_access.h | 23 ++++++++--------------- src/db/dbcar.c | 1 + src/db/initHooks.c | 3 +-- src/db/iocInit.c | 1 - 15 files changed, 31 insertions(+), 45 deletions(-) diff --git a/src/db/dbAddr.h b/src/db/dbAddr.h index e7696b274..38ba02df8 100644 --- a/src/db/dbAddr.h +++ b/src/db/dbAddr.h @@ -27,16 +27,9 @@ typedef struct dbAddr{ * (included here because these routines use dbAccess.h and their * prototypes must also be included in db_access.h) */ -#ifdef __STDC__ - int db_name_to_addr(const char *pname, DBADDR *paddr); - int db_put_field(DBADDR *paddr, int src_type, +epicsShareFunc int epicsShareAPI db_name_to_addr(const char *pname, DBADDR *paddr); +epicsShareFunc int epicsShareAPI db_put_field(DBADDR *paddr, int src_type, const void *psrc, int no_elements); - int db_get_field(DBADDR *paddr, int dest_type, +epicsShareFunc int epicsShareAPI db_get_field(DBADDR *paddr, int dest_type, void *pdest, int no_elements, void *pfl); -#else - int db_name_to_addr(); - int db_put_field(); - int db_get_field(); -#endif - #endif /* dbAddrh */ diff --git a/src/db/dbBkpt.c b/src/db/dbBkpt.c index a82023670..6a43c3d57 100644 --- a/src/db/dbBkpt.c +++ b/src/db/dbBkpt.c @@ -14,6 +14,9 @@ of this distribution. /* Modification Log: * ----------------- * $Log$ + * Revision 1.20 2000/02/28 20:12:11 mrk + * move dbAccess.h + * * Revision 1.19 2000/02/28 19:40:55 mrk * changes for creating win dlls * @@ -108,8 +111,8 @@ of this distribution. #include "recSup.h" #include "special.h" #define epicsExportSharedSymbols -#include "dbAccess.h" #include "dbAddr.h" +#include "dbAccess.h" #include "dbScan.h" #include "dbLock.h" #include "recGbl.h" diff --git a/src/db/dbCa.c b/src/db/dbCa.c index c0a417b5f..6f83fde11 100644 --- a/src/db/dbCa.c +++ b/src/db/dbCa.c @@ -38,7 +38,6 @@ of this distribution. #include "cadef.h" #include "caerr.h" #include "alarm.h" -#include "db_access.h" #include "link.h" #include "errMdef.h" #include "epicsPrint.h" @@ -47,6 +46,7 @@ of this distribution. epicsShareFunc void * epicsShareAPI dbCalloc(size_t nobj,size_t size); #include "dbCaPvt.h" #define epicsExportSharedSymbols +#include "db_access.h" #include "dbScan.h" #include "dbCa.h" diff --git a/src/db/dbConvert.c b/src/db/dbConvert.c index 6b9ba8580..94db0b75e 100644 --- a/src/db/dbConvert.c +++ b/src/db/dbConvert.c @@ -23,12 +23,12 @@ of this distribution. #include "tsStamp.h" #include "dbBase.h" #include "link.h" -#include "dbAddr.h" #include "dbFldTypes.h" #include "dbStaticLib.h" #include "errMdef.h" #include "recSup.h" #define epicsExportSharedSymbols +#include "dbAddr.h" #include "dbAccess.h" #include "recGbl.h" #include "dbConvert.h" diff --git a/src/db/dbEvent.c b/src/db/dbEvent.c index 27e24ca99..a63c4cf6a 100644 --- a/src/db/dbEvent.c +++ b/src/db/dbEvent.c @@ -34,13 +34,13 @@ of this distribution. #include "freeList.h" #include "dbBase.h" #include "dbFldTypes.h" -#include "dbAddr.h" #include "link.h" #include "tsStamp.h" #include "dbCommon.h" #include "caeventmask.h" #include "db_field_log.h" #define epicsExportSharedSymbols +#include "dbAddr.h" #include "dbLock.h" #include "dbAccess.h" #include "dbEvent.h" diff --git a/src/db/dbFastLinkConv.c b/src/db/dbFastLinkConv.c index 2126cd5fc..4428d1f96 100644 --- a/src/db/dbFastLinkConv.c +++ b/src/db/dbFastLinkConv.c @@ -41,7 +41,6 @@ #include "dbBase.h" #include "link.h" #include "dbFldTypes.h" -#include "dbAddr.h" #include "dbStaticLib.h" #include "dbCommon.h" #include "dbFldTypes.h" @@ -49,6 +48,7 @@ #include "recSup.h" #include "special.h" #define epicsExportSharedSymbols +#include "dbAddr.h" #include "dbAccess.h" #include "recGbl.h" #include "dbConvertFast.h" diff --git a/src/db/dbLock.c b/src/db/dbLock.c index 949b16872..c362370eb 100644 --- a/src/db/dbLock.c +++ b/src/db/dbLock.c @@ -75,11 +75,11 @@ since this will delay all other threads. #include "dbStaticLib.h" #include "dbFldTypes.h" #include "link.h" -#include "dbAddr.h" #include "dbCommon.h" #include "epicsPrint.h" #include "errMdef.h" #define epicsExportSharedSymbols +#include "dbAddr.h" #include "dbAccess.h" #include "dbLock.h" diff --git a/src/db/dbNotify.c b/src/db/dbNotify.c index 13045fa27..abfd20ec9 100644 --- a/src/db/dbNotify.c +++ b/src/db/dbNotify.c @@ -47,8 +47,8 @@ #include "dbFldTypes.h" #include "link.h" #include "dbCommon.h" -#include "dbAddr.h" #define epicsExportSharedSymbols +#include "dbAddr.h" #include "dbScan.h" #include "dbLock.h" #include "callback.h" diff --git a/src/db/dbScan.c b/src/db/dbScan.c index b5f4aabbd..ee9ba296b 100644 --- a/src/db/dbScan.c +++ b/src/db/dbScan.c @@ -61,12 +61,12 @@ #include "epicsPrint.h" #include "dbBase.h" #include "dbStaticLib.h" -#include "dbAddr.h" #include "dbFldTypes.h" #include "link.h" #include "devSup.h" #include "dbCommon.h" #define epicsExportSharedSymbols +#include "dbAddr.h" #include "callback.h" #include "dbAccess.h" #include "dbLock.h" diff --git a/src/db/dbTest.c b/src/db/dbTest.c index 65cc15756..08920feb0 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -27,7 +27,6 @@ of this distribution. #include "dbBase.h" #include "dbStaticLib.h" #include "link.h" -#include "dbAddr.h" #include "dbFldTypes.h" #include "recSup.h" #include "devSup.h" @@ -36,6 +35,7 @@ of this distribution. #include "special.h" #include "db_field_log.h" #define epicsExportSharedSymbols +#include "dbAddr.h" #include "dbLock.h" #include "dbAccess.h" #include "recGbl.h" diff --git a/src/db/db_access.c b/src/db/db_access.c index 25f0fd376..083be2981 100644 --- a/src/db/db_access.c +++ b/src/db/db_access.c @@ -58,14 +58,12 @@ #include "dbBase.h" #include "dbAddr.h" #include "dbNotify.h" -#include "dbAccess.h" #include "dbCommon.h" #include "errMdef.h" #include "recSup.h" - #include "alarm.h" - -extern struct dbBase *pdbbase; +#define epicsExportSharedSymbols +#include "dbAccess.h" #ifndef NULL #define NULL 0 @@ -579,7 +577,7 @@ void fill(pbuffer,size,fillchar) /* * DB_NAME_TO_ADDR */ -int db_name_to_addr(const char *pname, struct dbAddr *paddr) +int epicsShareAPI db_name_to_addr(const char *pname, struct dbAddr *paddr) { long status; short ftype; @@ -588,7 +586,7 @@ int db_name_to_addr(const char *pname, struct dbAddr *paddr) if(!status) { ftype = paddr->dbr_field_type; if(INVALID_DB_REQ(ftype)) { - recGblDbaddrError(S_db_badDbrtype,paddr,"db_name_to_addr error"); + errlogPrintf("%s dbNameToAddr failed\n",pname); return(-2); } paddr->dbr_field_type = dbDBRnewToDBRold[ftype]; @@ -600,7 +598,7 @@ int db_name_to_addr(const char *pname, struct dbAddr *paddr) typedef char DBSTRING[MAX_STRING_SIZE]; -int db_get_field( +int epicsShareAPI db_get_field( struct dbAddr *paddr, int buffer_type, void *pbuffer, @@ -1445,7 +1443,7 @@ void *pfl /* DB_PUT_FIELD put a field and convert it to the desired type */ -int db_put_field( +int epicsShareAPI db_put_field( struct dbAddr *paddr, /* where to put it */ int src_type, const void *psrc, /* where to get it from */ diff --git a/src/db/db_access.h b/src/db/db_access.h index 87c97b803..d985b563a 100644 --- a/src/db/db_access.h +++ b/src/db/db_access.h @@ -211,27 +211,20 @@ epicsShareExtern READONLY int epicsTypeToDBR_XXXX [lastEpicsType+1]; /*Definitions that allow old database access to use new conversion routines*/ #define newDBF_DEVICE 11 #define newDBR_ENUM 9 -#ifdef __STDC__ -extern long (*dbGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1]) +epicsShareExtern long (*dbGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1]) (struct dbAddr *paddr, void *pbuffer,long nRequest, long no_elements, long offset); -extern long (*dbPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1]) +epicsShareExtern long (*dbPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1]) (struct dbAddr *paddr, void *pbuffer,long nRequest, long no_elements, long offset); -extern long (*dbFastGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1])(); -extern long (*dbFastPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1])(); -#else -extern long (*dbGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1]) (); -extern long (*dbPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1]) (); -extern long (*dbFastGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1])(); -extern long (*dbFastPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1])(); -#endif /*__STDC__*/ +epicsShareExtern long (*dbFastGetConvertRoutine[newDBF_DEVICE+1][newDBR_ENUM+1])(); +epicsShareExtern long (*dbFastPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1])(); /*Conversion between old and new DBR types*/ -extern unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1]; -extern unsigned short dbDBRnewToDBRold[newDBR_ENUM+1]; +epicsShareExtern unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1]; +epicsShareExtern unsigned short dbDBRnewToDBRold[newDBR_ENUM+1]; #ifdef DB_TEXT_GLBLSOURCE -unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1] = { +epicsShareDef unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1] = { 0, /*DBR_STRING to DBF_STRING*/ 3, /*DBR_INT to DBF_SHORT*/ 7, /*DBR_FLOAT to DBF_FLOAT*/ @@ -240,7 +233,7 @@ unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1] = { 5, /*DBR_LONG to DBF_LONG*/ 8 /*DBR_DOUBLE to DBF_DOUBLE*/ }; -unsigned short dbDBRnewToDBRold[newDBR_ENUM+1] = { +epicsShareDef unsigned short dbDBRnewToDBRold[newDBR_ENUM+1] = { 0, /*DBR_STRING to DBR_STRING*/ 4, /*DBR_CHAR to DBR_CHAR*/ 4, /*DBR_UCHAR to DBR_CHAR*/ diff --git a/src/db/dbcar.c b/src/db/dbcar.c index e91801629..fa3fc860d 100644 --- a/src/db/dbcar.c +++ b/src/db/dbcar.c @@ -43,6 +43,7 @@ of this distribution. #include "shareLib.h" #include "dbCaPvt.h" epicsShareExtern struct dbBase *pdbbase; +#define epicsExportSharedSymbols #include "dbCa.h" long dbcar(char *precordname,int level) diff --git a/src/db/initHooks.c b/src/db/initHooks.c index 38426e733..ff7d8656f 100644 --- a/src/db/initHooks.c +++ b/src/db/initHooks.c @@ -40,8 +40,7 @@ #include #include -#include - +#include "dbDefs.h" #include "ellLib.h" #define epicsExportSharedSymbols #include "initHooks.h" diff --git a/src/db/iocInit.c b/src/db/iocInit.c index af0de2173..2caa3e6c8 100644 --- a/src/db/iocInit.c +++ b/src/db/iocInit.c @@ -81,7 +81,6 @@ of this distribution. #include "envDefs.h" #include "dbStaticLib.h" #include "initHooks.h" -extern struct dbBase *pdbbase; LOCAL int initialized=FALSE;