From 799e72b1e338ffb79e1c1f4699a3d56f0cd43706 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 20 May 2020 13:38:09 -0700 Subject: [PATCH] libCom: actually use libComAPI.h in libCom --- modules/database/src/ioc/db/callback.c | 2 +- modules/database/src/ioc/db/dbAccess.c | 8 +- modules/database/src/ioc/db/dbConvert.c | 4 +- modules/database/src/ioc/db/dbFastLinkConv.c | 4 +- modules/database/src/ioc/db/db_convert.h | 4 +- modules/database/src/ioc/db/recGbl.c | 2 +- .../database/src/ioc/dbStatic/dbFldTypes.h | 2 +- .../database/src/ioc/dbStatic/dbLexRoutines.c | 10 +- .../database/src/ioc/dbStatic/dbStaticLib.c | 2 +- .../database/src/ioc/dbStatic/dbStaticRun.c | 2 +- modules/libcom/src/as/asLib.h | 80 ++++++++-------- modules/libcom/src/as/asLibRoutines.c | 69 +++++++------- modules/libcom/src/as/asTrapWrite.c | 9 +- modules/libcom/src/as/asTrapWrite.h | 6 +- modules/libcom/src/bucketLib/bucketLib.c | 31 +++--- modules/libcom/src/bucketLib/bucketLib.h | 32 +++---- modules/libcom/src/calc/calcPerform.c | 5 +- modules/libcom/src/calc/postfix.c | 9 +- modules/libcom/src/calc/postfix.h | 12 +-- modules/libcom/src/cvtFast/cvtFast.c | 1 - modules/libcom/src/cvtFast/cvtFast.h | 32 +++---- .../libcom/src/cxxTemplates/epicsSingleton.h | 4 +- .../src/cxxTemplates/epicsSingletonMutex.cpp | 1 - modules/libcom/src/cxxTemplates/resourceLib.h | 4 +- modules/libcom/src/dbmf/dbmf.c | 1 - modules/libcom/src/dbmf/dbmf.h | 18 ++-- modules/libcom/src/ellLib/ellLib.c | 1 - modules/libcom/src/ellLib/ellLib.h | 28 +++--- modules/libcom/src/ellLib/ellSort.c | 1 - modules/libcom/src/env/bldEnvData.pl | 6 +- modules/libcom/src/env/envDefs.h | 94 +++++++++---------- modules/libcom/src/env/envSubr.c | 19 ++-- modules/libcom/src/error/errSymLib.c | 1 - modules/libcom/src/error/errSymTbl.h | 16 ++-- modules/libcom/src/error/errlog.c | 3 +- modules/libcom/src/error/errlog.h | 46 ++++----- modules/libcom/src/fdmgr/fdManager.cpp | 11 +-- modules/libcom/src/fdmgr/fdManager.h | 16 ++-- modules/libcom/src/fdmgr/fdmgr.cpp | 39 ++++---- modules/libcom/src/fdmgr/fdmgr.h | 20 ++-- modules/libcom/src/flex/flex.c | 1 - modules/libcom/src/freeList/freeList.h | 14 +-- modules/libcom/src/freeList/freeListLib.c | 13 ++- modules/libcom/src/gpHash/gpHash.h | 18 ++-- modules/libcom/src/gpHash/gpHashLib.c | 17 ++-- modules/libcom/src/iocsh/initHooks.c | 1 - modules/libcom/src/iocsh/initHooks.h | 10 +- modules/libcom/src/iocsh/iocsh.cpp | 23 +++-- modules/libcom/src/iocsh/iocsh.h | 26 ++--- modules/libcom/src/iocsh/libComRegister.c | 3 +- modules/libcom/src/iocsh/libComRegister.h | 4 +- modules/libcom/src/iocsh/registry.c | 13 ++- modules/libcom/src/iocsh/registry.h | 14 +-- modules/libcom/src/log/iocLog.c | 9 +- modules/libcom/src/log/iocLog.h | 10 +- modules/libcom/src/log/logClient.c | 11 +-- modules/libcom/src/log/logClient.h | 14 +-- modules/libcom/src/macLib/macCore.c | 19 ++-- modules/libcom/src/macLib/macEnv.c | 5 +- modules/libcom/src/macLib/macLib.h | 54 +++++------ modules/libcom/src/macLib/macUtil.c | 5 +- modules/libcom/src/misc/aToIPAddr.c | 3 +- modules/libcom/src/misc/adjustment.c | 3 +- modules/libcom/src/misc/adjustment.h | 4 +- modules/libcom/src/misc/alarm.h | 6 +- modules/libcom/src/misc/alarmString.c | 5 +- modules/libcom/src/misc/cantProceed.c | 7 +- modules/libcom/src/misc/cantProceed.h | 8 +- modules/libcom/src/misc/epicsConvert.c | 3 +- modules/libcom/src/misc/epicsConvert.h | 4 +- modules/libcom/src/misc/epicsExit.c | 13 ++- modules/libcom/src/misc/epicsExit.h | 14 +-- modules/libcom/src/misc/epicsStdlib.c | 33 ++++--- modules/libcom/src/misc/epicsStdlib.h | 30 +++--- modules/libcom/src/misc/epicsString.c | 1 - modules/libcom/src/misc/epicsString.h | 30 +++--- modules/libcom/src/misc/epicsTypes.h | 22 ++--- modules/libcom/src/misc/epicsUnitTest.c | 1 - modules/libcom/src/misc/epicsUnitTest.h | 32 +++---- .../src/misc/ipAddrToAsciiAsynchronous.cpp | 1 - .../src/misc/ipAddrToAsciiAsynchronous.h | 8 +- modules/libcom/src/misc/truncateFile.c | 3 +- modules/libcom/src/misc/unixFileName.h | 6 +- modules/libcom/src/osi/devLibVME.c | 1 - modules/libcom/src/osi/devLibVME.h | 56 +++++------ modules/libcom/src/osi/devLibVMEImpl.h | 4 +- modules/libcom/src/osi/epicsAssert.h | 4 +- modules/libcom/src/osi/epicsAtomicDefault.h | 8 +- modules/libcom/src/osi/epicsEvent.cpp | 7 +- modules/libcom/src/osi/epicsEvent.h | 24 ++--- modules/libcom/src/osi/epicsFindSymbol.h | 8 +- modules/libcom/src/osi/epicsGeneralTime.c | 5 +- modules/libcom/src/osi/epicsGeneralTime.h | 18 ++-- modules/libcom/src/osi/epicsInterrupt.h | 10 +- modules/libcom/src/osi/epicsMath.cpp | 5 +- modules/libcom/src/osi/epicsMessageQueue.cpp | 1 - modules/libcom/src/osi/epicsMessageQueue.h | 24 ++--- modules/libcom/src/osi/epicsMutex.cpp | 17 ++-- modules/libcom/src/osi/epicsMutex.h | 22 ++--- modules/libcom/src/osi/epicsReadline.c | 7 +- modules/libcom/src/osi/epicsReadline.h | 8 +- modules/libcom/src/osi/epicsSignal.h | 10 +- modules/libcom/src/osi/epicsSpin.h | 14 +-- modules/libcom/src/osi/epicsStackTrace.c | 1 - modules/libcom/src/osi/epicsStackTrace.h | 6 +- modules/libcom/src/osi/epicsStackTracePvt.h | 8 +- modules/libcom/src/osi/epicsStdio.c | 27 +++--- modules/libcom/src/osi/epicsStdio.h | 32 +++---- modules/libcom/src/osi/epicsTempFile.h | 4 +- modules/libcom/src/osi/epicsThread.cpp | 9 +- modules/libcom/src/osi/epicsThread.h | 80 ++++++++-------- modules/libcom/src/osi/epicsTime.cpp | 41 ++++---- modules/libcom/src/osi/epicsTime.h | 66 ++++++------- modules/libcom/src/osi/generalTimeSup.h | 12 +-- modules/libcom/src/osi/os/Darwin/epicsMath.h | 6 +- modules/libcom/src/osi/os/Darwin/osdEnv.c | 7 +- .../libcom/src/osi/os/Darwin/osdFindAddr.c | 1 - .../libcom/src/osi/os/Darwin/osdMonotonic.c | 1 - modules/libcom/src/osi/os/Darwin/osdTime.cpp | 3 +- modules/libcom/src/osi/os/Darwin/osdTime.h | 2 +- modules/libcom/src/osi/os/Darwin/osdgetexec.c | 1 - modules/libcom/src/osi/os/Linux/osdThread.h | 6 +- .../libcom/src/osi/os/Linux/osdThreadExtra.c | 5 +- modules/libcom/src/osi/os/Linux/osdTime.h | 2 +- modules/libcom/src/osi/os/Linux/osdgetexec.c | 1 - .../libcom/src/osi/os/RTEMS/epicsAtomicOSD.h | 2 +- modules/libcom/src/osi/os/RTEMS/epicsMath.h | 6 +- modules/libcom/src/osi/os/RTEMS/osdEnv.c | 7 +- .../libcom/src/osi/os/RTEMS/osdFindSymbol.c | 7 +- .../libcom/src/osi/os/RTEMS/osdMessageQueue.c | 17 ++-- modules/libcom/src/osi/os/RTEMS/osdMutex.c | 2 +- .../libcom/src/osi/os/RTEMS/osdPoolStatus.c | 3 +- modules/libcom/src/osi/os/RTEMS/osdProcess.c | 5 +- modules/libcom/src/osi/os/RTEMS/osdSignal.cpp | 9 +- modules/libcom/src/osi/os/RTEMS/osdThread.c | 10 +- .../libcom/src/osi/os/RTEMS/osdThreadExtra.c | 5 +- modules/libcom/src/osi/os/WIN32/epicsGetopt.c | 5 +- modules/libcom/src/osi/os/WIN32/epicsGetopt.h | 8 +- modules/libcom/src/osi/os/WIN32/epicsMath.h | 6 +- .../WIN32/epicsSocketConvertErrnoToString.cpp | 1 - .../libcom/src/osi/os/WIN32/epicsTempFile.c | 3 +- .../libcom/src/osi/os/WIN32/osdBackTrace.cpp | 1 - modules/libcom/src/osi/os/WIN32/osdEnv.c | 7 +- modules/libcom/src/osi/os/WIN32/osdEvent.c | 17 ++-- modules/libcom/src/osi/os/WIN32/osdFindAddr.c | 1 - .../libcom/src/osi/os/WIN32/osdFindSymbol.c | 7 +- .../libcom/src/osi/os/WIN32/osdMonotonic.c | 1 - modules/libcom/src/osi/os/WIN32/osdMutex.c | 3 +- modules/libcom/src/osi/os/WIN32/osdNetIntf.c | 5 +- .../libcom/src/osi/os/WIN32/osdPoolStatus.c | 3 +- modules/libcom/src/osi/os/WIN32/osdProcess.c | 5 +- modules/libcom/src/osi/os/WIN32/osdSignal.cpp | 9 +- modules/libcom/src/osi/os/WIN32/osdSock.c | 17 ++-- modules/libcom/src/osi/os/WIN32/osdSock.h | 2 +- .../src/osi/os/WIN32/osdSockUnsentCount.c | 1 - modules/libcom/src/osi/os/WIN32/osdStdio.c | 5 +- modules/libcom/src/osi/os/WIN32/osdStrtod.h | 2 +- modules/libcom/src/osi/os/WIN32/osdThread.c | 59 ++++++------ .../libcom/src/osi/os/WIN32/osdThreadExtra.c | 5 +- modules/libcom/src/osi/os/WIN32/osdTime.cpp | 5 +- modules/libcom/src/osi/os/WIN32/osdgetexec.c | 1 - modules/libcom/src/osi/os/WIN32/osiFileName.h | 6 +- .../src/osi/os/WIN32/systemCallIntMech.cpp | 1 - .../libcom/src/osi/os/cygwin32/devLibVMEOSD.c | 3 +- .../libcom/src/osi/os/cygwin32/osdStrtod.h | 2 +- .../libcom/src/osi/os/cygwin32/osiFileName.h | 6 +- .../src/osi/os/cygwin32/systemCallIntMech.cpp | 1 - .../libcom/src/osi/os/default/devLibVMEOSD.c | 3 +- .../libcom/src/osi/os/default/epicsMMIODef.h | 2 +- .../epicsSocketConvertErrnoToString.cpp | 1 - modules/libcom/src/osi/os/default/osdAssert.c | 1 - .../src/osi/os/default/osdBackTrace.cpp | 1 - modules/libcom/src/osi/os/default/osdEnv.c | 7 +- .../libcom/src/osi/os/default/osdFindAddr.c | 1 - .../libcom/src/osi/os/default/osdFindSymbol.c | 7 +- .../libcom/src/osi/os/default/osdInterrupt.c | 9 +- .../src/osi/os/default/osdMessageQueue.cpp | 21 ++--- .../libcom/src/osi/os/default/osdNetIntf.c | 5 +- .../libcom/src/osi/os/default/osdPoolStatus.c | 3 +- .../libcom/src/osi/os/default/osdSignal.cpp | 9 +- .../src/osi/os/default/osdSockAddrReuse.cpp | 5 +- modules/libcom/src/osi/os/default/osdSpin.c | 1 - .../src/osi/os/default/osdThreadExtra.c | 5 +- .../src/osi/os/default/osdThreadHooks.c | 15 ++- .../libcom/src/osi/os/default/osdgetexec.c | 1 - modules/libcom/src/osi/os/freebsd/osdTime.h | 2 +- .../libcom/src/osi/os/freebsd/osdgetexec.c | 1 - modules/libcom/src/osi/os/iOS/epicsMath.h | 6 +- modules/libcom/src/osi/os/iOS/osdEnv.c | 7 +- modules/libcom/src/osi/os/iOS/osdMonotonic.c | 1 - modules/libcom/src/osi/os/iOS/osdTime.h | 2 +- .../src/osi/os/posix/epicsAtomicOSD.cpp | 1 - .../libcom/src/osi/os/posix/epicsAtomicOSD.h | 8 +- modules/libcom/src/osi/os/posix/epicsMath.h | 6 +- .../libcom/src/osi/os/posix/epicsTempFile.c | 3 +- .../libcom/src/osi/os/posix/osdElfFindAddr.c | 3 +- modules/libcom/src/osi/os/posix/osdEvent.c | 15 ++- .../src/osi/os/posix/osdExecinfoBackTrace.cpp | 1 - .../libcom/src/osi/os/posix/osdFindSymbol.c | 7 +- .../libcom/src/osi/os/posix/osdMonotonic.c | 1 - modules/libcom/src/osi/os/posix/osdMutex.c | 1 - modules/libcom/src/osi/os/posix/osdProcess.c | 5 +- modules/libcom/src/osi/os/posix/osdSignal.cpp | 9 +- modules/libcom/src/osi/os/posix/osdSock.c | 11 +-- modules/libcom/src/osi/os/posix/osdSpin.c | 1 - modules/libcom/src/osi/os/posix/osdStdio.c | 5 +- modules/libcom/src/osi/os/posix/osdThread.c | 65 +++++++------ modules/libcom/src/osi/os/posix/osdThread.h | 6 +- .../libcom/src/osi/os/posix/osdThreadExtra.c | 5 +- modules/libcom/src/osi/os/posix/osdTime.cpp | 3 +- modules/libcom/src/osi/os/posix/osdTime.h | 2 +- .../src/osi/os/posix/systemCallIntMech.cpp | 1 - .../src/osi/os/solaris/epicsAtomicOSD.h | 6 +- modules/libcom/src/osi/os/solaris/epicsMath.h | 6 +- .../src/osi/os/solaris/osdBackTrace.cpp | 1 - modules/libcom/src/osi/os/solaris/osdEnv.c | 7 +- modules/libcom/src/osi/os/solaris/osdStrtod.h | 2 +- .../libcom/src/osi/os/solaris/osdgetexec.c | 1 - modules/libcom/src/osi/os/vxWorks/epicsMath.h | 6 +- modules/libcom/src/osi/os/vxWorks/osdEnv.c | 7 +- .../libcom/src/osi/os/vxWorks/osdFindSymbol.c | 4 +- .../src/osi/os/vxWorks/osdMessageQueue.cpp | 5 +- .../libcom/src/osi/os/vxWorks/osdPoolStatus.c | 3 +- .../libcom/src/osi/os/vxWorks/osdProcess.c | 5 +- .../libcom/src/osi/os/vxWorks/osdSignal.cpp | 9 +- modules/libcom/src/osi/os/vxWorks/osdSock.c | 11 +-- modules/libcom/src/osi/os/vxWorks/osdThread.c | 6 +- .../src/osi/os/vxWorks/osdThreadExtra.c | 5 +- modules/libcom/src/osi/osiClockTime.c | 1 - modules/libcom/src/osi/osiNTPTime.c | 1 - modules/libcom/src/osi/osiPoolStatus.h | 4 +- modules/libcom/src/osi/osiProcess.h | 6 +- modules/libcom/src/osi/osiSock.c | 11 +-- modules/libcom/src/osi/osiSock.h | 44 ++++----- modules/libcom/src/pool/epicsThreadPool.h | 32 +++---- modules/libcom/src/pool/poolJob.c | 1 - modules/libcom/src/pool/threadPool.c | 5 +- modules/libcom/src/ring/epicsRingBytes.c | 27 +++--- modules/libcom/src/ring/epicsRingBytes.h | 28 +++--- modules/libcom/src/ring/epicsRingPointer.cpp | 27 +++--- modules/libcom/src/ring/epicsRingPointer.h | 28 +++--- modules/libcom/src/taskwd/taskwd.c | 3 +- modules/libcom/src/taskwd/taskwd.h | 18 ++-- modules/libcom/src/timer/epicsTimer.cpp | 41 ++++---- modules/libcom/src/timer/epicsTimer.h | 58 ++++++------ modules/libcom/src/timer/timer.cpp | 1 - modules/libcom/src/timer/timerQueue.cpp | 1 - modules/libcom/src/timer/timerQueueActive.cpp | 1 - .../libcom/src/timer/timerQueueActiveMgr.cpp | 1 - .../libcom/src/timer/timerQueuePassive.cpp | 1 - 250 files changed, 1286 insertions(+), 1434 deletions(-) diff --git a/modules/database/src/ioc/db/callback.c b/modules/database/src/ioc/db/callback.c index bbd798ed4..c2272a4f4 100644 --- a/modules/database/src/ioc/db/callback.c +++ b/modules/database/src/ioc/db/callback.c @@ -65,7 +65,7 @@ static cbQueueSet callbackQueue[NUM_CALLBACK_PRIORITIES]; int callbackThreadsDefault = 1; /* Don't know what a reasonable default is (yet). * For the time being: parallel means 2 if not explicitly specified */ -epicsShareDef int callbackParallelThreadsDefault = 2; +int callbackParallelThreadsDefault = 2; epicsExportAddress(int,callbackParallelThreadsDefault); /* Timer for Delayed Requests */ diff --git a/modules/database/src/ioc/db/dbAccess.c b/modules/database/src/ioc/db/dbAccess.c index b2788b0d9..799b6a79f 100644 --- a/modules/database/src/ioc/db/dbAccess.c +++ b/modules/database/src/ioc/db/dbAccess.c @@ -62,15 +62,15 @@ #include "recSup.h" #include "special.h" -epicsShareDef struct dbBase *pdbbase = 0; -epicsShareDef volatile int interruptAccept=FALSE; +struct dbBase *pdbbase = 0; +volatile int interruptAccept=FALSE; -epicsShareDef int dbAccessDebugPUTF = 0; +int dbAccessDebugPUTF = 0; epicsExportAddress(int, dbAccessDebugPUTF); /* Hook Routines */ -epicsShareDef DB_LOAD_RECORDS_HOOK_ROUTINE dbLoadRecordsHook = NULL; +DB_LOAD_RECORDS_HOOK_ROUTINE dbLoadRecordsHook = NULL; static short mapDBFToDBR[DBF_NTYPES] = { /* DBF_STRING => */ DBR_STRING, diff --git a/modules/database/src/ioc/db/dbConvert.c b/modules/database/src/ioc/db/dbConvert.c index 5d2c71f4c..a1654c6ad 100644 --- a/modules/database/src/ioc/db/dbConvert.c +++ b/modules/database/src/ioc/db/dbConvert.c @@ -1704,7 +1704,7 @@ static long putEnumEnum PUT_NOCONVERT(epicsEnum16, epicsEnum16) DBR_FLOAT, DBR_DOUBLE, DBR_ENUM ***************************************************************************/ -epicsShareDef GETCONVERTFUNC dbGetConvertRoutine[DBF_DEVICE+1][DBR_ENUM+1] = { +GETCONVERTFUNC dbGetConvertRoutine[DBF_DEVICE+1][DBR_ENUM+1] = { /* source is a DBF_STRING */ {getStringString, getStringChar, getStringUchar, getStringShort, getStringUshort, @@ -1775,7 +1775,7 @@ epicsShareDef GETCONVERTFUNC dbGetConvertRoutine[DBF_DEVICE+1][DBR_ENUM+1] = { DBF_MENU, DBF_DEVICE ***************************************************************************/ -epicsShareDef PUTCONVERTFUNC dbPutConvertRoutine[DBR_ENUM+1][DBF_DEVICE+1] = { +PUTCONVERTFUNC dbPutConvertRoutine[DBR_ENUM+1][DBF_DEVICE+1] = { /* source is a DBR_STRING */ {putStringString, putStringChar, putStringUchar, putStringShort, putStringUshort, putStringLong, putStringUlong, putStringInt64, putStringUInt64, diff --git a/modules/database/src/ioc/db/dbFastLinkConv.c b/modules/database/src/ioc/db/dbFastLinkConv.c index 1d94bc95e..9c719890b 100644 --- a/modules/database/src/ioc/db/dbFastLinkConv.c +++ b/modules/database/src/ioc/db/dbFastLinkConv.c @@ -1390,7 +1390,7 @@ static long cvt_device_st( * NULL implies the conversion is not supported. */ -epicsShareDef long (*dbFastGetConvertRoutine[DBF_DEVICE+1][DBR_ENUM+1])() = { +long (*dbFastGetConvertRoutine[DBF_DEVICE+1][DBR_ENUM+1])() = { /* Convert DBF_STRING to ... */ { cvt_st_st, cvt_st_c, cvt_st_uc, cvt_st_s, cvt_st_us, cvt_st_l, cvt_st_ul, cvt_st_q, cvt_st_uq, cvt_st_f, cvt_st_d, cvt_st_e }, @@ -1446,7 +1446,7 @@ epicsShareDef long (*dbFastGetConvertRoutine[DBF_DEVICE+1][DBR_ENUM+1])() = { * NULL implies the conversion is not supported. */ -epicsShareDef long (*dbFastPutConvertRoutine[DBR_ENUM+1][DBF_DEVICE+1])() = { +long (*dbFastPutConvertRoutine[DBR_ENUM+1][DBF_DEVICE+1])() = { /* Convert DBR_STRING to ... */ { cvt_st_st, cvt_st_c, cvt_st_uc, cvt_st_s, cvt_st_us, cvt_st_l, cvt_st_ul, cvt_st_q, cvt_st_uq, cvt_st_f, cvt_st_d, cvt_st_e, cvt_st_menu, cvt_st_device}, diff --git a/modules/database/src/ioc/db/db_convert.h b/modules/database/src/ioc/db/db_convert.h index d06164f02..530eba569 100644 --- a/modules/database/src/ioc/db/db_convert.h +++ b/modules/database/src/ioc/db/db_convert.h @@ -40,7 +40,7 @@ epicsShareExtern long (*dbFastPutConvertRoutine[newDBR_ENUM+1][newDBF_DEVICE+1]) epicsShareExtern unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1]; epicsShareExtern unsigned short dbDBRnewToDBRold[newDBR_ENUM+1]; #ifdef DB_CONVERT_GBLSOURCE -epicsShareDef unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1] = { +unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1] = { 0, /*DBR_STRING to DBF_STRING*/ 3, /*DBR_INT to DBF_SHORT*/ 9, /*DBR_FLOAT to DBF_FLOAT*/ @@ -49,7 +49,7 @@ epicsShareDef unsigned short dbDBRoldToDBFnew[DBR_DOUBLE+1] = { 5, /*DBR_LONG to DBF_LONG*/ 10 /*DBR_DOUBLE to DBF_DOUBLE*/ }; -epicsShareDef unsigned short dbDBRnewToDBRold[newDBR_ENUM+1] = { +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/modules/database/src/ioc/db/recGbl.c b/modules/database/src/ioc/db/recGbl.c index 50d27b15b..8fd90bbda 100644 --- a/modules/database/src/ioc/db/recGbl.c +++ b/modules/database/src/ioc/db/recGbl.c @@ -48,7 +48,7 @@ /* Hook Routines */ -epicsShareDef RECGBL_ALARM_HOOK_ROUTINE recGblAlarmHook = NULL; +RECGBL_ALARM_HOOK_ROUTINE recGblAlarmHook = NULL; /* local routines */ static void getMaxRangeValues(short field_type, double *pupper_limit, diff --git a/modules/database/src/ioc/dbStatic/dbFldTypes.h b/modules/database/src/ioc/dbStatic/dbFldTypes.h index ba1a69573..5a2848951 100644 --- a/modules/database/src/ioc/dbStatic/dbFldTypes.h +++ b/modules/database/src/ioc/dbStatic/dbFldTypes.h @@ -50,7 +50,7 @@ typedef struct mapdbfType{ epicsShareExtern mapdbfType pamapdbfType[]; #ifdef DBFLDTYPES_GBLSOURCE -epicsShareDef mapdbfType pamapdbfType[DBF_NTYPES] = { +mapdbfType pamapdbfType[DBF_NTYPES] = { {"DBF_STRING",DBF_STRING}, {"DBF_CHAR",DBF_CHAR}, {"DBF_UCHAR",DBF_UCHAR}, diff --git a/modules/database/src/ioc/dbStatic/dbLexRoutines.c b/modules/database/src/ioc/dbStatic/dbLexRoutines.c index 628b8e0d2..e06070b0a 100644 --- a/modules/database/src/ioc/dbStatic/dbLexRoutines.c +++ b/modules/database/src/ioc/dbStatic/dbLexRoutines.c @@ -40,18 +40,18 @@ /*global declarations*/ -epicsShareDef char *makeDbdDepends=0; +char *makeDbdDepends=0; -epicsShareDef int dbRecordsOnceOnly=0; +int dbRecordsOnceOnly=0; epicsExportAddress(int,dbRecordsOnceOnly); -epicsShareDef int dbBptNotMonotonic=0; +int dbBptNotMonotonic=0; epicsExportAddress(int,dbBptNotMonotonic); -epicsShareDef int dbQuietMacroWarnings=0; +int dbQuietMacroWarnings=0; epicsExportAddress(int,dbQuietMacroWarnings); -epicsShareDef int dbRecordsAbcSorted=0; +int dbRecordsAbcSorted=0; epicsExportAddress(int,dbRecordsAbcSorted); /*private routines */ diff --git a/modules/database/src/ioc/dbStatic/dbStaticLib.c b/modules/database/src/ioc/dbStatic/dbStaticLib.c index 7f5f1f885..d05ca15e1 100644 --- a/modules/database/src/ioc/dbStatic/dbStaticLib.c +++ b/modules/database/src/ioc/dbStatic/dbStaticLib.c @@ -60,7 +60,7 @@ STATIC_ASSERT(messagesize >= 21); static char *ppstring[5]={" NPP"," PP"," CA"," CP"," CPP"}; static char *msstring[4]={" NMS"," MS"," MSI"," MSS"}; -epicsShareDef maplinkType pamaplinkType[LINK_NTYPES] = { +maplinkType pamaplinkType[LINK_NTYPES] = { {"CONSTANT",CONSTANT}, {"PV_LINK",PV_LINK}, {"VME_IO",VME_IO}, diff --git a/modules/database/src/ioc/dbStatic/dbStaticRun.c b/modules/database/src/ioc/dbStatic/dbStaticRun.c index 46cbf982a..461bf5894 100644 --- a/modules/database/src/ioc/dbStatic/dbStaticRun.c +++ b/modules/database/src/ioc/dbStatic/dbStaticRun.c @@ -31,7 +31,7 @@ #include "devSup.h" #include "special.h" -epicsShareDef int dbConvertStrict = 0; +int dbConvertStrict = 0; epicsExportAddress(int, dbConvertStrict); static long do_nothing(struct dbCommon *precord) { return 0; } diff --git a/modules/libcom/src/as/asLib.h b/modules/libcom/src/as/asLib.h index 528ce6ed9..652e9d56f 100644 --- a/modules/libcom/src/as/asLib.h +++ b/modules/libcom/src/as/asLib.h @@ -12,7 +12,7 @@ #ifndef INCasLibh #define INCasLibh -#include "shareLib.h" +#include "libComAPI.h" #include "ellLib.h" #include "errMdef.h" #include "errlog.h" @@ -24,7 +24,7 @@ extern "C" { /* 0 - Use (unverified) client provided host name string. * 1 - Use actual client IP address. HAG() are resolved to IPs at ACF load time. */ -epicsShareExtern int asCheckClientIP; +LIBCOM_API extern int asCheckClientIP; typedef struct asgMember *ASMEMBERPVT; typedef struct asgClient *ASCLIENTPVT; @@ -67,63 +67,63 @@ void *asTrapWriteBefore(ASCLIENTPVT asClientPvt, asTrapWriteWithData(asClientPvt, user, host, addr, 0, 0, NULL) -epicsShareFunc long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction); -epicsShareFunc long epicsShareAPI asInitFile( +LIBCOM_API long epicsStdCall asInitialize(ASINPUTFUNCPTR inputfunction); +LIBCOM_API long epicsStdCall asInitFile( const char *filename,const char *substitutions); -epicsShareFunc long epicsShareAPI asInitFP(FILE *fp,const char *substitutions); -epicsShareFunc long epicsShareAPI asInitMem(const char *acf, const char *substitutions); +LIBCOM_API long epicsStdCall asInitFP(FILE *fp,const char *substitutions); +LIBCOM_API long epicsStdCall asInitMem(const char *acf, const char *substitutions); /*caller must provide permanent storage for asgName*/ -epicsShareFunc long epicsShareAPI asAddMember( +LIBCOM_API long epicsStdCall asAddMember( ASMEMBERPVT *asMemberPvt,const char *asgName); -epicsShareFunc long epicsShareAPI asRemoveMember(ASMEMBERPVT *asMemberPvt); +LIBCOM_API long epicsStdCall asRemoveMember(ASMEMBERPVT *asMemberPvt); /*caller must provide permanent storage for newAsgName*/ -epicsShareFunc long epicsShareAPI asChangeGroup( +LIBCOM_API long epicsStdCall asChangeGroup( ASMEMBERPVT *asMemberPvt,const char *newAsgName); -epicsShareFunc void * epicsShareAPI asGetMemberPvt(ASMEMBERPVT asMemberPvt); -epicsShareFunc void epicsShareAPI asPutMemberPvt( +LIBCOM_API void * epicsStdCall asGetMemberPvt(ASMEMBERPVT asMemberPvt); +LIBCOM_API void epicsStdCall asPutMemberPvt( ASMEMBERPVT asMemberPvt,void *userPvt); /*client must provide permanent storage for user and host*/ -epicsShareFunc long epicsShareAPI asAddClient( +LIBCOM_API long epicsStdCall asAddClient( ASCLIENTPVT *asClientPvt,ASMEMBERPVT asMemberPvt, int asl,const char *user,char *host); /*client must provide permanent storage for user and host*/ -epicsShareFunc long epicsShareAPI asChangeClient( +LIBCOM_API long epicsStdCall asChangeClient( ASCLIENTPVT asClientPvt,int asl,const char *user,char *host); -epicsShareFunc long epicsShareAPI asRemoveClient(ASCLIENTPVT *asClientPvt); -epicsShareFunc void * epicsShareAPI asGetClientPvt(ASCLIENTPVT asClientPvt); -epicsShareFunc void epicsShareAPI asPutClientPvt( +LIBCOM_API long epicsStdCall asRemoveClient(ASCLIENTPVT *asClientPvt); +LIBCOM_API void * epicsStdCall asGetClientPvt(ASCLIENTPVT asClientPvt); +LIBCOM_API void epicsStdCall asPutClientPvt( ASCLIENTPVT asClientPvt,void *userPvt); -epicsShareFunc long epicsShareAPI asRegisterClientCallback( +LIBCOM_API long epicsStdCall asRegisterClientCallback( ASCLIENTPVT asClientPvt, ASCLIENTCALLBACK pcallback); -epicsShareFunc long epicsShareAPI asComputeAllAsg(void); +LIBCOM_API long epicsStdCall asComputeAllAsg(void); /* following declared below after ASG is declared -epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg); +LIBCOM_API long epicsStdCall asComputeAsg(ASG *pasg); */ -epicsShareFunc long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt); -epicsShareFunc int epicsShareAPI asDump( +LIBCOM_API long epicsStdCall asCompute(ASCLIENTPVT asClientPvt); +LIBCOM_API int epicsStdCall asDump( void (*memcallback)(ASMEMBERPVT,FILE *), void (*clientcallback)(ASCLIENTPVT,FILE *),int verbose); -epicsShareFunc int epicsShareAPI asDumpFP(FILE *fp, +LIBCOM_API int epicsStdCall asDumpFP(FILE *fp, void (*memcallback)(ASMEMBERPVT,FILE *), void (*clientcallback)(ASCLIENTPVT,FILE *),int verbose); -epicsShareFunc int epicsShareAPI asDumpUag(const char *uagname); -epicsShareFunc int epicsShareAPI asDumpUagFP(FILE *fp,const char *uagname); -epicsShareFunc int epicsShareAPI asDumpHag(const char *hagname); -epicsShareFunc int epicsShareAPI asDumpHagFP(FILE *fp,const char *hagname); -epicsShareFunc int epicsShareAPI asDumpRules(const char *asgname); -epicsShareFunc int epicsShareAPI asDumpRulesFP(FILE *fp,const char *asgname); -epicsShareFunc int epicsShareAPI asDumpMem(const char *asgname, +LIBCOM_API int epicsStdCall asDumpUag(const char *uagname); +LIBCOM_API int epicsStdCall asDumpUagFP(FILE *fp,const char *uagname); +LIBCOM_API int epicsStdCall asDumpHag(const char *hagname); +LIBCOM_API int epicsStdCall asDumpHagFP(FILE *fp,const char *hagname); +LIBCOM_API int epicsStdCall asDumpRules(const char *asgname); +LIBCOM_API int epicsStdCall asDumpRulesFP(FILE *fp,const char *asgname); +LIBCOM_API int epicsStdCall asDumpMem(const char *asgname, void (*memcallback)(ASMEMBERPVT,FILE *),int clients); -epicsShareFunc int epicsShareAPI asDumpMemFP(FILE *fp,const char *asgname, +LIBCOM_API int epicsStdCall asDumpMemFP(FILE *fp,const char *asgname, void (*memcallback)(ASMEMBERPVT,FILE *),int clients); -epicsShareFunc int epicsShareAPI asDumpHash(void); -epicsShareFunc int epicsShareAPI asDumpHashFP(FILE *fp); +LIBCOM_API int epicsStdCall asDumpHash(void); +LIBCOM_API int epicsStdCall asDumpHashFP(FILE *fp); -epicsShareFunc void * epicsShareAPI asTrapWriteBeforeWithData( +LIBCOM_API void * epicsStdCall asTrapWriteBeforeWithData( const char *userid, const char *hostid, void *addr, int dbrType, int no_elements, void *data); -epicsShareFunc void epicsShareAPI asTrapWriteAfterWrite(void *pvt); +LIBCOM_API void epicsStdCall asTrapWriteAfterWrite(void *pvt); #define S_asLib_clientsExist (M_asLib| 1) /*Client Exists*/ #define S_asLib_noUag (M_asLib| 2) /*User Access Group does not exist*/ @@ -141,7 +141,7 @@ epicsShareFunc void epicsShareAPI asTrapWriteAfterWrite(void *pvt); #define S_asLib_noMemory (M_asLib|14) /*access security: no Memory */ /*Private declarations */ -epicsShareExtern int asActive; +LIBCOM_API extern int asActive; /* definition of access rights*/ typedef enum{asNOACCESS,asREAD,asWRITE} asAccessRights; @@ -156,7 +156,7 @@ typedef struct asBase{ struct gphPvt *phash; } ASBASE; -epicsShareExtern volatile ASBASE *pasbase; +LIBCOM_API extern volatile ASBASE *pasbase; /*Defs for User Access Groups*/ typedef struct{ @@ -238,11 +238,11 @@ typedef struct asgClient { int trapMask; } ASGCLIENT; -epicsShareFunc long epicsShareAPI asComputeAsg(ASG *pasg); +LIBCOM_API long epicsStdCall asComputeAsg(ASG *pasg); /*following is "friend" function*/ -epicsShareFunc void * epicsShareAPI asCalloc(size_t nobj,size_t size); -epicsShareFunc char * epicsShareAPI asStrdup(unsigned char *str); -epicsShareFunc void asFreeAll(ASBASE *pasbase); +LIBCOM_API void * epicsStdCall asCalloc(size_t nobj,size_t size); +LIBCOM_API char * epicsStdCall asStrdup(unsigned char *str); +LIBCOM_API void asFreeAll(ASBASE *pasbase); #ifdef __cplusplus } #endif diff --git a/modules/libcom/src/as/asLibRoutines.c b/modules/libcom/src/as/asLibRoutines.c index e19b63990..1d9f80cb1 100644 --- a/modules/libcom/src/as/asLibRoutines.c +++ b/modules/libcom/src/as/asLibRoutines.c @@ -14,7 +14,6 @@ #include #include -#define epicsExportSharedSymbols #include "osiSock.h" #include "epicsTypes.h" #include "epicsStdio.h" @@ -36,9 +35,9 @@ static epicsMutexId asLock; #define UNLOCK epicsMutexUnlock(asLock) /*following must be global because asCa nneeds it*/ -epicsShareDef ASBASE volatile *pasbase=NULL; +ASBASE volatile *pasbase=NULL; static ASBASE *pasbasenew=NULL; -epicsShareDef int asActive = FALSE; +int asActive = FALSE; static void *freeListPvt = NULL; @@ -82,7 +81,7 @@ static void asInitializeOnce(void *arg) osiSockAttach(); asLock = epicsMutexMustCreate(); } -long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction) +long epicsStdCall asInitialize(ASINPUTFUNCPTR inputfunction) { ASG *pasg; long status; @@ -167,7 +166,7 @@ long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction) return(0); } -long epicsShareAPI asInitFile(const char *filename,const char *substitutions) +long epicsStdCall asInitFile(const char *filename,const char *substitutions) { FILE *fp; long status; @@ -222,7 +221,7 @@ static int myInputFunction(char *buf, int max_size) return(n); } -long epicsShareAPI asInitFP(FILE *fp,const char *substitutions) +long epicsStdCall asInitFP(FILE *fp,const char *substitutions) { char buffer[BUF_SIZE]; char mac_buffer[BUF_SIZE]; @@ -272,7 +271,7 @@ static int memInputFunction(char *buf, int max_size) return ret; } -long epicsShareAPI asInitMem(const char *acf, const char *substitutions) +long epicsStdCall asInitMem(const char *acf, const char *substitutions) { long ret = S_asLib_InitFailed; if(!acf) return ret; @@ -284,7 +283,7 @@ long epicsShareAPI asInitMem(const char *acf, const char *substitutions) return ret; } -long epicsShareAPI asAddMember(ASMEMBERPVT *pasMemberPvt,const char *asgName) +long epicsStdCall asAddMember(ASMEMBERPVT *pasMemberPvt,const char *asgName) { long status; @@ -295,7 +294,7 @@ long epicsShareAPI asAddMember(ASMEMBERPVT *pasMemberPvt,const char *asgName) return(status); } -long epicsShareAPI asRemoveMember(ASMEMBERPVT *asMemberPvt) +long epicsStdCall asRemoveMember(ASMEMBERPVT *asMemberPvt) { ASGMEMBER *pasgmember; @@ -320,7 +319,7 @@ long epicsShareAPI asRemoveMember(ASMEMBERPVT *asMemberPvt) return(0); } -long epicsShareAPI asChangeGroup(ASMEMBERPVT *asMemberPvt,const char *newAsgName) +long epicsStdCall asChangeGroup(ASMEMBERPVT *asMemberPvt,const char *newAsgName) { ASGMEMBER *pasgmember; long status; @@ -341,7 +340,7 @@ long epicsShareAPI asChangeGroup(ASMEMBERPVT *asMemberPvt,const char *newAsgName return(status); } -void * epicsShareAPI asGetMemberPvt(ASMEMBERPVT asMemberPvt) +void * epicsStdCall asGetMemberPvt(ASMEMBERPVT asMemberPvt) { ASGMEMBER *pasgmember = asMemberPvt; @@ -350,7 +349,7 @@ void * epicsShareAPI asGetMemberPvt(ASMEMBERPVT asMemberPvt) return(pasgmember->userPvt); } -void epicsShareAPI asPutMemberPvt(ASMEMBERPVT asMemberPvt,void *userPvt) +void epicsStdCall asPutMemberPvt(ASMEMBERPVT asMemberPvt,void *userPvt) { ASGMEMBER *pasgmember = asMemberPvt; @@ -360,7 +359,7 @@ void epicsShareAPI asPutMemberPvt(ASMEMBERPVT asMemberPvt,void *userPvt) return; } -long epicsShareAPI asAddClient(ASCLIENTPVT *pasClientPvt,ASMEMBERPVT asMemberPvt, +long epicsStdCall asAddClient(ASCLIENTPVT *pasClientPvt,ASMEMBERPVT asMemberPvt, int asl,const char *user,char *host) { ASGMEMBER *pasgmember = asMemberPvt; @@ -388,7 +387,7 @@ long epicsShareAPI asAddClient(ASCLIENTPVT *pasClientPvt,ASMEMBERPVT asMemberPvt return(status); } -long epicsShareAPI asChangeClient( +long epicsStdCall asChangeClient( ASCLIENTPVT asClientPvt,int asl,const char *user,char *host) { ASGCLIENT *pasgclient = asClientPvt; @@ -410,7 +409,7 @@ long epicsShareAPI asChangeClient( return(status); } -long epicsShareAPI asRemoveClient(ASCLIENTPVT *asClientPvt) +long epicsStdCall asRemoveClient(ASCLIENTPVT *asClientPvt) { ASGCLIENT *pasgclient = *asClientPvt; ASGMEMBER *pasgMember; @@ -431,7 +430,7 @@ long epicsShareAPI asRemoveClient(ASCLIENTPVT *asClientPvt) return(0); } -long epicsShareAPI asRegisterClientCallback(ASCLIENTPVT asClientPvt, +long epicsStdCall asRegisterClientCallback(ASCLIENTPVT asClientPvt, ASCLIENTCALLBACK pcallback) { ASGCLIENT *pasgclient = asClientPvt; @@ -445,7 +444,7 @@ long epicsShareAPI asRegisterClientCallback(ASCLIENTPVT asClientPvt, return(0); } -void * epicsShareAPI asGetClientPvt(ASCLIENTPVT asClientPvt) +void * epicsStdCall asGetClientPvt(ASCLIENTPVT asClientPvt) { ASGCLIENT *pasgclient = asClientPvt; @@ -454,7 +453,7 @@ void * epicsShareAPI asGetClientPvt(ASCLIENTPVT asClientPvt) return(pasgclient->userPvt); } -void epicsShareAPI asPutClientPvt(ASCLIENTPVT asClientPvt,void *userPvt) +void epicsStdCall asPutClientPvt(ASCLIENTPVT asClientPvt,void *userPvt) { ASGCLIENT *pasgclient = asClientPvt; if(!asActive) return; @@ -464,7 +463,7 @@ void epicsShareAPI asPutClientPvt(ASCLIENTPVT asClientPvt,void *userPvt) UNLOCK; } -long epicsShareAPI asComputeAllAsg(void) +long epicsStdCall asComputeAllAsg(void) { long status; @@ -475,7 +474,7 @@ long epicsShareAPI asComputeAllAsg(void) return(status); } -long epicsShareAPI asComputeAsg(ASG *pasg) +long epicsStdCall asComputeAsg(ASG *pasg) { long status; @@ -486,7 +485,7 @@ long epicsShareAPI asComputeAsg(ASG *pasg) return(status); } -long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt) +long epicsStdCall asCompute(ASCLIENTPVT asClientPvt) { long status; @@ -502,7 +501,7 @@ long epicsShareAPI asCompute(ASCLIENTPVT asClientPvt) static const char *asAccessName[] = {"NONE","READ","WRITE"}; static const char *asTrapOption[] = {"NOTRAPWRITE","TRAPWRITE"}; static const char *asLevelName[] = {"ASL0","ASL1"}; -int epicsShareAPI asDump( +int epicsStdCall asDump( void (*memcallback)(struct asgMember *,FILE *), void (*clientcallback)(struct asgClient *,FILE *), int verbose) @@ -510,7 +509,7 @@ int epicsShareAPI asDump( return asDumpFP(stdout,memcallback,clientcallback,verbose); } -int epicsShareAPI asDumpFP( +int epicsStdCall asDumpFP( FILE *fp, void (*memcallback)(struct asgMember *,FILE *), void (*clientcallback)(struct asgClient *,FILE *), @@ -655,12 +654,12 @@ int epicsShareAPI asDumpFP( return(0); } -int epicsShareAPI asDumpUag(const char *uagname) +int epicsStdCall asDumpUag(const char *uagname) { return asDumpUagFP(stdout,uagname); } -int epicsShareAPI asDumpUagFP(FILE *fp,const char *uagname) +int epicsStdCall asDumpUagFP(FILE *fp,const char *uagname) { UAG *puag; UAGNAME *puagname; @@ -686,12 +685,12 @@ int epicsShareAPI asDumpUagFP(FILE *fp,const char *uagname) return(0); } -int epicsShareAPI asDumpHag(const char *hagname) +int epicsStdCall asDumpHag(const char *hagname) { return asDumpHagFP(stdout,hagname); } -int epicsShareAPI asDumpHagFP(FILE *fp,const char *hagname) +int epicsStdCall asDumpHagFP(FILE *fp,const char *hagname) { HAG *phag; HAGNAME *phagname; @@ -717,12 +716,12 @@ int epicsShareAPI asDumpHagFP(FILE *fp,const char *hagname) return(0); } -int epicsShareAPI asDumpRules(const char *asgname) +int epicsStdCall asDumpRules(const char *asgname) { return asDumpRulesFP(stdout,asgname); } -int epicsShareAPI asDumpRulesFP(FILE *fp,const char *asgname) +int epicsStdCall asDumpRulesFP(FILE *fp,const char *asgname) { ASG *pasg; ASGINP *pasginp; @@ -801,13 +800,13 @@ int epicsShareAPI asDumpRulesFP(FILE *fp,const char *asgname) return(0); } -int epicsShareAPI asDumpMem(const char *asgname,void (*memcallback)(ASMEMBERPVT,FILE *), +int epicsStdCall asDumpMem(const char *asgname,void (*memcallback)(ASMEMBERPVT,FILE *), int clients) { return asDumpMemFP(stdout,asgname,memcallback,clients); } -int epicsShareAPI asDumpMemFP(FILE *fp,const char *asgname, +int epicsStdCall asDumpMemFP(FILE *fp,const char *asgname, void (*memcallback)(ASMEMBERPVT,FILE *),int clients) { ASG *pasg; @@ -858,12 +857,12 @@ int epicsShareAPI asDumpMemFP(FILE *fp,const char *asgname, return(0); } -epicsShareFunc int epicsShareAPI asDumpHash(void) +LIBCOM_API int epicsStdCall asDumpHash(void) { return asDumpHashFP(stdout); } -epicsShareFunc int epicsShareAPI asDumpHashFP(FILE *fp) +LIBCOM_API int epicsStdCall asDumpHashFP(FILE *fp) { if(!asActive) return(0); gphDumpFP(fp,pasbase->phash); @@ -872,14 +871,14 @@ epicsShareFunc int epicsShareAPI asDumpHashFP(FILE *fp) /*Start of private routines*/ /* asCalloc is "friend" function */ -epicsShareFunc void * epicsShareAPI asCalloc(size_t nobj,size_t size) +LIBCOM_API void * epicsStdCall asCalloc(size_t nobj,size_t size) { void *p; p=callocMustSucceed(nobj,size,"asCalloc"); return(p); } -epicsShareFunc char * epicsShareAPI asStrdup(unsigned char *str) +LIBCOM_API char * epicsStdCall asStrdup(unsigned char *str) { size_t len = strlen((char *) str); char *buf = asCalloc(1, len + 1); diff --git a/modules/libcom/src/as/asTrapWrite.c b/modules/libcom/src/as/asTrapWrite.c index 544e9a211..fe7b246e6 100644 --- a/modules/libcom/src/as/asTrapWrite.c +++ b/modules/libcom/src/as/asTrapWrite.c @@ -19,7 +19,6 @@ #include #include -#define epicsExportSharedSymbols #include "ellLib.h" #include "freeList.h" #include "epicsStdio.h" @@ -71,7 +70,7 @@ static void asTrapWriteInit(void) pasTrapWritePvt->lock = epicsMutexMustCreate(); } -asTrapWriteId epicsShareAPI asTrapWriteRegisterListener( +asTrapWriteId epicsStdCall asTrapWriteRegisterListener( asTrapWriteListener func) { listener *plistener; @@ -84,7 +83,7 @@ asTrapWriteId epicsShareAPI asTrapWriteRegisterListener( return((asTrapWriteId)plistener); } -void epicsShareAPI asTrapWriteUnregisterListener(asTrapWriteId id) +void epicsStdCall asTrapWriteUnregisterListener(asTrapWriteId id) { listener *plistener = (listener *)id; writeMessage *pwriteMessage; @@ -111,7 +110,7 @@ void epicsShareAPI asTrapWriteUnregisterListener(asTrapWriteId id) epicsMutexUnlock(pasTrapWritePvt->lock); } -void * epicsShareAPI asTrapWriteBeforeWithData( +void * epicsStdCall asTrapWriteBeforeWithData( const char *userid, const char *hostid, void *addr, int dbrType, int no_elements, void *data) { @@ -149,7 +148,7 @@ void * epicsShareAPI asTrapWriteBeforeWithData( return pwriteMessage; } -void epicsShareAPI asTrapWriteAfterWrite(void *pvt) +void epicsStdCall asTrapWriteAfterWrite(void *pvt) { writeMessage *pwriteMessage = (writeMessage *)pvt; listenerPvt *plistenerPvt; diff --git a/modules/libcom/src/as/asTrapWrite.h b/modules/libcom/src/as/asTrapWrite.h index 8f93fa1ee..8a0286e26 100644 --- a/modules/libcom/src/as/asTrapWrite.h +++ b/modules/libcom/src/as/asTrapWrite.h @@ -19,7 +19,7 @@ #ifndef INCasTrapWriteh #define INCasTrapWriteh -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -78,13 +78,13 @@ typedef void(*asTrapWriteListener)(asTrapWriteMessage *pmessage,int after); * \param func The listener function to be called. * \return A listener identifier for unregistering this listener. */ -epicsShareFunc asTrapWriteId epicsShareAPI asTrapWriteRegisterListener( +LIBCOM_API asTrapWriteId epicsStdCall asTrapWriteRegisterListener( asTrapWriteListener func); /** * \brief Unregister asTrapWriteListener. * \param id Listener identifier from asTrapWriteRegisterListener(). */ -epicsShareFunc void epicsShareAPI asTrapWriteUnregisterListener( +LIBCOM_API void epicsStdCall asTrapWriteUnregisterListener( asTrapWriteId id); #ifdef __cplusplus diff --git a/modules/libcom/src/bucketLib/bucketLib.c b/modules/libcom/src/bucketLib/bucketLib.c index 40df596a4..c8ef9a2b0 100644 --- a/modules/libcom/src/bucketLib/bucketLib.c +++ b/modules/libcom/src/bucketLib/bucketLib.c @@ -23,7 +23,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsAssert.h" #include "freeList.h" /* bucketLib uses freeListLib inside the DLL */ #include "bucketLib.h" @@ -216,7 +215,7 @@ static BUCKETID bucketStringHash (BUCKET *pb, const void *pId) /* * bucketCreate() */ -epicsShareFunc BUCKET * epicsShareAPI bucketCreate (unsigned nHashTableEntries) +LIBCOM_API BUCKET * epicsStdCall bucketCreate (unsigned nHashTableEntries) { BUCKETID mask; unsigned nbits; @@ -283,7 +282,7 @@ epicsShareFunc BUCKET * epicsShareAPI bucketCreate (unsigned nHashTableEntries) /* * bucketFree() */ -epicsShareFunc int epicsShareAPI bucketFree (BUCKET *prb) +LIBCOM_API int epicsStdCall bucketFree (BUCKET *prb) { /* * deleting a bucket with entries in use @@ -305,17 +304,17 @@ epicsShareFunc int epicsShareAPI bucketFree (BUCKET *prb) /* * bucketAddItem() */ -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall bucketAddItemUnsignedId(BUCKET *prb, const unsigned *pId, const void *pApp) { return bucketAddItem(prb, &BSET[bidtUnsigned], pId, pApp); } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall bucketAddItemPointerId(BUCKET *prb, void * const *pId, const void *pApp) { return bucketAddItem(prb, &BSET[bidtPointer], pId, pApp); } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall bucketAddItemStringId(BUCKET *prb, const char *pId, const void *pApp) { return bucketAddItem(prb, &BSET[bidtString], pId, pApp); @@ -395,15 +394,15 @@ static void *bucketLookupAndRemoveItem (BUCKET *prb, bucketSET *pBSET, const voi return pApp; } -epicsShareFunc void * epicsShareAPI bucketLookupAndRemoveItemUnsignedId (BUCKET *prb, const unsigned *pId) +LIBCOM_API void * epicsStdCall bucketLookupAndRemoveItemUnsignedId (BUCKET *prb, const unsigned *pId) { return bucketLookupAndRemoveItem(prb, &BSET[bidtUnsigned], pId); } -epicsShareFunc void * epicsShareAPI bucketLookupAndRemoveItemPointerId (BUCKET *prb, void * const *pId) +LIBCOM_API void * epicsStdCall bucketLookupAndRemoveItemPointerId (BUCKET *prb, void * const *pId) { return bucketLookupAndRemoveItem(prb, &BSET[bidtPointer], pId); } -epicsShareFunc void * epicsShareAPI bucketLookupAndRemoveItemStringId (BUCKET *prb, const char *pId) +LIBCOM_API void * epicsStdCall bucketLookupAndRemoveItemStringId (BUCKET *prb, const char *pId) { return bucketLookupAndRemoveItem(prb, &BSET[bidtString], pId); } @@ -412,17 +411,17 @@ epicsShareFunc void * epicsShareAPI bucketLookupAndRemoveItemStringId (BUCKET *p /* * bucketRemoveItem() */ -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall bucketRemoveItemUnsignedId (BUCKET *prb, const unsigned *pId) { return bucketLookupAndRemoveItem(prb, &BSET[bidtUnsigned], pId)?S_bucket_success:S_bucket_uknId; } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall bucketRemoveItemPointerId (BUCKET *prb, void * const *pId) { return bucketLookupAndRemoveItem(prb, &BSET[bidtPointer], pId)?S_bucket_success:S_bucket_uknId; } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall bucketRemoveItemStringId (BUCKET *prb, const char *pId) { return bucketLookupAndRemoveItem(prb, &BSET[bidtString], pId)?S_bucket_success:S_bucket_uknId; @@ -432,17 +431,17 @@ epicsShareFunc int epicsShareAPI /* * bucketLookupItem() */ -epicsShareFunc void * epicsShareAPI +LIBCOM_API void * epicsStdCall bucketLookupItemUnsignedId (BUCKET *prb, const unsigned *pId) { return bucketLookupItem(prb, &BSET[bidtUnsigned], pId); } -epicsShareFunc void * epicsShareAPI +LIBCOM_API void * epicsStdCall bucketLookupItemPointerId (BUCKET *prb, void * const *pId) { return bucketLookupItem(prb, &BSET[bidtPointer], pId); } -epicsShareFunc void * epicsShareAPI +LIBCOM_API void * epicsStdCall bucketLookupItemStringId (BUCKET *prb, const char *pId) { return bucketLookupItem(prb, &BSET[bidtString], pId); @@ -474,7 +473,7 @@ static void *bucketLookupItem (BUCKET *pb, bucketSET *pBSET, const void *pId) /* * bucketShow() */ -epicsShareFunc int epicsShareAPI bucketShow(BUCKET *pb) +LIBCOM_API int epicsStdCall bucketShow(BUCKET *pb) { ITEM **ppi; ITEM *pi; diff --git a/modules/libcom/src/bucketLib/bucketLib.h b/modules/libcom/src/bucketLib/bucketLib.h index 0336d6e18..497f4f9e6 100644 --- a/modules/libcom/src/bucketLib/bucketLib.h +++ b/modules/libcom/src/bucketLib/bucketLib.h @@ -28,7 +28,7 @@ extern "C" { #include "errMdef.h" #include "epicsTypes.h" -#include "shareLib.h" +#include "libComAPI.h" /** \brief Internal: bucket identifier */ typedef unsigned BUCKETID; @@ -57,20 +57,20 @@ typedef struct bucket{ * \param nHashTableEntries Table size * \return Pointer to the newly created hash table, or NULL. */ -epicsShareFunc BUCKET * epicsShareAPI bucketCreate (unsigned nHashTableEntries); +LIBCOM_API BUCKET * epicsStdCall bucketCreate (unsigned nHashTableEntries); /** * \brief Release memory used by a hash table * \param *prb Pointer to the hash table * \return S_bucket_success * \note All items must be deleted from the hash table before calling this. */ -epicsShareFunc int epicsShareAPI bucketFree (BUCKET *prb); +LIBCOM_API int epicsStdCall bucketFree (BUCKET *prb); /** * \brief Display information about a hash table * \param *prb Pointer to the hash table * \return S_bucket_success */ -epicsShareFunc int epicsShareAPI bucketShow (BUCKET *prb); +LIBCOM_API int epicsStdCall bucketShow (BUCKET *prb); /** * \brief Add an item identified by an unsigned int to the table @@ -79,7 +79,7 @@ epicsShareFunc int epicsShareAPI bucketShow (BUCKET *prb); * \param *pApp Pointer to the payload * \return Status value */ -epicsShareFunc int epicsShareAPI bucketAddItemUnsignedId (BUCKET *prb, +LIBCOM_API int epicsStdCall bucketAddItemUnsignedId (BUCKET *prb, const unsigned *pId, const void *pApp); /** * \brief Add an item identified by a pointer to the table @@ -88,7 +88,7 @@ epicsShareFunc int epicsShareAPI bucketAddItemUnsignedId (BUCKET *prb, * \param *pApp Pointer to the payload * \return Status value */ -epicsShareFunc int epicsShareAPI bucketAddItemPointerId (BUCKET *prb, +LIBCOM_API int epicsStdCall bucketAddItemPointerId (BUCKET *prb, void * const *pId, const void *pApp); /** * \brief Add an item identified by a string to the table @@ -97,7 +97,7 @@ epicsShareFunc int epicsShareAPI bucketAddItemPointerId (BUCKET *prb, * \param *pApp Pointer to the payload * \return Status value */ -epicsShareFunc int epicsShareAPI bucketAddItemStringId (BUCKET *prb, +LIBCOM_API int epicsStdCall bucketAddItemStringId (BUCKET *prb, const char *pId, const void *pApp); /** * \brief Remove an item identified by a string from the table @@ -105,42 +105,42 @@ epicsShareFunc int epicsShareAPI bucketAddItemStringId (BUCKET *prb, * \param *pId Pointer to the identifier * \return Status value */ -epicsShareFunc int epicsShareAPI bucketRemoveItemUnsignedId (BUCKET *prb, const unsigned *pId); +LIBCOM_API int epicsStdCall bucketRemoveItemUnsignedId (BUCKET *prb, const unsigned *pId); /** * \brief Remove an item identified by a pointer from the table * \param *prb Pointer to the hash table * \param *pId Pointer to the identifier * \return Status value */ -epicsShareFunc int epicsShareAPI bucketRemoveItemPointerId (BUCKET *prb, void * const *pId); +LIBCOM_API int epicsStdCall bucketRemoveItemPointerId (BUCKET *prb, void * const *pId); /** * \brief Remove an item identified by a string from the table * \param *prb Pointer to the hash table * \param *pId Pointer to the identifier * \return Status value */ -epicsShareFunc int epicsShareAPI bucketRemoveItemStringId (BUCKET *prb, const char *pId); +LIBCOM_API int epicsStdCall bucketRemoveItemStringId (BUCKET *prb, const char *pId); /** * \brief Find an item identified by an unsigned int in the table * \param *prb Pointer to the hash table * \param *pId Pointer to the identifier * \return Item's payload pointer, or NULL if not found */ -epicsShareFunc void * epicsShareAPI bucketLookupItemUnsignedId (BUCKET *prb, const unsigned *pId); +LIBCOM_API void * epicsStdCall bucketLookupItemUnsignedId (BUCKET *prb, const unsigned *pId); /** * \brief Find an item identified by a pointer in the table * \param *prb Pointer to the hash table * \param *pId Pointer to the identifier * \return Item's payload pointer, or NULL if not found */ -epicsShareFunc void * epicsShareAPI bucketLookupItemPointerId (BUCKET *prb, void * const *pId); +LIBCOM_API void * epicsStdCall bucketLookupItemPointerId (BUCKET *prb, void * const *pId); /** * \brief Find an item identified by a string in the table * \param *prb Pointer to the hash table * \param *pId Pointer to the identifier * \return Item's payload pointer, or NULL if not found */ -epicsShareFunc void * epicsShareAPI bucketLookupItemStringId (BUCKET *prb, const char *pId); +LIBCOM_API void * epicsStdCall bucketLookupItemStringId (BUCKET *prb, const char *pId); /** * \brief Find and delete an item identified by an unsigned int from the table @@ -148,21 +148,21 @@ epicsShareFunc void * epicsShareAPI bucketLookupItemStringId (BUCKET *prb, const * \param *pId Pointer to the identifier * \return Item's payload pointer, or NULL if not found */ -epicsShareFunc void * epicsShareAPI bucketLookupAndRemoveItemUnsignedId (BUCKET *prb, const unsigned *pId); +LIBCOM_API void * epicsStdCall bucketLookupAndRemoveItemUnsignedId (BUCKET *prb, const unsigned *pId); /** * \brief Find and delete an item identified by a pointer from the table * \param *prb Pointer to the hash table * \param *pId Pointer to the identifier * \return Item's payload pointer, or NULL if not found */ -epicsShareFunc void * epicsShareAPI bucketLookupAndRemoveItemPointerId (BUCKET *prb, void * const *pId); +LIBCOM_API void * epicsStdCall bucketLookupAndRemoveItemPointerId (BUCKET *prb, void * const *pId); /** * \brief Find and delete an item identified by a string from the table * \param *prb Pointer to the hash table * \param *pId Pointer to the identifier * \return Item's payload pointer, or NULL if not found */ -epicsShareFunc void * epicsShareAPI bucketLookupAndRemoveItemStringId (BUCKET *prb, const char *pId); +LIBCOM_API void * epicsStdCall bucketLookupAndRemoveItemStringId (BUCKET *prb, const char *pId); /** diff --git a/modules/libcom/src/calc/calcPerform.c b/modules/libcom/src/calc/calcPerform.c index 40e173b61..f55cbbdd1 100644 --- a/modules/libcom/src/calc/calcPerform.c +++ b/modules/libcom/src/calc/calcPerform.c @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "osiUnistd.h" #include "dbDefs.h" #include "epicsMath.h" @@ -42,7 +41,7 @@ static int cond_search(const char **ppinst, int match); * * Evalutate the postfix expression */ -epicsShareFunc long +LIBCOM_API long calcPerform(double *parg, double *presult, const char *pinst) { double stack[CALCPERFORM_STACK+1]; /* zero'th entry not used */ @@ -402,7 +401,7 @@ epicsShareFunc long # pragma optimize("", on) #endif -epicsShareFunc long +LIBCOM_API long calcArgUsage(const char *pinst, unsigned long *pinputs, unsigned long *pstores) { unsigned long inputs = 0; diff --git a/modules/libcom/src/calc/postfix.c b/modules/libcom/src/calc/postfix.c index 54d629b40..d034c1d0f 100644 --- a/modules/libcom/src/calc/postfix.c +++ b/modules/libcom/src/calc/postfix.c @@ -17,7 +17,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "epicsAssert.h" #include "epicsStdlib.h" @@ -25,7 +24,7 @@ #include "epicsTypes.h" #include "postfix.h" #include "postfixPvt.h" -#include "shareLib.h" +#include "libComAPI.h" /* declarations for postfix */ @@ -206,7 +205,7 @@ static int * * convert an infix expression to a postfix expression */ -epicsShareFunc long +LIBCOM_API long postfix(const char *psrc, char *pout, short *perror) { ELEMENT stack[80]; @@ -490,7 +489,7 @@ bad: * * Return a message string appropriate for the given error code */ -epicsShareFunc const char * +LIBCOM_API const char * calcErrorStr(short error) { static const char *errStrs[] = { @@ -520,7 +519,7 @@ epicsShareFunc const char * * * Disassemble the given postfix instructions to stdout */ -epicsShareFunc void +LIBCOM_API void calcExprDump(const char *pinst) { static const char *opcodes[] = { diff --git a/modules/libcom/src/calc/postfix.h b/modules/libcom/src/calc/postfix.h index 6bdbc1ae0..25a37ed43 100644 --- a/modules/libcom/src/calc/postfix.h +++ b/modules/libcom/src/calc/postfix.h @@ -19,7 +19,7 @@ #ifndef INCpostfixh #define INCpostfixh -#include "shareLib.h" +#include "libComAPI.h" /** \brief Number of input arguments to a calc expression (A-L) */ #define CALCPERFORM_NARGS 12 @@ -295,7 +295,7 @@ extern "C" { * the expression evaluation engine is limited to 80 results (which require an * expression at least 321 characters long to reach). */ -epicsShareFunc long +LIBCOM_API long postfix(const char *pinfix, char *ppostfix, short *perror); /** \brief Run the calculation engine @@ -310,7 +310,7 @@ epicsShareFunc long * \return Status value 0 for OK, or non-zero if an error is discovered * during the evaluation process. */ -epicsShareFunc long +LIBCOM_API long calcPerform(double *parg, double *presult, const char *ppostfix); /** \brief Find the inputs and outputs of an expression @@ -337,7 +337,7 @@ epicsShareFunc long * \return The return value will be non-zero if the ppostfix expression was * illegal, otherwise 0. */ -epicsShareFunc long +LIBCOM_API long calcArgUsage(const char *ppostfix, unsigned long *pinputs, unsigned long *pstores); /** \brief Convert an error code to a string. @@ -347,7 +347,7 @@ epicsShareFunc long * \param error Error code * \return A string representation of the error code */ -epicsShareFunc const char * +LIBCOM_API const char * calcErrorStr(short error); /** \brief Disassemble a postfix expression @@ -355,7 +355,7 @@ epicsShareFunc const char * * Convert the byte-code stream to text and print to stdout. * \param pinst postfix instructions */ -epicsShareFunc void +LIBCOM_API void calcExprDump(const char *pinst); #ifdef __cplusplus diff --git a/modules/libcom/src/cvtFast/cvtFast.c b/modules/libcom/src/cvtFast/cvtFast.c index 106c1ba47..887f0c8fa 100644 --- a/modules/libcom/src/cvtFast/cvtFast.c +++ b/modules/libcom/src/cvtFast/cvtFast.c @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "cvtFast.h" #include "epicsMath.h" #include "epicsStdio.h" diff --git a/modules/libcom/src/cvtFast/cvtFast.h b/modules/libcom/src/cvtFast/cvtFast.h index db06dda53..31c04c491 100644 --- a/modules/libcom/src/cvtFast/cvtFast.h +++ b/modules/libcom/src/cvtFast/cvtFast.h @@ -20,7 +20,7 @@ #include #include "epicsTypes.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -29,38 +29,38 @@ extern "C" { /* * All functions return the number of characters in the output */ -epicsShareFunc int +LIBCOM_API int cvtFloatToString(float val, char *pdest, epicsUInt16 prec); -epicsShareFunc int +LIBCOM_API int cvtDoubleToString(double val, char *pdest, epicsUInt16 prec); -epicsShareFunc int +LIBCOM_API int cvtFloatToExpString(float val, char *pdest, epicsUInt16 prec); -epicsShareFunc int +LIBCOM_API int cvtDoubleToExpString(double val, char *pdest, epicsUInt16 prec); -epicsShareFunc int +LIBCOM_API int cvtFloatToCompactString(float val, char *pdest, epicsUInt16 prec); -epicsShareFunc int +LIBCOM_API int cvtDoubleToCompactString(double val, char *pdest, epicsUInt16 prec); -epicsShareFunc size_t +LIBCOM_API size_t cvtInt32ToString(epicsInt32 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtUInt32ToString(epicsUInt32 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtInt64ToString(epicsInt64 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtUInt64ToString(epicsUInt64 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtInt32ToHexString(epicsInt32 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtUInt32ToHexString(epicsUInt32 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtInt32ToOctalString(epicsInt32 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtInt64ToHexString(epicsInt64 val, char *pdest); -epicsShareFunc size_t +LIBCOM_API size_t cvtUInt64ToHexString(epicsUInt64 val, char *pdest); /* Support the original names */ diff --git a/modules/libcom/src/cxxTemplates/epicsSingleton.h b/modules/libcom/src/cxxTemplates/epicsSingleton.h index 2c63d3ff7..89c3ab903 100644 --- a/modules/libcom/src/cxxTemplates/epicsSingleton.h +++ b/modules/libcom/src/cxxTemplates/epicsSingleton.h @@ -18,10 +18,10 @@ #include #include -#include "shareLib.h" +#include "libComAPI.h" #include "epicsAssert.h" -class epicsShareClass SingletonUntyped { +class LIBCOM_API SingletonUntyped { public: SingletonUntyped (); ~SingletonUntyped (); diff --git a/modules/libcom/src/cxxTemplates/epicsSingletonMutex.cpp b/modules/libcom/src/cxxTemplates/epicsSingletonMutex.cpp index 8cd69d969..b878e3dc2 100644 --- a/modules/libcom/src/cxxTemplates/epicsSingletonMutex.cpp +++ b/modules/libcom/src/cxxTemplates/epicsSingletonMutex.cpp @@ -14,7 +14,6 @@ #include -#define epicsExportSharedSymbols #include "epicsMutex.h" #include "epicsGuard.h" #include "epicsThread.h" diff --git a/modules/libcom/src/cxxTemplates/resourceLib.h b/modules/libcom/src/cxxTemplates/resourceLib.h index 7b61e238d..ff7ef997f 100644 --- a/modules/libcom/src/cxxTemplates/resourceLib.h +++ b/modules/libcom/src/cxxTemplates/resourceLib.h @@ -41,7 +41,7 @@ #include "tsSLList.h" #include "epicsString.h" -#include "shareLib.h" +#include "libComAPI.h" typedef size_t resTableIndex; template < class T, class ID > class resTableIter; @@ -253,7 +253,7 @@ private: // // character string identifier // -class epicsShareClass stringId { +class LIBCOM_API stringId { public: enum allocationType {copyString, refString}; stringId (const char * idIn, allocationType typeIn=copyString); diff --git a/modules/libcom/src/dbmf/dbmf.c b/modules/libcom/src/dbmf/dbmf.c index e04a7bedf..035e75ace 100644 --- a/modules/libcom/src/dbmf/dbmf.c +++ b/modules/libcom/src/dbmf/dbmf.c @@ -28,7 +28,6 @@ #define REDZONE 0 #endif -#define epicsExportSharedSymbols #include "cantProceed.h" #include "epicsMutex.h" #include "ellLib.h" diff --git a/modules/libcom/src/dbmf/dbmf.h b/modules/libcom/src/dbmf/dbmf.h index ef9787500..8c39e510e 100644 --- a/modules/libcom/src/dbmf/dbmf.h +++ b/modules/libcom/src/dbmf/dbmf.h @@ -35,7 +35,7 @@ #define DBMF_H #include -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -52,13 +52,13 @@ extern "C" { * \note If dbmfInit() is not called before one of the other routines then it * is automatically called with size=64 and chunkItems=10 */ -epicsShareFunc int dbmfInit(size_t size, int chunkItems); +LIBCOM_API int dbmfInit(size_t size, int chunkItems); /** * \brief Allocate memory. * \param bytes If bytes > size then malloc() is used to allocate the memory. * \return Pointer to the newly-allocated memory, or NULL on failure. */ -epicsShareFunc void * dbmfMalloc(size_t bytes); +LIBCOM_API void * dbmfMalloc(size_t bytes); /** * \brief Duplicate a string. * @@ -66,7 +66,7 @@ epicsShareFunc void * dbmfMalloc(size_t bytes); * \param str Pointer to the null-terminated string to be copied. * \return A pointer to the new copy, or NULL on failure. */ -epicsShareFunc char * dbmfStrdup(const char *str); +LIBCOM_API char * dbmfStrdup(const char *str); /** * \brief Duplicate a string (up to len bytes). * @@ -76,7 +76,7 @@ epicsShareFunc char * dbmfStrdup(const char *str); * \param len Max number of bytes to copy. * \return A pointer to the new string, or NULL on failure. */ -epicsShareFunc char * dbmfStrndup(const char *str, size_t len); +LIBCOM_API char * dbmfStrndup(const char *str, size_t len); /** * \brief Concatenate three strings. @@ -87,24 +87,24 @@ epicsShareFunc char * dbmfStrndup(const char *str, size_t len); * \param rhs Last string to be concatenated to the lhs+mid (right part). * \return A pointer to the new string, or NULL on failure. */ -epicsShareFunc char * dbmfStrcat3(const char *lhs, const char *mid, +LIBCOM_API char * dbmfStrcat3(const char *lhs, const char *mid, const char *rhs); /** * \brief Free the memory allocated by dbmfMalloc. * \param bytes Pointer to memory obtained from dbmfMalloc(), dbmfStrdup(), * dbmfStrndup() or dbmfStrcat3(). */ -epicsShareFunc void dbmfFree(void *bytes); +LIBCOM_API void dbmfFree(void *bytes); /** * \brief Free all chunks that contain only free items. */ -epicsShareFunc void dbmfFreeChunks(void); +LIBCOM_API void dbmfFreeChunks(void); /** * \brief Show the status of the dbmf memory pool. * \param level Detail level. * \return 0. */ -epicsShareFunc int dbmfShow(int level); +LIBCOM_API int dbmfShow(int level); #ifdef __cplusplus } diff --git a/modules/libcom/src/ellLib/ellLib.c b/modules/libcom/src/ellLib/ellLib.c index c539a843f..184202fb3 100644 --- a/modules/libcom/src/ellLib/ellLib.c +++ b/modules/libcom/src/ellLib/ellLib.c @@ -13,7 +13,6 @@ #include -#define epicsExportSharedSymbols #include "epicsAssert.h" #include "ellLib.h" diff --git a/modules/libcom/src/ellLib/ellLib.h b/modules/libcom/src/ellLib/ellLib.h index 8448fee2d..2a8dcbd75 100644 --- a/modules/libcom/src/ellLib/ellLib.h +++ b/modules/libcom/src/ellLib/ellLib.h @@ -26,7 +26,7 @@ #ifndef INC_ellLib_H #define INC_ellLib_H -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -112,7 +112,7 @@ typedef void (*FREEFUNC)(void *); * \param pList Pointer to list descriptor * \param pNode Pointer to node to be added */ -epicsShareFunc void ellAdd (ELLLIST *pList, ELLNODE *pNode); +LIBCOM_API void ellAdd (ELLLIST *pList, ELLNODE *pNode); /** * \brief Concatenates a list to the end of another list. * The list to be added is left empty. Either list (or both) @@ -120,13 +120,13 @@ epicsShareFunc void ellAdd (ELLLIST *pList, ELLNODE *pNode); * \param pDstList Destination list * \param pAddList List to be added to \c pDstList */ -epicsShareFunc void ellConcat (ELLLIST *pDstList, ELLLIST *pAddList); +LIBCOM_API void ellConcat (ELLLIST *pDstList, ELLLIST *pAddList); /** * \brief Deletes a node from a list. * \param pList Pointer to list descriptor * \param pNode Pointer to node to be deleted */ -epicsShareFunc void ellDelete (ELLLIST *pList, ELLNODE *pNode); +LIBCOM_API void ellDelete (ELLLIST *pList, ELLNODE *pNode); /** * \brief Extract a sublist from a list. * \param pSrcList Pointer to source list @@ -134,19 +134,19 @@ epicsShareFunc void ellDelete (ELLLIST *pList, ELLNODE *pNode); * \param pEndNode Last node in \c pSrcList to be extracted * \param pDstList Pointer to list where to put extracted list */ -epicsShareFunc void ellExtract (ELLLIST *pSrcList, ELLNODE *pStartNode, ELLNODE *pEndNode, ELLLIST *pDstList); +LIBCOM_API void ellExtract (ELLLIST *pSrcList, ELLNODE *pStartNode, ELLNODE *pEndNode, ELLLIST *pDstList); /** * \brief Deletes and returns the first node from a list * \param pList Pointer to list from which to get node * \return Pointer to the first node from the list, or NULL if the list is empty */ -epicsShareFunc ELLNODE * ellGet (ELLLIST *pList); +LIBCOM_API ELLNODE * ellGet (ELLLIST *pList); /** * \brief Deletes and returns the last node from a list. * \param pList Pointer to list from which to get node * \return Pointer to the last node from the list, or NULL if the list is empty */ -epicsShareFunc ELLNODE * ellPop (ELLLIST *pList); +LIBCOM_API ELLNODE * ellPop (ELLLIST *pList); /** * \brief Inserts a node into a list immediately after a specific node * \param plist Pointer to list into which to insert node @@ -154,7 +154,7 @@ epicsShareFunc ELLNODE * ellPop (ELLLIST *pList); * \param pNode Pointer to the node to be inserted * \note If \c pPrev is NULL \c pNode will be inserted at the head of the list */ -epicsShareFunc void ellInsert (ELLLIST *plist, ELLNODE *pPrev, ELLNODE *pNode); +LIBCOM_API void ellInsert (ELLLIST *plist, ELLNODE *pPrev, ELLNODE *pNode); /** * \brief Find the Nth node in a list * \param pList Pointer to list from which to find node @@ -163,7 +163,7 @@ epicsShareFunc void ellInsert (ELLLIST *plist, ELLNODE *pPrev, ELLNODE *pNode); * there is no such node in the list. * \note The first node has index 1. */ -epicsShareFunc ELLNODE * ellNth (ELLLIST *pList, int nodeNum); +LIBCOM_API ELLNODE * ellNth (ELLLIST *pList, int nodeNum); /** * \brief Find the list node \c nStep steps away from a specified node * \param pNode The known node @@ -171,7 +171,7 @@ epicsShareFunc ELLNODE * ellNth (ELLLIST *pList, int nodeNum); * \return Pointer to the node \c nStep nodes from \c pNode, or NULL if there * is no such node in the list. */ -epicsShareFunc ELLNODE * ellNStep (ELLNODE *pNode, int nStep); +LIBCOM_API ELLNODE * ellNStep (ELLNODE *pNode, int nStep); /** * \brief Find the index of a specific node in a list * \param pList Pointer to list to search @@ -179,7 +179,7 @@ epicsShareFunc ELLNODE * ellNStep (ELLNODE *pNode, int nStep); * \return The node's index, or -1 if it cannot be found on the list. * \note The first node has index 1. */ -epicsShareFunc int ellFind (ELLLIST *pList, ELLNODE *pNode); +LIBCOM_API int ellFind (ELLLIST *pList, ELLNODE *pNode); typedef int (*pListCmp)(const ELLNODE* A, const ELLNODE* B); /** @@ -192,7 +192,7 @@ typedef int (*pListCmp)(const ELLNODE* A, const ELLNODE* B); * \note Use of mergesort algorithm based on analysis by * http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html */ -epicsShareFunc void ellSortStable(ELLLIST *pList, pListCmp pListCmp); +LIBCOM_API void ellSortStable(ELLLIST *pList, pListCmp pListCmp); /** * \brief Free all the nodes in a list. * @@ -203,12 +203,12 @@ epicsShareFunc void ellSortStable(ELLLIST *pList, pListCmp pListCmp); * structures were malloc()'d one-at-a-time and that the ELLNODE structure is * the first member of the parent structure. */ -epicsShareFunc void ellFree2 (ELLLIST *pList, FREEFUNC freeFunc); +LIBCOM_API void ellFree2 (ELLLIST *pList, FREEFUNC freeFunc); /** * \brief Verifies that the list is consistent * \param pList List to be verified */ -epicsShareFunc void ellVerify (ELLLIST *pList); +LIBCOM_API void ellVerify (ELLLIST *pList); #ifdef __cplusplus } diff --git a/modules/libcom/src/ellLib/ellSort.c b/modules/libcom/src/ellLib/ellSort.c index 2f8f2748b..1aa667960 100644 --- a/modules/libcom/src/ellLib/ellSort.c +++ b/modules/libcom/src/ellLib/ellSort.c @@ -12,7 +12,6 @@ */ #include -#define epicsExportSharedSymbols #include "epicsAssert.h" #include "ellLib.h" diff --git a/modules/libcom/src/env/bldEnvData.pl b/modules/libcom/src/env/bldEnvData.pl index 693be65da..c64bd6cb6 100644 --- a/modules/libcom/src/env/bldEnvData.pl +++ b/modules/libcom/src/env/bldEnvData.pl @@ -44,7 +44,7 @@ open SRC, '<', $env_defs my @vars; while () { - if (m/epicsShareExtern\s+const\s+ENV_PARAM\s+([A-Za-z_]\w*)\s*;/) { + if (m/LIBCOM_API\s+extern\s+const\s+ENV_PARAM\s+([A-Za-z_]\w*)\s*;/) { push @vars, $1; } } @@ -113,14 +113,14 @@ foreach my $var (@vars) { $default = ''; } - print OUT "epicsShareDef const ENV_PARAM $var =\n", + print OUT "const ENV_PARAM $var =\n", " {\"$var\", \"$default\"};\n"; } # Also provide a list of all defined parameters # print OUT "\n", - "epicsShareDef const ENV_PARAM* env_param_list[] = {\n", + "const ENV_PARAM* env_param_list[] = {\n", wrap(' ', ' ', join(', ', map("&$_", @vars), 'NULL')), "\n};\n"; close OUT; diff --git a/modules/libcom/src/env/envDefs.h b/modules/libcom/src/env/envDefs.h index 7f4859063..adf9e68c5 100644 --- a/modules/libcom/src/env/envDefs.h +++ b/modules/libcom/src/env/envDefs.h @@ -23,7 +23,7 @@ * own use--the only caveat is that such parameters aren't automatically * setup by EPICS. * - * \note bldEnvData.pl looks for "epicsShareExtern const ENV_PARAM ;" + * \note bldEnvData.pl looks for "LIBCOM_API extern const ENV_PARAM ;" */ #ifndef envDefsH @@ -33,7 +33,7 @@ extern "C" { #endif -#include "shareLib.h" +#include "libComAPI.h" /** * \brief A structure to hold a single environment parameter @@ -43,39 +43,39 @@ typedef struct envParam { char *pdflt; /**< \brief Default value */ } ENV_PARAM; -epicsShareExtern const ENV_PARAM EPICS_CA_ADDR_LIST; -epicsShareExtern const ENV_PARAM EPICS_CA_CONN_TMO; -epicsShareExtern const ENV_PARAM EPICS_CA_AUTO_ADDR_LIST; -epicsShareExtern const ENV_PARAM EPICS_CA_REPEATER_PORT; -epicsShareExtern const ENV_PARAM EPICS_CA_SERVER_PORT; -epicsShareExtern const ENV_PARAM EPICS_CA_MAX_ARRAY_BYTES; -epicsShareExtern const ENV_PARAM EPICS_CA_AUTO_ARRAY_BYTES; -epicsShareExtern const ENV_PARAM EPICS_CA_MAX_SEARCH_PERIOD; -epicsShareExtern const ENV_PARAM EPICS_CA_NAME_SERVERS; -epicsShareExtern const ENV_PARAM EPICS_CA_MCAST_TTL; -epicsShareExtern const ENV_PARAM EPICS_CAS_INTF_ADDR_LIST; -epicsShareExtern const ENV_PARAM EPICS_CAS_IGNORE_ADDR_LIST; -epicsShareExtern const ENV_PARAM EPICS_CAS_AUTO_BEACON_ADDR_LIST; -epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_ADDR_LIST; -epicsShareExtern const ENV_PARAM EPICS_CAS_SERVER_PORT; -epicsShareExtern const ENV_PARAM EPICS_CA_BEACON_PERIOD; /**< \brief deprecated */ -epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PERIOD; -epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PORT; -epicsShareExtern const ENV_PARAM EPICS_BUILD_COMPILER_CLASS; -epicsShareExtern const ENV_PARAM EPICS_BUILD_OS_CLASS; -epicsShareExtern const ENV_PARAM EPICS_BUILD_TARGET_ARCH; -epicsShareExtern const ENV_PARAM EPICS_TZ; -epicsShareExtern const ENV_PARAM EPICS_TS_NTP_INET; -epicsShareExtern const ENV_PARAM EPICS_IOC_IGNORE_SERVERS; -epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_PORT; -epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_INET; -epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_FILE_LIMIT; -epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_FILE_NAME; -epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_FILE_COMMAND; -epicsShareExtern const ENV_PARAM IOCSH_PS1; -epicsShareExtern const ENV_PARAM IOCSH_HISTSIZE; -epicsShareExtern const ENV_PARAM IOCSH_HISTEDIT_DISABLE; -epicsShareExtern const ENV_PARAM *env_param_list[]; +LIBCOM_API extern const ENV_PARAM EPICS_CA_ADDR_LIST; +LIBCOM_API extern const ENV_PARAM EPICS_CA_CONN_TMO; +LIBCOM_API extern const ENV_PARAM EPICS_CA_AUTO_ADDR_LIST; +LIBCOM_API extern const ENV_PARAM EPICS_CA_REPEATER_PORT; +LIBCOM_API extern const ENV_PARAM EPICS_CA_SERVER_PORT; +LIBCOM_API extern const ENV_PARAM EPICS_CA_MAX_ARRAY_BYTES; +LIBCOM_API extern const ENV_PARAM EPICS_CA_AUTO_ARRAY_BYTES; +LIBCOM_API extern const ENV_PARAM EPICS_CA_MAX_SEARCH_PERIOD; +LIBCOM_API extern const ENV_PARAM EPICS_CA_NAME_SERVERS; +LIBCOM_API extern const ENV_PARAM EPICS_CA_MCAST_TTL; +LIBCOM_API extern const ENV_PARAM EPICS_CAS_INTF_ADDR_LIST; +LIBCOM_API extern const ENV_PARAM EPICS_CAS_IGNORE_ADDR_LIST; +LIBCOM_API extern const ENV_PARAM EPICS_CAS_AUTO_BEACON_ADDR_LIST; +LIBCOM_API extern const ENV_PARAM EPICS_CAS_BEACON_ADDR_LIST; +LIBCOM_API extern const ENV_PARAM EPICS_CAS_SERVER_PORT; +LIBCOM_API extern const ENV_PARAM EPICS_CA_BEACON_PERIOD; /**< \brief deprecated */ +LIBCOM_API extern const ENV_PARAM EPICS_CAS_BEACON_PERIOD; +LIBCOM_API extern const ENV_PARAM EPICS_CAS_BEACON_PORT; +LIBCOM_API extern const ENV_PARAM EPICS_BUILD_COMPILER_CLASS; +LIBCOM_API extern const ENV_PARAM EPICS_BUILD_OS_CLASS; +LIBCOM_API extern const ENV_PARAM EPICS_BUILD_TARGET_ARCH; +LIBCOM_API extern const ENV_PARAM EPICS_TZ; +LIBCOM_API extern const ENV_PARAM EPICS_TS_NTP_INET; +LIBCOM_API extern const ENV_PARAM EPICS_IOC_IGNORE_SERVERS; +LIBCOM_API extern const ENV_PARAM EPICS_IOC_LOG_PORT; +LIBCOM_API extern const ENV_PARAM EPICS_IOC_LOG_INET; +LIBCOM_API extern const ENV_PARAM EPICS_IOC_LOG_FILE_LIMIT; +LIBCOM_API extern const ENV_PARAM EPICS_IOC_LOG_FILE_NAME; +LIBCOM_API extern const ENV_PARAM EPICS_IOC_LOG_FILE_COMMAND; +LIBCOM_API extern const ENV_PARAM IOCSH_PS1; +LIBCOM_API extern const ENV_PARAM IOCSH_HISTSIZE; +LIBCOM_API extern const ENV_PARAM IOCSH_HISTEDIT_DISABLE; +LIBCOM_API extern const ENV_PARAM *env_param_list[]; struct in_addr; @@ -94,7 +94,7 @@ struct in_addr; * \return Pointer to the environment variable value string, or * NULL if no parameter value and default value was empty. */ -epicsShareFunc char * epicsShareAPI +LIBCOM_API char * epicsStdCall envGetConfigParam(const ENV_PARAM *pParam, int bufDim, char *pBuf); /** @@ -105,7 +105,7 @@ epicsShareFunc char * epicsShareAPI * the default value for the parameter, or NULL if those strings * were empty or not set. */ -epicsShareFunc const char * epicsShareAPI +LIBCOM_API const char * epicsStdCall envGetConfigParamPtr(const ENV_PARAM *pParam); /** @@ -114,7 +114,7 @@ epicsShareFunc const char * epicsShareAPI * \param pParam Pointer to config param structure. * \return 0 */ -epicsShareFunc long epicsShareAPI +LIBCOM_API long epicsStdCall envPrtConfigParam(const ENV_PARAM *pParam); /** @@ -133,7 +133,7 @@ epicsShareFunc long epicsShareAPI * \param pAddr Pointer to struct to receive inet addr. * \return 0, or -1 if an error is encountered */ -epicsShareFunc long epicsShareAPI +LIBCOM_API long epicsStdCall envGetInetAddrConfigParam(const ENV_PARAM *pParam, struct in_addr *pAddr); /** @@ -151,7 +151,7 @@ epicsShareFunc long epicsShareAPI * \param pDouble Pointer to place to store value. * \return 0, or -1 if an error is encountered */ -epicsShareFunc long epicsShareAPI +LIBCOM_API long epicsStdCall envGetDoubleConfigParam(const ENV_PARAM *pParam, double *pDouble); /** @@ -169,7 +169,7 @@ epicsShareFunc long epicsShareAPI * \param pLong Pointer to place to store value. * \return 0, or -1 if an error is encountered */ -epicsShareFunc long epicsShareAPI +LIBCOM_API long epicsStdCall envGetLongConfigParam(const ENV_PARAM *pParam, long *pLong); /** @@ -186,7 +186,7 @@ epicsShareFunc long epicsShareAPI * \param defaultPort Port number to be used if environment settings invalid. * \return Port number. */ -epicsShareFunc unsigned short epicsShareAPI envGetInetPortConfigParam +LIBCOM_API unsigned short epicsStdCall envGetInetPortConfigParam (const ENV_PARAM *pEnv, unsigned short defaultPort); /** * \brief Get value of a boolean configuration parameter. @@ -207,7 +207,7 @@ epicsShareFunc unsigned short epicsShareAPI envGetInetPortConfigParam * \param pBool Pointer to place to store value. * \return 0, or -1 if an error is encountered */ -epicsShareFunc long epicsShareAPI +LIBCOM_API long epicsStdCall envGetBoolConfigParam(const ENV_PARAM *pParam, int *pBool); /** @@ -215,7 +215,7 @@ epicsShareFunc long epicsShareAPI * * \return 0 */ -epicsShareFunc long epicsShareAPI epicsPrtEnvParams(void); +LIBCOM_API long epicsStdCall epicsPrtEnvParams(void); /** * \brief Set an environment variable's value @@ -225,18 +225,18 @@ epicsShareFunc long epicsShareAPI epicsPrtEnvParams(void); * \param name Environment variable name. * \param value New value for environment variable. */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value); +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value); /** * \brief Clear the value of an environment variable * \param name Environment variable name. */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name); +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name); /** * \brief Print value of an environment variable, or all variables * * \param name Environment variable name, or NULL to show all. */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name); +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name); #ifdef __cplusplus } diff --git a/modules/libcom/src/env/envSubr.c b/modules/libcom/src/env/envSubr.c index 283b13290..d981ac376 100644 --- a/modules/libcom/src/env/envSubr.c +++ b/modules/libcom/src/env/envSubr.c @@ -40,7 +40,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdlib.h" #include "epicsStdio.h" #include "epicsString.h" @@ -79,7 +78,7 @@ * } * *-*/ -const char * epicsShareAPI envGetConfigParamPtr( +const char * epicsStdCall envGetConfigParamPtr( const ENV_PARAM *pParam /* I pointer to config param structure */ ) { @@ -137,7 +136,7 @@ const ENV_PARAM *pParam /* I pointer to config param structure */ * printf("DISPLAY is %s\n", temp); * *-*/ -char * epicsShareAPI envGetConfigParam( +char * epicsStdCall envGetConfigParam( const ENV_PARAM *pParam,/* I pointer to config param structure */ int bufDim, /* I dimension of parameter buffer */ char *pBuf /* I pointer to parameter buffer */ @@ -189,7 +188,7 @@ char *pBuf /* I pointer to parameter buffer */ * } * *-*/ -long epicsShareAPI envGetDoubleConfigParam( +long epicsStdCall envGetDoubleConfigParam( const ENV_PARAM *pParam,/* I pointer to config param structure */ double *pDouble /* O pointer to place to store value */ ) @@ -244,7 +243,7 @@ double *pDouble /* O pointer to place to store value */ * } * *-*/ -long epicsShareAPI envGetInetAddrConfigParam( +long epicsStdCall envGetInetAddrConfigParam( const ENV_PARAM *pParam,/* I pointer to config param structure */ struct in_addr *pAddr /* O pointer to struct to receive inet addr */ ) @@ -301,7 +300,7 @@ struct in_addr *pAddr /* O pointer to struct to receive inet addr */ * } * *-*/ -long epicsShareAPI envGetLongConfigParam( +long epicsStdCall envGetLongConfigParam( const ENV_PARAM *pParam,/* I pointer to config param structure */ long *pLong /* O pointer to place to store value */ ) @@ -322,7 +321,7 @@ long *pLong /* O pointer to place to store value */ } -long epicsShareAPI +long epicsStdCall envGetBoolConfigParam(const ENV_PARAM *pParam, int *pBool) { char text[20]; @@ -351,7 +350,7 @@ envGetBoolConfigParam(const ENV_PARAM *pParam, int *pBool) * envPrtConfigParam(&EPICS_TS_NTP_INET); * *-*/ -long epicsShareAPI envPrtConfigParam( +long epicsStdCall envPrtConfigParam( const ENV_PARAM *pParam) /* pointer to config param structure */ { const char *pVal; @@ -381,7 +380,7 @@ const ENV_PARAM *pParam) /* pointer to config param structure */ * epicsPrtEnvParams(); * *-*/ -long epicsShareAPI +long epicsStdCall epicsPrtEnvParams(void) { const ENV_PARAM **ppParam = env_param_list; @@ -395,7 +394,7 @@ epicsPrtEnvParams(void) /* * envGetInetPortConfigParam () */ -epicsShareFunc unsigned short epicsShareAPI envGetInetPortConfigParam +LIBCOM_API unsigned short epicsStdCall envGetInetPortConfigParam (const ENV_PARAM *pEnv, unsigned short defaultPort) { long longStatus; diff --git a/modules/libcom/src/error/errSymLib.c b/modules/libcom/src/error/errSymLib.c index 8f59718c8..33fe2e5f9 100644 --- a/modules/libcom/src/error/errSymLib.c +++ b/modules/libcom/src/error/errSymLib.c @@ -19,7 +19,6 @@ #include #include -#define epicsExportSharedSymbols #include "cantProceed.h" #include "epicsAssert.h" #include "epicsStdio.h" diff --git a/modules/libcom/src/error/errSymTbl.h b/modules/libcom/src/error/errSymTbl.h index 7fc25f733..c3c0c49af 100644 --- a/modules/libcom/src/error/errSymTbl.h +++ b/modules/libcom/src/error/errSymTbl.h @@ -12,7 +12,7 @@ #include -#include "shareLib.h" +#include "libComAPI.h" #include "epicsTypes.h" /* ERRSYMBOL - entry in symbol table */ @@ -34,14 +34,14 @@ typedef ERRSYMTAB *ERRSYMTAB_ID; extern "C" { #endif -epicsShareFunc void errSymLookup(long status, char *pBuf, size_t bufLength); -epicsShareFunc const char* errSymMsg(long status); -epicsShareFunc void errSymTest(epicsUInt16 modnum, epicsUInt16 begErrNum, +LIBCOM_API void errSymLookup(long status, char *pBuf, size_t bufLength); +LIBCOM_API const char* errSymMsg(long status); +LIBCOM_API void errSymTest(epicsUInt16 modnum, epicsUInt16 begErrNum, epicsUInt16 endErrNum); -epicsShareFunc void errSymTestPrint(long errNum); -epicsShareFunc int errSymBld(void); -epicsShareFunc int errSymbolAdd(long errNum, const char *name); -epicsShareFunc void errSymDump(void); +LIBCOM_API void errSymTestPrint(long errNum); +LIBCOM_API int errSymBld(void); +LIBCOM_API int errSymbolAdd(long errNum, const char *name); +LIBCOM_API void errSymDump(void); #ifdef __cplusplus } diff --git a/modules/libcom/src/error/errlog.c b/modules/libcom/src/error/errlog.c index 8445a5a7e..702a15772 100644 --- a/modules/libcom/src/error/errlog.c +++ b/modules/libcom/src/error/errlog.c @@ -18,7 +18,6 @@ #include #include -#define epicsExportSharedSymbols #define ERRLOG_INIT #include "adjustment.h" #include "dbDefs.h" @@ -39,7 +38,7 @@ #define MAX_MESSAGE_SIZE 256 /*Declare storage for errVerbose */ -epicsShareDef int errVerbose = 0; +int errVerbose = 0; static void errlogExitHandler(void *); static void errlogThread(void); diff --git a/modules/libcom/src/error/errlog.h b/modules/libcom/src/error/errlog.h index e8a4fb557..d70516353 100644 --- a/modules/libcom/src/error/errlog.h +++ b/modules/libcom/src/error/errlog.h @@ -14,7 +14,7 @@ #include #include -#include "shareLib.h" +#include "libComAPI.h" #include "compilerDependencies.h" #ifdef __cplusplus @@ -30,18 +30,18 @@ typedef enum { errlogFatal } errlogSevEnum; -epicsShareExtern int errVerbose; +LIBCOM_API extern int errVerbose; #ifdef ERRLOG_INIT - epicsShareDef const char *errlogSevEnumString[] = { + const char *errlogSevEnumString[] = { "info", "minor", "major", "fatal" }; #else - epicsShareExtern const char * errlogSevEnumString[]; + LIBCOM_API extern const char * errlogSevEnumString[]; #endif /* errMessage is a macro so it can get the file and line number */ @@ -51,38 +51,38 @@ epicsShareExtern int errVerbose; #define epicsPrintf errlogPrintf #define epicsVprintf errlogVprintf -epicsShareFunc int errlogPrintf(const char *pformat, ...) +LIBCOM_API int errlogPrintf(const char *pformat, ...) EPICS_PRINTF_STYLE(1,2); -epicsShareFunc int errlogVprintf(const char *pformat, va_list pvar); -epicsShareFunc int errlogSevPrintf(const errlogSevEnum severity, +LIBCOM_API int errlogVprintf(const char *pformat, va_list pvar); +LIBCOM_API int errlogSevPrintf(const errlogSevEnum severity, const char *pformat, ...) EPICS_PRINTF_STYLE(2,3); -epicsShareFunc int errlogSevVprintf(const errlogSevEnum severity, +LIBCOM_API int errlogSevVprintf(const errlogSevEnum severity, const char *pformat, va_list pvar); -epicsShareFunc int errlogMessage(const char *message); +LIBCOM_API int errlogMessage(const char *message); -epicsShareFunc const char * errlogGetSevEnumString(errlogSevEnum severity); -epicsShareFunc void errlogSetSevToLog(errlogSevEnum severity); -epicsShareFunc errlogSevEnum errlogGetSevToLog(void); +LIBCOM_API const char * errlogGetSevEnumString(errlogSevEnum severity); +LIBCOM_API void errlogSetSevToLog(errlogSevEnum severity); +LIBCOM_API errlogSevEnum errlogGetSevToLog(void); -epicsShareFunc void errlogAddListener(errlogListener listener, void *pPrivate); -epicsShareFunc int errlogRemoveListeners(errlogListener listener, +LIBCOM_API void errlogAddListener(errlogListener listener, void *pPrivate); +LIBCOM_API int errlogRemoveListeners(errlogListener listener, void *pPrivate); -epicsShareFunc int eltc(int yesno); -epicsShareFunc int errlogSetConsole(FILE *stream); +LIBCOM_API int eltc(int yesno); +LIBCOM_API int errlogSetConsole(FILE *stream); -epicsShareFunc int errlogInit(int bufsize); -epicsShareFunc int errlogInit2(int bufsize, int maxMsgSize); -epicsShareFunc void errlogFlush(void); +LIBCOM_API int errlogInit(int bufsize); +LIBCOM_API int errlogInit2(int bufsize, int maxMsgSize); +LIBCOM_API void errlogFlush(void); -epicsShareFunc void errPrintf(long status, const char *pFileName, int lineno, +LIBCOM_API void errPrintf(long status, const char *pFileName, int lineno, const char *pformat, ...) EPICS_PRINTF_STYLE(4,5); -epicsShareFunc int errlogPrintfNoConsole(const char *pformat, ...) +LIBCOM_API int errlogPrintfNoConsole(const char *pformat, ...) EPICS_PRINTF_STYLE(1,2); -epicsShareFunc int errlogVprintfNoConsole(const char *pformat,va_list pvar); +LIBCOM_API int errlogVprintfNoConsole(const char *pformat,va_list pvar); -epicsShareFunc void errSymLookup(long status, char *pBuf, size_t bufLength); +LIBCOM_API void errSymLookup(long status, char *pBuf, size_t bufLength); #ifdef __cplusplus } diff --git a/modules/libcom/src/fdmgr/fdManager.cpp b/modules/libcom/src/fdmgr/fdManager.cpp index 50a0f7e3e..4be6a56ce 100644 --- a/modules/libcom/src/fdmgr/fdManager.cpp +++ b/modules/libcom/src/fdmgr/fdManager.cpp @@ -22,7 +22,6 @@ #include #define instantiateRecourceLib -#define epicsExportSharedSymbols #include "epicsAssert.h" #include "epicsThread.h" #include "fdManager.h" @@ -30,7 +29,7 @@ using std :: max; -epicsShareDef fdManager fileDescriptorManager; +fdManager fileDescriptorManager; const unsigned mSecPerSec = 1000u; const unsigned uSecPerSec = 1000u * mSecPerSec; @@ -41,7 +40,7 @@ const unsigned uSecPerSec = 1000u * mSecPerSec; // hopefully its a reasonable guess that select() and epicsThreadSleep() // will have the same sleep quantum // -epicsShareFunc fdManager::fdManager () : +LIBCOM_API fdManager::fdManager () : sleepQuantum ( epicsThreadSleepQuantum () ), fdSetsPtr ( new fd_set [fdrNEnums] ), pTimerQueue ( 0 ), maxFD ( 0 ), processInProg ( false ), @@ -58,7 +57,7 @@ epicsShareFunc fdManager::fdManager () : // // fdManager::~fdManager() // -epicsShareFunc fdManager::~fdManager() +LIBCOM_API fdManager::~fdManager() { fdReg *pReg; @@ -78,7 +77,7 @@ epicsShareFunc fdManager::~fdManager() // // fdManager::process() // -epicsShareFunc void fdManager::process (double delay) +LIBCOM_API void fdManager::process (double delay) { this->lazyInitTimerQueue (); @@ -331,7 +330,7 @@ double fdManager::quantum () // // lookUpFD() // -epicsShareFunc fdReg *fdManager::lookUpFD (const SOCKET fd, const fdRegType type) +LIBCOM_API fdReg *fdManager::lookUpFD (const SOCKET fd, const fdRegType type) { if (fd<0) { return NULL; diff --git a/modules/libcom/src/fdmgr/fdManager.h b/modules/libcom/src/fdmgr/fdManager.h index 59a2f355f..585c2ef71 100644 --- a/modules/libcom/src/fdmgr/fdManager.h +++ b/modules/libcom/src/fdmgr/fdManager.h @@ -19,7 +19,7 @@ #ifndef fdManagerH_included #define fdManagerH_included -#include "shareLib.h" // reset share lib defines +#include "libComAPI.h" // reset share lib defines #include "tsDLList.h" #include "resourceLib.h" #include "epicsTime.h" @@ -33,7 +33,7 @@ enum fdRegType {fdrRead, fdrWrite, fdrException, fdrNEnums}; // // file descriptor interest id // -class epicsShareClass fdRegId +class LIBCOM_API fdRegId { public: @@ -77,12 +77,12 @@ public: // class fdInterestSubscriptionAlreadyExits {}; - epicsShareFunc fdManager (); - epicsShareFunc virtual ~fdManager (); - epicsShareFunc void process ( double delay ); // delay parameter is in seconds + LIBCOM_API fdManager (); + LIBCOM_API virtual ~fdManager (); + LIBCOM_API void process ( double delay ); // delay parameter is in seconds // returns NULL if the fd is unknown - epicsShareFunc class fdReg *lookUpFD (const SOCKET fd, const fdRegType type); + LIBCOM_API class fdReg *lookUpFD (const SOCKET fd, const fdRegType type); epicsTimer & createTimer (); @@ -113,14 +113,14 @@ private: // // default file descriptor manager // -epicsShareExtern fdManager fileDescriptorManager; +LIBCOM_API extern fdManager fileDescriptorManager; // // fdReg // // file descriptor registration // -class epicsShareClass fdReg : +class LIBCOM_API fdReg : public fdRegId, public tsDLNode, public tsSLNode { friend class fdManager; diff --git a/modules/libcom/src/fdmgr/fdmgr.cpp b/modules/libcom/src/fdmgr/fdmgr.cpp index 342bae862..a9d734896 100644 --- a/modules/libcom/src/fdmgr/fdmgr.cpp +++ b/modules/libcom/src/fdmgr/fdmgr.cpp @@ -22,7 +22,6 @@ // #include -#define epicsExportSharedSymbols #include "locationException.h" #include "epicsAssert.h" #include "fdManager.h" @@ -41,14 +40,14 @@ public: class noFunctionSpecified {}; class doubleDelete {}; - epicsShareFunc fdRegForOldFdmgr (const SOCKET fdIn, const fdRegType type, + LIBCOM_API fdRegForOldFdmgr (const SOCKET fdIn, const fdRegType type, const bool onceOnly, fdManager &manager, pCallBackFDMgr pFunc, void *pParam); - epicsShareFunc ~fdRegForOldFdmgr (); + LIBCOM_API ~fdRegForOldFdmgr (); private: pCallBackFDMgr pFunc; void *pParam; - epicsShareFunc virtual void callBack (); + LIBCOM_API virtual void callBack (); fdRegForOldFdmgr ( const fdRegForOldFdmgr & ); fdRegForOldFdmgr & operator = ( const fdRegForOldFdmgr & ); }; @@ -60,8 +59,8 @@ class oldFdmgr; // class timerForOldFdmgr : public epicsTimerNotify, public chronIntIdRes { public: - epicsShareFunc timerForOldFdmgr (oldFdmgr &fdmgr, double delay, pCallBackFDMgr pFunc, void *pParam); - epicsShareFunc virtual ~timerForOldFdmgr (); + LIBCOM_API timerForOldFdmgr (oldFdmgr &fdmgr, double delay, pCallBackFDMgr pFunc, void *pParam); + LIBCOM_API virtual ~timerForOldFdmgr (); // // exceptions @@ -74,14 +73,14 @@ private: pCallBackFDMgr pFunc; void *pParam; unsigned id; - epicsShareFunc expireStatus expire ( const epicsTime & currentTime ); + LIBCOM_API expireStatus expire ( const epicsTime & currentTime ); timerForOldFdmgr ( const timerForOldFdmgr & ); timerForOldFdmgr & operator = ( const timerForOldFdmgr & ); }; class oldFdmgr : public fdManager { friend class timerForOldFdmgr; - friend epicsShareFunc int epicsShareAPI fdmgr_clear_timeout (fdctx *pfdctx, fdmgrAlarmId id); + friend LIBCOM_API int epicsStdCall fdmgr_clear_timeout (fdctx *pfdctx, fdmgrAlarmId id); public: oldFdmgr (); @@ -104,7 +103,7 @@ template class resTable; # pragma warning ( pop ) #endif -epicsShareFunc fdRegForOldFdmgr::fdRegForOldFdmgr +LIBCOM_API fdRegForOldFdmgr::fdRegForOldFdmgr (const SOCKET fdIn, const fdRegType typeIn, const bool onceOnlyIn, fdManager &managerIn, pCallBackFDMgr pFuncIn, void *pParamIn) : @@ -116,14 +115,14 @@ epicsShareFunc fdRegForOldFdmgr::fdRegForOldFdmgr } } -epicsShareFunc fdRegForOldFdmgr::~fdRegForOldFdmgr () +LIBCOM_API fdRegForOldFdmgr::~fdRegForOldFdmgr () { if (this->pFunc==NULL) { throwWithLocation ( doubleDelete () ); } } -epicsShareFunc void fdRegForOldFdmgr::callBack () +LIBCOM_API void fdRegForOldFdmgr::callBack () { (*this->pFunc) (this->pParam); } @@ -154,7 +153,7 @@ epicsTimerNotify::expireStatus timerForOldFdmgr::expire ( const epicsTime & ) oldFdmgr::oldFdmgr () {} -extern "C" epicsShareFunc fdctx * epicsShareAPI fdmgr_init (void) +extern "C" LIBCOM_API fdctx * epicsStdCall fdmgr_init (void) { oldFdmgr *pfdm; @@ -169,7 +168,7 @@ extern "C" epicsShareFunc fdctx * epicsShareAPI fdmgr_init (void) return (fdctx *) pfdm; } -extern "C" epicsShareFunc fdmgrAlarmId epicsShareAPI fdmgr_add_timeout ( +extern "C" LIBCOM_API fdmgrAlarmId epicsStdCall fdmgr_add_timeout ( fdctx *pfdctx, struct timeval *ptimeout, pCallBackFDMgr pFunc, void *pParam) { double delay = ptimeout->tv_sec + ptimeout->tv_usec / static_cast (uSecPerSec); @@ -207,7 +206,7 @@ extern "C" epicsShareFunc fdmgrAlarmId epicsShareAPI fdmgr_add_timeout ( return id; } -extern "C" epicsShareFunc int epicsShareAPI fdmgr_clear_timeout (fdctx *pfdctx, fdmgrAlarmId id) +extern "C" LIBCOM_API int epicsStdCall fdmgr_clear_timeout (fdctx *pfdctx, fdmgrAlarmId id) { oldFdmgr *pfdm = static_cast (pfdctx); timerForOldFdmgr *pTimer; @@ -227,7 +226,7 @@ extern "C" epicsShareFunc int epicsShareAPI fdmgr_clear_timeout (fdctx *pfdctx, return 0; } -extern "C" epicsShareFunc int epicsShareAPI fdmgr_add_callback ( +extern "C" LIBCOM_API int epicsStdCall fdmgr_add_callback ( fdctx *pfdctx, SOCKET fd, enum fdi_type fdi, pCallBackFDMgr pFunc, void *pParam) { oldFdmgr *pfdm = static_cast (pfdctx); @@ -269,7 +268,7 @@ extern "C" epicsShareFunc int epicsShareAPI fdmgr_add_callback ( } } -extern "C" epicsShareFunc int epicsShareAPI fdmgr_clear_callback ( +extern "C" LIBCOM_API int epicsStdCall fdmgr_clear_callback ( fdctx *pfdctx, SOCKET fd, enum fdi_type fdi) { oldFdmgr *pfdm = static_cast (pfdctx); @@ -296,7 +295,7 @@ extern "C" epicsShareFunc int epicsShareAPI fdmgr_clear_callback ( } } -extern "C" epicsShareFunc int epicsShareAPI fdmgr_pend_event (fdctx *pfdctx, struct timeval *ptimeout) +extern "C" LIBCOM_API int epicsStdCall fdmgr_pend_event (fdctx *pfdctx, struct timeval *ptimeout) { oldFdmgr *pfdm = static_cast (pfdctx); double delay = ptimeout->tv_sec + ptimeout->tv_usec / static_cast (uSecPerSec); @@ -311,7 +310,7 @@ extern "C" epicsShareFunc int epicsShareAPI fdmgr_pend_event (fdctx *pfdctx, str return 0; } -extern "C" epicsShareFunc int epicsShareAPI fdmgr_delete (fdctx *pfdctx) +extern "C" LIBCOM_API int epicsStdCall fdmgr_delete (fdctx *pfdctx) { oldFdmgr *pfdm = static_cast (pfdctx); delete pfdm; @@ -321,7 +320,7 @@ extern "C" epicsShareFunc int epicsShareAPI fdmgr_delete (fdctx *pfdctx) /* * depricated interface */ -extern "C" epicsShareFunc int epicsShareAPI fdmgr_clear_fd (fdctx *pfdctx, SOCKET fd) +extern "C" LIBCOM_API int epicsStdCall fdmgr_clear_fd (fdctx *pfdctx, SOCKET fd) { return fdmgr_clear_callback(pfdctx, fd, fdi_read); } @@ -329,7 +328,7 @@ extern "C" epicsShareFunc int epicsShareAPI fdmgr_clear_fd (fdctx *pfdctx, SOCKE /* * depricated interface */ -extern "C" epicsShareFunc int epicsShareAPI fdmgr_add_fd ( +extern "C" LIBCOM_API int epicsStdCall fdmgr_add_fd ( fdctx *pfdctx, SOCKET fd, void (*pfunc)(void *pParam), void *param) { return fdmgr_add_callback (pfdctx, fd, fdi_read, pfunc, param); diff --git a/modules/libcom/src/fdmgr/fdmgr.h b/modules/libcom/src/fdmgr/fdmgr.h index a227335e7..f19643f77 100644 --- a/modules/libcom/src/fdmgr/fdmgr.h +++ b/modules/libcom/src/fdmgr/fdmgr.h @@ -24,7 +24,7 @@ #include "bucketLib.h" #include "osiSock.h" #include "epicsThread.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -65,7 +65,7 @@ typedef unsigned fdmgrAlarmId; * Initialize a file descriptor manager session * */ -epicsShareFunc fdctx * epicsShareAPI fdmgr_init(void); +LIBCOM_API fdctx * epicsStdCall fdmgr_init(void); /* * Specify a function to be called with a specified parameter @@ -74,7 +74,7 @@ epicsShareFunc fdctx * epicsShareAPI fdmgr_init(void); * Returns fdmgrNoAlarm (zero) if alarm cant be created */ #define fdmgrNoAlarm 0 -epicsShareFunc fdmgrAlarmId epicsShareAPI fdmgr_add_timeout( +LIBCOM_API fdmgrAlarmId epicsStdCall fdmgr_add_timeout( fdctx *pfdctx, /* fd mgr ctx from fdmgr_init() */ struct timeval *ptimeout, /* relative delay from current time */ pCallBackFDMgr pfunc, /* function (handler) to call */ @@ -85,7 +85,7 @@ void *param /* first parameter passed to the func */ * Clear a timeout which has not executed its function (handler) * yet. */ -epicsShareFunc int epicsShareAPI fdmgr_clear_timeout( +LIBCOM_API int epicsStdCall fdmgr_clear_timeout( fdctx *pfdctx, /* fd mgr ctx from fdmgr_init() */ fdmgrAlarmId id /* alarm to delete */ ); @@ -107,7 +107,7 @@ fdmgrAlarmId id /* alarm to delete */ * fdmgr_add_callback() * */ -epicsShareFunc int epicsShareAPI fdmgr_add_callback( +LIBCOM_API int epicsStdCall fdmgr_add_callback( fdctx *pfdctx, /* fd mgr ctx from fdmgr_init() */ SOCKET fd, /* file descriptor */ enum fdi_type fdi, /* file descriptor interest type */ @@ -120,7 +120,7 @@ void *param /* first parameter passed to the func */ * Clear nterest in a type of file descriptor activity (IO). * */ -epicsShareFunc int epicsShareAPI fdmgr_clear_callback( +LIBCOM_API int epicsStdCall fdmgr_clear_callback( fdctx *pfdctx, /* fd mgr ctx from fdmgr_init() */ SOCKET fd, /* file descriptor */ enum fdi_type fdi /* file descriptor interest type */ @@ -135,7 +135,7 @@ enum fdi_type fdi /* file descriptor interest type */ * enough. * */ -epicsShareFunc int epicsShareAPI fdmgr_pend_event( +LIBCOM_API int epicsStdCall fdmgr_pend_event( fdctx *pfdctx, /* fd mgr ctx from fdmgr_init() */ struct timeval *ptimeout ); @@ -144,7 +144,7 @@ struct timeval *ptimeout /* * obsolete interface */ -epicsShareFunc int epicsShareAPI fdmgr_clear_fd( +LIBCOM_API int epicsStdCall fdmgr_clear_fd( fdctx *pfdctx, /* fd mgr ctx from fdmgr_init() */ SOCKET fd ); @@ -152,14 +152,14 @@ SOCKET fd /* * obsolete interface */ -epicsShareFunc int epicsShareAPI fdmgr_add_fd( +LIBCOM_API int epicsStdCall fdmgr_add_fd( fdctx *pfdctx, /* fd mgr ctx from fdmgr_init() */ SOCKET fd, pCallBackFDMgr pfunc, /* function (handler) to call */ void *param ); -epicsShareFunc int epicsShareAPI fdmgr_delete(fdctx *pfdctx); +LIBCOM_API int epicsStdCall fdmgr_delete(fdctx *pfdctx); #ifdef __cplusplus } diff --git a/modules/libcom/src/flex/flex.c b/modules/libcom/src/flex/flex.c index 008e5e670..faf61ed19 100644 --- a/modules/libcom/src/flex/flex.c +++ b/modules/libcom/src/flex/flex.c @@ -43,7 +43,6 @@ char copyright[] = #endif /* not lint */ -#define epicsExportSharedSymbols #include "epicsTempFile.h" #undef epicsExportSharedSymbols diff --git a/modules/libcom/src/freeList/freeList.h b/modules/libcom/src/freeList/freeList.h index 77ebfb82e..9c9d2866c 100644 --- a/modules/libcom/src/freeList/freeList.h +++ b/modules/libcom/src/freeList/freeList.h @@ -13,18 +13,18 @@ #define INCfreeListh #include -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { #endif -epicsShareFunc void epicsShareAPI freeListInitPvt(void **ppvt,int size,int nmalloc); -epicsShareFunc void * epicsShareAPI freeListCalloc(void *pvt); -epicsShareFunc void * epicsShareAPI freeListMalloc(void *pvt); -epicsShareFunc void epicsShareAPI freeListFree(void *pvt,void*pmem); -epicsShareFunc void epicsShareAPI freeListCleanup(void *pvt); -epicsShareFunc size_t epicsShareAPI freeListItemsAvail(void *pvt); +LIBCOM_API void epicsStdCall freeListInitPvt(void **ppvt,int size,int nmalloc); +LIBCOM_API void * epicsStdCall freeListCalloc(void *pvt); +LIBCOM_API void * epicsStdCall freeListMalloc(void *pvt); +LIBCOM_API void epicsStdCall freeListFree(void *pvt,void*pmem); +LIBCOM_API void epicsStdCall freeListCleanup(void *pvt); +LIBCOM_API size_t epicsStdCall freeListItemsAvail(void *pvt); #ifdef __cplusplus } diff --git a/modules/libcom/src/freeList/freeListLib.c b/modules/libcom/src/freeList/freeListLib.c index b489a476d..f5396e831 100755 --- a/modules/libcom/src/freeList/freeListLib.c +++ b/modules/libcom/src/freeList/freeListLib.c @@ -22,7 +22,6 @@ #define REDZONE 0 #endif -#define epicsExportSharedSymbols #include "cantProceed.h" #include "epicsMutex.h" #include "freeList.h" @@ -41,7 +40,7 @@ typedef struct { epicsMutexId lock; }FREELISTPVT; -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall freeListInitPvt(void **ppvt,int size,int nmalloc) { FREELISTPVT *pfl; @@ -58,7 +57,7 @@ epicsShareFunc void epicsShareAPI return; } -epicsShareFunc void * epicsShareAPI freeListCalloc(void *pvt) +LIBCOM_API void * epicsStdCall freeListCalloc(void *pvt) { FREELISTPVT *pfl = pvt; # ifdef EPICS_FREELIST_DEBUG @@ -72,7 +71,7 @@ epicsShareFunc void * epicsShareAPI freeListCalloc(void *pvt) # endif } -epicsShareFunc void * epicsShareAPI freeListMalloc(void *pvt) +LIBCOM_API void * epicsStdCall freeListMalloc(void *pvt) { FREELISTPVT *pfl = pvt; # ifdef EPICS_FREELIST_DEBUG @@ -129,7 +128,7 @@ epicsShareFunc void * epicsShareAPI freeListMalloc(void *pvt) # endif } -epicsShareFunc void epicsShareAPI freeListFree(void *pvt,void*pmem) +LIBCOM_API void epicsStdCall freeListFree(void *pvt,void*pmem) { FREELISTPVT *pfl = pvt; # ifdef EPICS_FREELIST_DEBUG @@ -150,7 +149,7 @@ epicsShareFunc void epicsShareAPI freeListFree(void *pvt,void*pmem) # endif } -epicsShareFunc void epicsShareAPI freeListCleanup(void *pvt) +LIBCOM_API void epicsStdCall freeListCleanup(void *pvt) { FREELISTPVT *pfl = pvt; allocMem *phead; @@ -169,7 +168,7 @@ epicsShareFunc void epicsShareAPI freeListCleanup(void *pvt) free(pvt); } -epicsShareFunc size_t epicsShareAPI freeListItemsAvail(void *pvt) +LIBCOM_API size_t epicsStdCall freeListItemsAvail(void *pvt) { FREELISTPVT *pfl = pvt; size_t nBlocksAvailable; diff --git a/modules/libcom/src/gpHash/gpHash.h b/modules/libcom/src/gpHash/gpHash.h index d9c0dd204..6d8a3eeca 100644 --- a/modules/libcom/src/gpHash/gpHash.h +++ b/modules/libcom/src/gpHash/gpHash.h @@ -14,7 +14,7 @@ #ifndef INC_gpHash_H #define INC_gpHash_H -#include "shareLib.h" +#include "libComAPI.h" #include "ellLib.h" @@ -32,19 +32,19 @@ extern "C" { #endif /*tableSize must be power of 2 in range 256 to 65536*/ -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall gphInitPvt(struct gphPvt **ppvt, int tableSize); -epicsShareFunc GPHENTRY * epicsShareAPI +LIBCOM_API GPHENTRY * epicsStdCall gphFind(struct gphPvt *pvt, const char *name, void *pvtid); -epicsShareFunc GPHENTRY * epicsShareAPI +LIBCOM_API GPHENTRY * epicsStdCall gphFindParse(struct gphPvt *pvt, const char *name, size_t len, void *pvtid); -epicsShareFunc GPHENTRY * epicsShareAPI +LIBCOM_API GPHENTRY * epicsStdCall gphAdd(struct gphPvt *pvt, const char *name, void *pvtid); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall gphDelete(struct gphPvt *pvt, const char *name, void *pvtid); -epicsShareFunc void epicsShareAPI gphFreeMem(struct gphPvt *pvt); -epicsShareFunc void epicsShareAPI gphDump(struct gphPvt *pvt); -epicsShareFunc void epicsShareAPI gphDumpFP(FILE *fp, struct gphPvt *pvt); +LIBCOM_API void epicsStdCall gphFreeMem(struct gphPvt *pvt); +LIBCOM_API void epicsStdCall gphDump(struct gphPvt *pvt); +LIBCOM_API void epicsStdCall gphDumpFP(FILE *fp, struct gphPvt *pvt); #ifdef __cplusplus } diff --git a/modules/libcom/src/gpHash/gpHashLib.c b/modules/libcom/src/gpHash/gpHashLib.c index a56f00a0c..34bec5ce1 100644 --- a/modules/libcom/src/gpHash/gpHashLib.c +++ b/modules/libcom/src/gpHash/gpHashLib.c @@ -13,7 +13,6 @@ #include #include -#define epicsExportSharedSymbols #include "cantProceed.h" #include "epicsMutex.h" #include "epicsStdioRedirect.h" @@ -35,7 +34,7 @@ typedef struct gphPvt { #define MAX_SIZE 65536 -void epicsShareAPI gphInitPvt(gphPvt **ppvt, int size) +void epicsStdCall gphInitPvt(gphPvt **ppvt, int size) { gphPvt *pgphPvt; @@ -59,7 +58,7 @@ void epicsShareAPI gphInitPvt(gphPvt **ppvt, int size) return; } -GPHENTRY * epicsShareAPI gphFindParse(gphPvt *pgphPvt, const char *name, size_t len, void *pvtid) +GPHENTRY * epicsStdCall gphFindParse(gphPvt *pgphPvt, const char *name, size_t len, void *pvtid) { ELLLIST **paplist; ELLLIST *gphlist; @@ -90,12 +89,12 @@ GPHENTRY * epicsShareAPI gphFindParse(gphPvt *pgphPvt, const char *name, size_t return pgphNode; } -GPHENTRY * epicsShareAPI gphFind(gphPvt *pgphPvt, const char *name, void *pvtid) +GPHENTRY * epicsStdCall gphFind(gphPvt *pgphPvt, const char *name, void *pvtid) { return gphFindParse(pgphPvt, name, strlen(name), pvtid); } -GPHENTRY * epicsShareAPI gphAdd(gphPvt *pgphPvt, const char *name, void *pvtid) +GPHENTRY * epicsStdCall gphAdd(gphPvt *pgphPvt, const char *name, void *pvtid) { ELLLIST **paplist; ELLLIST *plist; @@ -140,7 +139,7 @@ GPHENTRY * epicsShareAPI gphAdd(gphPvt *pgphPvt, const char *name, void *pvtid) return (pgphNode); } -void epicsShareAPI gphDelete(gphPvt *pgphPvt, const char *name, void *pvtid) +void epicsStdCall gphDelete(gphPvt *pgphPvt, const char *name, void *pvtid) { ELLLIST **paplist; ELLLIST *plist = NULL; @@ -174,7 +173,7 @@ void epicsShareAPI gphDelete(gphPvt *pgphPvt, const char *name, void *pvtid) return; } -void epicsShareAPI gphFreeMem(gphPvt *pgphPvt) +void epicsStdCall gphFreeMem(gphPvt *pgphPvt) { ELLLIST **paplist; int h; @@ -204,12 +203,12 @@ void epicsShareAPI gphFreeMem(gphPvt *pgphPvt) free(pgphPvt); } -void epicsShareAPI gphDump(gphPvt *pgphPvt) +void epicsStdCall gphDump(gphPvt *pgphPvt) { gphDumpFP(stdout, pgphPvt); } -void epicsShareAPI gphDumpFP(FILE *fp, gphPvt *pgphPvt) +void epicsStdCall gphDumpFP(FILE *fp, gphPvt *pgphPvt) { unsigned int empty = 0; ELLLIST **paplist; diff --git a/modules/libcom/src/iocsh/initHooks.c b/modules/libcom/src/iocsh/initHooks.c index 0884bdd0a..4c955afad 100644 --- a/modules/libcom/src/iocsh/initHooks.c +++ b/modules/libcom/src/iocsh/initHooks.c @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "ellLib.h" #include "epicsMutex.h" diff --git a/modules/libcom/src/iocsh/initHooks.h b/modules/libcom/src/iocsh/initHooks.h index 261568e9d..070f15cbc 100644 --- a/modules/libcom/src/iocsh/initHooks.h +++ b/modules/libcom/src/iocsh/initHooks.h @@ -15,7 +15,7 @@ #ifndef INC_initHooks_H #define INC_initHooks_H -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -64,10 +64,10 @@ typedef enum { } initHookState; typedef void (*initHookFunction)(initHookState state); -epicsShareFunc int initHookRegister(initHookFunction func); -epicsShareFunc void initHookAnnounce(initHookState state); -epicsShareFunc const char *initHookName(int state); -epicsShareFunc void initHookFree(void); +LIBCOM_API int initHookRegister(initHookFunction func); +LIBCOM_API void initHookAnnounce(initHookState state); +LIBCOM_API const char *initHookName(int state); +LIBCOM_API void initHookFree(void); #ifdef __cplusplus } diff --git a/modules/libcom/src/iocsh/iocsh.cpp b/modules/libcom/src/iocsh/iocsh.cpp index 0492156e7..4a2b3b7e8 100644 --- a/modules/libcom/src/iocsh/iocsh.cpp +++ b/modules/libcom/src/iocsh/iocsh.cpp @@ -19,7 +19,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsMath.h" #include "errlog.h" #include "macLib.h" @@ -39,7 +38,7 @@ extern "C" { /* * Global link to pdbbase */ -epicsShareDef struct dbBase **iocshPpdbbase; +struct dbBase **iocshPpdbbase; /* * File-local information @@ -109,7 +108,7 @@ iocshTableUnlock (void) /* * Register a command */ -void epicsShareAPI iocshRegister (const iocshFuncDef *piocshFuncDef, +void epicsStdCall iocshRegister (const iocshFuncDef *piocshFuncDef, iocshCallFunc func) { struct iocshCommand *l, *p, *n; @@ -152,7 +151,7 @@ void epicsShareAPI iocshRegister (const iocshFuncDef *piocshFuncDef, /* * Retrieves a previously registered function with the given name. */ -const iocshCmdDef * epicsShareAPI iocshFindCommand(const char *name) +const iocshCmdDef * epicsStdCall iocshFindCommand(const char *name) { return (iocshCmdDef *) registryFind(iocshCmdID, name); } @@ -165,7 +164,7 @@ static const iocshArg varCmdArg1 = { "[value]]", iocshArgString}; static const iocshArg *varCmdArgs[2] = {&varCmdArg0, &varCmdArg1}; static const iocshFuncDef varFuncDef = {"var", 2, varCmdArgs}; -void epicsShareAPI iocshRegisterVariable (const iocshVarDef *piocshVarDef) +void epicsStdCall iocshRegisterVariable (const iocshVarDef *piocshVarDef) { struct iocshVariable *l, *p, *n; int i; @@ -220,7 +219,7 @@ void epicsShareAPI iocshRegisterVariable (const iocshVarDef *piocshVarDef) /* * Retrieves a previously registered variable with the given name. */ -const iocshVarDef * epicsShareAPI iocshFindVariable(const char *name) +const iocshVarDef * epicsStdCall iocshFindVariable(const char *name) { struct iocshVariable *temp = (iocshVariable *) registryFind(iocshVarID, name); return temp ? temp->pVarDef : 0; @@ -229,7 +228,7 @@ const iocshVarDef * epicsShareAPI iocshFindVariable(const char *name) /* * Free storage created by iocshRegister/iocshRegisterVariable */ -void epicsShareAPI iocshFree(void) +void epicsStdCall iocshFree(void) { struct iocshCommand *pc; struct iocshVariable *pv; @@ -1008,19 +1007,19 @@ iocshBody (const char *pathname, const char *commandLine, const char *macros) /* * External access to the command interpreter */ -int epicsShareAPI +int epicsStdCall iocsh (const char *pathname) { return iocshLoad(pathname, NULL); } -int epicsShareAPI +int epicsStdCall iocshCmd (const char *cmd) { return iocshRun(cmd, NULL); } -int epicsShareAPI +int epicsStdCall iocshLoad(const char *pathname, const char *macros) { if (pathname) @@ -1028,7 +1027,7 @@ iocshLoad(const char *pathname, const char *macros) return iocshBody(pathname, NULL, macros); } -int epicsShareAPI +int epicsStdCall iocshRun(const char *cmd, const char *macros) { if (cmd == NULL) @@ -1051,7 +1050,7 @@ iocshRun(const char *cmd, const char *macros) * and update the shared MAC_HANDLE that the iocsh uses. Which is * what this function is provided for. */ -void epicsShareAPI +void epicsStdCall iocshEnvClear(const char *name) { iocshContext *context; diff --git a/modules/libcom/src/iocsh/iocsh.h b/modules/libcom/src/iocsh/iocsh.h index e69bd3c7b..407b15314 100644 --- a/modules/libcom/src/iocsh/iocsh.h +++ b/modules/libcom/src/iocsh/iocsh.h @@ -15,7 +15,7 @@ #include #include "compilerDependencies.h" -#include "shareLib.h" +#include "libComAPI.h" #if defined(vxWorks) || defined(__rtems__) #define IOCSH_STATIC_FUNC @@ -72,48 +72,48 @@ typedef struct iocshCmdDef { iocshCallFunc func; }iocshCmdDef; -epicsShareFunc void epicsShareAPI iocshRegister( +LIBCOM_API void epicsStdCall iocshRegister( const iocshFuncDef *piocshFuncDef, iocshCallFunc func); -epicsShareFunc void epicsShareAPI iocshRegisterVariable ( +LIBCOM_API void epicsStdCall iocshRegisterVariable ( const iocshVarDef *piocshVarDef); -epicsShareFunc const iocshCmdDef * epicsShareAPI iocshFindCommand( +LIBCOM_API const iocshCmdDef * epicsStdCall iocshFindCommand( const char* name) EPICS_DEPRECATED; -epicsShareFunc const iocshVarDef * epicsShareAPI iocshFindVariable( +LIBCOM_API const iocshVarDef * epicsStdCall iocshFindVariable( const char* name); /* iocshFree frees storage used by iocshRegister*/ /* This should only be called when iocsh is no longer needed*/ -epicsShareFunc void epicsShareAPI iocshFree(void); +LIBCOM_API void epicsStdCall iocshFree(void); /** shorthand for \code iocshLoad(pathname, NULL) \endcode */ -epicsShareFunc int epicsShareAPI iocsh(const char *pathname); +LIBCOM_API int epicsStdCall iocsh(const char *pathname); /** shorthand for \code iocshRun(cmd, NULL) \endcode */ -epicsShareFunc int epicsShareAPI iocshCmd(const char *cmd); +LIBCOM_API int epicsStdCall iocshCmd(const char *cmd); /** Read and evaluate IOC shell commands from the given file. * \param pathname Path to script file * \param macros NULL or a comma seperated list of macro definitions. eg. "VAR1=x,VAR2=y" * \return 0 on success, non-zero on error */ -epicsShareFunc int epicsShareAPI iocshLoad(const char *pathname, const char* macros); +LIBCOM_API int epicsStdCall iocshLoad(const char *pathname, const char* macros); /** Evaluate a single IOC shell command * \param cmd Command string. eg. "echo \"something or other\"" * \param macros NULL or a comma seperated list of macro definitions. eg. "VAR1=x,VAR2=y" * \return 0 on success, non-zero on error */ -epicsShareFunc int epicsShareAPI iocshRun(const char *cmd, const char* macros); +LIBCOM_API int epicsStdCall iocshRun(const char *cmd, const char* macros); /** \brief Signal error from an IOC shell function. * * \param err 0 - success (no op), !=0 - error * \return The err argument value. */ -epicsShareFunc int iocshSetError(int err); +LIBCOM_API int iocshSetError(int err); /* Makes macros that shadow environment variables work correctly with epicsEnvSet */ -epicsShareFunc void epicsShareAPI iocshEnvClear(const char *name); +LIBCOM_API void epicsStdCall iocshEnvClear(const char *name); /* 'weak' link to pdbbase */ -epicsShareExtern struct dbBase **iocshPpdbbase; +LIBCOM_API extern struct dbBase **iocshPpdbbase; #ifdef __cplusplus } diff --git a/modules/libcom/src/iocsh/libComRegister.c b/modules/libcom/src/iocsh/libComRegister.c index c67804aef..4cd1f73c0 100644 --- a/modules/libcom/src/iocsh/libComRegister.c +++ b/modules/libcom/src/iocsh/libComRegister.c @@ -10,7 +10,6 @@ #include -#define epicsExportSharedSymbols #include "iocsh.h" #include "asLib.h" #include "epicsStdioRedirect.h" @@ -396,7 +395,7 @@ static void installLastResortEventProviderCallFunc(const iocshArgBuf *args) static iocshVarDef asCheckClientIPDef[] = { { "asCheckClientIP", iocshArgInt, 0 }, { NULL, iocshArgInt, NULL } }; -void epicsShareAPI libComRegister(void) +void epicsStdCall libComRegister(void) { iocshRegister(&dateFuncDef, dateCallFunc); iocshRegister(&echoFuncDef, echoCallFunc); diff --git a/modules/libcom/src/iocsh/libComRegister.h b/modules/libcom/src/iocsh/libComRegister.h index ef93f4a8d..a437b6d70 100644 --- a/modules/libcom/src/iocsh/libComRegister.h +++ b/modules/libcom/src/iocsh/libComRegister.h @@ -8,13 +8,13 @@ #ifndef INC_libComRegister_H #define INC_libComRegister_H -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { #endif -epicsShareFunc void epicsShareAPI libComRegister(void); +LIBCOM_API void epicsStdCall libComRegister(void); #ifdef __cplusplus } diff --git a/modules/libcom/src/iocsh/registry.c b/modules/libcom/src/iocsh/registry.c index 0b2e312e3..1c8ccbb91 100644 --- a/modules/libcom/src/iocsh/registry.c +++ b/modules/libcom/src/iocsh/registry.c @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "cantProceed.h" #include "epicsFindSymbol.h" @@ -32,7 +31,7 @@ static void registryInit(int tableSize) if(!gphPvt) cantProceed("registry why did gphInitPvt fail\n"); } -epicsShareFunc int epicsShareAPI registrySetTableSize(int size) +LIBCOM_API int epicsStdCall registrySetTableSize(int size) { if(gphPvt) { printf("registryInit already called\n"); @@ -43,7 +42,7 @@ epicsShareFunc int epicsShareAPI registrySetTableSize(int size) } -epicsShareFunc int epicsShareAPI registryAdd( +LIBCOM_API int epicsStdCall registryAdd( void *registryID,const char *name,void *data) { GPHENTRY *pentry; @@ -54,7 +53,7 @@ epicsShareFunc int epicsShareAPI registryAdd( return(TRUE); } -epicsShareFunc int epicsShareAPI registryChange( +LIBCOM_API int epicsStdCall registryChange( void *registryID,const char *name,void *data) { GPHENTRY *pentry; @@ -65,7 +64,7 @@ epicsShareFunc int epicsShareAPI registryChange( return(TRUE); } -epicsShareFunc void * epicsShareAPI registryFind( +LIBCOM_API void * epicsStdCall registryFind( void *registryID,const char *name) { GPHENTRY *pentry; @@ -77,14 +76,14 @@ epicsShareFunc void * epicsShareAPI registryFind( return(pentry->userPvt); } -epicsShareFunc void epicsShareAPI registryFree(void) +LIBCOM_API void epicsStdCall registryFree(void) { if(!gphPvt) return; gphFreeMem(gphPvt); gphPvt = 0; } -epicsShareFunc int epicsShareAPI registryDump(void) +LIBCOM_API int epicsStdCall registryDump(void) { if(!gphPvt) return(0); gphDump(gphPvt); diff --git a/modules/libcom/src/iocsh/registry.h b/modules/libcom/src/iocsh/registry.h index ea1bb7ce7..03d7fb517 100644 --- a/modules/libcom/src/iocsh/registry.h +++ b/modules/libcom/src/iocsh/registry.h @@ -10,23 +10,23 @@ #ifndef INCregistryh #define INCregistryh -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { #endif #define DEFAULT_TABLE_SIZE 1024 -epicsShareFunc int epicsShareAPI registryAdd( +LIBCOM_API int epicsStdCall registryAdd( void *registryID,const char *name,void *data); -epicsShareFunc void *epicsShareAPI registryFind( +LIBCOM_API void *epicsStdCall registryFind( void *registryID,const char *name); -epicsShareFunc int epicsShareAPI registryChange( +LIBCOM_API int epicsStdCall registryChange( void *registryID,const char *name,void *data); -epicsShareFunc int epicsShareAPI registrySetTableSize(int size); -epicsShareFunc void epicsShareAPI registryFree(void); -epicsShareFunc int epicsShareAPI registryDump(void); +LIBCOM_API int epicsStdCall registrySetTableSize(int size); +LIBCOM_API void epicsStdCall registryFree(void); +LIBCOM_API int epicsStdCall registryDump(void); #ifdef __cplusplus } diff --git a/modules/libcom/src/log/iocLog.c b/modules/libcom/src/log/iocLog.c index ba78041c8..39f47593d 100644 --- a/modules/libcom/src/log/iocLog.c +++ b/modules/libcom/src/log/iocLog.c @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "envDefs.h" #include "errlog.h" #include "logClient.h" @@ -69,7 +68,7 @@ static int getConfig (struct in_addr *pserver_addr, unsigned short *pserver_port /* * iocLogFlush () */ -void epicsShareAPI epicsShareAPI iocLogFlush (void) +void epicsStdCall epicsStdCall iocLogFlush (void) { if (iocLogClient!=NULL) { logClientFlush (iocLogClient); @@ -119,7 +118,7 @@ static logClientId iocLogClientInit (void) /* * iocLogInit() */ -int epicsShareAPI iocLogInit (void) +int epicsStdCall iocLogInit (void) { /* * check for global disable @@ -145,7 +144,7 @@ int epicsShareAPI iocLogInit (void) /* * iocLogShow () */ -void epicsShareAPI iocLogShow (unsigned level) +void epicsStdCall iocLogShow (unsigned level) { if (iocLogClient!=NULL) { logClientShow (iocLogClient, level); @@ -155,7 +154,7 @@ void epicsShareAPI iocLogShow (unsigned level) /* * logClientInit(); deprecated */ -logClientId epicsShareAPI logClientInit (void) +logClientId epicsStdCall logClientInit (void) { return iocLogClientInit (); } diff --git a/modules/libcom/src/log/iocLog.h b/modules/libcom/src/log/iocLog.h index b6f7ddf6e..18a42ee99 100644 --- a/modules/libcom/src/log/iocLog.h +++ b/modules/libcom/src/log/iocLog.h @@ -17,7 +17,7 @@ #ifndef INCiocLogh #define INCiocLogh 1 -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -26,10 +26,10 @@ extern "C" { /* * ioc log client interface */ -epicsShareExtern int iocLogDisable; -epicsShareFunc int epicsShareAPI iocLogInit (void); -epicsShareFunc void epicsShareAPI iocLogShow (unsigned level); -epicsShareFunc void epicsShareAPI iocLogFlush (void); +LIBCOM_API extern int iocLogDisable; +LIBCOM_API int epicsStdCall iocLogInit (void); +LIBCOM_API void epicsStdCall iocLogShow (unsigned level); +LIBCOM_API void epicsStdCall iocLogFlush (void); #ifdef __cplusplus } diff --git a/modules/libcom/src/log/logClient.c b/modules/libcom/src/log/logClient.c index f6ed2e9c0..250ef85e5 100644 --- a/modules/libcom/src/log/logClient.c +++ b/modules/libcom/src/log/logClient.c @@ -20,7 +20,6 @@ #include #define EPICS_PRIVATE_API -#define epicsExportSharedSymbols #include "dbDefs.h" #include "epicsEvent.h" #include "iocLog.h" @@ -198,7 +197,7 @@ static void sendMessageChunk(logClient * pClient, const char * message) { /* * logClientSend () */ -void epicsShareAPI logClientSend ( logClientId id, const char * message ) +void epicsStdCall logClientSend ( logClientId id, const char * message ) { logClient * pClient = ( logClient * ) id; @@ -217,7 +216,7 @@ void epicsShareAPI logClientSend ( logClientId id, const char * message ) } -void epicsShareAPI logClientFlush ( logClientId id ) +void epicsStdCall logClientFlush ( logClientId id ) { unsigned nSent; int status = 0; @@ -451,7 +450,7 @@ static void logClientRestart ( logClientId id ) /* * logClientCreate() */ -logClientId epicsShareAPI logClientCreate ( +logClientId epicsStdCall logClientCreate ( struct in_addr server_addr, unsigned short server_port) { logClient *pClient; @@ -514,7 +513,7 @@ logClientId epicsShareAPI logClientCreate ( /* * logClientShow () */ -void epicsShareAPI logClientShow (logClientId id, unsigned level) +void epicsStdCall logClientShow (logClientId id, unsigned level) { logClient *pClient = (logClient *) id; @@ -547,7 +546,7 @@ void epicsShareAPI logClientShow (logClientId id, unsigned level) /* * iocLogPrefix() */ -void epicsShareAPI iocLogPrefix(const char * prefix) +void epicsStdCall iocLogPrefix(const char * prefix) { /* If we have already established a log prefix, don't let the user change diff --git a/modules/libcom/src/log/logClient.h b/modules/libcom/src/log/logClient.h index 3b3f63add..66e4e4393 100644 --- a/modules/libcom/src/log/logClient.h +++ b/modules/libcom/src/log/logClient.h @@ -17,7 +17,7 @@ #ifndef INClogClienth #define INClogClienth 1 -#include "shareLib.h" +#include "libComAPI.h" #include "osiSock.h" /* for 'struct in_addr' */ /* include default log client interface for backward compatibility */ @@ -28,16 +28,16 @@ extern "C" { #endif typedef void *logClientId; -epicsShareFunc logClientId epicsShareAPI logClientCreate ( +LIBCOM_API logClientId epicsStdCall logClientCreate ( struct in_addr server_addr, unsigned short server_port); -epicsShareFunc void epicsShareAPI logClientSend (logClientId id, const char *message); -epicsShareFunc void epicsShareAPI logClientShow (logClientId id, unsigned level); -epicsShareFunc void epicsShareAPI logClientFlush (logClientId id); -epicsShareFunc void epicsShareAPI iocLogPrefix(const char* prefix); +LIBCOM_API void epicsStdCall logClientSend (logClientId id, const char *message); +LIBCOM_API void epicsStdCall logClientShow (logClientId id, unsigned level); +LIBCOM_API void epicsStdCall logClientFlush (logClientId id); +LIBCOM_API void epicsStdCall iocLogPrefix(const char* prefix); /* deprecated interface; retained for backward compatibility */ /* note: implementations are in iocLog.c, not logClient.c */ -epicsShareFunc logClientId epicsShareAPI logClientInit (void); +LIBCOM_API logClientId epicsStdCall logClientInit (void); #ifdef __cplusplus } diff --git a/modules/libcom/src/macLib/macCore.c b/modules/libcom/src/macLib/macCore.c index 6f84d6b84..e9d80f475 100644 --- a/modules/libcom/src/macLib/macCore.c +++ b/modules/libcom/src/macLib/macCore.c @@ -25,7 +25,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "errlog.h" #include "dbmf.h" @@ -98,7 +97,7 @@ static char *Strdup( const char *string ); * of macro definitions */ long /* 0 = OK; <0 = ERROR */ -epicsShareAPI macCreateHandle( +epicsStdCall macCreateHandle( MAC_HANDLE **pHandle, /* address of variable to receive pointer */ /* to new macro substitution context */ @@ -152,7 +151,7 @@ epicsShareAPI macCreateHandle( * for the given handle */ void -epicsShareAPI macSuppressWarning( +epicsStdCall macSuppressWarning( MAC_HANDLE *handle, /* opaque handle */ int suppress /* 0 means issue, 1 means suppress */ ) @@ -172,7 +171,7 @@ epicsShareAPI macSuppressWarning( */ long /* strlen(dest), <0 if any macros are */ /* undefined */ -epicsShareAPI macExpandString( +epicsStdCall macExpandString( MAC_HANDLE *handle, /* opaque handle */ const char *src, /* source string */ @@ -231,7 +230,7 @@ epicsShareAPI macExpandString( * already existed */ long /* strlen(value) */ -epicsShareAPI macPutValue( +epicsStdCall macPutValue( MAC_HANDLE *handle, /* opaque handle */ const char *name, /* macro name */ @@ -299,7 +298,7 @@ epicsShareAPI macPutValue( * Return the value of a macro */ long /* strlen(value), <0 if undefined */ -epicsShareAPI macGetValue( +epicsStdCall macGetValue( MAC_HANDLE *handle, /* opaque handle */ const char *name, /* macro name or reference */ @@ -358,7 +357,7 @@ epicsShareAPI macGetValue( * context */ long /* 0 = OK; <0 = ERROR */ -epicsShareAPI macDeleteHandle( +epicsStdCall macDeleteHandle( MAC_HANDLE *handle ) /* opaque handle */ { MAC_ENTRY *entry, *nextEntry; @@ -390,7 +389,7 @@ epicsShareAPI macDeleteHandle( * Mark the start of a new scoping level */ long /* 0 = OK; <0 = ERROR */ -epicsShareAPI macPushScope( +epicsStdCall macPushScope( MAC_HANDLE *handle ) /* opaque handle */ { MAC_ENTRY *entry; @@ -425,7 +424,7 @@ epicsShareAPI macPushScope( * Pop all macros defined since the last call to macPushScope() */ long /* 0 = OK; <0 = ERROR */ -epicsShareAPI macPopScope( +epicsStdCall macPopScope( MAC_HANDLE *handle ) /* opaque handle */ { MAC_ENTRY *entry, *nextEntry; @@ -469,7 +468,7 @@ epicsShareAPI macPopScope( * Report macro details to standard output */ long /* 0 = OK; <0 = ERROR */ -epicsShareAPI macReportMacros( +epicsStdCall macReportMacros( MAC_HANDLE *handle ) /* opaque handle */ { const char *format = "%-1s %-16s %-16s %s\n"; diff --git a/modules/libcom/src/macLib/macEnv.c b/modules/libcom/src/macLib/macEnv.c index f102748a8..9186c67e9 100644 --- a/modules/libcom/src/macLib/macEnv.c +++ b/modules/libcom/src/macLib/macEnv.c @@ -12,18 +12,17 @@ #include #include -#define epicsExportSharedSymbols #include "errlog.h" #include "epicsString.h" #include "macLib.h" -char * epicsShareAPI +char * epicsStdCall macEnvExpand(const char *str) { return macDefExpand(str, NULL); } -char * epicsShareAPI +char * epicsStdCall macDefExpand(const char *str, MAC_HANDLE *macros) { MAC_HANDLE *handle; diff --git a/modules/libcom/src/macLib/macLib.h b/modules/libcom/src/macLib/macLib.h index 8e75d3801..3b31f59f0 100644 --- a/modules/libcom/src/macLib/macLib.h +++ b/modules/libcom/src/macLib/macLib.h @@ -25,7 +25,7 @@ #define INCmacLibH #include "ellLib.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -57,8 +57,8 @@ typedef struct { * \brief Creates a new macro substitution context. * \return 0 = OK; <0 = ERROR */ -epicsShareFunc long -epicsShareAPI macCreateHandle( +LIBCOM_API long +epicsStdCall macCreateHandle( MAC_HANDLE **handle, /**< pointer to variable to receive pointer to new macro substitution context */ @@ -75,8 +75,8 @@ epicsShareAPI macCreateHandle( * suppress the warning messages from subsequent library routines given the * same \c handle. */ -epicsShareFunc void -epicsShareAPI macSuppressWarning( +LIBCOM_API void +epicsStdCall macSuppressWarning( MAC_HANDLE *handle, /**< opaque handle */ int falseTrue /**< 0 means issue, 1 means suppress*/ @@ -94,8 +94,8 @@ epicsShareAPI macSuppressWarning( * value is the number of characters copied to \c dest. If the return value * is negative, at least one undefined macro was left unexpanded. */ -epicsShareFunc long -epicsShareAPI macExpandString( +LIBCOM_API long +epicsStdCall macExpandString( MAC_HANDLE *handle, /**< opaque handle */ const char *src, /**< source string */ @@ -112,8 +112,8 @@ epicsShareAPI macExpandString( * all scoping levels (the named macro doesn't have to exist in this case). * Macros referenced in \c value need not be defined at this point. */ -epicsShareFunc long -epicsShareAPI macPutValue( +LIBCOM_API long +epicsStdCall macPutValue( MAC_HANDLE *handle, /**< opaque handle */ const char *name, /**< macro name */ @@ -149,8 +149,8 @@ epicsShareAPI macPutValue( * the named macro is undefined at the moment of expansion. A reference * is terminated by the matching ")" or "}" character. */ -epicsShareFunc long -epicsShareAPI macGetValue( +LIBCOM_API long +epicsStdCall macGetValue( MAC_HANDLE *handle, /**< opaque handle */ const char *name, /**< macro name or reference */ @@ -167,8 +167,8 @@ epicsShareAPI macGetValue( * been returned. Macro values are always returned into strings which * were pre-allocated by the caller. */ -epicsShareFunc long -epicsShareAPI macDeleteHandle( +LIBCOM_API long +epicsStdCall macDeleteHandle( MAC_HANDLE *handle /**< opaque handle */ ); /** @@ -179,8 +179,8 @@ epicsShareAPI macDeleteHandle( * to another scope. These macros will be lost on a macPopScope() * call and those at the current scope will be re-instated. */ -epicsShareFunc long -epicsShareAPI macPushScope( +LIBCOM_API long +epicsStdCall macPushScope( MAC_HANDLE *handle /**< opaque handle */ ); /** @@ -189,8 +189,8 @@ epicsShareAPI macPushScope( * * See macPushScope() */ -epicsShareFunc long -epicsShareAPI macPopScope( +LIBCOM_API long +epicsStdCall macPopScope( MAC_HANDLE *handle /**< opaque handle */ ); /** @@ -199,8 +199,8 @@ epicsShareAPI macPopScope( * This sends details of current definitions to standard output, * and is intended purely for debugging purposes. */ -epicsShareFunc long -epicsShareAPI macReportMacros( +LIBCOM_API long +epicsStdCall macReportMacros( MAC_HANDLE *handle /**< opaque handle */ ); /** @} */ @@ -236,8 +236,8 @@ epicsShareAPI macReportMacros( * The function returns the number of definitions encountered, or -1 if * the supplied string is invalid. */ -epicsShareFunc long -epicsShareAPI macParseDefns( +LIBCOM_API long +epicsStdCall macParseDefns( MAC_HANDLE *handle, /**< opaque handle; may be NULL if debug messages are not required. */ @@ -258,8 +258,8 @@ epicsShareAPI macParseDefns( * definitions by calling macPutValue(). The pairs array is terminated * by a NULL pointer. */ -epicsShareFunc long -epicsShareAPI macInstallMacros( +LIBCOM_API long +epicsStdCall macInstallMacros( MAC_HANDLE *handle, /**< opaque handle */ char *pairs[] /**< pointer to NULL-terminated array of @@ -279,8 +279,8 @@ epicsShareAPI macInstallMacros( * pointer to this null-terminated string. It returns NULL if the source * string contains any undefined references. */ -epicsShareFunc char * -epicsShareAPI macEnvExpand( +LIBCOM_API char * +epicsStdCall macEnvExpand( const char *str /**< string to be expanded */ ); @@ -293,8 +293,8 @@ epicsShareAPI macEnvExpand( * These macros are appended to the set of macros from environment * variables when expanding the string. */ -epicsShareFunc char * -epicsShareAPI macDefExpand( +LIBCOM_API char * +epicsStdCall macDefExpand( const char *str, /**< string to be expanded */ MAC_HANDLE *macros /**< opaque handle; may be NULL if only environment variables are to be used */ diff --git a/modules/libcom/src/macLib/macUtil.c b/modules/libcom/src/macLib/macUtil.c index 7bf73542e..9171aa6ba 100644 --- a/modules/libcom/src/macLib/macUtil.c +++ b/modules/libcom/src/macLib/macUtil.c @@ -17,7 +17,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "errlog.h" #include "macLib.h" @@ -30,7 +29,7 @@ * values) */ long /* #defns encountered; <0 = ERROR */ -epicsShareAPI macParseDefns( +epicsStdCall macParseDefns( MAC_HANDLE *handle, /* opaque handle; can be NULL if default */ /* special characters are to be used */ @@ -251,7 +250,7 @@ error: * one (preferably two) NULL pointers */ long /* #macros defined; <0 = ERROR */ -epicsShareAPI macInstallMacros( +epicsStdCall macInstallMacros( MAC_HANDLE *handle, /* opaque handle */ char *pairs[] ) /* pointer to NULL-terminated array of */ diff --git a/modules/libcom/src/misc/aToIPAddr.c b/modules/libcom/src/misc/aToIPAddr.c index c21b574f6..3a05a3e94 100644 --- a/modules/libcom/src/misc/aToIPAddr.c +++ b/modules/libcom/src/misc/aToIPAddr.c @@ -14,7 +14,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsTypes.h" #include "osiSock.h" @@ -75,7 +74,7 @@ static int initIPAddr ( struct in_addr ipAddr, unsigned port, * "pAddrString" does not contain an address of the form * "n.n.n.n:p or host:p" */ -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall aToIPAddr( const char *pAddrString, unsigned short defaultPort, struct sockaddr_in *pIP ) { diff --git a/modules/libcom/src/misc/adjustment.c b/modules/libcom/src/misc/adjustment.c index ac10e28c9..ec24881f7 100644 --- a/modules/libcom/src/misc/adjustment.c +++ b/modules/libcom/src/misc/adjustment.c @@ -20,10 +20,9 @@ * After setting the following they will be declared as exports * (Appropriate for what we implenment) */ -#define epicsExportSharedSymbols #include "adjustment.h" -epicsShareFunc size_t adjustToWorstCaseAlignment(size_t size) +LIBCOM_API size_t adjustToWorstCaseAlignment(size_t size) { int align_size, adjust; struct test_long_word { char c; long lw; }; diff --git a/modules/libcom/src/misc/adjustment.h b/modules/libcom/src/misc/adjustment.h index c256569f1..a8c388467 100644 --- a/modules/libcom/src/misc/adjustment.h +++ b/modules/libcom/src/misc/adjustment.h @@ -17,7 +17,7 @@ #ifndef INCadjustmenth #define INCadjustmenth -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -26,7 +26,7 @@ extern "C" { /** returns a value larger or equal than `size`, that is an exact multiple of the worst case alignment for the architecture on which the routine is executed. */ -epicsShareFunc size_t adjustToWorstCaseAlignment(size_t size); +LIBCOM_API size_t adjustToWorstCaseAlignment(size_t size); #ifdef __cplusplus } diff --git a/modules/libcom/src/misc/alarm.h b/modules/libcom/src/misc/alarm.h index edaaf1e5f..a73c60fda 100644 --- a/modules/libcom/src/misc/alarm.h +++ b/modules/libcom/src/misc/alarm.h @@ -20,7 +20,7 @@ #ifndef INC_alarm_H #define INC_alarm_H -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -116,11 +116,11 @@ typedef enum { /** * \brief How to convert an alarm severity into a string */ -epicsShareExtern const char *epicsAlarmSeverityStrings [ALARM_NSEV]; +LIBCOM_API extern const char *epicsAlarmSeverityStrings [ALARM_NSEV]; /** * \brief How to convert an alarm condition/status into a string */ -epicsShareExtern const char *epicsAlarmConditionStrings [ALARM_NSTATUS]; +LIBCOM_API extern const char *epicsAlarmConditionStrings [ALARM_NSTATUS]; #ifdef __cplusplus diff --git a/modules/libcom/src/misc/alarmString.c b/modules/libcom/src/misc/alarmString.c index 4db179dcb..b09f74b87 100644 --- a/modules/libcom/src/misc/alarmString.c +++ b/modules/libcom/src/misc/alarmString.c @@ -9,12 +9,11 @@ /* String names for alarm status and severity values */ -#define epicsExportSharedSymbols #include "alarm.h" /* ALARM SEVERITIES - must match menuAlarmSevr.dbd and alarm.h */ -epicsShareDef const char * epicsAlarmSeverityStrings[ALARM_NSEV] = { +const char * epicsAlarmSeverityStrings[ALARM_NSEV] = { "NO_ALARM", "MINOR", "MAJOR", @@ -24,7 +23,7 @@ epicsShareDef const char * epicsAlarmSeverityStrings[ALARM_NSEV] = { /* ALARM STATUS - must match menuAlarmStat.dbd and alarm.h */ -epicsShareDef const char * epicsAlarmConditionStrings[ALARM_NSTATUS] = { +const char * epicsAlarmConditionStrings[ALARM_NSTATUS] = { "NO_ALARM", "READ", "WRITE", diff --git a/modules/libcom/src/misc/cantProceed.c b/modules/libcom/src/misc/cantProceed.c index 6c35796fd..d5ac257ef 100644 --- a/modules/libcom/src/misc/cantProceed.c +++ b/modules/libcom/src/misc/cantProceed.c @@ -14,13 +14,12 @@ #include #include -#define epicsExportSharedSymbols #include "errlog.h" #include "cantProceed.h" #include "epicsThread.h" #include "epicsStackTrace.h" -epicsShareFunc void * callocMustSucceed(size_t count, size_t size, const char *msg) +LIBCOM_API void * callocMustSucceed(size_t count, size_t size, const char *msg) { void * mem = NULL; if (count > 0 && size > 0) { @@ -36,7 +35,7 @@ epicsShareFunc void * callocMustSucceed(size_t count, size_t size, const char *m return mem; } -epicsShareFunc void * mallocMustSucceed(size_t size, const char *msg) +LIBCOM_API void * mallocMustSucceed(size_t size, const char *msg) { void * mem = NULL; if (size > 0) { @@ -52,7 +51,7 @@ epicsShareFunc void * mallocMustSucceed(size_t size, const char *msg) return mem; } -epicsShareFunc void cantProceed(const char *msg, ...) +LIBCOM_API void cantProceed(const char *msg, ...) { va_list pvar; va_start(pvar, msg); diff --git a/modules/libcom/src/misc/cantProceed.h b/modules/libcom/src/misc/cantProceed.h index 5fb3ef0f8..b2f8bc0b6 100644 --- a/modules/libcom/src/misc/cantProceed.h +++ b/modules/libcom/src/misc/cantProceed.h @@ -27,7 +27,7 @@ #include #include "compilerDependencies.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -42,7 +42,7 @@ extern "C" { * \param errorMessage A printf-style error message describing the error. * \param ... Any parameters required for the error message. */ -epicsShareFunc void cantProceed(const char *errorMessage, ...) +LIBCOM_API void cantProceed(const char *errorMessage, ...) EPICS_PRINTF_STYLE(1,2); /** \name Memory Allocation Functions @@ -60,14 +60,14 @@ epicsShareFunc void cantProceed(const char *errorMessage, ...) * \param errorMessage What this memory is needed for. * \return Pointer to zeroed allocated memory. */ -epicsShareFunc void * callocMustSucceed(size_t count, size_t size, +LIBCOM_API void * callocMustSucceed(size_t count, size_t size, const char *errorMessage); /** \brief A malloc() that never returns NULL. * \param size Size of block to allocate. * \param errorMessage What this memory is needed for. * \return Pointer to allocated memory. */ -epicsShareFunc void * mallocMustSucceed(size_t size, const char *errorMessage); +LIBCOM_API void * mallocMustSucceed(size_t size, const char *errorMessage); /** @} */ #ifdef __cplusplus diff --git a/modules/libcom/src/misc/epicsConvert.c b/modules/libcom/src/misc/epicsConvert.c index 9318ceb7e..bbc29aa0e 100644 --- a/modules/libcom/src/misc/epicsConvert.c +++ b/modules/libcom/src/misc/epicsConvert.c @@ -11,12 +11,11 @@ #include #include -#define epicsExportSharedSymbols #include "epicsMath.h" #include "epicsConvert.h" #include "cantProceed.h" -epicsShareFunc float epicsConvertDoubleToFloat(double value) +LIBCOM_API float epicsConvertDoubleToFloat(double value) { double abs; diff --git a/modules/libcom/src/misc/epicsConvert.h b/modules/libcom/src/misc/epicsConvert.h index 1c38bc30a..29cdbab47 100644 --- a/modules/libcom/src/misc/epicsConvert.h +++ b/modules/libcom/src/misc/epicsConvert.h @@ -11,13 +11,13 @@ #ifndef INC_epicsConvert_H #define INC_epicsConvert_H -#include +#include #ifdef __cplusplus extern "C" { #endif -epicsShareFunc float epicsConvertDoubleToFloat(double value); +LIBCOM_API float epicsConvertDoubleToFloat(double value); #ifdef __cplusplus } diff --git a/modules/libcom/src/misc/epicsExit.c b/modules/libcom/src/misc/epicsExit.c index 266835eaa..af36bce5b 100644 --- a/modules/libcom/src/misc/epicsExit.c +++ b/modules/libcom/src/misc/epicsExit.c @@ -27,7 +27,6 @@ #include #include -#define epicsExportSharedSymbols #include "ellLib.h" #include "errlog.h" #include "epicsThread.h" @@ -100,7 +99,7 @@ static void epicsExitCallAtExitsPvt(exitPvt *pep) } } -epicsShareFunc void epicsExitCallAtExits(void) +LIBCOM_API void epicsExitCallAtExits(void) { exitPvt * pep = 0; @@ -119,7 +118,7 @@ epicsShareFunc void epicsExitCallAtExits(void) epicsMutexCleanup(); } -epicsShareFunc void epicsExitCallAtThreadExits(void) +LIBCOM_API void epicsExitCallAtThreadExits(void) { exitPvt * pep; @@ -148,7 +147,7 @@ static int epicsAtExitPvt(exitPvt *pep, epicsExitFunc func, void *arg, const cha return status; } -epicsShareFunc int epicsAtThreadExit(epicsExitFunc func, void *arg) +LIBCOM_API int epicsAtThreadExit(epicsExitFunc func, void *arg) { exitPvt * pep; @@ -164,7 +163,7 @@ epicsShareFunc int epicsAtThreadExit(epicsExitFunc func, void *arg) return epicsAtExitPvt ( pep, func, arg, NULL ); } -epicsShareFunc int epicsAtExit3(epicsExitFunc func, void *arg, const char* name) +LIBCOM_API int epicsAtExit3(epicsExitFunc func, void *arg, const char* name) { int status = -1; @@ -180,7 +179,7 @@ epicsShareFunc int epicsAtExit3(epicsExitFunc func, void *arg, const char* name) return status; } -epicsShareFunc void epicsExit(int status) +LIBCOM_API void epicsExit(int status) { epicsExitCallAtExits(); epicsThreadSleep(0.1); @@ -202,7 +201,7 @@ static void exitLaterOnceFunc(void *raw) &exitNow, NULL); } -epicsShareFunc void epicsExitLater(int status) +LIBCOM_API void epicsExitLater(int status) { epicsThreadOnce(&exitLaterOnce, &exitLaterOnceFunc, &status); } diff --git a/modules/libcom/src/misc/epicsExit.h b/modules/libcom/src/misc/epicsExit.h index 23c40f8d1..4f45a97eb 100644 --- a/modules/libcom/src/misc/epicsExit.h +++ b/modules/libcom/src/misc/epicsExit.h @@ -21,7 +21,7 @@ #ifndef epicsExith #define epicsExith -#include +#include #ifdef __cplusplus extern "C" { @@ -37,14 +37,14 @@ typedef void (*epicsExitFunc)(void *arg); * \brief Calls epicsExitCallAtExits(), then the OS exit() routine. * \param status Passed to exit() */ -epicsShareFunc void epicsExit(int status); +LIBCOM_API void epicsExit(int status); /** * \brief Arrange to call epicsExit() later from a low priority thread. * * This delays the actual call to exit() so it doesn't run in this thread. * \param status Passed to exit() */ -epicsShareFunc void epicsExitLater(int status); +LIBCOM_API void epicsExitLater(int status); /** * \brief Internal routine that runs the registered exit routines. * @@ -52,14 +52,14 @@ epicsShareFunc void epicsExitLater(int status); * in reverse order of their registration. * \note Most applications will not call this routine directly. */ -epicsShareFunc void epicsExitCallAtExits(void); +LIBCOM_API void epicsExitCallAtExits(void); /** * \brief Register a function and an associated context parameter * \param func Function to be called when epicsExitCallAtExits is invoked. * \param arg Context parameter for the function. * \param name Function name */ -epicsShareFunc int epicsAtExit3(epicsExitFunc func, void *arg, const char* name); +LIBCOM_API int epicsAtExit3(epicsExitFunc func, void *arg, const char* name); /** * \brief Convenience macro to register a function and context value to be @@ -77,14 +77,14 @@ epicsShareFunc int epicsAtExit3(epicsExitFunc func, void *arg, const char* name) * entry routine returns. It will not be run if the thread gets stopped by * some other method. */ -epicsShareFunc void epicsExitCallAtThreadExits(void); +LIBCOM_API void epicsExitCallAtThreadExits(void); /** * \brief Register a function and an context value to be run by this thread * when it returns from its entry routine. * \param func Function be called at thread completion. * \param arg Context parameter for the function. */ -epicsShareFunc int epicsAtThreadExit(epicsExitFunc func, void *arg); +LIBCOM_API int epicsAtThreadExit(epicsExitFunc func, void *arg); #ifdef __cplusplus diff --git a/modules/libcom/src/misc/epicsStdlib.c b/modules/libcom/src/misc/epicsStdlib.c index f4348981b..328f519c8 100644 --- a/modules/libcom/src/misc/epicsStdlib.c +++ b/modules/libcom/src/misc/epicsStdlib.c @@ -13,7 +13,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsMath.h" #include "epicsStdlib.h" #include "epicsString.h" @@ -22,7 +21,7 @@ /* These are the conversion primitives */ -epicsShareFunc int +LIBCOM_API int epicsParseLong(const char *str, long *to, int base, char **units) { int c; @@ -53,7 +52,7 @@ epicsParseLong(const char *str, long *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseULong(const char *str, unsigned long *to, int base, char **units) { int c; @@ -84,7 +83,7 @@ epicsParseULong(const char *str, unsigned long *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseLLong(const char *str, long long *to, int base, char **units) { int c; @@ -115,7 +114,7 @@ epicsParseLLong(const char *str, long long *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseULLong(const char *str, unsigned long long *to, int base, char **units) { int c; @@ -146,7 +145,7 @@ epicsParseULLong(const char *str, unsigned long long *to, int base, char **units return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseDouble(const char *str, double *to, char **units) { int c; @@ -178,7 +177,7 @@ epicsParseDouble(const char *str, double *to, char **units) /* These call the primitives */ -epicsShareFunc int +LIBCOM_API int epicsParseInt8(const char *str, epicsInt8 *to, int base, char **units) { long value; @@ -194,7 +193,7 @@ epicsParseInt8(const char *str, epicsInt8 *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseUInt8(const char *str, epicsUInt8 *to, int base, char **units) { unsigned long value; @@ -210,7 +209,7 @@ epicsParseUInt8(const char *str, epicsUInt8 *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseInt16(const char *str, epicsInt16 *to, int base, char **units) { long value; @@ -226,7 +225,7 @@ epicsParseInt16(const char *str, epicsInt16 *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseUInt16(const char *str, epicsUInt16 *to, int base, char **units) { unsigned long value; @@ -242,7 +241,7 @@ epicsParseUInt16(const char *str, epicsUInt16 *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseInt32(const char *str, epicsInt32 *to, int base, char **units) { long value; @@ -260,7 +259,7 @@ epicsParseInt32(const char *str, epicsInt32 *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseUInt32(const char *str, epicsUInt32 *to, int base, char **units) { unsigned long value; @@ -278,7 +277,7 @@ epicsParseUInt32(const char *str, epicsUInt32 *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseInt64(const char *str, epicsInt64 *to, int base, char **units) { #if (LONG_MAX == 0x7fffffffffffffffLL) @@ -296,7 +295,7 @@ epicsParseInt64(const char *str, epicsInt64 *to, int base, char **units) return 0; } -epicsShareFunc int +LIBCOM_API int epicsParseUInt64(const char *str, epicsUInt64 *to, int base, char **units) { #if (ULONG_MAX == 0xffffffffffffffffULL) @@ -315,7 +314,7 @@ epicsParseUInt64(const char *str, epicsUInt64 *to, int base, char **units) } -epicsShareFunc int +LIBCOM_API int epicsParseFloat(const char *str, float *to, char **units) { double value, abs; @@ -339,11 +338,11 @@ epicsParseFloat(const char *str, float *to, char **units) * #define epicsStrtod strtod * * If strtod() is broken, osdStrtod.h defines this prototype: - * epicsShareFunc double epicsStrtod(const char *str, char **endp); + * LIBCOM_API double epicsStrtod(const char *str, char **endp); */ #ifndef epicsStrtod -epicsShareFunc double +LIBCOM_API double epicsStrtod(const char *str, char **endp) { const char *cp = str; diff --git a/modules/libcom/src/misc/epicsStdlib.h b/modules/libcom/src/misc/epicsStdlib.h index 20b7cd26f..7d4c293f7 100644 --- a/modules/libcom/src/misc/epicsStdlib.h +++ b/modules/libcom/src/misc/epicsStdlib.h @@ -15,7 +15,7 @@ #include #include -#include "shareLib.h" +#include "libComAPI.h" #include "osdStrtod.h" #include "epicsTypes.h" #include "errMdef.h" @@ -31,37 +31,37 @@ extern "C" { #define S_stdlib_badBase (M_stdlib | 5) /* Number base not supported */ -epicsShareFunc int +LIBCOM_API int epicsParseLong(const char *str, long *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseULong(const char *str, unsigned long *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseLLong(const char *str, long long *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseULLong(const char *str, unsigned long long *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseDouble(const char *str, double *to, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseFloat(const char *str, float *to, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseInt8(const char *str, epicsInt8 *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseUInt8(const char *str, epicsUInt8 *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseInt16(const char *str, epicsInt16 *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseUInt16(const char *str, epicsUInt16 *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseInt32(const char *str, epicsInt32 *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseUInt32(const char *str, epicsUInt32 *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseInt64(const char *str, epicsInt64 *to, int base, char **units); -epicsShareFunc int +LIBCOM_API int epicsParseUInt64(const char *str, epicsUInt64 *to, int base, char **units); #define epicsParseFloat32(str, to, units) epicsParseFloat(str, to, units) diff --git a/modules/libcom/src/misc/epicsString.c b/modules/libcom/src/misc/epicsString.c index e41e21b72..3f537b4bd 100644 --- a/modules/libcom/src/misc/epicsString.c +++ b/modules/libcom/src/misc/epicsString.c @@ -22,7 +22,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "cantProceed.h" #include "epicsString.h" diff --git a/modules/libcom/src/misc/epicsString.h b/modules/libcom/src/misc/epicsString.h index 093c73df4..79e5f4931 100644 --- a/modules/libcom/src/misc/epicsString.h +++ b/modules/libcom/src/misc/epicsString.h @@ -17,32 +17,32 @@ #include #include "epicsTypes.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { #endif -epicsShareFunc int epicsStrnRawFromEscaped(char *outbuf, size_t outsize, +LIBCOM_API int epicsStrnRawFromEscaped(char *outbuf, size_t outsize, const char *inbuf, size_t inlen); -epicsShareFunc int epicsStrnEscapedFromRaw(char *outbuf, size_t outsize, +LIBCOM_API int epicsStrnEscapedFromRaw(char *outbuf, size_t outsize, const char *inbuf, size_t inlen); -epicsShareFunc size_t epicsStrnEscapedFromRawSize(const char *buf, size_t len); -epicsShareFunc int epicsStrCaseCmp(const char *s1, const char *s2); -epicsShareFunc int epicsStrnCaseCmp(const char *s1, const char *s2, size_t len); -epicsShareFunc char * epicsStrDup(const char *s); -epicsShareFunc char * epicsStrnDup(const char *s, size_t len); -epicsShareFunc int epicsStrPrintEscaped(FILE *fp, const char *s, size_t n); +LIBCOM_API size_t epicsStrnEscapedFromRawSize(const char *buf, size_t len); +LIBCOM_API int epicsStrCaseCmp(const char *s1, const char *s2); +LIBCOM_API int epicsStrnCaseCmp(const char *s1, const char *s2, size_t len); +LIBCOM_API char * epicsStrDup(const char *s); +LIBCOM_API char * epicsStrnDup(const char *s, size_t len); +LIBCOM_API int epicsStrPrintEscaped(FILE *fp, const char *s, size_t n); #define epicsStrSnPrintEscaped epicsStrnEscapedFromRaw -epicsShareFunc size_t epicsStrnLen(const char *s, size_t maxlen); -epicsShareFunc int epicsStrGlobMatch(const char *str, const char *pattern); -epicsShareFunc char * epicsStrtok_r(char *s, const char *delim, char **lasts); -epicsShareFunc unsigned int epicsStrHash(const char *str, unsigned int seed); -epicsShareFunc unsigned int epicsMemHash(const char *str, size_t length, +LIBCOM_API size_t epicsStrnLen(const char *s, size_t maxlen); +LIBCOM_API int epicsStrGlobMatch(const char *str, const char *pattern); +LIBCOM_API char * epicsStrtok_r(char *s, const char *delim, char **lasts); +LIBCOM_API unsigned int epicsStrHash(const char *str, unsigned int seed); +LIBCOM_API unsigned int epicsMemHash(const char *str, size_t length, unsigned int seed); /* dbTranslateEscape is deprecated, use epicsStrnRawFromEscaped instead */ -epicsShareFunc int dbTranslateEscape(char *s, const char *ct); +LIBCOM_API int dbTranslateEscape(char *s, const char *ct); #ifdef __cplusplus } diff --git a/modules/libcom/src/misc/epicsTypes.h b/modules/libcom/src/misc/epicsTypes.h index efc6a91cb..399cb9620 100644 --- a/modules/libcom/src/misc/epicsTypes.h +++ b/modules/libcom/src/misc/epicsTypes.h @@ -15,7 +15,7 @@ #ifndef INC_epicsTypes_H #define INC_epicsTypes_H -#include "shareLib.h" +#include "libComAPI.h" #include "compilerDependencies.h" #ifndef stringOf @@ -120,7 +120,7 @@ typedef enum { * of type name strings. */ #ifdef epicsTypesGLOBAL -epicsShareDef const char *epicsTypeNames [lastEpicsType+1] = { +const char *epicsTypeNames [lastEpicsType+1] = { "epicsInt8", "epicsUInt8", "epicsInt16", @@ -134,7 +134,7 @@ epicsShareDef const char *epicsTypeNames [lastEpicsType+1] = { "epicsOldString", }; #else /* epicsTypesGLOBAL */ -epicsShareExtern const char *epicsTypeNames [lastEpicsType+1]; +LIBCOM_API extern const char *epicsTypeNames [lastEpicsType+1]; #endif /* epicsTypesGLOBAL */ /* @@ -142,7 +142,7 @@ epicsShareExtern const char *epicsTypeNames [lastEpicsType+1]; * of type code name strings. */ #ifdef epicsTypesGLOBAL -epicsShareDef const char *epicsTypeCodeNames [lastEpicsType+1] = { +const char *epicsTypeCodeNames [lastEpicsType+1] = { "epicsInt8T", "epicsUInt8T", "epicsInt16T", @@ -156,11 +156,11 @@ epicsShareDef const char *epicsTypeCodeNames [lastEpicsType+1] = { "epicsOldStringT", }; #else /* epicsTypesGLOBAL */ -epicsShareExtern const char *epicsTypeCodeNames [lastEpicsType+1]; +LIBCOM_API extern const char *epicsTypeCodeNames [lastEpicsType+1]; #endif /* epicsTypesGLOBAL */ #ifdef epicsTypesGLOBAL -epicsShareDef const unsigned epicsTypeSizes [lastEpicsType+1] = { +const unsigned epicsTypeSizes [lastEpicsType+1] = { sizeof (epicsInt8), sizeof (epicsUInt8), sizeof (epicsInt16), @@ -174,7 +174,7 @@ epicsShareDef const unsigned epicsTypeSizes [lastEpicsType+1] = { sizeof (epicsOldString), }; #else /* epicsTypesGLOBAL */ -epicsShareExtern const unsigned epicsTypeSizes [lastEpicsType+1]; +LIBCOM_API extern const unsigned epicsTypeSizes [lastEpicsType+1]; #endif /* epicsTypesGLOBAL */ /* @@ -191,7 +191,7 @@ typedef enum { } epicsTypeClass; #ifdef epicsTypesGLOBAL -epicsShareDef const epicsTypeClass epicsTypeClasses [lastEpicsType+1] = { +const epicsTypeClass epicsTypeClasses [lastEpicsType+1] = { epicsIntC, epicsUIntC, epicsIntC, @@ -205,12 +205,12 @@ epicsShareDef const epicsTypeClass epicsTypeClasses [lastEpicsType+1] = { epicsOldStringC }; #else /* epicsTypesGLOBAL */ -epicsShareExtern const epicsTypeClass epicsTypeClasses [lastEpicsType+1]; +LIBCOM_API extern const epicsTypeClass epicsTypeClasses [lastEpicsType+1]; #endif /* epicsTypesGLOBAL */ #ifdef epicsTypesGLOBAL -epicsShareDef const char *epicsTypeAnyFieldName [lastEpicsType+1] = { +const char *epicsTypeAnyFieldName [lastEpicsType+1] = { "int8", "uInt8", "int16", @@ -224,7 +224,7 @@ epicsShareDef const char *epicsTypeAnyFieldName [lastEpicsType+1] = { "", /* Old Style Strings will not be in epicsAny type */ }; #else /* epicsTypesGLOBAL */ -epicsShareExtern const char *epicsTypeAnyFieldName [lastEpicsType+1]; +LIBCOM_API extern const char *epicsTypeAnyFieldName [lastEpicsType+1]; #endif /* epicsTypesGLOBAL */ #endif /* INC_epicsTypes_H */ diff --git a/modules/libcom/src/misc/epicsUnitTest.c b/modules/libcom/src/misc/epicsUnitTest.c index 40e67a147..c2178e4b6 100644 --- a/modules/libcom/src/misc/epicsUnitTest.c +++ b/modules/libcom/src/misc/epicsUnitTest.c @@ -21,7 +21,6 @@ # include #endif -#define epicsExportSharedSymbols #include "epicsThread.h" #include "epicsMutex.h" #include "epicsUnitTest.h" diff --git a/modules/libcom/src/misc/epicsUnitTest.h b/modules/libcom/src/misc/epicsUnitTest.h index 31aac6dc1..f090eb192 100644 --- a/modules/libcom/src/misc/epicsUnitTest.h +++ b/modules/libcom/src/misc/epicsUnitTest.h @@ -149,7 +149,7 @@ ok 3 - M_PI == 4.0*atan(1.0) #include #include "compilerDependencies.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -159,7 +159,7 @@ extern "C" { * \param tests Number of tests to be run. May be zero if not known but the * test harness then can't tell if the program dies prematurely. */ -epicsShareFunc void testPlan(int tests); +LIBCOM_API void testPlan(int tests); /** \name Announcing Test Results * Routines that declare individual test results. @@ -171,7 +171,7 @@ epicsShareFunc void testPlan(int tests); * \param ... Any parameters required for the format string. * \return The value of \p pass. */ -epicsShareFunc int testOk(int pass, const char *fmt, ...) +LIBCOM_API int testOk(int pass, const char *fmt, ...) EPICS_PRINTF_STYLE(2, 3); /** \brief Test result using condition as description * \param cond Condition to be evaluated and displayed. @@ -184,19 +184,19 @@ epicsShareFunc int testOk(int pass, const char *fmt, ...) * \param pvar A var-args pointer to any parameters for the format string. * \return The value of \p pass. */ -epicsShareFunc int testOkV(int pass, const char *fmt, va_list pvar); +LIBCOM_API int testOkV(int pass, const char *fmt, va_list pvar); /** \brief Passing test result with printf-style description. * \param fmt A printf-style format string describing the test. * \param ... Any parameters required for the format string. * \return The value of \p pass. */ -epicsShareFunc void testPass(const char *fmt, ...) +LIBCOM_API void testPass(const char *fmt, ...) EPICS_PRINTF_STYLE(1, 2); /** \brief Failing test result with printf-style description. * \param fmt A printf-style format string describing the test. * \param ... Any parameters required for the format string. */ -epicsShareFunc void testFail(const char *fmt, ...) +LIBCOM_API void testFail(const char *fmt, ...) EPICS_PRINTF_STYLE(1, 2); /** @} */ @@ -209,19 +209,19 @@ epicsShareFunc void testFail(const char *fmt, ...) * \param skip How many tests are being skipped. * \param why Reason for skipping these tests. */ -epicsShareFunc void testSkip(int skip, const char *why); +LIBCOM_API void testSkip(int skip, const char *why); /** \brief Mark the start of a group of tests that are expected to fail * \param why Reason for expected failures. */ -epicsShareFunc void testTodoBegin(const char *why); +LIBCOM_API void testTodoBegin(const char *why); /** \brief Mark the end of a failing test group. */ -epicsShareFunc void testTodoEnd(void); +LIBCOM_API void testTodoEnd(void); /** \brief Stop testing, program cannot continue. * \param fmt A printf-style format string giving the reason for stopping. * \param ... Any parameters required for the format string. */ -epicsShareFunc void testAbort(const char *fmt, ...) +LIBCOM_API void testAbort(const char *fmt, ...) EPICS_PRINTF_STYLE(1, 2); /** @} */ @@ -229,13 +229,13 @@ epicsShareFunc void testAbort(const char *fmt, ...) * \param fmt A printf-style format string containing diagnostic information. * \param ... Any parameters required for the format string. */ -epicsShareFunc int testDiag(const char *fmt, ...) +LIBCOM_API int testDiag(const char *fmt, ...) EPICS_PRINTF_STYLE(1, 2); /** \brief Mark the end of testing. */ -epicsShareFunc int testDone(void); +LIBCOM_API int testDone(void); -epicsShareFunc +LIBCOM_API int testImpreciseTiming(void); /** \name Test Harness for Embedded OSs @@ -248,9 +248,9 @@ int testImpreciseTiming(void); typedef int (*TESTFUNC)(void); /** \brief Initialize test harness */ -epicsShareFunc void testHarness(void); -epicsShareFunc void testHarnessExit(void *dummy); -epicsShareFunc void runTestFunc(const char *name, TESTFUNC func); +LIBCOM_API void testHarness(void); +LIBCOM_API void testHarnessExit(void *dummy); +LIBCOM_API void runTestFunc(const char *name, TESTFUNC func); /** \brief Run a test program * \param func Name of the test program. diff --git a/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.cpp b/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.cpp index ec2c16ded..4698a7af7 100644 --- a/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.cpp +++ b/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.cpp @@ -21,7 +21,6 @@ //#define EPICS_FREELIST_DEBUG #define EPICS_PRIVATE_API -#define epicsExportSharedSymbols #include "ipAddrToAsciiAsynchronous.h" #include "epicsThread.h" #include "epicsMutex.h" diff --git a/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.h b/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.h index 9aefca44e..64a0efa73 100644 --- a/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.h +++ b/modules/libcom/src/misc/ipAddrToAsciiAsynchronous.h @@ -17,16 +17,16 @@ #define ipAddrToAsciiAsynchronous_h #include "osiSock.h" -#include "shareLib.h" +#include "libComAPI.h" -class epicsShareClass ipAddrToAsciiCallBack { +class LIBCOM_API ipAddrToAsciiCallBack { public: virtual void transactionComplete ( const char * pHostName ) = 0; virtual void show ( unsigned level ) const; virtual ~ipAddrToAsciiCallBack () = 0; }; -class epicsShareClass ipAddrToAsciiTransaction { +class LIBCOM_API ipAddrToAsciiTransaction { public: virtual void release () = 0; virtual void ipAddrToAscii ( const osiSockAddr &, ipAddrToAsciiCallBack & ) = 0; @@ -36,7 +36,7 @@ protected: virtual ~ipAddrToAsciiTransaction () = 0; }; -class epicsShareClass ipAddrToAsciiEngine { +class LIBCOM_API ipAddrToAsciiEngine { public: virtual void release () = 0; virtual ipAddrToAsciiTransaction & createTransaction () = 0; diff --git a/modules/libcom/src/misc/truncateFile.c b/modules/libcom/src/misc/truncateFile.c index dc074d9fb..4271867d5 100644 --- a/modules/libcom/src/misc/truncateFile.c +++ b/modules/libcom/src/misc/truncateFile.c @@ -14,7 +14,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #ifndef SEEK_END @@ -25,7 +24,7 @@ * truncate to specified size (we dont use truncate() * because it is not portable) */ -epicsShareFunc enum TF_RETURN truncateFile (const char *pFileName, unsigned long size) +LIBCOM_API enum TF_RETURN truncateFile (const char *pFileName, unsigned long size) { long filePos; FILE *pFile; diff --git a/modules/libcom/src/misc/unixFileName.h b/modules/libcom/src/misc/unixFileName.h index 0b6edb92e..b9a5bf05a 100644 --- a/modules/libcom/src/misc/unixFileName.h +++ b/modules/libcom/src/misc/unixFileName.h @@ -14,7 +14,7 @@ #ifndef unixFileNameH #define unixFileNameH -#include +#include #ifdef __cplusplus extern "C" { @@ -26,13 +26,13 @@ extern "C" { /** Return the absolute path of the current executable. \return NULL or the path. Caller must free() */ -epicsShareFunc +LIBCOM_API char *epicsGetExecName(void); /** Return the absolute path of the directory containing the current executable. \return NULL or the path. Caller must free() */ -epicsShareFunc +LIBCOM_API char *epicsGetExecDir(void); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/devLibVME.c b/modules/libcom/src/osi/devLibVME.c index 6c7d93f99..72e29d601 100644 --- a/modules/libcom/src/osi/devLibVME.c +++ b/modules/libcom/src/osi/devLibVME.c @@ -23,7 +23,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "epicsMutex.h" #include "errlog.h" diff --git a/modules/libcom/src/osi/devLibVME.h b/modules/libcom/src/osi/devLibVME.h index fbf8b399a..0fe0669a6 100644 --- a/modules/libcom/src/osi/devLibVME.h +++ b/modules/libcom/src/osi/devLibVME.h @@ -29,7 +29,7 @@ #include "dbDefs.h" #include "osdVME.h" #include "errMdef.h" -#include "shareLib.h" +#include "libComAPI.h" #include "devLib.h" #ifdef __cplusplus @@ -47,7 +47,7 @@ typedef enum { } epicsAddressType; /** \brief A string representation of each of the bus address types */ -epicsShareExtern const char *epicsAddressTypeName[]; +LIBCOM_API extern const char *epicsAddressTypeName[]; #ifdef __cplusplus } @@ -70,7 +70,7 @@ extern "C" { * each registered address. * \return 0, or an error status value */ -epicsShareFunc long devAddressMap(void); +LIBCOM_API long devAddressMap(void); /** \brief Translate a bus address to a pointer the CPU can use. * @@ -81,7 +81,7 @@ epicsShareFunc long devAddressMap(void); * \param *ppLocalAddr Where to put the CPU pointer. * \return 0, or an error status value. */ -epicsShareFunc long devBusToLocalAddr ( +LIBCOM_API long devBusToLocalAddr ( epicsAddressType addrType, size_t busAddr, volatile void **ppLocalAddr); @@ -96,7 +96,7 @@ epicsShareFunc long devBusToLocalAddr ( * \return 0, or an error status value if the location could not be * accessed or the read caused a bus error. */ -epicsShareFunc long devReadProbe ( +LIBCOM_API long devReadProbe ( unsigned wordSize, volatile const void *ptr, void *pValueRead); /** \brief Read-probe a range of bus addresses, looking for empty space. @@ -113,7 +113,7 @@ epicsShareFunc long devReadProbe ( * \param size Range of bus addresses to test, in bytes. * \return 0 if no devices respond, or an error status value. */ -epicsShareFunc long devNoResponseProbe( +LIBCOM_API long devNoResponseProbe( epicsAddressType addrType, size_t base, size_t size @@ -129,7 +129,7 @@ epicsShareFunc long devNoResponseProbe( * \return 0, or an error status value if the location could not be * accessed or the write caused a bus error. */ -epicsShareFunc long devWriteProbe ( +LIBCOM_API long devWriteProbe ( unsigned wordSize, volatile void *ptr, const void *pValueWritten); /** \brief Register a bus address range with a name. @@ -146,7 +146,7 @@ epicsShareFunc long devWriteProbe ( * \param pPhysicalAddress Where to put the converted CPU pointer. * \return 0, or an error status. */ -epicsShareFunc long devRegisterAddress( +LIBCOM_API long devRegisterAddress( const char *pOwnerName, epicsAddressType addrType, size_t logicalBaseAddress, @@ -162,7 +162,7 @@ epicsShareFunc long devRegisterAddress( * \param pOwnerName The name of the driver that owns this range. * \return 0, or an error status. */ -epicsShareFunc long devUnregisterAddress( +LIBCOM_API long devUnregisterAddress( epicsAddressType addrType, size_t logicalBaseAddress, const char *pOwnerName); @@ -185,7 +185,7 @@ epicsShareFunc long devUnregisterAddress( * \param pLocalAddress Where to put the CPU pointer. * \return 0, or an error status value. */ -epicsShareFunc long devAllocAddress( +LIBCOM_API long devAllocAddress( const char *pOwnerName, epicsAddressType addrType, size_t size, @@ -211,7 +211,7 @@ epicsShareFunc long devAllocAddress( * \param parameter Context parameter for the ISR. * \return 0, or an error status value. */ -epicsShareFunc long devConnectInterruptVME( +LIBCOM_API long devConnectInterruptVME( unsigned vectorNumber, void (*pFunction)(void *), void *parameter); @@ -229,7 +229,7 @@ epicsShareFunc long devConnectInterruptVME( * \param pFunction The ISR to be disconnected. * \return 0, or an error status value. */ -epicsShareFunc long devDisconnectInterruptVME( +LIBCOM_API long devDisconnectInterruptVME( unsigned vectorNumber, void (*pFunction)(void *)); @@ -240,7 +240,7 @@ epicsShareFunc long devDisconnectInterruptVME( * \param vectorNumber Interrupt vector number. * \return True if vector has an ISR attached, otherwise false. */ -epicsShareFunc int devInterruptInUseVME (unsigned vectorNumber); +LIBCOM_API int devInterruptInUseVME (unsigned vectorNumber); /** \brief Enable a VME interrupt level onto the CPU. * @@ -252,7 +252,7 @@ epicsShareFunc int devInterruptInUseVME (unsigned vectorNumber); * \param level VMEbus interrupt level to enable, 1-7. * \return 0, or an error status value. */ -epicsShareFunc long devEnableInterruptLevelVME (unsigned level); +LIBCOM_API long devEnableInterruptLevelVME (unsigned level); /** \brief Disable a VME interrupt level. * @@ -265,7 +265,7 @@ epicsShareFunc long devEnableInterruptLevelVME (unsigned level); * \param level VMEbus interrupt level to disable, 1-7. * \return 0, or an error status value. */ -epicsShareFunc long devDisableInterruptLevelVME (unsigned level); +LIBCOM_API long devDisableInterruptLevelVME (unsigned level); /** @} */ /** \name Memory for VME DMA Operations @@ -281,7 +281,7 @@ epicsShareFunc long devDisableInterruptLevelVME (unsigned level); * \param size How many bytes to allocate * \return A pointer to the memory allocated, or NULL. */ -epicsShareFunc void *devLibA24Malloc(size_t size); +LIBCOM_API void *devLibA24Malloc(size_t size); /** \brief calloc() for VME drivers that support DMA. * @@ -291,7 +291,7 @@ epicsShareFunc void *devLibA24Malloc(size_t size); * \param size How many bytes to allocate and zero. * \return A pointer to the memory allocated, or NULL. */ -epicsShareFunc void *devLibA24Calloc(size_t size); +LIBCOM_API void *devLibA24Calloc(size_t size); /** \brief free() for VME drivers that support DMA. * @@ -299,7 +299,7 @@ epicsShareFunc void *devLibA24Calloc(size_t size); * devLibA24Malloc() or devLibA24Calloc(). * \param pBlock Block to be released. */ -epicsShareFunc void devLibA24Free(void *pBlock); +LIBCOM_API void devLibA24Free(void *pBlock); /** @} */ /** \name ISA Interrupt Management @@ -319,7 +319,7 @@ epicsShareFunc void devLibA24Free(void *pBlock); * \param parameter Parameter to the called function. * \return Returns success or error. */ -epicsShareFunc long devConnectInterruptISA( +LIBCOM_API long devConnectInterruptISA( unsigned interruptLevel, void (*pFunction)(void *), void *parameter); @@ -331,7 +331,7 @@ epicsShareFunc long devConnectInterruptISA( * \param pFunction C function pointer that was connected. * \return returns success or error. */ -epicsShareFunc long devDisconnectInterruptISA( +LIBCOM_API long devDisconnectInterruptISA( unsigned interruptLevel, void (*pFunction)(void *)); @@ -341,21 +341,21 @@ epicsShareFunc long devDisconnectInterruptISA( * \param interruptLevel Interrupt level. * \return Returns True/False. */ -epicsShareFunc int devInterruptLevelInUseISA (unsigned interruptLevel); +LIBCOM_API int devInterruptLevelInUseISA (unsigned interruptLevel); /** * Enable ISA interrupt level * \param level Interrupt level. * \return Returns True/False. */ -epicsShareFunc long devEnableInterruptLevelISA (unsigned level); +LIBCOM_API long devEnableInterruptLevelISA (unsigned level); /** * Disable ISA interrupt level * \param level Interrupt level. * \return Returns True/False. */ -epicsShareFunc long devDisableInterruptLevelISA (unsigned level); +LIBCOM_API long devDisableInterruptLevelISA (unsigned level); /** @} */ #ifndef NO_DEVLIB_OLD_INTERFACE @@ -373,7 +373,7 @@ typedef enum {intVME, intVXI, intISA} epicsInterruptType; * devConnectInterruptISA() instead. devConnectInterrupt() will be removed * in a future release. */ -epicsShareFunc long devConnectInterrupt( +LIBCOM_API long devConnectInterrupt( epicsInterruptType intType, unsigned vectorNumber, void (*pFunction)(void *), @@ -386,7 +386,7 @@ epicsShareFunc long devConnectInterrupt( * devDisconnectInterruptISA() instead. devDisconnectInterrupt() will * be removed in a future release. */ -epicsShareFunc long devDisconnectInterrupt( +LIBCOM_API long devDisconnectInterrupt( epicsInterruptType intType, unsigned vectorNumber, void (*pFunction)(void *)); @@ -398,7 +398,7 @@ epicsShareFunc long devDisconnectInterrupt( * devEnableInterruptLevelISA() instead. devEnableInterruptLevel() will * be removed in a future release. */ -epicsShareFunc long devEnableInterruptLevel( +LIBCOM_API long devEnableInterruptLevel( epicsInterruptType intType, unsigned level); /** @@ -408,7 +408,7 @@ epicsShareFunc long devEnableInterruptLevel( * devDisableInterruptLevelPCI() instead. devDisableInterruptLevel() will * be removed in a future release. */ -epicsShareFunc long devDisableInterruptLevel ( +LIBCOM_API long devDisableInterruptLevel ( epicsInterruptType intType, unsigned level); /** @@ -417,7 +417,7 @@ epicsShareFunc long devDisableInterruptLevel ( * Please use devNoResponseProbe() instead. locationProbe() will be removed * in a future release. */ -epicsShareFunc long locationProbe (epicsAddressType addrType, char *pLocation); +LIBCOM_API long locationProbe (epicsAddressType addrType, char *pLocation); /** @} */ diff --git a/modules/libcom/src/osi/devLibVMEImpl.h b/modules/libcom/src/osi/devLibVMEImpl.h index c9fea8d00..a4f45ca29 100644 --- a/modules/libcom/src/osi/devLibVMEImpl.h +++ b/modules/libcom/src/osi/devLibVMEImpl.h @@ -19,7 +19,7 @@ #define INCdevLibImplh 1 #include "dbDefs.h" -#include "shareLib.h" +#include "libComAPI.h" #include "devLib.h" #ifdef __cplusplus @@ -71,7 +71,7 @@ typedef struct devLibVME { }devLibVME; /** \brief Pointer to the entry table used by devLibVME routines. */ -epicsShareExtern devLibVME *pdevLibVME; +LIBCOM_API extern devLibVME *pdevLibVME; #ifndef NO_DEVLIB_COMPAT /** \brief An alias for pdevLibVME */ diff --git a/modules/libcom/src/osi/epicsAssert.h b/modules/libcom/src/osi/epicsAssert.h index 8df8a2e86..a7db11aad 100644 --- a/modules/libcom/src/osi/epicsAssert.h +++ b/modules/libcom/src/osi/epicsAssert.h @@ -41,7 +41,7 @@ #ifndef INC_epicsAssert_H #define INC_epicsAssert_H -#include "shareLib.h" +#include "libComAPI.h" #include "compilerDependencies.h" #ifdef __cplusplus @@ -61,7 +61,7 @@ extern "C" { #else /* NDEBUG */ /**@private */ -epicsShareFunc void epicsAssert (const char *pFile, const unsigned line, +LIBCOM_API void epicsAssert (const char *pFile, const unsigned line, const char *pExp, const char *pAuthorName); /**\brief Declare that a condition should be true. diff --git a/modules/libcom/src/osi/epicsAtomicDefault.h b/modules/libcom/src/osi/epicsAtomicDefault.h index 26115ce63..9ae98efbf 100644 --- a/modules/libcom/src/osi/epicsAtomicDefault.h +++ b/modules/libcom/src/osi/epicsAtomicDefault.h @@ -22,10 +22,10 @@ extern "C" { /* * struct EpicsAtomicLockKey; - * epicsShareFunc void epicsAtomicReadMemoryBarrier (); - * epicsShareFunc void epicsAtomicWriteMemoryBarrier (); - * epicsShareFunc void epicsAtomicLock ( struct EpicsAtomicLockKey * ); - * epicsShareFunc void epicsAtomicUnock ( struct EpicsAtomicLockKey * ); + * LIBCOM_API void epicsAtomicReadMemoryBarrier (); + * LIBCOM_API void epicsAtomicWriteMemoryBarrier (); + * LIBCOM_API void epicsAtomicLock ( struct EpicsAtomicLockKey * ); + * LIBCOM_API void epicsAtomicUnock ( struct EpicsAtomicLockKey * ); */ /* diff --git a/modules/libcom/src/osi/epicsEvent.cpp b/modules/libcom/src/osi/epicsEvent.cpp index 237f7d268..7baec772b 100644 --- a/modules/libcom/src/osi/epicsEvent.cpp +++ b/modules/libcom/src/osi/epicsEvent.cpp @@ -13,7 +13,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsEvent.h" #include "epicsStdio.h" #include "cantProceed.h" @@ -104,7 +103,7 @@ void epicsEvent::show ( unsigned level ) const extern "C" { -epicsShareFunc epicsEventId epicsEventMustCreate ( +LIBCOM_API epicsEventId epicsEventMustCreate ( epicsEventInitialState initialState) { epicsEventId id = epicsEventCreate (initialState); @@ -114,14 +113,14 @@ epicsShareFunc epicsEventId epicsEventMustCreate ( return id; } -epicsShareFunc void epicsEventMustTrigger (epicsEventId id) { +LIBCOM_API void epicsEventMustTrigger (epicsEventId id) { epicsEventStatus status = epicsEventTrigger (id); if (status != epicsEventOK) cantProceed ("epicsEventMustTrigger"); } -epicsShareFunc void epicsEventMustWait (epicsEventId id) { +LIBCOM_API void epicsEventMustWait (epicsEventId id) { epicsEventStatus status = epicsEventWait (id); if (status != epicsEventOK) diff --git a/modules/libcom/src/osi/epicsEvent.h b/modules/libcom/src/osi/epicsEvent.h index c97cb4d8a..9429b9db6 100644 --- a/modules/libcom/src/osi/epicsEvent.h +++ b/modules/libcom/src/osi/epicsEvent.h @@ -40,7 +40,7 @@ #ifndef epicsEventh #define epicsEventh -#include "shareLib.h" +#include "libComAPI.h" /** \brief An identifier for an epicsEvent for use with the C API */ typedef struct epicsEventOSD *epicsEventId; @@ -75,7 +75,7 @@ typedef enum { * immediately. Multiple calls to trigger() may occur between wait() calls * but will have the same effect as a single trigger(), filling the event. **/ -class epicsShareClass epicsEvent { +class LIBCOM_API epicsEvent { public: /**\brief Constructor. * \param initial State when created, empty (the default) or full. @@ -128,7 +128,7 @@ extern "C" { * \param initialState Starting state, \c epicsEventEmpty or \c epicsEventFull. * \return An identifier for the new event, or NULL if one not be created. **/ -epicsShareFunc epicsEventId epicsEventCreate( +LIBCOM_API epicsEventId epicsEventCreate( epicsEventInitialState initialState); /**\brief Create an epicsEvent for use from C code. @@ -137,7 +137,7 @@ epicsShareFunc epicsEventId epicsEventCreate( * \param initialState Starting state, \c epicsEventEmpty or \c epicsEventFull. * \return An identifier for the new event. **/ -epicsShareFunc epicsEventId epicsEventMustCreate ( +LIBCOM_API epicsEventId epicsEventMustCreate ( epicsEventInitialState initialState); /**\brief Destroy an epicsEvent and any resources it holds. @@ -145,7 +145,7 @@ epicsShareFunc epicsEventId epicsEventMustCreate ( * No calls to any epicsEventWait routines can be active when this call is made. * \param id The event identifier. **/ -epicsShareFunc void epicsEventDestroy(epicsEventId id); +LIBCOM_API void epicsEventDestroy(epicsEventId id); /**\brief Trigger an event i.e. ensures the next or current call to wait * completes. @@ -155,7 +155,7 @@ epicsShareFunc void epicsEventDestroy(epicsEventId id); * \param id The event identifier. * \return Status indicator. **/ -epicsShareFunc epicsEventStatus epicsEventTrigger( +LIBCOM_API epicsEventStatus epicsEventTrigger( epicsEventId id); /**\brief Trigger an event. @@ -163,7 +163,7 @@ epicsShareFunc epicsEventStatus epicsEventTrigger( * This routine does not return if the identifier is invalid. * \param id The event identifier. */ -epicsShareFunc void epicsEventMustTrigger(epicsEventId id); +LIBCOM_API void epicsEventMustTrigger(epicsEventId id); /**\brief A synonym for epicsEventTrigger(). * \param ID The event identifier. @@ -176,7 +176,7 @@ epicsShareFunc void epicsEventMustTrigger(epicsEventId id); * \param id The event identifier. * \return Status indicator. **/ -epicsShareFunc epicsEventStatus epicsEventWait( +LIBCOM_API epicsEventStatus epicsEventWait( epicsEventId id); /**\brief Wait for an event (see epicsEventWait()). @@ -184,7 +184,7 @@ epicsShareFunc epicsEventStatus epicsEventWait( * This routine does not return if the identifier is invalid. * \param id The event identifier. */ -epicsShareFunc void epicsEventMustWait(epicsEventId id); +LIBCOM_API void epicsEventMustWait(epicsEventId id); /**\brief Wait an the event or until the specified timeout period is over. * \note Blocks until full or timeout. @@ -192,7 +192,7 @@ epicsShareFunc void epicsEventMustWait(epicsEventId id); * \param timeOut The timeout delay in seconds. * \return Status indicator. **/ -epicsShareFunc epicsEventStatus epicsEventWaitWithTimeout( +LIBCOM_API epicsEventStatus epicsEventWaitWithTimeout( epicsEventId id, double timeOut); /**\brief Similar to wait() except that if the event is currenly empty the @@ -200,7 +200,7 @@ epicsShareFunc epicsEventStatus epicsEventWaitWithTimeout( * \param id The event identifier. * \return Status indicator, \c epicsEventWaitTimeout when the event is empty. **/ -epicsShareFunc epicsEventStatus epicsEventTryWait( +LIBCOM_API epicsEventStatus epicsEventTryWait( epicsEventId id); /**\brief Display information about the semaphore. @@ -208,7 +208,7 @@ epicsShareFunc epicsEventStatus epicsEventTryWait( * \param id The event identifier. * \param level An unsigned int for the level of information to be displayed. **/ -epicsShareFunc void epicsEventShow( +LIBCOM_API void epicsEventShow( epicsEventId id, unsigned int level); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/epicsFindSymbol.h b/modules/libcom/src/osi/epicsFindSymbol.h index 9935834da..152a092ee 100644 --- a/modules/libcom/src/osi/epicsFindSymbol.h +++ b/modules/libcom/src/osi/epicsFindSymbol.h @@ -13,11 +13,11 @@ extern "C" { #endif -#include "shareLib.h" +#include "libComAPI.h" -epicsShareFunc void * epicsLoadLibrary(const char *name); -epicsShareFunc const char *epicsLoadError(void); -epicsShareFunc void * epicsShareAPI epicsFindSymbol(const char *name); +LIBCOM_API void * epicsLoadLibrary(const char *name); +LIBCOM_API const char *epicsLoadError(void); +LIBCOM_API void * epicsStdCall epicsFindSymbol(const char *name); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsGeneralTime.c b/modules/libcom/src/osi/epicsGeneralTime.c index 87158d937..ccab5e7be 100644 --- a/modules/libcom/src/osi/epicsGeneralTime.c +++ b/modules/libcom/src/osi/epicsGeneralTime.c @@ -12,7 +12,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsTypes.h" #include "epicsEvent.h" #include "epicsMutex.h" @@ -150,7 +149,7 @@ int generalTimeGetExceptPriority(epicsTimeStamp *pDest, int *pPrio, int ignore) return status; } -int epicsShareAPI epicsTimeGetCurrent(epicsTimeStamp *pDest) +int epicsStdCall epicsTimeGetCurrent(epicsTimeStamp *pDest) { gtProvider *ptp; int status = S_time_noProvider; @@ -339,7 +338,7 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, return status; } -int epicsShareAPI epicsTimeGetEvent(epicsTimeStamp *pDest, int eventNumber) +int epicsStdCall epicsTimeGetEvent(epicsTimeStamp *pDest, int eventNumber) { if (eventNumber == epicsTimeEventCurrentTime) { return epicsTimeGetCurrent(pDest); diff --git a/modules/libcom/src/osi/epicsGeneralTime.h b/modules/libcom/src/osi/epicsGeneralTime.h index 8f494b376..ab5f39483 100644 --- a/modules/libcom/src/osi/epicsGeneralTime.h +++ b/modules/libcom/src/osi/epicsGeneralTime.h @@ -36,7 +36,7 @@ #ifndef INC_epicsGeneralTime_H #define INC_epicsGeneralTime_H -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -60,7 +60,7 @@ extern "C" { * This routine is called automatically by any function that requires the * framework. It does not need to be called explicitly. **/ -epicsShareFunc void generalTime_Init(void); +LIBCOM_API void generalTime_Init(void); /**\brief Install a Time Event time provider that returns the current time for any * Time event number. @@ -69,7 +69,7 @@ epicsShareFunc void generalTime_Init(void); * Event time in the absence of any working provider should be a failure, or the * current time. **/ -epicsShareFunc int installLastResortEventProvider(void); +LIBCOM_API int installLastResortEventProvider(void); /**\brief Reset the internal counter of the number of times the time returned was * earlier than when previously requested. @@ -81,7 +81,7 @@ epicsShareFunc int installLastResortEventProvider(void); OUT = "@RSTERRCNT" \endcode **/ -epicsShareFunc void generalTimeResetErrorCounts(void); +LIBCOM_API void generalTimeResetErrorCounts(void); /**\brief Return the internal counter of the number of times the time returned was * earlier than when previously requested. @@ -95,7 +95,7 @@ epicsShareFunc void generalTimeResetErrorCounts(void); * * \return Reset error counts **/ -epicsShareFunc int generalTimeGetErrorCounts(void); +LIBCOM_API int generalTimeGetErrorCounts(void); /**\brief Return the nume of the provider that last returned a valid current time, or * NULL if none. @@ -108,7 +108,7 @@ epicsShareFunc int generalTimeGetErrorCounts(void); * * \return Provider name **/ -epicsShareFunc const char * generalTimeCurrentProviderName(void); +LIBCOM_API const char * generalTimeCurrentProviderName(void); /**\brief Return the name of the provider that last returned a valid Time Event time, or * NULL of none. @@ -121,7 +121,7 @@ epicsShareFunc const char * generalTimeCurrentProviderName(void); * * \return Provider name **/ -epicsShareFunc const char * generalTimeEventProviderName(void); +LIBCOM_API const char * generalTimeEventProviderName(void); /**\brief Return the name of the registered current time provider that has the highest * priority. @@ -134,7 +134,7 @@ epicsShareFunc const char * generalTimeEventProviderName(void); * * \return Provider name **/ -epicsShareFunc const char * generalTimeHighestCurrentName(void); +LIBCOM_API const char * generalTimeHighestCurrentName(void); /** \brief Old name provided for backwards compatibility */ #define generalTimeCurrentTpName generalTimeCurrentProviderName @@ -145,7 +145,7 @@ epicsShareFunc const char * generalTimeHighestCurrentName(void); * * \param interest Desired interest level to report **/ -epicsShareFunc long generalTimeReport(int interest); +LIBCOM_API long generalTimeReport(int interest); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsInterrupt.h b/modules/libcom/src/osi/epicsInterrupt.h index 93b443810..b536f0a3b 100644 --- a/modules/libcom/src/osi/epicsInterrupt.h +++ b/modules/libcom/src/osi/epicsInterrupt.h @@ -13,12 +13,12 @@ extern "C" { #endif -#include "shareLib.h" +#include "libComAPI.h" -epicsShareFunc int epicsInterruptLock(void); -epicsShareFunc void epicsInterruptUnlock(int key); -epicsShareFunc int epicsInterruptIsInterruptContext(void); -epicsShareFunc void epicsInterruptContextMessage(const char *message); +LIBCOM_API int epicsInterruptLock(void); +LIBCOM_API void epicsInterruptUnlock(int key); +LIBCOM_API int epicsInterruptIsInterruptContext(void); +LIBCOM_API void epicsInterruptContextMessage(const char *message); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsMath.cpp b/modules/libcom/src/osi/epicsMath.cpp index 1388e658a..3cfca0a6c 100644 --- a/modules/libcom/src/osi/epicsMath.cpp +++ b/modules/libcom/src/osi/epicsMath.cpp @@ -6,7 +6,6 @@ \*************************************************************************/ /* epicsMath.cpp */ -#define epicsExportSharedSymbols #include #ifdef _MSC_VER @@ -33,8 +32,8 @@ static float makeINF ( void ) #endif extern "C" { -epicsShareDef float epicsNAN = NAN; -epicsShareDef float epicsINF = INFINITY; +float epicsNAN = NAN; +float epicsINF = INFINITY; } #ifdef _MSC_VER diff --git a/modules/libcom/src/osi/epicsMessageQueue.cpp b/modules/libcom/src/osi/epicsMessageQueue.cpp index 1527b3d3a..b5c1ad91c 100644 --- a/modules/libcom/src/osi/epicsMessageQueue.cpp +++ b/modules/libcom/src/osi/epicsMessageQueue.cpp @@ -15,7 +15,6 @@ #include -#define epicsExportSharedSymbols #include "epicsMessageQueue.h" #include "epicsStdio.h" diff --git a/modules/libcom/src/osi/epicsMessageQueue.h b/modules/libcom/src/osi/epicsMessageQueue.h index 7150eab44..6f1330530 100644 --- a/modules/libcom/src/osi/epicsMessageQueue.h +++ b/modules/libcom/src/osi/epicsMessageQueue.h @@ -21,7 +21,7 @@ #define epicsMessageQueueh #include "epicsAssert.h" -#include "shareLib.h" +#include "libComAPI.h" typedef struct epicsMessageQueueOSD *epicsMessageQueueId; @@ -45,7 +45,7 @@ typedef struct epicsMessageQueueOSD *epicsMessageQueueId; * pmq = &mq1; // OK, pointer assignment and address-of * \endcode **/ -class epicsShareClass epicsMessageQueue { +class LIBCOM_API epicsMessageQueue { public: /** @@ -173,14 +173,14 @@ extern "C" { * message that may be queued * \return An identifier for the new queue, or 0. **/ -epicsShareFunc epicsMessageQueueId epicsShareAPI epicsMessageQueueCreate( +LIBCOM_API epicsMessageQueueId epicsStdCall epicsMessageQueueCreate( unsigned int capacity, unsigned int maximumMessageSize); /** * \brief Destroy a message queue, release all its memory. **/ -epicsShareFunc void epicsShareAPI epicsMessageQueueDestroy( +LIBCOM_API void epicsStdCall epicsMessageQueueDestroy( epicsMessageQueueId id); /** @@ -192,7 +192,7 @@ epicsShareFunc void epicsShareAPI epicsMessageQueueDestroy( * \returns -1 if no more messages can be queued or if the message * is larger than the queue's maximum message size. **/ -epicsShareFunc int epicsShareAPI epicsMessageQueueTrySend( +LIBCOM_API int epicsStdCall epicsMessageQueueTrySend( epicsMessageQueueId id, void *message, unsigned int messageSize); @@ -204,7 +204,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueTrySend( * \returns -1 if the message is larger than the queue's maximum * message size. **/ -epicsShareFunc int epicsShareAPI epicsMessageQueueSend( +LIBCOM_API int epicsStdCall epicsMessageQueueSend( epicsMessageQueueId id, void *message, unsigned int messageSize); @@ -217,7 +217,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueSend( * message could be sent or queued, or if the message is larger * than the queue's maximum message size. **/ -epicsShareFunc int epicsShareAPI epicsMessageQueueSendWithTimeout( +LIBCOM_API int epicsStdCall epicsMessageQueueSendWithTimeout( epicsMessageQueueId id, void *message, unsigned int messageSize, @@ -238,7 +238,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueSendWithTimeout( * \returns Number of bytes in the message. * \returns -1 if the message queue is empty, or the buffer too small. **/ -epicsShareFunc int epicsShareAPI epicsMessageQueueTryReceive( +LIBCOM_API int epicsStdCall epicsMessageQueueTryReceive( epicsMessageQueueId id, void *message, unsigned int size); @@ -257,7 +257,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueTryReceive( * \returns Number of bytes in the message. * \returns -1 if the buffer is too small for the message. **/ -epicsShareFunc int epicsShareAPI epicsMessageQueueReceive( +LIBCOM_API int epicsStdCall epicsMessageQueueReceive( epicsMessageQueueId id, void *message, unsigned int size); @@ -277,7 +277,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueReceive( * \returns -1 if a message is not received within the timeout * interval. **/ -epicsShareFunc int epicsShareAPI epicsMessageQueueReceiveWithTimeout( +LIBCOM_API int epicsStdCall epicsMessageQueueReceiveWithTimeout( epicsMessageQueueId id, void *message, unsigned int size, @@ -288,7 +288,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueReceiveWithTimeout( * \param id Message queue identifier. * \returns The number of messages presently in the queue. **/ -epicsShareFunc int epicsShareAPI epicsMessageQueuePending( +LIBCOM_API int epicsStdCall epicsMessageQueuePending( epicsMessageQueueId id); /** @@ -296,7 +296,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueuePending( * \param id Message queue identifier. * \param level Controls the amount of information displayed. **/ -epicsShareFunc void epicsShareAPI epicsMessageQueueShow( +LIBCOM_API void epicsStdCall epicsMessageQueueShow( epicsMessageQueueId id, int level); diff --git a/modules/libcom/src/osi/epicsMutex.cpp b/modules/libcom/src/osi/epicsMutex.cpp index 035431145..a937f5b4e 100644 --- a/modules/libcom/src/osi/epicsMutex.cpp +++ b/modules/libcom/src/osi/epicsMutex.cpp @@ -25,7 +25,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "epicsThread.h" #include "valgrind/valgrind.h" @@ -83,7 +82,7 @@ static void epicsMutexOsiInit(void *) { epicsMutexGlobalLock = epicsMutexOsdCreate(); } -epicsMutexId epicsShareAPI epicsMutexOsiCreate( +epicsMutexId epicsStdCall epicsMutexOsiCreate( const char *pFileName,int lineno) { epicsMutexOSD * id; @@ -117,7 +116,7 @@ epicsMutexId epicsShareAPI epicsMutexOsiCreate( return(pmutexNode); } -epicsMutexId epicsShareAPI epicsMutexOsiMustCreate( +epicsMutexId epicsStdCall epicsMutexOsiMustCreate( const char *pFileName,int lineno) { epicsMutexId id = epicsMutexOsiCreate(pFileName,lineno); @@ -125,7 +124,7 @@ epicsMutexId epicsShareAPI epicsMutexOsiMustCreate( return(id ); } -void epicsShareAPI epicsMutexDestroy(epicsMutexId pmutexNode) +void epicsStdCall epicsMutexDestroy(epicsMutexId pmutexNode) { epicsMutexLockStatus lockStat = epicsMutexOsdLock(epicsMutexGlobalLock); @@ -138,12 +137,12 @@ void epicsShareAPI epicsMutexDestroy(epicsMutexId pmutexNode) epicsMutexOsdUnlock(epicsMutexGlobalLock); } -void epicsShareAPI epicsMutexUnlock(epicsMutexId pmutexNode) +void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode) { epicsMutexOsdUnlock(pmutexNode->id); } -epicsMutexLockStatus epicsShareAPI epicsMutexLock( +epicsMutexLockStatus epicsStdCall epicsMutexLock( epicsMutexId pmutexNode) { epicsMutexLockStatus status = @@ -156,7 +155,7 @@ epicsMutexLockStatus epicsShareAPI epicsMutexLock( return status; } -epicsMutexLockStatus epicsShareAPI epicsMutexTryLock( +epicsMutexLockStatus epicsStdCall epicsMutexTryLock( epicsMutexId pmutexNode) { epicsMutexLockStatus status = @@ -189,7 +188,7 @@ void epicsMutexCleanup(void) epicsMutexOsdUnlock(epicsMutexGlobalLock); } -void epicsShareAPI epicsMutexShow( +void epicsStdCall epicsMutexShow( epicsMutexId pmutexNode, unsigned int level) { # ifdef LOG_LAST_OWNER @@ -215,7 +214,7 @@ void epicsShareAPI epicsMutexShow( } } -void epicsShareAPI epicsMutexShowAll(int onlyLocked,unsigned int level) +void epicsStdCall epicsMutexShowAll(int onlyLocked,unsigned int level) { epicsMutexParm *pmutexNode; diff --git a/modules/libcom/src/osi/epicsMutex.h b/modules/libcom/src/osi/epicsMutex.h index 89a3410f9..af27f2f96 100644 --- a/modules/libcom/src/osi/epicsMutex.h +++ b/modules/libcom/src/osi/epicsMutex.h @@ -36,7 +36,7 @@ #include "epicsAssert.h" -#include "shareLib.h" +#include "libComAPI.h" /**\brief An identifier for an epicsMutex for use with the C API */ typedef struct epicsMutexParm *epicsMutexId; @@ -59,7 +59,7 @@ typedef enum { /**\brief The C++ API for an epicsMutex. */ -class epicsShareClass epicsMutex { +class LIBCOM_API epicsMutex { public: typedef epicsGuard guard_t; typedef epicsGuard release_t; @@ -129,7 +129,7 @@ private: }; /**\brief A semaphore for locating deadlocks in C++ code. */ -class epicsShareClass epicsDeadlockDetectMutex { +class LIBCOM_API epicsDeadlockDetectMutex { public: typedef epicsGuard guard_t; typedef epicsGuard release_t; @@ -161,7 +161,7 @@ extern "C" { **/ #define epicsMutexCreate() epicsMutexOsiCreate(__FILE__,__LINE__) /**\brief Internal API, used by epicsMutexCreate(). */ -epicsShareFunc epicsMutexId epicsShareAPI epicsMutexOsiCreate( +LIBCOM_API epicsMutexId epicsStdCall epicsMutexOsiCreate( const char *pFileName,int lineno); /**\brief Create an epicsMutex semaphore for use from C code. @@ -172,20 +172,20 @@ epicsShareFunc epicsMutexId epicsShareAPI epicsMutexOsiCreate( **/ #define epicsMutexMustCreate() epicsMutexOsiMustCreate(__FILE__,__LINE__) /**\brief Internal API, used by epicsMutexMustCreate(). */ -epicsShareFunc epicsMutexId epicsShareAPI epicsMutexOsiMustCreate( +LIBCOM_API epicsMutexId epicsStdCall epicsMutexOsiMustCreate( const char *pFileName,int lineno); /**\brief Destroy an epicsMutex semaphore. * \param id The mutex identifier. **/ -epicsShareFunc void epicsShareAPI epicsMutexDestroy(epicsMutexId id); +LIBCOM_API void epicsStdCall epicsMutexDestroy(epicsMutexId id); /**\brief Release the semaphore. * \param id The mutex identifier. * \note If a thread issues recursive locks, it must call epicsMutexUnlock() * as many times as it calls epicsMutexLock() or equivalents. **/ -epicsShareFunc void epicsShareAPI epicsMutexUnlock(epicsMutexId id); +LIBCOM_API void epicsStdCall epicsMutexUnlock(epicsMutexId id); /**\brief Claim the semaphore, waiting until it's free if currently owned * owned by a different thread. @@ -197,7 +197,7 @@ epicsShareFunc void epicsShareAPI epicsMutexUnlock(epicsMutexId id); * \param id The mutex identifier. * \return Status indicator. **/ -epicsShareFunc epicsMutexLockStatus epicsShareAPI epicsMutexLock( +LIBCOM_API epicsMutexLockStatus epicsStdCall epicsMutexLock( epicsMutexId id); /**\brief Claim a semaphore (see epicsMutexLock()). @@ -217,7 +217,7 @@ epicsShareFunc epicsMutexLockStatus epicsShareAPI epicsMutexLock( * \return \c epicsMutexLockOK if the resource is now owned by the caller. * \return \c epicsMutexLockTimeout if some other thread owns the resource. **/ -epicsShareFunc epicsMutexLockStatus epicsShareAPI epicsMutexTryLock( +LIBCOM_API epicsMutexLockStatus epicsStdCall epicsMutexTryLock( epicsMutexId id); /**\brief Display information about the semaphore. @@ -227,7 +227,7 @@ epicsShareFunc epicsMutexLockStatus epicsShareAPI epicsMutexTryLock( * \param id The mutex identifier. * \param level Desired information level to report **/ -epicsShareFunc void epicsShareAPI epicsMutexShow( +LIBCOM_API void epicsStdCall epicsMutexShow( epicsMutexId id,unsigned int level); /**\brief Display information about all epicsMutex semaphores. @@ -237,7 +237,7 @@ epicsShareFunc void epicsShareAPI epicsMutexShow( * \param onlyLocked Non-zero to show only locked semaphores. * \param level Desired information level to report **/ -epicsShareFunc void epicsShareAPI epicsMutexShowAll( +LIBCOM_API void epicsStdCall epicsMutexShowAll( int onlyLocked,unsigned int level); /**@privatesection diff --git a/modules/libcom/src/osi/epicsReadline.c b/modules/libcom/src/osi/epicsReadline.c index 0caa50fc2..55eb4fc19 100644 --- a/modules/libcom/src/osi/epicsReadline.c +++ b/modules/libcom/src/osi/epicsReadline.c @@ -11,7 +11,6 @@ #include #include -#define epicsExportSharedSymbols #include "envDefs.h" #include "epicsReadline.h" @@ -61,7 +60,7 @@ static void osdReadlineEnd(struct readlineContext *rc) {} /* * Create a command-line context */ -void * epicsShareAPI +void * epicsStdCall epicsReadlineBegin(FILE *in) { struct readlineContext *rc = calloc(1, sizeof(*rc)); @@ -78,7 +77,7 @@ epicsReadlineBegin(FILE *in) /* * Read a line of input */ -char * epicsShareAPI +char * epicsStdCall epicsReadline (const char *prompt, void *context) { struct readlineContext *rc = context; @@ -138,7 +137,7 @@ epicsReadline (const char *prompt, void *context) /* * Destroy a command-line context */ -void epicsShareAPI +void epicsStdCall epicsReadlineEnd (void *context) { if (context) { diff --git a/modules/libcom/src/osi/epicsReadline.h b/modules/libcom/src/osi/epicsReadline.h index 78c233119..1021a6a56 100644 --- a/modules/libcom/src/osi/epicsReadline.h +++ b/modules/libcom/src/osi/epicsReadline.h @@ -23,26 +23,26 @@ extern "C" { #endif -#include +#include #include /** * \brief Create a command-line context * \param in Filehandle to read from * \return Command-line context */ -epicsShareFunc void * epicsShareAPI epicsReadlineBegin (FILE *in); +LIBCOM_API void * epicsStdCall epicsReadlineBegin (FILE *in); /** * \brief Read a line of input * \param prompt Prompt string * \param context To read from * \return Line read */ -epicsShareFunc char * epicsShareAPI epicsReadline (const char *prompt, void *context); +LIBCOM_API char * epicsStdCall epicsReadline (const char *prompt, void *context); /** * \brief Destroy a command-line context * \param context Command-line context to destroy */ -epicsShareFunc void epicsShareAPI epicsReadlineEnd (void *context); +LIBCOM_API void epicsStdCall epicsReadlineEnd (void *context); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsSignal.h b/modules/libcom/src/osi/epicsSignal.h index f976ee040..186822f34 100644 --- a/modules/libcom/src/osi/epicsSignal.h +++ b/modules/libcom/src/osi/epicsSignal.h @@ -14,7 +14,7 @@ extern "C" { #endif -#include "shareLib.h" +#include "libComAPI.h" /** \file epicsSignal.h * \brief OS-independent routines for ignoring Posix signals @@ -29,21 +29,21 @@ struct epicsThreadOSD; * Required to avoid problems with soft IOCs getting SIGHUPs when a * Channel Access client disconnects */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigHupIgnore ( void ); +LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore ( void ); /** Ignore the SIGPIPE signal. * Required to avoid terminating a process which is blocking in a * socket send() call when the SIGPIPE signal is generated by the OS. */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigPipeIgnore ( void ); +LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore ( void ); /** Ignore the SIGALRM signal. * Required only if shutdown() and close() do not interrupt a thread blocking in * a socket system call */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigAlarmIgnore ( void ); +LIBCOM_API void epicsStdCall epicsSignalInstallSigAlarmIgnore ( void ); /** Raise a SIGALRM signal to a specific epicsThread */ -epicsShareFunc void epicsShareAPI epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * ); +LIBCOM_API void epicsStdCall epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * ); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsSpin.h b/modules/libcom/src/osi/epicsSpin.h index 22ce8ec8f..1b089dadf 100644 --- a/modules/libcom/src/osi/epicsSpin.h +++ b/modules/libcom/src/osi/epicsSpin.h @@ -9,7 +9,7 @@ #ifndef epicsSpinh #define epicsSpinh -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -17,13 +17,13 @@ extern "C" { typedef struct epicsSpin *epicsSpinId; -epicsShareFunc epicsSpinId epicsSpinCreate(void); -epicsShareFunc epicsSpinId epicsSpinMustCreate(void); -epicsShareFunc void epicsSpinDestroy(epicsSpinId); +LIBCOM_API epicsSpinId epicsSpinCreate(void); +LIBCOM_API epicsSpinId epicsSpinMustCreate(void); +LIBCOM_API void epicsSpinDestroy(epicsSpinId); -epicsShareFunc void epicsSpinLock(epicsSpinId); -epicsShareFunc int epicsSpinTryLock(epicsSpinId); -epicsShareFunc void epicsSpinUnlock(epicsSpinId); +LIBCOM_API void epicsSpinLock(epicsSpinId); +LIBCOM_API int epicsSpinTryLock(epicsSpinId); +LIBCOM_API void epicsSpinUnlock(epicsSpinId); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsStackTrace.c b/modules/libcom/src/osi/epicsStackTrace.c index 0fe6928c4..e3054efd0 100644 --- a/modules/libcom/src/osi/epicsStackTrace.c +++ b/modules/libcom/src/osi/epicsStackTrace.c @@ -9,7 +9,6 @@ #include -#define epicsExportSharedSymbols #include "epicsThread.h" #include "epicsMutex.h" #include "errlog.h" diff --git a/modules/libcom/src/osi/epicsStackTrace.h b/modules/libcom/src/osi/epicsStackTrace.h index 885e90abe..a293876f1 100644 --- a/modules/libcom/src/osi/epicsStackTrace.h +++ b/modules/libcom/src/osi/epicsStackTrace.h @@ -10,14 +10,14 @@ #ifndef INC_epicsStackTrace_H #define INC_epicsStackTrace_H -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { #endif /* Dump a stack trace to the errlog */ -epicsShareFunc void epicsStackTrace(void); +LIBCOM_API void epicsStackTrace(void); /* Inquire about functionality implemented on your system */ @@ -34,7 +34,7 @@ epicsShareFunc void epicsStackTrace(void); #define EPICS_STACKTRACE_LCL_SYMBOLS (1<<3) /* returns ORed bitset of supported features */ -epicsShareFunc int epicsStackTraceGetFeatures(void); +LIBCOM_API int epicsStackTraceGetFeatures(void); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsStackTracePvt.h b/modules/libcom/src/osi/epicsStackTracePvt.h index de26044fa..00b013d91 100644 --- a/modules/libcom/src/osi/epicsStackTracePvt.h +++ b/modules/libcom/src/osi/epicsStackTracePvt.h @@ -10,7 +10,7 @@ #ifndef INC_epicsStackTracePvt_H #define INC_epicsStackTracePvt_H -#include "shareLib.h" +#include "libComAPI.h" typedef struct epicsSymbol { const char *f_nam; /* file where the symbol is defined */ @@ -25,7 +25,7 @@ extern "C" { /* Take a snapshot of the stack into 'buf' (limited to buf_sz entries) * RETURNS: actual number of entries in 'buf' */ -epicsShareFunc int epicsBackTrace(void **buf, int buf_sz); +LIBCOM_API int epicsBackTrace(void **buf, int buf_sz); /* Find symbol closest to 'addr'. * @@ -36,10 +36,10 @@ epicsShareFunc int epicsBackTrace(void **buf, int buf_sz); * RETURNS: 0 on success, nonzero on failure (not finding an address * is not considered an error). */ -epicsShareFunc int epicsFindAddr(void *addr, epicsSymbol *sym_p); +LIBCOM_API int epicsFindAddr(void *addr, epicsSymbol *sym_p); /* report supported features (as reported by epicsStackTraceGetFeatures) */ -epicsShareFunc int epicsFindAddrGetFeatures(); +LIBCOM_API int epicsFindAddrGetFeatures(); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsStdio.c b/modules/libcom/src/osi/epicsStdio.c index 52b65bbe4..db4919039 100644 --- a/modules/libcom/src/osi/epicsStdio.c +++ b/modules/libcom/src/osi/epicsStdio.c @@ -18,9 +18,8 @@ #include #include -#define epicsExportSharedSymbols #define epicsStdioStdStreams -#include "shareLib.h" +#include "libComAPI.h" #include "epicsThread.h" #include "epicsStdio.h" @@ -36,7 +35,7 @@ static void once(void *junk) stderrThreadPrivateId = epicsThreadPrivateCreate(); } -FILE * epicsShareAPI epicsGetStdin(void) +FILE * epicsStdCall epicsGetStdin(void) { FILE *fp = epicsGetThreadStdin(); @@ -45,7 +44,7 @@ FILE * epicsShareAPI epicsGetStdin(void) return fp; } -FILE * epicsShareAPI epicsGetStdout(void) +FILE * epicsStdCall epicsGetStdout(void) { FILE *fp = epicsGetThreadStdout(); @@ -54,7 +53,7 @@ FILE * epicsShareAPI epicsGetStdout(void) return fp; } -FILE * epicsShareAPI epicsGetStderr(void) +FILE * epicsStdCall epicsGetStderr(void) { FILE *fp = epicsGetThreadStderr(); @@ -63,19 +62,19 @@ FILE * epicsShareAPI epicsGetStderr(void) return fp; } -FILE * epicsShareAPI epicsGetThreadStdin(void) +FILE * epicsStdCall epicsGetThreadStdin(void) { epicsThreadOnce(&onceId,once,0); return epicsThreadPrivateGet(stdinThreadPrivateId); } -FILE * epicsShareAPI epicsGetThreadStdout(void) +FILE * epicsStdCall epicsGetThreadStdout(void) { epicsThreadOnce(&onceId,once,0); return epicsThreadPrivateGet(stdoutThreadPrivateId); } -FILE * epicsShareAPI epicsGetThreadStderr(void) +FILE * epicsStdCall epicsGetThreadStderr(void) { /* Deliberately don't do the epicsThreadOnce() here; epicsThreadInit() * is allowed to use stderr inside its once() routine, in which case we @@ -88,25 +87,25 @@ FILE * epicsShareAPI epicsGetThreadStderr(void) return epicsThreadPrivateGet(stderrThreadPrivateId); } -void epicsShareAPI epicsSetThreadStdin(FILE *fp) +void epicsStdCall epicsSetThreadStdin(FILE *fp) { epicsThreadOnce(&onceId,once,0); epicsThreadPrivateSet(stdinThreadPrivateId,fp); } -void epicsShareAPI epicsSetThreadStdout(FILE *fp) +void epicsStdCall epicsSetThreadStdout(FILE *fp) { epicsThreadOnce(&onceId,once,0); epicsThreadPrivateSet(stdoutThreadPrivateId,fp); } -void epicsShareAPI epicsSetThreadStderr(FILE *fp) +void epicsStdCall epicsSetThreadStderr(FILE *fp) { epicsThreadOnce(&onceId,once,0); epicsThreadPrivateSet(stderrThreadPrivateId,fp); } -int epicsShareAPI epicsStdoutPrintf(const char *pFormat, ...) +int epicsStdCall epicsStdoutPrintf(const char *pFormat, ...) { va_list pvar; int nchar; @@ -118,12 +117,12 @@ int epicsShareAPI epicsStdoutPrintf(const char *pFormat, ...) return nchar; } -int epicsShareAPI epicsStdoutPuts(const char *str) +int epicsStdCall epicsStdoutPuts(const char *str) { return fprintf(epicsGetStdout(), "%s\n", str); } -int epicsShareAPI epicsStdoutPutchar(int c) +int epicsStdCall epicsStdoutPutchar(int c) { return putc(c, epicsGetStdout()); } diff --git a/modules/libcom/src/osi/epicsStdio.h b/modules/libcom/src/osi/epicsStdio.h index 9ef0b2239..205842bde 100644 --- a/modules/libcom/src/osi/epicsStdio.h +++ b/modules/libcom/src/osi/epicsStdio.h @@ -15,7 +15,7 @@ #include #include -#include "shareLib.h" +#include "libComAPI.h" #include "compilerDependencies.h" #include "epicsTempFile.h" @@ -51,9 +51,9 @@ extern "C" { # define putchar epicsStdoutPutchar #endif -epicsShareFunc int epicsShareAPI epicsSnprintf( +LIBCOM_API int epicsStdCall epicsSnprintf( char *str, size_t size, const char *format, ...) EPICS_PRINTF_STYLE(3,4); -epicsShareFunc int epicsShareAPI epicsVsnprintf( +LIBCOM_API int epicsStdCall epicsVsnprintf( char *str, size_t size, const char *format, va_list ap); /* @@ -68,24 +68,24 @@ epicsShareFunc int epicsShareAPI epicsVsnprintf( * TF_ERROR if the file could not be truncated. */ enum TF_RETURN {TF_OK=0, TF_ERROR=1}; -epicsShareFunc enum TF_RETURN truncateFile ( const char *pFileName, unsigned long size ); +LIBCOM_API enum TF_RETURN truncateFile ( const char *pFileName, unsigned long size ); /* The following are for redirecting stdin,stdout,stderr */ -epicsShareFunc FILE * epicsShareAPI epicsGetStdin(void); -epicsShareFunc FILE * epicsShareAPI epicsGetStdout(void); -epicsShareFunc FILE * epicsShareAPI epicsGetStderr(void); +LIBCOM_API FILE * epicsStdCall epicsGetStdin(void); +LIBCOM_API FILE * epicsStdCall epicsGetStdout(void); +LIBCOM_API FILE * epicsStdCall epicsGetStderr(void); /* These are intended for iocsh only */ -epicsShareFunc FILE * epicsShareAPI epicsGetThreadStdin(void); -epicsShareFunc FILE * epicsShareAPI epicsGetThreadStdout(void); -epicsShareFunc FILE * epicsShareAPI epicsGetThreadStderr(void); -epicsShareFunc void epicsShareAPI epicsSetThreadStdin(FILE *); -epicsShareFunc void epicsShareAPI epicsSetThreadStdout(FILE *); -epicsShareFunc void epicsShareAPI epicsSetThreadStderr(FILE *); +LIBCOM_API FILE * epicsStdCall epicsGetThreadStdin(void); +LIBCOM_API FILE * epicsStdCall epicsGetThreadStdout(void); +LIBCOM_API FILE * epicsStdCall epicsGetThreadStderr(void); +LIBCOM_API void epicsStdCall epicsSetThreadStdin(FILE *); +LIBCOM_API void epicsStdCall epicsSetThreadStdout(FILE *); +LIBCOM_API void epicsStdCall epicsSetThreadStderr(FILE *); -epicsShareFunc int epicsShareAPI epicsStdoutPrintf( +LIBCOM_API int epicsStdCall epicsStdoutPrintf( const char *pformat, ...) EPICS_PRINTF_STYLE(1,2); -epicsShareFunc int epicsShareAPI epicsStdoutPuts(const char *str); -epicsShareFunc int epicsShareAPI epicsStdoutPutchar(int c); +LIBCOM_API int epicsStdCall epicsStdoutPuts(const char *str); +LIBCOM_API int epicsStdCall epicsStdoutPutchar(int c); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsTempFile.h b/modules/libcom/src/osi/epicsTempFile.h index 210e69740..d1b49053e 100644 --- a/modules/libcom/src/osi/epicsTempFile.h +++ b/modules/libcom/src/osi/epicsTempFile.h @@ -17,7 +17,7 @@ #include -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -27,7 +27,7 @@ extern "C" { * \brief Create and open a temporary file. * \return NULL or a FILE pointer to a temporary file. **/ -epicsShareFunc FILE * epicsShareAPI epicsTempFile(void); +LIBCOM_API FILE * epicsStdCall epicsTempFile(void); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/epicsThread.cpp b/modules/libcom/src/osi/epicsThread.cpp index 1d2adaf10..542089281 100644 --- a/modules/libcom/src/osi/epicsThread.cpp +++ b/modules/libcom/src/osi/epicsThread.cpp @@ -21,7 +21,6 @@ // The following is required for Solaris builds #undef __EXTENSIONS__ -#define epicsExportSharedSymbols #include "epicsAlgorithm.h" #include "epicsTime.h" #include "epicsThread.h" @@ -31,7 +30,7 @@ using namespace std; -epicsThreadId epicsShareAPI epicsThreadCreate ( +epicsThreadId epicsStdCall epicsThreadCreate ( const char * name, unsigned int priority, unsigned int stackSize, EPICSTHREADFUNC funptr,void * parm ) { @@ -356,7 +355,7 @@ extern "C" { okToBlockPrivate = epicsThreadPrivateCreate(); } - int epicsShareAPI epicsThreadIsOkToBlock(void) + int epicsStdCall epicsThreadIsOkToBlock(void) { const int *pokToBlock; epicsThreadOnce(&okToBlockOnce, epicsThreadOnceIdInit, NULL); @@ -364,7 +363,7 @@ extern "C" { return (pokToBlock ? *pokToBlock : 0); } - void epicsShareAPI epicsThreadSetOkToBlock(int isOkToBlock) + void epicsStdCall epicsThreadSetOkToBlock(int isOkToBlock) { const int *pokToBlock; epicsThreadOnce(&okToBlockOnce, epicsThreadOnceIdInit, NULL); @@ -372,7 +371,7 @@ extern "C" { epicsThreadPrivateSet(okToBlockPrivate, (void *)pokToBlock); } - epicsThreadId epicsShareAPI epicsThreadMustCreate ( + epicsThreadId epicsStdCall epicsThreadMustCreate ( const char *name, unsigned int priority, unsigned int stackSize, EPICSTHREADFUNC funptr,void *parm) { diff --git a/modules/libcom/src/osi/epicsThread.h b/modules/libcom/src/osi/epicsThread.h index b25c3cd7c..806b40e85 100644 --- a/modules/libcom/src/osi/epicsThread.h +++ b/modules/libcom/src/osi/epicsThread.h @@ -57,7 +57,7 @@ #include -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -99,7 +99,7 @@ typedef enum { * \param size one of the values epicsThreadStackSmall, * epicsThreadStackMedium or epicsThreadStackBig. **/ -epicsShareFunc unsigned int epicsShareAPI epicsThreadGetStackSize( +LIBCOM_API unsigned int epicsStdCall epicsThreadGetStackSize( epicsThreadStackSizeClass size); /** (epicsThreadId)0 is guaranteed to be an invalid thread id */ @@ -126,7 +126,7 @@ typedef epicsThreadId epicsThreadOnceId; * } * \endcode */ -epicsShareFunc void epicsShareAPI epicsThreadOnce( +LIBCOM_API void epicsStdCall epicsThreadOnce( epicsThreadOnceId *id, EPICSTHREADFUNC, void *arg); /** @@ -134,7 +134,7 @@ epicsShareFunc void epicsShareAPI epicsThreadOnce( * that preserve real-time performance. For POSIX targets this locks the * process into RAM, preventing swap-related VM faults. **/ -epicsShareFunc void epicsThreadRealtimeLock(void); +LIBCOM_API void epicsThreadRealtimeLock(void); /** * If the main routine is done but wants to let other threads run it can @@ -142,7 +142,7 @@ epicsShareFunc void epicsThreadRealtimeLock(void); * final return. On most systems epicsThreadExitMain never returns.This * must only be called by the main thread. **/ -epicsShareFunc void epicsShareAPI epicsThreadExitMain(void); +LIBCOM_API void epicsStdCall epicsThreadExitMain(void); /** For use with epicsThreadCreateOpt() */ typedef struct epicsThreadOpts { @@ -174,73 +174,73 @@ typedef struct epicsThreadOpts { * \param opts Modifiers for the new thread, or NULL to use target specific defaults. * \return NULL on error */ -epicsShareFunc epicsThreadId epicsThreadCreateOpt ( +LIBCOM_API epicsThreadId epicsThreadCreateOpt ( const char * name, EPICSTHREADFUNC funptr, void * parm, const epicsThreadOpts *opts ); /** Short-hand for epicsThreadCreateOpt() to create an un-joinable thread. */ -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadCreate ( +LIBCOM_API epicsThreadId epicsStdCall epicsThreadCreate ( const char * name, unsigned int priority, unsigned int stackSize, EPICSTHREADFUNC funptr,void * parm ); /** Short-hand for epicsThreadCreateOpt() to create an un-joinable thread. * On error calls cantProceed() */ -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadMustCreate ( +LIBCOM_API epicsThreadId epicsStdCall epicsThreadMustCreate ( const char * name, unsigned int priority, unsigned int stackSize, EPICSTHREADFUNC funptr,void * parm ); /* This gets undefined in osdThread.h on VxWorks < 6.9 */ #define EPICS_THREAD_CAN_JOIN /** Wait for a joinable thread to exit (return from its main function) */ -epicsShareFunc void epicsThreadMustJoin(epicsThreadId id); +LIBCOM_API void epicsThreadMustJoin(epicsThreadId id); /** Block the current thread until epicsThreadResume(). */ -epicsShareFunc void epicsShareAPI epicsThreadSuspendSelf(void); +LIBCOM_API void epicsStdCall epicsThreadSuspendSelf(void); /** Resume a thread suspended with epicsThreadSuspendSelf() */ -epicsShareFunc void epicsShareAPI epicsThreadResume(epicsThreadId id); +LIBCOM_API void epicsStdCall epicsThreadResume(epicsThreadId id); /** Return thread OSI priority */ -epicsShareFunc unsigned int epicsShareAPI epicsThreadGetPriority( +LIBCOM_API unsigned int epicsStdCall epicsThreadGetPriority( epicsThreadId id); /** Return thread OSI priority */ -epicsShareFunc unsigned int epicsShareAPI epicsThreadGetPrioritySelf(void); +LIBCOM_API unsigned int epicsStdCall epicsThreadGetPrioritySelf(void); /** Change OSI priority of target thread. */ -epicsShareFunc void epicsShareAPI epicsThreadSetPriority( +LIBCOM_API void epicsStdCall epicsThreadSetPriority( epicsThreadId id,unsigned int priority); /** Lookup the next usage OSI priority such that priority > *pPriorityJustBelow * if this is possible with the current target configuration and privlages. */ -epicsShareFunc epicsThreadBooleanStatus epicsShareAPI +LIBCOM_API epicsThreadBooleanStatus epicsStdCall epicsThreadHighestPriorityLevelBelow ( unsigned int priority, unsigned *pPriorityJustBelow); /** Lookup the next usage OSI priority such that priority < *pPriorityJustBelow * if this is possible with the current target configuration and privlages. */ -epicsShareFunc epicsThreadBooleanStatus epicsShareAPI +LIBCOM_API epicsThreadBooleanStatus epicsStdCall epicsThreadLowestPriorityLevelAbove ( unsigned int priority, unsigned *pPriorityJustAbove); /** Test if two thread IDs actually refer to the same OS thread */ -epicsShareFunc int epicsShareAPI epicsThreadIsEqual( +LIBCOM_API int epicsStdCall epicsThreadIsEqual( epicsThreadId id1, epicsThreadId id2); /** How and why a thread can be suspended is implementation dependent. A * thread calling epicsThreadSuspendSelf() should result in this routine * returning true for that thread, but a thread may also be suspended * for other reasons. **/ -epicsShareFunc int epicsShareAPI epicsThreadIsSuspended(epicsThreadId id); +LIBCOM_API int epicsStdCall epicsThreadIsSuspended(epicsThreadId id); /** \brief Block the calling thread for at least the specified time. * \param seconds Time to wait in seconds. Values <=0 blocks for the shortest possible time. */ -epicsShareFunc void epicsShareAPI epicsThreadSleep(double seconds); +LIBCOM_API void epicsStdCall epicsThreadSleep(double seconds); /** \brief Query a value approximating the OS timer/scheduler resolution. * \return A value in seconds >=0 * * \warning On targets other than vxWorks and RTEMS, the quantum value often isn't * meaningful. Use of this function is discouraged in portable code. */ -epicsShareFunc double epicsShareAPI epicsThreadSleepQuantum(void); +LIBCOM_API double epicsStdCall epicsThreadSleepQuantum(void); /** Find an epicsThreadId associated with the current thread. * For non-EPICS threads, a new epicsThreadId may be allocated. */ -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetIdSelf(void); +LIBCOM_API epicsThreadId epicsStdCall epicsThreadGetIdSelf(void); /** Attempt to find the first instance of a thread by name. * \return An epicsThreadId, or NULL if no such thread is currently running. * Note that a non-NULL ID may still be invalid if this call races @@ -249,12 +249,12 @@ epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetIdSelf(void); * \warning Safe use of this function requires external knowledge that this * thread will not return. */ -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetId(const char *name); +LIBCOM_API epicsThreadId epicsStdCall epicsThreadGetId(const char *name); /** Return a value approximating the number of threads which this target * can run in parallel. This value is advisory. * \return >=1 */ -epicsShareFunc int epicsThreadGetCPUs(void); +LIBCOM_API int epicsThreadGetCPUs(void); /** Return the name of the current thread. * @@ -263,7 +263,7 @@ epicsShareFunc int epicsThreadGetCPUs(void); * This is either a copy of the string passed to epicsThread*Create*(), * or an arbitrary unique string for non-EPICS threads. */ -epicsShareFunc const char * epicsShareAPI epicsThreadGetNameSelf(void); +LIBCOM_API const char * epicsStdCall epicsThreadGetNameSelf(void); /** Copy out the thread name into the provided buffer. * @@ -271,7 +271,7 @@ epicsShareFunc const char * epicsShareAPI epicsThreadGetNameSelf(void); * size is number of bytes in buffer to hold name (including terminator). * Failure results in an empty string stored in name. */ -epicsShareFunc void epicsShareAPI epicsThreadGetName( +LIBCOM_API void epicsStdCall epicsThreadGetName( epicsThreadId id, char *name, size_t size); /** @@ -280,20 +280,20 @@ epicsShareFunc void epicsShareAPI epicsThreadGetName( * For example the errlog system calls this to decide when messages * should be displayed on the console. **/ -epicsShareFunc int epicsShareAPI epicsThreadIsOkToBlock(void); +LIBCOM_API int epicsStdCall epicsThreadIsOkToBlock(void); /** * When a thread is started the default is that it is not allowed to * block. This method can be called to change the state. For example * iocsh calls this to specify that it is OK to block. **/ -epicsShareFunc void epicsShareAPI epicsThreadSetOkToBlock(int isOkToBlock); +LIBCOM_API void epicsStdCall epicsThreadSetOkToBlock(int isOkToBlock); /** Print to stdout information about all running EPICS threads. * \param level 0 prints minimal output. Higher values print more details. */ -epicsShareFunc void epicsShareAPI epicsThreadShowAll(unsigned int level); +LIBCOM_API void epicsStdCall epicsThreadShowAll(unsigned int level); /** Print info about a single EPICS thread. */ -epicsShareFunc void epicsShareAPI epicsThreadShow( +LIBCOM_API void epicsStdCall epicsThreadShow( epicsThreadId id,unsigned int level); /** @@ -307,35 +307,35 @@ typedef void (*EPICS_THREAD_HOOK_ROUTINE)(epicsThreadId id); * routine with epicsAtThreadExit() to release thread-specific resources * they have allocated. */ -epicsShareFunc int epicsThreadHookAdd(EPICS_THREAD_HOOK_ROUTINE hook); +LIBCOM_API int epicsThreadHookAdd(EPICS_THREAD_HOOK_ROUTINE hook); /** * Remove routine from the list of hooks run at thread creation time. **/ -epicsShareFunc int epicsThreadHookDelete(EPICS_THREAD_HOOK_ROUTINE hook); +LIBCOM_API int epicsThreadHookDelete(EPICS_THREAD_HOOK_ROUTINE hook); /** * Print the current list of hook function pointers. **/ -epicsShareFunc void epicsThreadHooksShow(void); +LIBCOM_API void epicsThreadHooksShow(void); /** * Call func once for every known thread. **/ -epicsShareFunc void epicsThreadMap(EPICS_THREAD_HOOK_ROUTINE func); +LIBCOM_API void epicsThreadMap(EPICS_THREAD_HOOK_ROUTINE func); /** Thread local storage */ typedef struct epicsThreadPrivateOSD * epicsThreadPrivateId; /** Allocate a new thread local variable. * This variable will initially hold NULL for each thread. */ -epicsShareFunc epicsThreadPrivateId epicsShareAPI epicsThreadPrivateCreate(void); +LIBCOM_API epicsThreadPrivateId epicsStdCall epicsThreadPrivateCreate(void); /** Free a thread local variable */ -epicsShareFunc void epicsShareAPI epicsThreadPrivateDelete(epicsThreadPrivateId id); +LIBCOM_API void epicsStdCall epicsThreadPrivateDelete(epicsThreadPrivateId id); /** Update thread local variable */ -epicsShareFunc void epicsShareAPI epicsThreadPrivateSet(epicsThreadPrivateId,void *); +LIBCOM_API void epicsStdCall epicsThreadPrivateSet(epicsThreadPrivateId,void *); /** Fetch the current value of a thread local variable */ -epicsShareFunc void * epicsShareAPI epicsThreadPrivateGet(epicsThreadPrivateId); +LIBCOM_API void * epicsStdCall epicsThreadPrivateGet(epicsThreadPrivateId); #ifdef __cplusplus } @@ -347,7 +347,7 @@ epicsShareFunc void * epicsShareAPI epicsThreadPrivateGet(epicsThreadPrivateId); #include "epicsMutex.h" //! Interface used with class epicsThread -class epicsShareClass epicsThreadRunable { +class LIBCOM_API epicsThreadRunable { public: virtual ~epicsThreadRunable () = 0; //! Thread main function. @@ -366,7 +366,7 @@ extern "C" void epicsThreadCallEntryPoint ( void * ); * * \note Threads must be start() ed. */ -class epicsShareClass epicsThread { +class LIBCOM_API epicsThread { public: /** Create a new thread with the provided information. * @@ -438,7 +438,7 @@ private: class exitException {}; }; -class epicsShareClass epicsThreadPrivateBase { +class LIBCOM_API epicsThreadPrivateBase { public: class unableToCreateThreadPrivate {}; /* exception */ protected: diff --git a/modules/libcom/src/osi/epicsTime.cpp b/modules/libcom/src/osi/epicsTime.cpp index f80d1738b..8c31d592e 100644 --- a/modules/libcom/src/osi/epicsTime.cpp +++ b/modules/libcom/src/osi/epicsTime.cpp @@ -28,7 +28,6 @@ #include #include // vxWorks 6.0 requires this include -#define epicsExportSharedSymbols #include "locationException.h" #include "epicsAssert.h" #include "epicsVersion.h" @@ -931,7 +930,7 @@ extern "C" { // its too bad that these cant be implemented with inline functions // at least when running the GNU compiler // - epicsShareFunc int epicsShareAPI epicsTimeToTime_t (time_t *pDest, const epicsTimeStamp *pSrc) + LIBCOM_API int epicsStdCall epicsTimeToTime_t (time_t *pDest, const epicsTimeStamp *pSrc) { try { time_t_wrapper dst = epicsTime (*pSrc); @@ -942,7 +941,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeFromTime_t (epicsTimeStamp *pDest, time_t src) + LIBCOM_API int epicsStdCall epicsTimeFromTime_t (epicsTimeStamp *pDest, time_t src) { try { time_t_wrapper dst; @@ -954,7 +953,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeToTM (struct tm *pDest, unsigned long *pNSecDest, const epicsTimeStamp *pSrc) + LIBCOM_API int epicsStdCall epicsTimeToTM (struct tm *pDest, unsigned long *pNSecDest, const epicsTimeStamp *pSrc) { try { local_tm_nano_sec tmns = epicsTime (*pSrc); @@ -967,7 +966,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeToGMTM (struct tm *pDest, unsigned long *pNSecDest, const epicsTimeStamp *pSrc) + LIBCOM_API int epicsStdCall epicsTimeToGMTM (struct tm *pDest, unsigned long *pNSecDest, const epicsTimeStamp *pSrc) { try { gm_tm_nano_sec gmtmns = epicsTime (*pSrc); @@ -980,7 +979,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeFromTM (epicsTimeStamp *pDest, const struct tm *pSrc, unsigned long nSecSrc) + LIBCOM_API int epicsStdCall epicsTimeFromTM (epicsTimeStamp *pDest, const struct tm *pSrc, unsigned long nSecSrc) { try { local_tm_nano_sec tmns; @@ -993,7 +992,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeFromGMTM (epicsTimeStamp *pDest, const struct tm *pSrc, unsigned long nSecSrc) + LIBCOM_API int epicsStdCall epicsTimeFromGMTM (epicsTimeStamp *pDest, const struct tm *pSrc, unsigned long nSecSrc) { try { gm_tm_nano_sec tmns; @@ -1006,7 +1005,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeToTimespec (struct timespec *pDest, const epicsTimeStamp *pSrc) + LIBCOM_API int epicsStdCall epicsTimeToTimespec (struct timespec *pDest, const epicsTimeStamp *pSrc) { try { *pDest = epicsTime (*pSrc); @@ -1016,7 +1015,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeFromTimespec (epicsTimeStamp *pDest, const struct timespec *pSrc) + LIBCOM_API int epicsStdCall epicsTimeFromTimespec (epicsTimeStamp *pDest, const struct timespec *pSrc) { try { *pDest = epicsTime (*pSrc); @@ -1026,7 +1025,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeToTimeval (struct timeval *pDest, const epicsTimeStamp *pSrc) + LIBCOM_API int epicsStdCall epicsTimeToTimeval (struct timeval *pDest, const epicsTimeStamp *pSrc) { try { *pDest = epicsTime (*pSrc); @@ -1036,7 +1035,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc int epicsShareAPI epicsTimeFromTimeval (epicsTimeStamp *pDest, const struct timeval *pSrc) + LIBCOM_API int epicsStdCall epicsTimeFromTimeval (epicsTimeStamp *pDest, const struct timeval *pSrc) { try { *pDest = epicsTime (*pSrc); @@ -1046,7 +1045,7 @@ extern "C" { } return epicsTimeOK; } - epicsShareFunc double epicsShareAPI epicsTimeDiffInSeconds (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) + LIBCOM_API double epicsStdCall epicsTimeDiffInSeconds (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) { try { return epicsTime (*pLeft) - epicsTime (*pRight); @@ -1055,7 +1054,7 @@ extern "C" { return - DBL_MAX; } } - epicsShareFunc void epicsShareAPI epicsTimeAddSeconds (epicsTimeStamp *pDest, double seconds) + LIBCOM_API void epicsStdCall epicsTimeAddSeconds (epicsTimeStamp *pDest, double seconds) { try { *pDest = epicsTime (*pDest) + seconds; @@ -1064,7 +1063,7 @@ extern "C" { *pDest = epicsTime (); } } - epicsShareFunc int epicsShareAPI epicsTimeEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) + LIBCOM_API int epicsStdCall epicsTimeEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) { try { return epicsTime (*pLeft) == epicsTime (*pRight); @@ -1073,7 +1072,7 @@ extern "C" { return 0; } } - epicsShareFunc int epicsShareAPI epicsTimeNotEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) + LIBCOM_API int epicsStdCall epicsTimeNotEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) { try { return epicsTime (*pLeft) != epicsTime (*pRight); @@ -1082,7 +1081,7 @@ extern "C" { return 1; } } - epicsShareFunc int epicsShareAPI epicsTimeLessThan (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) + LIBCOM_API int epicsStdCall epicsTimeLessThan (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) { try { return epicsTime (*pLeft) < epicsTime (*pRight); @@ -1091,7 +1090,7 @@ extern "C" { return 0; } } - epicsShareFunc int epicsShareAPI epicsTimeLessThanEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) + LIBCOM_API int epicsStdCall epicsTimeLessThanEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) { try { return epicsTime (*pLeft) <= epicsTime (*pRight); @@ -1100,7 +1099,7 @@ extern "C" { return 0; } } - epicsShareFunc int epicsShareAPI epicsTimeGreaterThan (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) + LIBCOM_API int epicsStdCall epicsTimeGreaterThan (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) { try { return epicsTime (*pLeft) > epicsTime (*pRight); @@ -1109,7 +1108,7 @@ extern "C" { return 0; } } - epicsShareFunc int epicsShareAPI epicsTimeGreaterThanEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) + LIBCOM_API int epicsStdCall epicsTimeGreaterThanEqual (const epicsTimeStamp *pLeft, const epicsTimeStamp *pRight) { try { return epicsTime (*pLeft) >= epicsTime (*pRight); @@ -1118,7 +1117,7 @@ extern "C" { return 0; } } - epicsShareFunc size_t epicsShareAPI epicsTimeToStrftime (char *pBuff, size_t bufLength, const char *pFormat, const epicsTimeStamp *pTS) + LIBCOM_API size_t epicsStdCall epicsTimeToStrftime (char *pBuff, size_t bufLength, const char *pFormat, const epicsTimeStamp *pTS) { try { return epicsTime(*pTS).strftime (pBuff, bufLength, pFormat); @@ -1127,7 +1126,7 @@ extern "C" { return 0; } } - epicsShareFunc void epicsShareAPI epicsTimeShow (const epicsTimeStamp *pTS, unsigned interestLevel) + LIBCOM_API void epicsStdCall epicsTimeShow (const epicsTimeStamp *pTS, unsigned interestLevel) { try { epicsTime(*pTS).show (interestLevel); diff --git a/modules/libcom/src/osi/epicsTime.h b/modules/libcom/src/osi/epicsTime.h index 579d08adc..4ebd43986 100644 --- a/modules/libcom/src/osi/epicsTime.h +++ b/modules/libcom/src/osi/epicsTime.h @@ -17,7 +17,7 @@ #include -#include "shareLib.h" +#include "libComAPI.h" #include "epicsTypes.h" #include "osdTime.h" #include "errMdef.h" @@ -108,7 +108,7 @@ struct time_t_wrapper { * Stores an event number for use by the epicsTime::getEvent() static * class method. */ -class epicsShareClass epicsTimeEvent +class LIBCOM_API epicsTimeEvent { public: epicsTimeEvent (const int &number); /**< \brief Constructor */ @@ -128,7 +128,7 @@ private: * has defective POSIX, BSD/SRV5, or standard C time support the EPICS * implementation should be valid until 2106. */ -class epicsShareClass epicsTime +class LIBCOM_API epicsTime { public: /// \brief Exception: Time provider problem @@ -367,12 +367,12 @@ extern "C" { * @{ */ /** \brief Get current time into \p *pDest */ -epicsShareFunc int epicsShareAPI epicsTimeGetCurrent ( epicsTimeStamp * pDest ); +LIBCOM_API int epicsStdCall epicsTimeGetCurrent ( epicsTimeStamp * pDest ); /** \brief Get time of event \p eventNumber into \p *pDest */ -epicsShareFunc int epicsShareAPI epicsTimeGetEvent ( +LIBCOM_API int epicsStdCall epicsTimeGetEvent ( epicsTimeStamp *pDest, int eventNumber); /** \brief Get monotonic time into \p *pDest */ -epicsShareFunc int epicsTimeGetMonotonic ( epicsTimeStamp * pDest ); +LIBCOM_API int epicsTimeGetMonotonic ( epicsTimeStamp * pDest ); /** @} */ /** \name ISR-callable @@ -382,9 +382,9 @@ epicsShareFunc int epicsTimeGetMonotonic ( epicsTimeStamp * pDest ); * @{ */ /** \brief Get current time into \p *pDest (ISR-safe) */ -epicsShareFunc int epicsTimeGetCurrentInt(epicsTimeStamp *pDest); +LIBCOM_API int epicsTimeGetCurrentInt(epicsTimeStamp *pDest); /** \brief Get time of event \p eventNumber into \p *pDest (ISR-safe) */ -epicsShareFunc int epicsTimeGetEventInt(epicsTimeStamp *pDest, int eventNumber); +LIBCOM_API int epicsTimeGetEventInt(epicsTimeStamp *pDest, int eventNumber); /** @} */ /** \name ANSI C time_t conversions @@ -392,10 +392,10 @@ epicsShareFunc int epicsTimeGetEventInt(epicsTimeStamp *pDest, int eventNumber); * @{ */ /** \brief Convert epicsTimeStamp to ANSI C \c time_t */ -epicsShareFunc int epicsShareAPI epicsTimeToTime_t ( +LIBCOM_API int epicsStdCall epicsTimeToTime_t ( time_t * pDest, const epicsTimeStamp * pSrc ); /** \brief Convert ANSI C \c time_t to epicsTimeStamp */ -epicsShareFunc int epicsShareAPI epicsTimeFromTime_t ( +LIBCOM_API int epicsStdCall epicsTimeFromTime_t ( epicsTimeStamp * pDest, time_t src ); /** @} */ @@ -404,16 +404,16 @@ epicsShareFunc int epicsShareAPI epicsTimeFromTime_t ( * @{ */ /** \brief Convert epicsTimeStamp to struct tm in local time zone */ -epicsShareFunc int epicsShareAPI epicsTimeToTM ( +LIBCOM_API int epicsStdCall epicsTimeToTM ( struct tm * pDest, unsigned long * pNSecDest, const epicsTimeStamp * pSrc ); /** \brief Convert epicsTimeStamp to struct tm in UTC/GMT */ -epicsShareFunc int epicsShareAPI epicsTimeToGMTM ( +LIBCOM_API int epicsStdCall epicsTimeToGMTM ( struct tm * pDest, unsigned long * pNSecDest, const epicsTimeStamp * pSrc ); /** \brief Set epicsTimeStamp from struct tm in local time zone */ -epicsShareFunc int epicsShareAPI epicsTimeFromTM ( +LIBCOM_API int epicsStdCall epicsTimeFromTM ( epicsTimeStamp * pDest, const struct tm * pSrc, unsigned long nSecSrc ); /** \brief Set epicsTimeStamp from struct tm in UTC/GMT */ -epicsShareFunc int epicsShareAPI epicsTimeFromGMTM ( +LIBCOM_API int epicsStdCall epicsTimeFromGMTM ( epicsTimeStamp * pDest, const struct tm * pSrc, unsigned long nSecSrc ); /** @} */ @@ -422,10 +422,10 @@ epicsShareFunc int epicsShareAPI epicsTimeFromGMTM ( * format. * @{ */ /** \brief Convert epicsTimeStamp to struct timespec */ -epicsShareFunc int epicsShareAPI epicsTimeToTimespec ( +LIBCOM_API int epicsStdCall epicsTimeToTimespec ( struct timespec * pDest, const epicsTimeStamp * pSrc ); /** \brief Set epicsTimeStamp from struct timespec */ -epicsShareFunc int epicsShareAPI epicsTimeFromTimespec ( +LIBCOM_API int epicsStdCall epicsTimeFromTimespec ( epicsTimeStamp * pDest, const struct timespec * pSrc ); /** @} */ @@ -433,10 +433,10 @@ epicsShareFunc int epicsShareAPI epicsTimeFromTimespec ( * Convert to and from the BSD struct timeval format. * @{ */ /** \brief Convert epicsTimeStamp to struct timeval */ -epicsShareFunc int epicsShareAPI epicsTimeToTimeval ( +LIBCOM_API int epicsStdCall epicsTimeToTimeval ( struct timeval * pDest, const epicsTimeStamp * pSrc ); /** \brief Set epicsTimeStamp from struct timeval */ -epicsShareFunc int epicsShareAPI epicsTimeFromTimeval ( +LIBCOM_API int epicsStdCall epicsTimeFromTimeval ( epicsTimeStamp * pDest, const struct timeval * pSrc ); /** @} */ @@ -445,10 +445,10 @@ epicsShareFunc int epicsShareAPI epicsTimeFromTimeval ( * which are always expressed as a \c double in seconds. * @{ */ /** \brief Time difference between \p left and \p right in seconds. */ -epicsShareFunc double epicsShareAPI epicsTimeDiffInSeconds ( +LIBCOM_API double epicsStdCall epicsTimeDiffInSeconds ( const epicsTimeStamp * pLeft, const epicsTimeStamp * pRight );/* left - right */ /** \brief Add some number of seconds to \p dest */ -epicsShareFunc void epicsShareAPI epicsTimeAddSeconds ( +LIBCOM_API void epicsStdCall epicsTimeAddSeconds ( epicsTimeStamp * pDest, double secondsToAdd ); /* adds seconds to *pDest */ /** @} */ @@ -456,31 +456,31 @@ epicsShareFunc void epicsShareAPI epicsTimeAddSeconds ( * Comparisons between epicsTimeStamp objects, returning 0=false, 1=true. * @{ */ /** \brief \p left equals \p right */ -epicsShareFunc int epicsShareAPI epicsTimeEqual ( +LIBCOM_API int epicsStdCall epicsTimeEqual ( const epicsTimeStamp * pLeft, const epicsTimeStamp * pRight); /** \brief \p left not equal to \p right */ -epicsShareFunc int epicsShareAPI epicsTimeNotEqual ( +LIBCOM_API int epicsStdCall epicsTimeNotEqual ( const epicsTimeStamp * pLeft, const epicsTimeStamp * pRight); /** \brief \p left was before \p right */ -epicsShareFunc int epicsShareAPI epicsTimeLessThan ( +LIBCOM_API int epicsStdCall epicsTimeLessThan ( const epicsTimeStamp * pLeft, const epicsTimeStamp * pRight); /** \brief \p right was no later than \p left */ -epicsShareFunc int epicsShareAPI epicsTimeLessThanEqual ( +LIBCOM_API int epicsStdCall epicsTimeLessThanEqual ( const epicsTimeStamp * pLeft, const epicsTimeStamp * pRight); /** \brief \p left was after \p right */ -epicsShareFunc int epicsShareAPI epicsTimeGreaterThan ( +LIBCOM_API int epicsStdCall epicsTimeGreaterThan ( const epicsTimeStamp * pLeft, const epicsTimeStamp * pRight); /** \brief \p right was not before \p left */ -epicsShareFunc int epicsShareAPI epicsTimeGreaterThanEqual ( +LIBCOM_API int epicsStdCall epicsTimeGreaterThanEqual ( const epicsTimeStamp * pLeft, const epicsTimeStamp * pRight); /** @} */ /** \brief Convert epicsTimeStamp to string. See epicsTime::strftime() */ -epicsShareFunc size_t epicsShareAPI epicsTimeToStrftime ( +LIBCOM_API size_t epicsStdCall epicsTimeToStrftime ( char * pBuff, size_t bufLength, const char * pFormat, const epicsTimeStamp * pTS ); /** \brief Dump current state to stdout */ -epicsShareFunc void epicsShareAPI epicsTimeShow ( +LIBCOM_API void epicsStdCall epicsTimeShow ( const epicsTimeStamp *, unsigned interestLevel ); /** \name Reentrant time_t to struct tm conversions @@ -488,9 +488,9 @@ epicsShareFunc void epicsShareAPI epicsTimeShow ( * vxWorks \c gmtime_r interface does not match POSIX standards * @{ */ /** \brief Break down a \c time_t into a struct tm in the local timezone */ -epicsShareFunc int epicsShareAPI epicsTime_localtime ( const time_t * clock, struct tm * result ); +LIBCOM_API int epicsStdCall epicsTime_localtime ( const time_t * clock, struct tm * result ); /** \brief Break down a \c time_t into a struct tm in the UTC timezone */ -epicsShareFunc int epicsShareAPI epicsTime_gmtime ( const time_t * clock, struct tm * result ); +LIBCOM_API int epicsStdCall epicsTime_gmtime ( const time_t * clock, struct tm * result ); /** @} */ /** \name Monotonic time routines @@ -499,14 +499,14 @@ epicsShareFunc int epicsShareAPI epicsTime_gmtime ( const time_t * clock, struct * minimum non-zero time difference between two calls to epicsMonotonicGet() * in units of nanoseconds. */ -epicsShareFunc epicsUInt64 epicsMonotonicResolution(void); +LIBCOM_API epicsUInt64 epicsMonotonicResolution(void); /** \brief Fetch monotonic counter, returns the number of nanoseconds since * some unspecified time. */ -epicsShareFunc epicsUInt64 epicsMonotonicGet(void); +LIBCOM_API epicsUInt64 epicsMonotonicGet(void); /** @} */ #ifdef EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE -epicsShareFunc void osdMonotonicInit(void); +LIBCOM_API void osdMonotonicInit(void); #endif #ifdef __cplusplus diff --git a/modules/libcom/src/osi/generalTimeSup.h b/modules/libcom/src/osi/generalTimeSup.h index bd6627ef6..23858d79b 100644 --- a/modules/libcom/src/osi/generalTimeSup.h +++ b/modules/libcom/src/osi/generalTimeSup.h @@ -12,7 +12,7 @@ #include "epicsTime.h" #include "epicsTimer.h" -#include "shareLib.h" +#include "libComAPI.h" #define LAST_RESORT_PRIORITY 999 @@ -23,21 +23,21 @@ extern "C" { typedef int (*TIMECURRENTFUN)(epicsTimeStamp *pDest); typedef int (*TIMEEVENTFUN)(epicsTimeStamp *pDest, int event); -epicsShareFunc int generalTimeRegisterCurrentProvider(const char *name, +LIBCOM_API int generalTimeRegisterCurrentProvider(const char *name, int priority, TIMECURRENTFUN getTime); -epicsShareFunc int generalTimeRegisterEventProvider(const char *name, +LIBCOM_API int generalTimeRegisterEventProvider(const char *name, int priority, TIMEEVENTFUN getEvent); /* Original names, for compatibility */ #define generalTimeCurrentTpRegister generalTimeRegisterCurrentProvider #define generalTimeEventTpRegister generalTimeRegisterEventProvider -epicsShareFunc int generalTimeAddIntCurrentProvider(const char *name, +LIBCOM_API int generalTimeAddIntCurrentProvider(const char *name, int priority, TIMECURRENTFUN getTime); -epicsShareFunc int generalTimeAddIntEventProvider(const char *name, +LIBCOM_API int generalTimeAddIntEventProvider(const char *name, int priority, TIMEEVENTFUN getEvent); -epicsShareFunc int generalTimeGetExceptPriority(epicsTimeStamp *pDest, +LIBCOM_API int generalTimeGetExceptPriority(epicsTimeStamp *pDest, int *pPrio, int ignorePrio); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/Darwin/epicsMath.h b/modules/libcom/src/osi/os/Darwin/epicsMath.h index d540ba5d3..330ccb6e6 100644 --- a/modules/libcom/src/osi/os/Darwin/epicsMath.h +++ b/modules/libcom/src/osi/os/Darwin/epicsMath.h @@ -11,7 +11,7 @@ #define epicsMathh #include -#include +#include #define finite(x) isfinite(x) @@ -19,8 +19,8 @@ extern "C" { #endif -epicsShareExtern float epicsNAN; -epicsShareExtern float epicsINF; +LIBCOM_API extern float epicsNAN; +LIBCOM_API extern float epicsINF; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/Darwin/osdEnv.c b/modules/libcom/src/osi/os/Darwin/osdEnv.c index ea2662ddc..878dc5125 100644 --- a/modules/libcom/src/osi/os/Darwin/osdEnv.c +++ b/modules/libcom/src/osi/os/Darwin/osdEnv.c @@ -25,7 +25,6 @@ #include #define environ (*_NSGetEnviron()) -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "envDefs.h" #include "iocsh.h" @@ -33,7 +32,7 @@ /* * Set the value of an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value) +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value) { if (!name) return; iocshEnvClear(name); @@ -44,7 +43,7 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val * Unset an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name) { iocshEnvClear(name); unsetenv(name); @@ -53,7 +52,7 @@ epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name) { if (name == NULL) { extern char **environ; diff --git a/modules/libcom/src/osi/os/Darwin/osdFindAddr.c b/modules/libcom/src/osi/os/Darwin/osdFindAddr.c index b92770a54..e3c6750c7 100644 --- a/modules/libcom/src/osi/os/Darwin/osdFindAddr.c +++ b/modules/libcom/src/osi/os/Darwin/osdFindAddr.c @@ -12,7 +12,6 @@ #include -#define epicsExportSharedSymbols #include "epicsStackTrace.h" #include "epicsStackTracePvt.h" diff --git a/modules/libcom/src/osi/os/Darwin/osdMonotonic.c b/modules/libcom/src/osi/os/Darwin/osdMonotonic.c index 2f81d002b..4110dd0df 100644 --- a/modules/libcom/src/osi/os/Darwin/osdMonotonic.c +++ b/modules/libcom/src/osi/os/Darwin/osdMonotonic.c @@ -7,7 +7,6 @@ #include #include -#define epicsExportSharedSymbols #define EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE #include "dbDefs.h" #include "errlog.h" diff --git a/modules/libcom/src/osi/os/Darwin/osdTime.cpp b/modules/libcom/src/osi/os/Darwin/osdTime.cpp index 09471a8e8..88abd00d6 100644 --- a/modules/libcom/src/osi/os/Darwin/osdTime.cpp +++ b/modules/libcom/src/osi/os/Darwin/osdTime.cpp @@ -18,7 +18,6 @@ #define EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE #include "osiSock.h" -#define epicsExportSharedSymbols #include "cantProceed.h" #include "epicsTime.h" #include "generalTimeSup.h" @@ -65,7 +64,7 @@ int epicsTime_localtime(const time_t *clock, struct tm *result) epicsTimeOK : errno; } -extern "C" epicsShareFunc void +extern "C" LIBCOM_API void convertDoubleToWakeTime(double timeout, struct timespec *wakeTime) { mach_timespec_t now; diff --git a/modules/libcom/src/osi/os/Darwin/osdTime.h b/modules/libcom/src/osi/os/Darwin/osdTime.h index d0c361404..2fe57fdac 100644 --- a/modules/libcom/src/osi/os/Darwin/osdTime.h +++ b/modules/libcom/src/osi/os/Darwin/osdTime.h @@ -16,7 +16,7 @@ extern "C" { #endif /* __cplusplus */ -epicsShareFunc void convertDoubleToWakeTime(double timeout, +LIBCOM_API void convertDoubleToWakeTime(double timeout, struct timespec *wakeTime); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/Darwin/osdgetexec.c b/modules/libcom/src/osi/os/Darwin/osdgetexec.c index 4e4961c59..0d026a083 100644 --- a/modules/libcom/src/osi/os/Darwin/osdgetexec.c +++ b/modules/libcom/src/osi/os/Darwin/osdgetexec.c @@ -4,7 +4,6 @@ #include -#define epicsExportSharedSymbols #include char *epicsGetExecName(void) diff --git a/modules/libcom/src/osi/os/Linux/osdThread.h b/modules/libcom/src/osi/os/Linux/osdThread.h index bb1fdcb0a..25f50203b 100644 --- a/modules/libcom/src/osi/os/Linux/osdThread.h +++ b/modules/libcom/src/osi/os/Linux/osdThread.h @@ -12,7 +12,7 @@ #include #include -#include "shareLib.h" +#include "libComAPI.h" #include "ellLib.h" #include "epicsEvent.h" @@ -40,8 +40,8 @@ typedef struct epicsThreadOSD { char name[1]; /* actually larger */ } epicsThreadOSD; -epicsShareFunc pthread_t epicsThreadGetPosixThreadId(epicsThreadId id); -epicsShareFunc int epicsThreadGetPosixPriority(epicsThreadId id); +LIBCOM_API pthread_t epicsThreadGetPosixThreadId(epicsThreadId id); +LIBCOM_API int epicsThreadGetPosixPriority(epicsThreadId id); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/Linux/osdThreadExtra.c b/modules/libcom/src/osi/os/Linux/osdThreadExtra.c index 6423004c5..9e4575cfe 100644 --- a/modules/libcom/src/osi/os/Linux/osdThreadExtra.c +++ b/modules/libcom/src/osi/os/Linux/osdThreadExtra.c @@ -22,7 +22,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "ellLib.h" #include "epicsEvent.h" @@ -65,5 +64,5 @@ static void thread_hook(epicsThreadId pthreadInfo) pthreadInfo->lwpId = syscall(SYS_gettid); } -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault = thread_hook; -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain = thread_hook; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault = thread_hook; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain = thread_hook; diff --git a/modules/libcom/src/osi/os/Linux/osdTime.h b/modules/libcom/src/osi/os/Linux/osdTime.h index 988f8747f..221a7d085 100644 --- a/modules/libcom/src/osi/os/Linux/osdTime.h +++ b/modules/libcom/src/osi/os/Linux/osdTime.h @@ -21,7 +21,7 @@ extern "C" { #endif /* __cplusplus */ -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall convertDoubleToWakeTime(double timeout,struct timespec *wakeTime); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/Linux/osdgetexec.c b/modules/libcom/src/osi/os/Linux/osdgetexec.c index f79906fb7..f638de2ca 100644 --- a/modules/libcom/src/osi/os/Linux/osdgetexec.c +++ b/modules/libcom/src/osi/os/Linux/osdgetexec.c @@ -4,7 +4,6 @@ #include #include -#define epicsExportSharedSymbols #include #ifndef PATH_MAX diff --git a/modules/libcom/src/osi/os/RTEMS/epicsAtomicOSD.h b/modules/libcom/src/osi/os/RTEMS/epicsAtomicOSD.h index fefd2015e..5e7b6697c 100644 --- a/modules/libcom/src/osi/os/RTEMS/epicsAtomicOSD.h +++ b/modules/libcom/src/osi/os/RTEMS/epicsAtomicOSD.h @@ -16,7 +16,7 @@ #ifndef epicsAtomicOSD_h #define epicsAtomicOSD_h -#include +#include #include "epicsMMIO.h" #include "compilerSpecific.h" #include "epicsInterrupt.h" diff --git a/modules/libcom/src/osi/os/RTEMS/epicsMath.h b/modules/libcom/src/osi/os/RTEMS/epicsMath.h index 83115f06e..b5897929e 100644 --- a/modules/libcom/src/osi/os/RTEMS/epicsMath.h +++ b/modules/libcom/src/osi/os/RTEMS/epicsMath.h @@ -12,14 +12,14 @@ #include #include -#include +#include #ifdef __cplusplus extern "C" { #endif -epicsShareExtern float epicsNAN; -epicsShareExtern float epicsINF; +LIBCOM_API extern float epicsNAN; +LIBCOM_API extern float epicsINF; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/RTEMS/osdEnv.c b/modules/libcom/src/osi/os/RTEMS/osdEnv.c index c356a0a13..2cc80daee 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdEnv.c +++ b/modules/libcom/src/osi/os/RTEMS/osdEnv.c @@ -15,7 +15,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "envDefs.h" #include "osiUnistd.h" @@ -24,7 +23,7 @@ /* * Set the value of an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value) +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value) { iocshEnvClear(name); setenv(name, value, 1); @@ -34,7 +33,7 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val * Unset an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name) { iocshEnvClear(name); unsetenv(name); @@ -43,7 +42,7 @@ epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name) { if (name == NULL) { extern char **environ; diff --git a/modules/libcom/src/osi/os/RTEMS/osdFindSymbol.c b/modules/libcom/src/osi/os/RTEMS/osdFindSymbol.c index 9e947f95c..2dae7ab80 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdFindSymbol.c +++ b/modules/libcom/src/osi/os/RTEMS/osdFindSymbol.c @@ -12,20 +12,19 @@ * as the code must build for non-GESYS systems as well. */ -#define epicsExportSharedSymbols #include "epicsFindSymbol.h" -epicsShareFunc void * epicsLoadLibrary(const char *name) +LIBCOM_API void * epicsLoadLibrary(const char *name) { return 0; } -epicsShareFunc const char *epicsLoadError(void) +LIBCOM_API const char *epicsLoadError(void) { return "epicsLoadLibrary not implemented"; } -epicsShareFunc void * epicsShareAPI epicsFindSymbol(const char *name) +LIBCOM_API void * epicsStdCall epicsFindSymbol(const char *name) { return 0; } diff --git a/modules/libcom/src/osi/os/RTEMS/osdMessageQueue.c b/modules/libcom/src/osi/os/RTEMS/osdMessageQueue.c index a566de6f6..52eb8742b 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdMessageQueue.c +++ b/modules/libcom/src/osi/os/RTEMS/osdMessageQueue.c @@ -19,7 +19,6 @@ */ #define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ 1 -#define epicsExportSharedSymbols #include #include #include @@ -29,7 +28,7 @@ #include "epicsMessageQueue.h" #include "errlog.h" -epicsShareFunc epicsMessageQueueId epicsShareAPI +LIBCOM_API epicsMessageQueueId epicsStdCall epicsMessageQueueCreate(unsigned int capacity, unsigned int maximumMessageSize) { rtems_status_code sc; @@ -120,7 +119,7 @@ static rtems_status_code rtems_message_queue_send_timeout( return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */ } -epicsShareFunc int epicsShareAPI epicsMessageQueueSend( +LIBCOM_API int epicsStdCall epicsMessageQueueSend( epicsMessageQueueId id, void *message, unsigned int messageSize) @@ -131,7 +130,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueSend( return -1; } -epicsShareFunc int epicsShareAPI epicsMessageQueueSendWithTimeout( +LIBCOM_API int epicsStdCall epicsMessageQueueSendWithTimeout( epicsMessageQueueId id, void *message, unsigned int messageSize, @@ -183,7 +182,7 @@ static int receiveMessage( return rsize; } -epicsShareFunc int epicsShareAPI epicsMessageQueueTryReceive( +LIBCOM_API int epicsStdCall epicsMessageQueueTryReceive( epicsMessageQueueId id, void *message, unsigned int size) @@ -191,7 +190,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueTryReceive( return receiveMessage(id, message, size, RTEMS_NO_WAIT, 0); } -epicsShareFunc int epicsShareAPI epicsMessageQueueReceive( +LIBCOM_API int epicsStdCall epicsMessageQueueReceive( epicsMessageQueueId id, void *message, unsigned int size) @@ -199,7 +198,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueReceive( return receiveMessage(id, message, size, RTEMS_WAIT, RTEMS_NO_TIMEOUT); } -epicsShareFunc int epicsShareAPI epicsMessageQueueReceiveWithTimeout( +LIBCOM_API int epicsStdCall epicsMessageQueueReceiveWithTimeout( epicsMessageQueueId id, void *message, unsigned int size, @@ -225,7 +224,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueReceiveWithTimeout( return receiveMessage(id, message, size, wait, delay); } -epicsShareFunc int epicsShareAPI epicsMessageQueuePending( +LIBCOM_API int epicsStdCall epicsMessageQueuePending( epicsMessageQueueId id) { uint32_t count; @@ -241,7 +240,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueuePending( return count; } -epicsShareFunc void epicsShareAPI epicsMessageQueueShow( +LIBCOM_API void epicsStdCall epicsMessageQueueShow( epicsMessageQueueId id, int level) { diff --git a/modules/libcom/src/osi/os/RTEMS/osdMutex.c b/modules/libcom/src/osi/os/RTEMS/osdMutex.c index 96fde6ea0..da76c5eaf 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdMutex.c +++ b/modules/libcom/src/osi/os/RTEMS/osdMutex.c @@ -185,7 +185,7 @@ epicsMutexLockStatus epicsMutexOsdTryLock(struct epicsMutexOSD * id) #endif } -epicsShareFunc void epicsMutexOsdShow(struct epicsMutexOSD * id,unsigned int level) +LIBCOM_API void epicsMutexOsdShow(struct epicsMutexOSD * id,unsigned int level) { #ifdef RTEMS_FAST_MUTEX Semaphore_Control *the_semaphore = (Semaphore_Control *)id; diff --git a/modules/libcom/src/osi/os/RTEMS/osdPoolStatus.c b/modules/libcom/src/osi/os/RTEMS/osdPoolStatus.c index b2f401190..71171eaa1 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdPoolStatus.c +++ b/modules/libcom/src/osi/os/RTEMS/osdPoolStatus.c @@ -9,13 +9,12 @@ \*************************************************************************/ #include -#define epicsExportSharedSymbols #include "osiPoolStatus.h" /* * osiSufficentSpaceInPool () */ -epicsShareFunc int epicsShareAPI osiSufficentSpaceInPool ( size_t contiguousBlockSize ) +LIBCOM_API int epicsStdCall osiSufficentSpaceInPool ( size_t contiguousBlockSize ) { rtems_malloc_statistics_t s; unsigned long n; diff --git a/modules/libcom/src/osi/os/RTEMS/osdProcess.c b/modules/libcom/src/osi/os/RTEMS/osdProcess.c index 2768dbb0d..379e8b869 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdProcess.c +++ b/modules/libcom/src/osi/os/RTEMS/osdProcess.c @@ -18,10 +18,9 @@ #include #include -#define epicsExportSharedSymbols #include "osiProcess.h" -epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, unsigned bufSizeIn) +LIBCOM_API osiGetUserNameReturn epicsStdCall osiGetUserName (char *pBuf, unsigned bufSizeIn) { const char *pName = "rtems"; unsigned uiLength; @@ -43,7 +42,7 @@ epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, un return osiGetUserNameSuccess; } -epicsShareFunc osiSpawnDetachedProcessReturn epicsShareAPI osiSpawnDetachedProcess +LIBCOM_API osiSpawnDetachedProcessReturn epicsStdCall osiSpawnDetachedProcess (const char *pProcessName, const char *pBaseExecutableName) { return osiSpawnDetachedProcessNoSupport; diff --git a/modules/libcom/src/osi/os/RTEMS/osdSignal.cpp b/modules/libcom/src/osi/os/RTEMS/osdSignal.cpp index 08dfa023c..cf234da0e 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdSignal.cpp +++ b/modules/libcom/src/osi/os/RTEMS/osdSignal.cpp @@ -8,14 +8,13 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #include "epicsSignal.h" /* * All NOOPs if the os isnt POSIX */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigHupIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigPipeIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigAlarmIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadId */ ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigAlarmIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadId */ ) {} diff --git a/modules/libcom/src/osi/os/RTEMS/osdThread.c b/modules/libcom/src/osi/os/RTEMS/osdThread.c index bdcd8c17e..011229198 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdThread.c +++ b/modules/libcom/src/osi/os/RTEMS/osdThread.c @@ -37,8 +37,8 @@ #include "epicsExit.h" #include "epicsAtomic.h" -epicsShareFunc void osdThreadHooksRun(epicsThreadId id); -epicsShareFunc void osdThreadHooksRunMain(epicsThreadId id); +LIBCOM_API void osdThreadHooksRun(epicsThreadId id); +LIBCOM_API void osdThreadHooksRunMain(epicsThreadId id); /* * Per-task variables @@ -107,7 +107,7 @@ int epicsThreadGetOssPriorityValue(unsigned int osiPriority) /* * epicsThreadLowestPriorityLevelAbove () */ -epicsShareFunc epicsThreadBooleanStatus epicsThreadLowestPriorityLevelAbove +LIBCOM_API epicsThreadBooleanStatus epicsThreadLowestPriorityLevelAbove (unsigned int priority, unsigned *pPriorityJustAbove) { unsigned newPriority = priority + 1; @@ -123,7 +123,7 @@ epicsShareFunc epicsThreadBooleanStatus epicsThreadLowestPriorityLevelAbove /* * epicsThreadHighestPriorityLevelBelow () */ -epicsShareFunc epicsThreadBooleanStatus epicsThreadHighestPriorityLevelBelow +LIBCOM_API epicsThreadBooleanStatus epicsThreadHighestPriorityLevelBelow (unsigned int priority, unsigned *pPriorityJustBelow) { unsigned newPriority = priority - 1; @@ -841,7 +841,7 @@ double epicsThreadSleepQuantum ( void ) return 1.0 / rtemsTicksPerSecond_double; } -epicsShareFunc int epicsThreadGetCPUs(void) +LIBCOM_API int epicsThreadGetCPUs(void) { #if defined(RTEMS_SMP) return rtems_smp_get_number_of_processors(); diff --git a/modules/libcom/src/osi/os/RTEMS/osdThreadExtra.c b/modules/libcom/src/osi/os/RTEMS/osdThreadExtra.c index 0a7c7ae95..f4562802e 100644 --- a/modules/libcom/src/osi/os/RTEMS/osdThreadExtra.c +++ b/modules/libcom/src/osi/os/RTEMS/osdThreadExtra.c @@ -9,8 +9,7 @@ /* Null default thread hooks for all platforms that do not do anything special */ -#define epicsExportSharedSymbols #include "epicsThread.h" -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; diff --git a/modules/libcom/src/osi/os/WIN32/epicsGetopt.c b/modules/libcom/src/osi/os/WIN32/epicsGetopt.c index 1ea064ea2..a364c256d 100644 --- a/modules/libcom/src/osi/os/WIN32/epicsGetopt.c +++ b/modules/libcom/src/osi/os/WIN32/epicsGetopt.c @@ -41,18 +41,17 @@ static char sccsid[] = "@(#)getopt.c 8.3 (Berkeley) 4/27/95"; #include #include -#define epicsExportSharedSymbols #include #define _getprogname() nargv[0] -epicsShareDef + int opterr = 1, /* if error message should be printed */ optind = 1, /* index into parent argv vector */ optopt; /* character checked for validity */ int optreset; /* reset getopt */ -epicsShareDef + char *optarg; /* argument associated with option */ #define BADCH (int)'?' diff --git a/modules/libcom/src/osi/os/WIN32/epicsGetopt.h b/modules/libcom/src/osi/os/WIN32/epicsGetopt.h index f92041085..780734e1a 100644 --- a/modules/libcom/src/osi/os/WIN32/epicsGetopt.h +++ b/modules/libcom/src/osi/os/WIN32/epicsGetopt.h @@ -18,17 +18,17 @@ #else /* _MINGW */ -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { #endif -epicsShareFunc int getopt(int argc, char * const argv[], const char *optstring); +LIBCOM_API int getopt(int argc, char * const argv[], const char *optstring); -epicsShareExtern char *optarg; +LIBCOM_API extern char *optarg; -epicsShareExtern int optind, opterr, optopt; +LIBCOM_API extern int optind, opterr, optopt; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/WIN32/epicsMath.h b/modules/libcom/src/osi/os/WIN32/epicsMath.h index 33eb9dddd..65e7c7b77 100644 --- a/modules/libcom/src/osi/os/WIN32/epicsMath.h +++ b/modules/libcom/src/osi/os/WIN32/epicsMath.h @@ -12,7 +12,7 @@ #include #include -#include +#include #ifndef finite #define finite(D) _finite(D) @@ -30,8 +30,8 @@ extern "C" { #endif -epicsShareExtern float epicsNAN; -epicsShareExtern float epicsINF; +LIBCOM_API extern float epicsNAN; +LIBCOM_API extern float epicsINF; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp b/modules/libcom/src/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp index 3db87ac84..2621ce256 100644 --- a/modules/libcom/src/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp +++ b/modules/libcom/src/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp @@ -9,7 +9,6 @@ #include -#define epicsExportSharedSymbols #include "osiSock.h" #include "epicsStdio.h" diff --git a/modules/libcom/src/osi/os/WIN32/epicsTempFile.c b/modules/libcom/src/osi/os/WIN32/epicsTempFile.c index 9f4c61e20..689429db8 100644 --- a/modules/libcom/src/osi/os/WIN32/epicsTempFile.c +++ b/modules/libcom/src/osi/os/WIN32/epicsTempFile.c @@ -17,7 +17,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsTempFile.h" /* @@ -26,7 +25,7 @@ * allow the teporary file directory to be set with the * TMP environment varianble */ -epicsShareFunc FILE * epicsShareAPI epicsTempFile () +LIBCOM_API FILE * epicsStdCall epicsTempFile () { char * pName = _tempnam("c:\\tmp", "epics"); if (pName) { diff --git a/modules/libcom/src/osi/os/WIN32/osdBackTrace.cpp b/modules/libcom/src/osi/os/WIN32/osdBackTrace.cpp index 8f5896a37..e143ebd57 100644 --- a/modules/libcom/src/osi/os/WIN32/osdBackTrace.cpp +++ b/modules/libcom/src/osi/os/WIN32/osdBackTrace.cpp @@ -9,7 +9,6 @@ #include -#define epicsExportSharedSymbols #include "epicsStackTracePvt.h" int epicsBackTrace(void **buf, int buf_sz) diff --git a/modules/libcom/src/osi/os/WIN32/osdEnv.c b/modules/libcom/src/osi/os/WIN32/osdEnv.c index 4c5587bb2..c1b88819a 100644 --- a/modules/libcom/src/osi/os/WIN32/osdEnv.c +++ b/modules/libcom/src/osi/os/WIN32/osdEnv.c @@ -18,7 +18,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "errlog.h" #include "cantProceed.h" @@ -32,7 +31,7 @@ * Leaks memory, but the assumption is that this routine won't be * called often enough for the leak to be a problem. */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value) +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value) { char *cp; @@ -60,7 +59,7 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val * Using putenv with a an existing name plus "=" (without value) deletes */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name) { iocshEnvClear(name); if (getenv(name) != NULL) @@ -70,7 +69,7 @@ epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name) { if (name == NULL) { extern char **environ; diff --git a/modules/libcom/src/osi/os/WIN32/osdEvent.c b/modules/libcom/src/osi/os/WIN32/osdEvent.c index 314138b27..1339d8a88 100644 --- a/modules/libcom/src/osi/os/WIN32/osdEvent.c +++ b/modules/libcom/src/osi/os/WIN32/osdEvent.c @@ -22,8 +22,7 @@ #define STRICT #include -#define epicsExportSharedSymbols -#include "shareLib.h" +#include "libComAPI.h" #include "epicsEvent.h" typedef struct epicsEventOSD { @@ -33,7 +32,7 @@ typedef struct epicsEventOSD { /* * epicsEventCreate () */ -epicsShareFunc epicsEventId epicsEventCreate ( +LIBCOM_API epicsEventId epicsEventCreate ( epicsEventInitialState initialState ) { epicsEventOSD *pSem; @@ -53,7 +52,7 @@ epicsShareFunc epicsEventId epicsEventCreate ( /* * epicsEventDestroy () */ -epicsShareFunc void epicsEventDestroy ( epicsEventId pSem ) +LIBCOM_API void epicsEventDestroy ( epicsEventId pSem ) { CloseHandle ( pSem->handle ); free ( pSem ); @@ -62,7 +61,7 @@ epicsShareFunc void epicsEventDestroy ( epicsEventId pSem ) /* * epicsEventTrigger () */ -epicsShareFunc epicsEventStatus epicsEventTrigger ( epicsEventId pSem ) +LIBCOM_API epicsEventStatus epicsEventTrigger ( epicsEventId pSem ) { BOOL status; status = SetEvent ( pSem->handle ); @@ -72,7 +71,7 @@ epicsShareFunc epicsEventStatus epicsEventTrigger ( epicsEventId pSem ) /* * epicsEventWait () */ -epicsShareFunc epicsEventStatus epicsEventWait ( epicsEventId pSem ) +LIBCOM_API epicsEventStatus epicsEventWait ( epicsEventId pSem ) { DWORD status; status = WaitForSingleObject (pSem->handle, INFINITE); @@ -87,7 +86,7 @@ epicsShareFunc epicsEventStatus epicsEventWait ( epicsEventId pSem ) /* * epicsEventWaitWithTimeout () */ -epicsShareFunc epicsEventStatus epicsEventWaitWithTimeout ( +LIBCOM_API epicsEventStatus epicsEventWaitWithTimeout ( epicsEventId pSem, double timeOut ) { static const unsigned mSecPerSec = 1000; @@ -121,7 +120,7 @@ epicsShareFunc epicsEventStatus epicsEventWaitWithTimeout ( /* * epicsEventTryWait () */ -epicsShareFunc epicsEventStatus epicsEventTryWait ( epicsEventId pSem ) +LIBCOM_API epicsEventStatus epicsEventTryWait ( epicsEventId pSem ) { DWORD status; @@ -140,6 +139,6 @@ epicsShareFunc epicsEventStatus epicsEventTryWait ( epicsEventId pSem ) /* * epicsEventShow () */ -epicsShareFunc void epicsEventShow ( epicsEventId id, unsigned level ) +LIBCOM_API void epicsEventShow ( epicsEventId id, unsigned level ) { } diff --git a/modules/libcom/src/osi/os/WIN32/osdFindAddr.c b/modules/libcom/src/osi/os/WIN32/osdFindAddr.c index 5172e2638..d9aa09098 100644 --- a/modules/libcom/src/osi/os/WIN32/osdFindAddr.c +++ b/modules/libcom/src/osi/os/WIN32/osdFindAddr.c @@ -6,7 +6,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStackTracePvt.h" #include "epicsStackTrace.h" #include "epicsString.h" diff --git a/modules/libcom/src/osi/os/WIN32/osdFindSymbol.c b/modules/libcom/src/osi/os/WIN32/osdFindSymbol.c index 5731c8afe..4e8fc59ea 100644 --- a/modules/libcom/src/osi/os/WIN32/osdFindSymbol.c +++ b/modules/libcom/src/osi/os/WIN32/osdFindSymbol.c @@ -18,7 +18,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "epicsFindSymbol.h" @@ -33,7 +32,7 @@ STORE DWORD epicsLoadErrorCode = 0; -epicsShareFunc void * epicsLoadLibrary(const char *name) +LIBCOM_API void * epicsLoadLibrary(const char *name) { HMODULE lib; @@ -43,7 +42,7 @@ epicsShareFunc void * epicsLoadLibrary(const char *name) return lib; } -epicsShareFunc const char *epicsLoadError(void) +LIBCOM_API const char *epicsLoadError(void) { STORE char buffer[100]; DWORD n; @@ -74,7 +73,7 @@ epicsShareFunc const char *epicsLoadError(void) return buffer; } -epicsShareFunc void * epicsShareAPI epicsFindSymbol(const char *name) +LIBCOM_API void * epicsStdCall epicsFindSymbol(const char *name) { HANDLE proc = GetCurrentProcess(); HMODULE *dlls=NULL; diff --git a/modules/libcom/src/osi/os/WIN32/osdMonotonic.c b/modules/libcom/src/osi/os/WIN32/osdMonotonic.c index e7da25da4..b6e4d9773 100644 --- a/modules/libcom/src/osi/os/WIN32/osdMonotonic.c +++ b/modules/libcom/src/osi/os/WIN32/osdMonotonic.c @@ -6,7 +6,6 @@ #include -#define epicsExportSharedSymbols #define EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE #include "dbDefs.h" #include "errlog.h" diff --git a/modules/libcom/src/osi/os/WIN32/osdMutex.c b/modules/libcom/src/osi/os/WIN32/osdMutex.c index 63a51efd5..6bcf1e608 100644 --- a/modules/libcom/src/osi/os/WIN32/osdMutex.c +++ b/modules/libcom/src/osi/os/WIN32/osdMutex.c @@ -42,8 +42,7 @@ #endif #include -#define epicsExportSharedSymbols -#include "shareLib.h" +#include "libComAPI.h" #include "epicsMutex.h" #include "epicsAssert.h" #include "epicsStdio.h" diff --git a/modules/libcom/src/osi/os/WIN32/osdNetIntf.c b/modules/libcom/src/osi/os/WIN32/osdNetIntf.c index db445d494..5f54ad1ad 100644 --- a/modules/libcom/src/osi/os/WIN32/osdNetIntf.c +++ b/modules/libcom/src/osi/os/WIN32/osdNetIntf.c @@ -34,7 +34,6 @@ /* * EPICS */ -#define epicsExportSharedSymbols #include "osiSock.h" #include "errlog.h" #include "epicsThread.h" @@ -122,7 +121,7 @@ fail: free ( pIfinfoList ); } -epicsShareFunc osiSockAddr epicsShareAPI osiLocalAddr (SOCKET socket) +LIBCOM_API osiSockAddr epicsStdCall osiLocalAddr (SOCKET socket) { epicsThreadOnce(&osiLocalAddrId, osiLocalAddrOnce, (void*)&socket); return osiLocalAddrResult; @@ -131,7 +130,7 @@ epicsShareFunc osiSockAddr epicsShareAPI osiLocalAddr (SOCKET socket) /* * osiSockDiscoverBroadcastAddresses () */ -epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses +LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses (ELLLIST *pList, SOCKET socket, const osiSockAddr *pMatchAddr) { int status; diff --git a/modules/libcom/src/osi/os/WIN32/osdPoolStatus.c b/modules/libcom/src/osi/os/WIN32/osdPoolStatus.c index bb764b2ad..d4e756486 100644 --- a/modules/libcom/src/osi/os/WIN32/osdPoolStatus.c +++ b/modules/libcom/src/osi/os/WIN32/osdPoolStatus.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #include "osiPoolStatus.h" /* @@ -17,7 +16,7 @@ * @@@@@ not implemented @@@@@ * */ -epicsShareFunc int epicsShareAPI osiSufficentSpaceInPool ( size_t contiguousBlockSize ) +LIBCOM_API int epicsStdCall osiSufficentSpaceInPool ( size_t contiguousBlockSize ) { return 1; } diff --git a/modules/libcom/src/osi/os/WIN32/osdProcess.c b/modules/libcom/src/osi/os/WIN32/osdProcess.c index fbe68ba91..92902315f 100644 --- a/modules/libcom/src/osi/os/WIN32/osdProcess.c +++ b/modules/libcom/src/osi/os/WIN32/osdProcess.c @@ -24,10 +24,9 @@ #define STRICT #include -#define epicsExportSharedSymbols #include "osiProcess.h" -epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, unsigned bufSizeIn) +LIBCOM_API osiGetUserNameReturn epicsStdCall osiGetUserName (char *pBuf, unsigned bufSizeIn) { DWORD bufsize; @@ -48,7 +47,7 @@ epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, un return osiGetUserNameSuccess; } -epicsShareFunc osiSpawnDetachedProcessReturn epicsShareAPI osiSpawnDetachedProcess +LIBCOM_API osiSpawnDetachedProcessReturn epicsStdCall osiSpawnDetachedProcess ( const char *pProcessName, const char *pBaseExecutableName ) { BOOL status; diff --git a/modules/libcom/src/osi/os/WIN32/osdSignal.cpp b/modules/libcom/src/osi/os/WIN32/osdSignal.cpp index 5f799273a..06251118f 100644 --- a/modules/libcom/src/osi/os/WIN32/osdSignal.cpp +++ b/modules/libcom/src/osi/os/WIN32/osdSignal.cpp @@ -8,14 +8,13 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #include "epicsSignal.h" /* * NOOP */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigHupIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigPipeIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigAlarmIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadid */ ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigAlarmIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadid */ ) {} diff --git a/modules/libcom/src/osi/os/WIN32/osdSock.c b/modules/libcom/src/osi/os/WIN32/osdSock.c index b8c8363fb..fd17ea1d1 100644 --- a/modules/libcom/src/osi/os/WIN32/osdSock.c +++ b/modules/libcom/src/osi/os/WIN32/osdSock.c @@ -31,7 +31,6 @@ #define STRICT #include -#define epicsExportSharedSymbols #include "osiSock.h" #include "errlog.h" #include "epicsVersion.h" @@ -39,7 +38,7 @@ static unsigned nAttached = 0; static WSADATA WsaData; /* version of winsock */ -epicsShareFunc unsigned epicsShareAPI wsaMajorVersion () +LIBCOM_API unsigned epicsStdCall wsaMajorVersion () { return (unsigned) LOBYTE( WsaData.wVersion ); } @@ -47,7 +46,7 @@ epicsShareFunc unsigned epicsShareAPI wsaMajorVersion () /* * osiSockAttach() */ -epicsShareFunc int epicsShareAPI osiSockAttach() +LIBCOM_API int epicsStdCall osiSockAttach() { int status; @@ -101,7 +100,7 @@ epicsShareFunc int epicsShareAPI osiSockAttach() /* * osiSockRelease() */ -epicsShareFunc void epicsShareAPI osiSockRelease() +LIBCOM_API void epicsStdCall osiSockRelease() { if (nAttached) { if (--nAttached==0u) { @@ -114,19 +113,19 @@ epicsShareFunc void epicsShareAPI osiSockRelease() } } -epicsShareFunc SOCKET epicsShareAPI epicsSocketCreate ( +LIBCOM_API SOCKET epicsStdCall epicsSocketCreate ( int domain, int type, int protocol ) { return socket ( domain, type, protocol ); } -epicsShareFunc int epicsShareAPI epicsSocketAccept ( +LIBCOM_API int epicsStdCall epicsSocketAccept ( int sock, struct sockaddr * pAddr, osiSocklen_t * addrlen ) { return accept ( sock, pAddr, addrlen ); } -epicsShareFunc void epicsShareAPI epicsSocketDestroy ( SOCKET s ) +LIBCOM_API void epicsStdCall epicsSocketDestroy ( SOCKET s ) { int status = closesocket ( s ); if ( status < 0 ) { @@ -141,7 +140,7 @@ epicsShareFunc void epicsShareAPI epicsSocketDestroy ( SOCKET s ) /* * ipAddrToHostName */ -epicsShareFunc unsigned epicsShareAPI ipAddrToHostName +LIBCOM_API unsigned epicsStdCall ipAddrToHostName (const struct in_addr *pAddr, char *pBuf, unsigned bufSize) { struct hostent *ent; @@ -162,7 +161,7 @@ epicsShareFunc unsigned epicsShareAPI ipAddrToHostName /* * hostToIPAddr () */ -epicsShareFunc int epicsShareAPI hostToIPAddr +LIBCOM_API int epicsStdCall hostToIPAddr (const char *pHostName, struct in_addr *pIPA) { struct hostent *phe; diff --git a/modules/libcom/src/osi/os/WIN32/osdSock.h b/modules/libcom/src/osi/os/WIN32/osdSock.h index d0549bfad..f00c39e69 100644 --- a/modules/libcom/src/osi/os/WIN32/osdSock.h +++ b/modules/libcom/src/osi/os/WIN32/osdSock.h @@ -79,7 +79,7 @@ typedef DWORD osiSockOptMcastTTL_t; extern "C" { #endif -epicsShareFunc unsigned epicsShareAPI wsaMajorVersion (); +LIBCOM_API unsigned epicsStdCall wsaMajorVersion (); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/WIN32/osdSockUnsentCount.c b/modules/libcom/src/osi/os/WIN32/osdSockUnsentCount.c index 3f4ab3eee..528dbe398 100644 --- a/modules/libcom/src/osi/os/WIN32/osdSockUnsentCount.c +++ b/modules/libcom/src/osi/os/WIN32/osdSockUnsentCount.c @@ -3,7 +3,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #define EPICS_PRIVATE_API #include "osiSock.h" #include diff --git a/modules/libcom/src/osi/os/WIN32/osdStdio.c b/modules/libcom/src/osi/os/WIN32/osdStdio.c index 8a2d58ea9..90bbc3459 100644 --- a/modules/libcom/src/osi/os/WIN32/osdStdio.c +++ b/modules/libcom/src/osi/os/WIN32/osdStdio.c @@ -16,10 +16,9 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _vscprintf (const char*, va_list); #endif -#define epicsExportSharedSymbols #include "epicsStdio.h" -int epicsShareAPI epicsVsnprintf(char *str, size_t len, +int epicsStdCall epicsVsnprintf(char *str, size_t len, const char *fmt, va_list ap) { int retval = _vsnprintf(str, len, fmt, ap); @@ -33,7 +32,7 @@ int epicsShareAPI epicsVsnprintf(char *str, size_t len, return retval; } -int epicsShareAPI epicsSnprintf (char *str, size_t len, const char *fmt, ...) +int epicsStdCall epicsSnprintf (char *str, size_t len, const char *fmt, ...) { int rtn; va_list pvar; diff --git a/modules/libcom/src/osi/os/WIN32/osdStrtod.h b/modules/libcom/src/osi/os/WIN32/osdStrtod.h index 4edb444ee..48f8f4a04 100644 --- a/modules/libcom/src/osi/os/WIN32/osdStrtod.h +++ b/modules/libcom/src/osi/os/WIN32/osdStrtod.h @@ -16,7 +16,7 @@ extern "C" { /* * epicsStrtod() for systems with broken strtod() routine */ -epicsShareFunc double epicsStrtod(const char *str, char **endp); +LIBCOM_API double epicsStrtod(const char *str, char **endp); /* * Microsoft apparently added strto[u]ll() in VS2013 diff --git a/modules/libcom/src/osi/os/WIN32/osdThread.c b/modules/libcom/src/osi/os/WIN32/osdThread.c index 455d97b64..be59a45a8 100644 --- a/modules/libcom/src/osi/os/WIN32/osdThread.c +++ b/modules/libcom/src/osi/os/WIN32/osdThread.c @@ -24,9 +24,8 @@ #include #include /* for _endthread() etc */ -#define epicsExportSharedSymbols #include "epicsStdio.h" -#include "shareLib.h" +#include "libComAPI.h" #include "epicsThread.h" #include "cantProceed.h" #include "epicsAssert.h" @@ -34,7 +33,7 @@ #include "epicsExit.h" #include "epicsAtomic.h" -epicsShareFunc void osdThreadHooksRun(epicsThreadId id); +LIBCOM_API void osdThreadHooksRun(epicsThreadId id); void setThreadName ( DWORD dwThreadID, LPCSTR szThreadName ); @@ -247,7 +246,7 @@ static void epicsParmCleanupWIN32 ( win32ThreadParam * pParm ) /* * epicsThreadExitMain () */ -epicsShareFunc void epicsShareAPI epicsThreadExitMain ( void ) +LIBCOM_API void epicsStdCall epicsThreadExitMain ( void ) { _endthread (); } @@ -275,7 +274,7 @@ static unsigned osdPriorityMagFromPriorityOSI ( unsigned osiPriority, unsigned p return magnitude; } -epicsShareFunc +LIBCOM_API void epicsThreadRealtimeLock(void) {} @@ -357,7 +356,7 @@ static unsigned epicsThreadGetOsiPriorityValue ( int osdPriority ) /* * epicsThreadLowestPriorityLevelAbove () */ -epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadLowestPriorityLevelAbove +LIBCOM_API epicsThreadBooleanStatus epicsStdCall epicsThreadLowestPriorityLevelAbove ( unsigned int priority, unsigned * pPriorityJustAbove ) { const DWORD priorityClass = GetPriorityClass ( GetCurrentProcess () ); @@ -387,7 +386,7 @@ epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadLowestPriorityL /* * epicsThreadHighestPriorityLevelBelow () */ -epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadHighestPriorityLevelBelow +LIBCOM_API epicsThreadBooleanStatus epicsStdCall epicsThreadHighestPriorityLevelBelow ( unsigned int priority, unsigned * pPriorityJustBelow ) { const DWORD priorityClass = GetPriorityClass ( GetCurrentProcess () ); @@ -417,7 +416,7 @@ epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadHighestPriority /* * epicsThreadGetStackSize () */ -epicsShareFunc unsigned int epicsShareAPI +LIBCOM_API unsigned int epicsStdCall epicsThreadGetStackSize ( epicsThreadStackSizeClass stackSizeClass ) { #define STACK_SIZE(f) (f * 0x10000 * sizeof(void *)) @@ -656,7 +655,7 @@ void epicsThreadMustJoin(epicsThreadId id) /* * epicsThreadSuspendSelf () */ -epicsShareFunc void epicsShareAPI epicsThreadSuspendSelf () +LIBCOM_API void epicsStdCall epicsThreadSuspendSelf () { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm; @@ -681,7 +680,7 @@ epicsShareFunc void epicsShareAPI epicsThreadSuspendSelf () /* * epicsThreadResume () */ -epicsShareFunc void epicsShareAPI epicsThreadResume ( epicsThreadId id ) +LIBCOM_API void epicsStdCall epicsThreadResume ( epicsThreadId id ) { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm = ( win32ThreadParam * ) id; @@ -702,7 +701,7 @@ epicsShareFunc void epicsShareAPI epicsThreadResume ( epicsThreadId id ) /* * epicsThreadGetPriority () */ -epicsShareFunc unsigned epicsShareAPI epicsThreadGetPriority (epicsThreadId id) +LIBCOM_API unsigned epicsStdCall epicsThreadGetPriority (epicsThreadId id) { win32ThreadParam * pParm = ( win32ThreadParam * ) id; return pParm->epicsPriority; @@ -711,7 +710,7 @@ epicsShareFunc unsigned epicsShareAPI epicsThreadGetPriority (epicsThreadId id) /* * epicsThreadGetPrioritySelf () */ -epicsShareFunc unsigned epicsShareAPI epicsThreadGetPrioritySelf () +LIBCOM_API unsigned epicsStdCall epicsThreadGetPrioritySelf () { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm; @@ -737,7 +736,7 @@ epicsShareFunc unsigned epicsShareAPI epicsThreadGetPrioritySelf () /* * epicsThreadSetPriority () */ -epicsShareFunc void epicsShareAPI epicsThreadSetPriority ( epicsThreadId id, unsigned priority ) +LIBCOM_API void epicsStdCall epicsThreadSetPriority ( epicsThreadId id, unsigned priority ) { win32ThreadParam * pParm = ( win32ThreadParam * ) id; BOOL stat = SetThreadPriority ( pParm->handle, epicsThreadGetOsdPriorityValue (priority) ); @@ -747,7 +746,7 @@ epicsShareFunc void epicsShareAPI epicsThreadSetPriority ( epicsThreadId id, uns /* * epicsThreadIsEqual () */ -epicsShareFunc int epicsShareAPI epicsThreadIsEqual ( epicsThreadId id1, epicsThreadId id2 ) +LIBCOM_API int epicsStdCall epicsThreadIsEqual ( epicsThreadId id1, epicsThreadId id2 ) { win32ThreadParam * pParm1 = ( win32ThreadParam * ) id1; win32ThreadParam * pParm2 = ( win32ThreadParam * ) id2; @@ -757,7 +756,7 @@ epicsShareFunc int epicsShareAPI epicsThreadIsEqual ( epicsThreadId id1, epicsTh /* * epicsThreadIsSuspended () */ -epicsShareFunc int epicsShareAPI epicsThreadIsSuspended ( epicsThreadId id ) +LIBCOM_API int epicsStdCall epicsThreadIsSuspended ( epicsThreadId id ) { win32ThreadParam *pParm = ( win32ThreadParam * ) id; DWORD exitCode; @@ -780,7 +779,7 @@ epicsShareFunc int epicsShareAPI epicsThreadIsSuspended ( epicsThreadId id ) /* * epicsThreadSleep () */ -epicsShareFunc void epicsShareAPI epicsThreadSleep ( double seconds ) +LIBCOM_API void epicsStdCall epicsThreadSleep ( double seconds ) { static const unsigned mSecPerSec = 1000; DWORD milliSecDelay; @@ -800,7 +799,7 @@ epicsShareFunc void epicsShareAPI epicsThreadSleep ( double seconds ) /* * epicsThreadSleepQuantum () */ -double epicsShareAPI epicsThreadSleepQuantum () +double epicsStdCall epicsThreadSleepQuantum () { /* * Its worth noting here that the sleep quantum on windows can @@ -832,7 +831,7 @@ double epicsShareAPI epicsThreadSleepQuantum () /* * epicsThreadGetIdSelf () */ -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetIdSelf (void) +LIBCOM_API epicsThreadId epicsStdCall epicsThreadGetIdSelf (void) { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm; @@ -848,7 +847,7 @@ epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetIdSelf (void) return ( epicsThreadId ) pParm; } -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetId ( const char * pName ) +LIBCOM_API epicsThreadId epicsStdCall epicsThreadGetId ( const char * pName ) { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm; @@ -879,7 +878,7 @@ epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetId ( const char * pName /* * epicsThreadGetNameSelf () */ -epicsShareFunc const char * epicsShareAPI epicsThreadGetNameSelf (void) +LIBCOM_API const char * epicsStdCall epicsThreadGetNameSelf (void) { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm; @@ -905,7 +904,7 @@ epicsShareFunc const char * epicsShareAPI epicsThreadGetNameSelf (void) /* * epicsThreadGetName () */ -epicsShareFunc void epicsShareAPI epicsThreadGetName ( +LIBCOM_API void epicsStdCall epicsThreadGetName ( epicsThreadId id, char * pName, size_t size ) { win32ThreadParam * pParm = ( win32ThreadParam * ) id; @@ -980,7 +979,7 @@ static void epicsThreadShowInfo ( epicsThreadId id, unsigned level ) /* * epicsThreadMap () */ -epicsShareFunc void epicsThreadMap ( EPICS_THREAD_HOOK_ROUTINE func ) +LIBCOM_API void epicsThreadMap ( EPICS_THREAD_HOOK_ROUTINE func ) { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm; @@ -1002,7 +1001,7 @@ epicsShareFunc void epicsThreadMap ( EPICS_THREAD_HOOK_ROUTINE func ) /* * epicsThreadShowAll () */ -epicsShareFunc void epicsShareAPI epicsThreadShowAll ( unsigned level ) +LIBCOM_API void epicsStdCall epicsThreadShowAll ( unsigned level ) { win32ThreadGlobal * pGbl = fetchWin32ThreadGlobal (); win32ThreadParam * pParm; @@ -1025,7 +1024,7 @@ epicsShareFunc void epicsShareAPI epicsThreadShowAll ( unsigned level ) /* * epicsThreadShow () */ -epicsShareFunc void epicsShareAPI epicsThreadShow ( epicsThreadId id, unsigned level ) +LIBCOM_API void epicsStdCall epicsThreadShow ( epicsThreadId id, unsigned level ) { epicsThreadShowInfo ( 0, level ); epicsThreadShowInfo ( id, level ); @@ -1034,7 +1033,7 @@ epicsShareFunc void epicsShareAPI epicsThreadShow ( epicsThreadId id, unsigned l /* * epicsThreadOnce () */ -epicsShareFunc void epicsShareAPI epicsThreadOnce ( +LIBCOM_API void epicsStdCall epicsThreadOnce ( epicsThreadOnceId *id, void (*func)(void *), void *arg ) { static struct epicsThreadOSD threadOnceComplete; @@ -1069,7 +1068,7 @@ epicsShareFunc void epicsShareAPI epicsThreadOnce ( /* * epicsThreadPrivateCreate () */ -epicsShareFunc epicsThreadPrivateId epicsShareAPI epicsThreadPrivateCreate () +LIBCOM_API epicsThreadPrivateId epicsStdCall epicsThreadPrivateCreate () { epicsThreadPrivateOSD *p = ( epicsThreadPrivateOSD * ) malloc ( sizeof ( *p ) ); if ( p ) { @@ -1085,7 +1084,7 @@ epicsShareFunc epicsThreadPrivateId epicsShareAPI epicsThreadPrivateCreate () /* * epicsThreadPrivateDelete () */ -epicsShareFunc void epicsShareAPI epicsThreadPrivateDelete ( epicsThreadPrivateId p ) +LIBCOM_API void epicsStdCall epicsThreadPrivateDelete ( epicsThreadPrivateId p ) { BOOL stat = TlsFree ( p->key ); assert ( stat ); @@ -1095,7 +1094,7 @@ epicsShareFunc void epicsShareAPI epicsThreadPrivateDelete ( epicsThreadPrivateI /* * epicsThreadPrivateSet () */ -epicsShareFunc void epicsShareAPI epicsThreadPrivateSet ( epicsThreadPrivateId pPvt, void *pVal ) +LIBCOM_API void epicsStdCall epicsThreadPrivateSet ( epicsThreadPrivateId pPvt, void *pVal ) { BOOL stat = TlsSetValue ( pPvt->key, (void *) pVal ); assert (stat); @@ -1104,7 +1103,7 @@ epicsShareFunc void epicsShareAPI epicsThreadPrivateSet ( epicsThreadPrivateId p /* * epicsThreadPrivateGet () */ -epicsShareFunc void * epicsShareAPI epicsThreadPrivateGet ( epicsThreadPrivateId pPvt ) +LIBCOM_API void * epicsStdCall epicsThreadPrivateGet ( epicsThreadPrivateId pPvt ) { return ( void * ) TlsGetValue ( pPvt->key ); } @@ -1112,7 +1111,7 @@ epicsShareFunc void * epicsShareAPI epicsThreadPrivateGet ( epicsThreadPrivateId /* * epicsThreadGetCPUs () */ -epicsShareFunc int epicsThreadGetCPUs ( void ) +LIBCOM_API int epicsThreadGetCPUs ( void ) { SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); diff --git a/modules/libcom/src/osi/os/WIN32/osdThreadExtra.c b/modules/libcom/src/osi/os/WIN32/osdThreadExtra.c index 0a7c7ae95..f4562802e 100644 --- a/modules/libcom/src/osi/os/WIN32/osdThreadExtra.c +++ b/modules/libcom/src/osi/os/WIN32/osdThreadExtra.c @@ -9,8 +9,7 @@ /* Null default thread hooks for all platforms that do not do anything special */ -#define epicsExportSharedSymbols #include "epicsThread.h" -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; diff --git a/modules/libcom/src/osi/os/WIN32/osdTime.cpp b/modules/libcom/src/osi/os/WIN32/osdTime.cpp index 1b1a70548..518b90b82 100644 --- a/modules/libcom/src/osi/os/WIN32/osdTime.cpp +++ b/modules/libcom/src/osi/os/WIN32/osdTime.cpp @@ -30,7 +30,6 @@ // // EPICS // -#define epicsExportSharedSymbols #define EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE #include "epicsTime.h" #include "generalTimeSup.h" @@ -126,7 +125,7 @@ int osdTimeGetCurrent ( epicsTimeStamp *pDest ) } // synthesize a reentrant gmtime on WIN32 -int epicsShareAPI epicsTime_gmtime ( const time_t *pAnsiTime, struct tm *pTM ) +int epicsStdCall epicsTime_gmtime ( const time_t *pAnsiTime, struct tm *pTM ) { struct tm * pRet = gmtime ( pAnsiTime ); if ( pRet ) { @@ -139,7 +138,7 @@ int epicsShareAPI epicsTime_gmtime ( const time_t *pAnsiTime, struct tm *pTM ) } // synthesize a reentrant localtime on WIN32 -int epicsShareAPI epicsTime_localtime ( +int epicsStdCall epicsTime_localtime ( const time_t * pAnsiTime, struct tm * pTM ) { struct tm * pRet = localtime ( pAnsiTime ); diff --git a/modules/libcom/src/osi/os/WIN32/osdgetexec.c b/modules/libcom/src/osi/os/WIN32/osdgetexec.c index a46ce50cd..a5c07b003 100644 --- a/modules/libcom/src/osi/os/WIN32/osdgetexec.c +++ b/modules/libcom/src/osi/os/WIN32/osdgetexec.c @@ -3,7 +3,6 @@ #include #include -#define epicsExportSharedSymbols #include char *epicsGetExecName(void) diff --git a/modules/libcom/src/osi/os/WIN32/osiFileName.h b/modules/libcom/src/osi/os/WIN32/osiFileName.h index bba2d55c1..02e99cc9f 100644 --- a/modules/libcom/src/osi/os/WIN32/osiFileName.h +++ b/modules/libcom/src/osi/os/WIN32/osiFileName.h @@ -15,7 +15,7 @@ #ifndef osiFileNameH #define osiFileNameH -#include +#include #ifdef __cplusplus extern "C" { @@ -27,13 +27,13 @@ extern "C" { /** Return the absolute path of the current executable. * \return NULL or the path. Caller must free() */ -epicsShareFunc +LIBCOM_API char *epicsGetExecName(void); /** Return the absolute path of the directory containing the current executable. * \return NULL or the path. Caller must free() */ -epicsShareFunc +LIBCOM_API char *epicsGetExecDir(void); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/WIN32/systemCallIntMech.cpp b/modules/libcom/src/osi/os/WIN32/systemCallIntMech.cpp index 5e13299c0..7da39164b 100644 --- a/modules/libcom/src/osi/os/WIN32/systemCallIntMech.cpp +++ b/modules/libcom/src/osi/os/WIN32/systemCallIntMech.cpp @@ -12,7 +12,6 @@ * Author: Jeff Hill */ -#define epicsExportSharedSymbols #include "osiSock.h" enum epicsSocketSystemCallInterruptMechanismQueryInfo diff --git a/modules/libcom/src/osi/os/cygwin32/devLibVMEOSD.c b/modules/libcom/src/osi/os/cygwin32/devLibVMEOSD.c index 53cbd58cd..17a1c14c2 100644 --- a/modules/libcom/src/osi/os/cygwin32/devLibVMEOSD.c +++ b/modules/libcom/src/osi/os/cygwin32/devLibVMEOSD.c @@ -7,7 +7,6 @@ #include -#define epicsExportSharedSymbols #include "devLibVME.h" -epicsShareDef devLibVME *pdevLibVME = NULL; +devLibVME *pdevLibVME = NULL; diff --git a/modules/libcom/src/osi/os/cygwin32/osdStrtod.h b/modules/libcom/src/osi/os/cygwin32/osdStrtod.h index b5fda31c3..395cacdc2 100644 --- a/modules/libcom/src/osi/os/cygwin32/osdStrtod.h +++ b/modules/libcom/src/osi/os/cygwin32/osdStrtod.h @@ -16,7 +16,7 @@ extern "C" { /* * epicsStrtod() for systems with broken strtod() routine */ -epicsShareFunc double epicsStrtod(const char *str, char **endp); +LIBCOM_API double epicsStrtod(const char *str, char **endp); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/cygwin32/osiFileName.h b/modules/libcom/src/osi/os/cygwin32/osiFileName.h index 76562f3e4..88b3cddbd 100644 --- a/modules/libcom/src/osi/os/cygwin32/osiFileName.h +++ b/modules/libcom/src/osi/os/cygwin32/osiFileName.h @@ -14,7 +14,7 @@ #ifndef osiFileNameH #define osiFileNameH -#include +#include #ifdef __cplusplus extern "C" { @@ -26,13 +26,13 @@ extern "C" { /** Return the absolute path of the current executable. \return NULL or the path. Caller must free() */ -epicsShareFunc +LIBCOM_API char *epicsGetExecName(void); /** Return the absolute path of the directory containing the current executable. \return NULL or the path. Caller must free() */ -epicsShareFunc +LIBCOM_API char *epicsGetExecDir(void); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/cygwin32/systemCallIntMech.cpp b/modules/libcom/src/osi/os/cygwin32/systemCallIntMech.cpp index 9c0df3293..dbcb14dbb 100644 --- a/modules/libcom/src/osi/os/cygwin32/systemCallIntMech.cpp +++ b/modules/libcom/src/osi/os/cygwin32/systemCallIntMech.cpp @@ -12,7 +12,6 @@ #include -#define epicsExportSharedSymbols #include "osiSock.h" enum epicsSocketSystemCallInterruptMechanismQueryInfo diff --git a/modules/libcom/src/osi/os/default/devLibVMEOSD.c b/modules/libcom/src/osi/os/default/devLibVMEOSD.c index b8b1d5047..0de29f2e4 100644 --- a/modules/libcom/src/osi/os/default/devLibVMEOSD.c +++ b/modules/libcom/src/osi/os/default/devLibVMEOSD.c @@ -7,9 +7,8 @@ #include -#define epicsExportSharedSymbols #include "devLibVME.h" /* This file must contain no definitions other than the following: */ -epicsShareDef devLibVME *pdevLibVME; +devLibVME *pdevLibVME; diff --git a/modules/libcom/src/osi/os/default/epicsMMIODef.h b/modules/libcom/src/osi/os/default/epicsMMIODef.h index 114a67c6e..0b0f219ae 100644 --- a/modules/libcom/src/osi/os/default/epicsMMIODef.h +++ b/modules/libcom/src/osi/os/default/epicsMMIODef.h @@ -20,7 +20,7 @@ #include #include #include -#include +#include #ifdef __cplusplus # ifndef INLINE diff --git a/modules/libcom/src/osi/os/default/epicsSocketConvertErrnoToString.cpp b/modules/libcom/src/osi/os/default/epicsSocketConvertErrnoToString.cpp index 3cbfce60d..062560f59 100644 --- a/modules/libcom/src/osi/os/default/epicsSocketConvertErrnoToString.cpp +++ b/modules/libcom/src/osi/os/default/epicsSocketConvertErrnoToString.cpp @@ -15,7 +15,6 @@ #include -#define epicsExportSharedSymbols #include "osiSock.h" /* diff --git a/modules/libcom/src/osi/os/default/osdAssert.c b/modules/libcom/src/osi/os/default/osdAssert.c index 14d548c3d..109ec983d 100644 --- a/modules/libcom/src/osi/os/default/osdAssert.c +++ b/modules/libcom/src/osi/os/default/osdAssert.c @@ -11,7 +11,6 @@ * Date: 02-27-95 */ -#define epicsExportSharedSymbols #include "dbDefs.h" #include "epicsPrint.h" #include "epicsVersion.h" diff --git a/modules/libcom/src/osi/os/default/osdBackTrace.cpp b/modules/libcom/src/osi/os/default/osdBackTrace.cpp index e1f96c033..0a2fdfcfe 100644 --- a/modules/libcom/src/osi/os/default/osdBackTrace.cpp +++ b/modules/libcom/src/osi/os/default/osdBackTrace.cpp @@ -7,7 +7,6 @@ * Author: Till Straumann , 2011, 2014 */ -#define epicsExportSharedSymbols #include "epicsStackTracePvt.h" int epicsBackTrace(void **buf, int buf_sz) diff --git a/modules/libcom/src/osi/os/default/osdEnv.c b/modules/libcom/src/osi/os/default/osdEnv.c index b74856dbf..e4495dbd1 100644 --- a/modules/libcom/src/osi/os/default/osdEnv.c +++ b/modules/libcom/src/osi/os/default/osdEnv.c @@ -18,7 +18,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "errlog.h" #include "cantProceed.h" @@ -32,7 +31,7 @@ * Leaks memory, but the assumption is that this routine won't be * called often enough for the leak to be a problem. */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value) +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value) { char *cp; @@ -61,7 +60,7 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val * Using putenv with a an existing name but without "=..." deletes */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name) { iocshEnvClear(name); if (getenv(name) != NULL) @@ -71,7 +70,7 @@ epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name) { if (name == NULL) { extern char **environ; diff --git a/modules/libcom/src/osi/os/default/osdFindAddr.c b/modules/libcom/src/osi/os/default/osdFindAddr.c index 582dd5442..9f3089ee3 100644 --- a/modules/libcom/src/osi/os/default/osdFindAddr.c +++ b/modules/libcom/src/osi/os/default/osdFindAddr.c @@ -7,7 +7,6 @@ * Author: Till Straumann , 2011, 2014 */ -#define epicsExportSharedSymbols #include "epicsStackTracePvt.h" #include "epicsStackTrace.h" diff --git a/modules/libcom/src/osi/os/default/osdFindSymbol.c b/modules/libcom/src/osi/os/default/osdFindSymbol.c index 9d9a8878c..81dcacb52 100644 --- a/modules/libcom/src/osi/os/default/osdFindSymbol.c +++ b/modules/libcom/src/osi/os/default/osdFindSymbol.c @@ -8,20 +8,19 @@ \*************************************************************************/ /* osi/os/default/osdFindSymbol.c */ -#define epicsExportSharedSymbols #include "epicsFindSymbol.h" -epicsShareFunc void * epicsLoadLibrary(const char *name) +LIBCOM_API void * epicsLoadLibrary(const char *name) { return 0; } -epicsShareFunc const char *epicsLoadError(void) +LIBCOM_API const char *epicsLoadError(void) { return "epicsLoadLibrary not implemented"; } -epicsShareFunc void * epicsShareAPI epicsFindSymbol(const char *name) +LIBCOM_API void * epicsStdCall epicsFindSymbol(const char *name) { return 0; } diff --git a/modules/libcom/src/osi/os/default/osdInterrupt.c b/modules/libcom/src/osi/os/default/osdInterrupt.c index 91c5c5681..2aec723dd 100644 --- a/modules/libcom/src/osi/os/default/osdInterrupt.c +++ b/modules/libcom/src/osi/os/default/osdInterrupt.c @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsMutex.h" #include "epicsThread.h" #include "cantProceed.h" @@ -32,26 +31,26 @@ static void initOnce(void *junk) globalLock = epicsMutexMustCreate(); } -epicsShareFunc int epicsInterruptLock() +LIBCOM_API int epicsInterruptLock() { epicsThreadOnce(&onceId, initOnce, NULL); epicsMutexMustLock(globalLock); return 0; } -epicsShareFunc void epicsInterruptUnlock(int key) +LIBCOM_API void epicsInterruptUnlock(int key) { if (!globalLock) cantProceed("epicsInterruptUnlock called before epicsInterruptLock\n"); epicsMutexUnlock(globalLock); } -epicsShareFunc int epicsInterruptIsInterruptContext() +LIBCOM_API int epicsInterruptIsInterruptContext() { return 0; } -epicsShareFunc void epicsInterruptContextMessage(const char *message) +LIBCOM_API void epicsInterruptContextMessage(const char *message) { errlogPrintf("%s", message); } diff --git a/modules/libcom/src/osi/os/default/osdMessageQueue.cpp b/modules/libcom/src/osi/os/default/osdMessageQueue.cpp index 9567c1f09..94491fa8b 100644 --- a/modules/libcom/src/osi/os/default/osdMessageQueue.cpp +++ b/modules/libcom/src/osi/os/default/osdMessageQueue.cpp @@ -19,7 +19,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsMessageQueue.h" #include #include @@ -68,7 +67,7 @@ struct epicsMessageQueueOSD { bool full; }; -epicsShareFunc epicsMessageQueueId epicsShareAPI epicsMessageQueueCreate( +LIBCOM_API epicsMessageQueueId epicsStdCall epicsMessageQueueCreate( unsigned int capacity, unsigned int maxMessageSize) { @@ -115,7 +114,7 @@ freeEventNode(struct eventNode *enode) free(enode); } -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsMessageQueueDestroy(epicsMessageQueueId pmsg) { struct eventNode *evp; @@ -241,21 +240,21 @@ mySend(epicsMessageQueueId pmsg, void *message, unsigned int size, return 0; } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall epicsMessageQueueTrySend(epicsMessageQueueId pmsg, void *message, unsigned int size) { return mySend(pmsg, message, size, 0); } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall epicsMessageQueueSend(epicsMessageQueueId pmsg, void *message, unsigned int size) { return mySend(pmsg, message, size, -1); } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall epicsMessageQueueSendWithTimeout(epicsMessageQueueId pmsg, void *message, unsigned int size, double timeout) { @@ -356,28 +355,28 @@ myReceive(epicsMessageQueueId pmsg, void *message, unsigned int size, return -1; } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall epicsMessageQueueTryReceive(epicsMessageQueueId pmsg, void *message, unsigned int size) { return myReceive(pmsg, message, size, 0); } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall epicsMessageQueueReceive(epicsMessageQueueId pmsg, void *message, unsigned int size) { return myReceive(pmsg, message, size, -1); } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall epicsMessageQueueReceiveWithTimeout(epicsMessageQueueId pmsg, void *message, unsigned int size, double timeout) { return myReceive(pmsg, message, size, timeout); } -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall epicsMessageQueuePending(epicsMessageQueueId pmsg) { char *myInPtr, *myOutPtr; @@ -396,7 +395,7 @@ epicsMessageQueuePending(epicsMessageQueueId pmsg) return nmsg; } -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsMessageQueueShow(epicsMessageQueueId pmsg, int level) { printf("Message Queue Used:%d Slots:%lu", epicsMessageQueuePending(pmsg), pmsg->capacity); diff --git a/modules/libcom/src/osi/os/default/osdNetIntf.c b/modules/libcom/src/osi/os/default/osdNetIntf.c index 62247bc5d..3ba3c0b47 100644 --- a/modules/libcom/src/osi/os/default/osdNetIntf.c +++ b/modules/libcom/src/osi/os/default/osdNetIntf.c @@ -18,7 +18,6 @@ #include #include -#define epicsExportSharedSymbols #include "osiSock.h" #include "epicsAssert.h" #include "errlog.h" @@ -65,7 +64,7 @@ static struct ifreq * ifreqNext ( struct ifreq *pifreq ) /* * osiSockDiscoverBroadcastAddresses () */ -epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses +LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses (ELLLIST *pList, SOCKET socket, const osiSockAddr *pMatchAddr) { static const unsigned nelem = 100; @@ -345,7 +344,7 @@ fail: } -epicsShareFunc osiSockAddr epicsShareAPI osiLocalAddr (SOCKET socket) +LIBCOM_API osiSockAddr epicsStdCall osiLocalAddr (SOCKET socket) { epicsThreadOnce(&osiLocalAddrId, osiLocalAddrOnce, &socket); return osiLocalAddrResult; diff --git a/modules/libcom/src/osi/os/default/osdPoolStatus.c b/modules/libcom/src/osi/os/default/osdPoolStatus.c index bb764b2ad..d4e756486 100644 --- a/modules/libcom/src/osi/os/default/osdPoolStatus.c +++ b/modules/libcom/src/osi/os/default/osdPoolStatus.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #include "osiPoolStatus.h" /* @@ -17,7 +16,7 @@ * @@@@@ not implemented @@@@@ * */ -epicsShareFunc int epicsShareAPI osiSufficentSpaceInPool ( size_t contiguousBlockSize ) +LIBCOM_API int epicsStdCall osiSufficentSpaceInPool ( size_t contiguousBlockSize ) { return 1; } diff --git a/modules/libcom/src/osi/os/default/osdSignal.cpp b/modules/libcom/src/osi/os/default/osdSignal.cpp index 08dfa023c..cf234da0e 100644 --- a/modules/libcom/src/osi/os/default/osdSignal.cpp +++ b/modules/libcom/src/osi/os/default/osdSignal.cpp @@ -8,14 +8,13 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #include "epicsSignal.h" /* * All NOOPs if the os isnt POSIX */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigHupIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigPipeIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigAlarmIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadId */ ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigAlarmIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadId */ ) {} diff --git a/modules/libcom/src/osi/os/default/osdSockAddrReuse.cpp b/modules/libcom/src/osi/os/default/osdSockAddrReuse.cpp index 98ac3d098..8a39a5a3c 100644 --- a/modules/libcom/src/osi/os/default/osdSockAddrReuse.cpp +++ b/modules/libcom/src/osi/os/default/osdSockAddrReuse.cpp @@ -16,11 +16,10 @@ # define __BSD_VISIBLE 1 #endif -#define epicsExportSharedSymbols #include "osiSock.h" #include "errlog.h" -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsSocketEnableAddressReuseDuringTimeWaitState ( SOCKET s ) { int yes = true; @@ -48,7 +47,7 @@ void setfanout(SOCKET s, int opt, const char *optname) } } -void epicsShareAPI epicsSocketEnableAddressUseForDatagramFanout ( SOCKET s ) +void epicsStdCall epicsSocketEnableAddressUseForDatagramFanout ( SOCKET s ) { #define DOIT(sock, opt) setfanout(sock, opt, #opt) #ifdef SO_REUSEPORT diff --git a/modules/libcom/src/osi/os/default/osdSpin.c b/modules/libcom/src/osi/os/default/osdSpin.c index 6e9acb158..eb9cc1f91 100644 --- a/modules/libcom/src/osi/os/default/osdSpin.c +++ b/modules/libcom/src/osi/os/default/osdSpin.c @@ -12,7 +12,6 @@ #include -#define epicsExportSharedSymbols #include "cantProceed.h" #include "errlog.h" #include "epicsMutex.h" diff --git a/modules/libcom/src/osi/os/default/osdThreadExtra.c b/modules/libcom/src/osi/os/default/osdThreadExtra.c index 0a7c7ae95..f4562802e 100644 --- a/modules/libcom/src/osi/os/default/osdThreadExtra.c +++ b/modules/libcom/src/osi/os/default/osdThreadExtra.c @@ -9,8 +9,7 @@ /* Null default thread hooks for all platforms that do not do anything special */ -#define epicsExportSharedSymbols #include "epicsThread.h" -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; diff --git a/modules/libcom/src/osi/os/default/osdThreadHooks.c b/modules/libcom/src/osi/os/default/osdThreadHooks.c index cbe28a4ff..924c1a20e 100644 --- a/modules/libcom/src/osi/os/default/osdThreadHooks.c +++ b/modules/libcom/src/osi/os/default/osdThreadHooks.c @@ -16,13 +16,12 @@ #include #include -#define epicsExportSharedSymbols #include "ellLib.h" #include "epicsMutex.h" #include "epicsThread.h" -epicsShareExtern EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; -epicsShareExtern EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; +LIBCOM_API extern EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; +LIBCOM_API extern EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; typedef struct epicsThreadHook { ELLNODE node; @@ -52,7 +51,7 @@ static void threadHookInit(void) epicsThreadOnce(&flag, threadHookOnce, NULL); } -epicsShareFunc int epicsThreadHookAdd(EPICS_THREAD_HOOK_ROUTINE hook) +LIBCOM_API int epicsThreadHookAdd(EPICS_THREAD_HOOK_ROUTINE hook) { epicsThreadHook *pHook; @@ -75,7 +74,7 @@ epicsShareFunc int epicsThreadHookAdd(EPICS_THREAD_HOOK_ROUTINE hook) return -1; } -epicsShareFunc int epicsThreadHookDelete(EPICS_THREAD_HOOK_ROUTINE hook) +LIBCOM_API int epicsThreadHookDelete(EPICS_THREAD_HOOK_ROUTINE hook) { if (!hook) return 0; threadHookInit(); @@ -97,13 +96,13 @@ epicsShareFunc int epicsThreadHookDelete(EPICS_THREAD_HOOK_ROUTINE hook) return -1; } -epicsShareFunc void osdThreadHooksRunMain(epicsThreadId id) +LIBCOM_API void osdThreadHooksRunMain(epicsThreadId id) { if (epicsThreadHookMain) epicsThreadHookMain(id); } -epicsShareFunc void osdThreadHooksRun(epicsThreadId id) +LIBCOM_API void osdThreadHooksRun(epicsThreadId id) { threadHookInit(); @@ -121,7 +120,7 @@ epicsShareFunc void osdThreadHooksRun(epicsThreadId id) } } -epicsShareFunc void epicsThreadHooksShow(void) +LIBCOM_API void epicsThreadHooksShow(void) { threadHookInit(); diff --git a/modules/libcom/src/osi/os/default/osdgetexec.c b/modules/libcom/src/osi/os/default/osdgetexec.c index 0bec9ead9..996596561 100644 --- a/modules/libcom/src/osi/os/default/osdgetexec.c +++ b/modules/libcom/src/osi/os/default/osdgetexec.c @@ -1,6 +1,5 @@ #include -#define epicsExportSharedSymbols #include char *epicsGetExecName(void) diff --git a/modules/libcom/src/osi/os/freebsd/osdTime.h b/modules/libcom/src/osi/os/freebsd/osdTime.h index 941426c72..c05ffa3af 100644 --- a/modules/libcom/src/osi/os/freebsd/osdTime.h +++ b/modules/libcom/src/osi/os/freebsd/osdTime.h @@ -20,7 +20,7 @@ extern "C" { #endif /* __cplusplus */ -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall convertDoubleToWakeTime(double timeout,struct timespec *wakeTime); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/freebsd/osdgetexec.c b/modules/libcom/src/osi/os/freebsd/osdgetexec.c index 39c0a163d..b88fd6153 100644 --- a/modules/libcom/src/osi/os/freebsd/osdgetexec.c +++ b/modules/libcom/src/osi/os/freebsd/osdgetexec.c @@ -4,7 +4,6 @@ #include #include -#define epicsExportSharedSymbols #include char *epicsGetExecName(void) diff --git a/modules/libcom/src/osi/os/iOS/epicsMath.h b/modules/libcom/src/osi/os/iOS/epicsMath.h index 493583f70..07360588d 100644 --- a/modules/libcom/src/osi/os/iOS/epicsMath.h +++ b/modules/libcom/src/osi/os/iOS/epicsMath.h @@ -9,7 +9,7 @@ #define epicsMathh #include -#include +#include #define finite(x) isfinite(x) @@ -17,8 +17,8 @@ extern "C" { #endif -epicsShareExtern float epicsNAN; -epicsShareExtern float epicsINF; +LIBCOM_API extern float epicsNAN; +LIBCOM_API extern float epicsINF; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/iOS/osdEnv.c b/modules/libcom/src/osi/os/iOS/osdEnv.c index ba2946aa3..65ce0de3a 100644 --- a/modules/libcom/src/osi/os/iOS/osdEnv.c +++ b/modules/libcom/src/osi/os/iOS/osdEnv.c @@ -18,7 +18,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include #include @@ -30,7 +29,7 @@ /* * Set the value of an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value) +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value) { if (!name) return; iocshEnvClear(name); @@ -41,7 +40,7 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val * Unset an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name) { iocshEnvClear(name); unsetenv(name); @@ -50,7 +49,7 @@ epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name) { if (name == NULL) { extern char **environ; diff --git a/modules/libcom/src/osi/os/iOS/osdMonotonic.c b/modules/libcom/src/osi/os/iOS/osdMonotonic.c index dfce9dc85..9599410f6 100644 --- a/modules/libcom/src/osi/os/iOS/osdMonotonic.c +++ b/modules/libcom/src/osi/os/iOS/osdMonotonic.c @@ -7,7 +7,6 @@ #include #include -#define epicsExportSharedSymbols #define EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE #include "dbDefs.h" #include "errlog.h" diff --git a/modules/libcom/src/osi/os/iOS/osdTime.h b/modules/libcom/src/osi/os/iOS/osdTime.h index 953ec31b8..fe0e634c9 100644 --- a/modules/libcom/src/osi/os/iOS/osdTime.h +++ b/modules/libcom/src/osi/os/iOS/osdTime.h @@ -17,7 +17,7 @@ extern "C" { #endif /* __cplusplus */ -epicsShareFunc void convertDoubleToWakeTime(double timeout, +LIBCOM_API void convertDoubleToWakeTime(double timeout, struct timespec *wakeTime); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/posix/epicsAtomicOSD.cpp b/modules/libcom/src/osi/os/posix/epicsAtomicOSD.cpp index a449a69c0..55578b90e 100644 --- a/modules/libcom/src/osi/os/posix/epicsAtomicOSD.cpp +++ b/modules/libcom/src/osi/os/posix/epicsAtomicOSD.cpp @@ -15,7 +15,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsAssert.h" #include "epicsAtomic.h" diff --git a/modules/libcom/src/osi/os/posix/epicsAtomicOSD.h b/modules/libcom/src/osi/os/posix/epicsAtomicOSD.h index 892d2dcb5..06e8c42ea 100644 --- a/modules/libcom/src/osi/os/posix/epicsAtomicOSD.h +++ b/modules/libcom/src/osi/os/posix/epicsAtomicOSD.h @@ -16,7 +16,7 @@ #ifndef epicsAtomicOSD_h #define epicsAtomicOSD_h -#include +#include #define EPICS_ATOMIC_OS_NAME "POSIX" @@ -26,9 +26,9 @@ typedef struct EpicsAtomicLockKey {} EpicsAtomicLockKey; extern "C" { #endif /* __cplusplus */ -epicsShareFunc void epicsAtomicLock ( struct EpicsAtomicLockKey * ); -epicsShareFunc void epicsAtomicUnlock ( struct EpicsAtomicLockKey * ); -epicsShareFunc void epicsAtomicMemoryBarrierFallback ( void ); +LIBCOM_API void epicsAtomicLock ( struct EpicsAtomicLockKey * ); +LIBCOM_API void epicsAtomicUnlock ( struct EpicsAtomicLockKey * ); +LIBCOM_API void epicsAtomicMemoryBarrierFallback ( void ); #ifndef EPICS_ATOMIC_READ_MEMORY_BARRIER EPICS_ATOMIC_INLINE void epicsAtomicReadMemoryBarrier (void) diff --git a/modules/libcom/src/osi/os/posix/epicsMath.h b/modules/libcom/src/osi/os/posix/epicsMath.h index 6a76f0afb..517a795f0 100644 --- a/modules/libcom/src/osi/os/posix/epicsMath.h +++ b/modules/libcom/src/osi/os/posix/epicsMath.h @@ -11,7 +11,7 @@ #define epicsMathh #include -#include +#include #ifdef __cplusplus @@ -34,8 +34,8 @@ extern "C" { # define finite(x) isfinite((double)(x)) #endif -epicsShareExtern float epicsNAN; -epicsShareExtern float epicsINF; +LIBCOM_API extern float epicsNAN; +LIBCOM_API extern float epicsINF; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/posix/epicsTempFile.c b/modules/libcom/src/osi/os/posix/epicsTempFile.c index 6d7f631b2..f5057a2b6 100644 --- a/modules/libcom/src/osi/os/posix/epicsTempFile.c +++ b/modules/libcom/src/osi/os/posix/epicsTempFile.c @@ -10,10 +10,9 @@ #include -#define epicsExportSharedSymbols #include "epicsTempFile.h" -epicsShareFunc FILE * epicsShareAPI epicsTempFile ( void ) +LIBCOM_API FILE * epicsStdCall epicsTempFile ( void ) { return tmpfile (); } diff --git a/modules/libcom/src/osi/os/posix/osdElfFindAddr.c b/modules/libcom/src/osi/os/posix/osdElfFindAddr.c index bc67ae9ea..964f1d89a 100644 --- a/modules/libcom/src/osi/os/posix/osdElfFindAddr.c +++ b/modules/libcom/src/osi/os/posix/osdElfFindAddr.c @@ -23,7 +23,6 @@ #include #endif -#define epicsExportSharedSymbols #include "epicsMutex.h" #include "epicsThread.h" #include "epicsTime.h" @@ -32,7 +31,7 @@ #include "epicsStackTracePvt.h" /* This routine is provided by osiClockTime.c */ -epicsShareExtern void ClockTime_GetProgramStart(epicsTimeStamp *pDest); +LIBCOM_API extern void ClockTime_GetProgramStart(epicsTimeStamp *pDest); #define FIND_ADDR_DEBUG 0 diff --git a/modules/libcom/src/osi/os/posix/osdEvent.c b/modules/libcom/src/osi/os/posix/osdEvent.c index f133ed028..9a6a4f5e8 100644 --- a/modules/libcom/src/osi/os/posix/osdEvent.c +++ b/modules/libcom/src/osi/os/posix/osdEvent.c @@ -19,7 +19,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsEvent.h" #include "epicsTime.h" #include "errlog.h" @@ -45,7 +44,7 @@ struct epicsEventOSD { } -epicsShareFunc epicsEventId epicsEventCreate(epicsEventInitialState init) +LIBCOM_API epicsEventId epicsEventCreate(epicsEventInitialState init) { epicsEventId pevent = malloc(sizeof(*pevent)); @@ -68,7 +67,7 @@ epicsShareFunc epicsEventId epicsEventCreate(epicsEventInitialState init) return NULL; } -epicsShareFunc void epicsEventDestroy(epicsEventId pevent) +LIBCOM_API void epicsEventDestroy(epicsEventId pevent) { int status = pthread_mutex_destroy(&pevent->mutex); @@ -78,7 +77,7 @@ epicsShareFunc void epicsEventDestroy(epicsEventId pevent) free(pevent); } -epicsShareFunc epicsEventStatus epicsEventTrigger(epicsEventId pevent) +LIBCOM_API epicsEventStatus epicsEventTrigger(epicsEventId pevent) { int status = pthread_mutex_lock(&pevent->mutex); @@ -93,7 +92,7 @@ epicsShareFunc epicsEventStatus epicsEventTrigger(epicsEventId pevent) return epicsEventOK; } -epicsShareFunc epicsEventStatus epicsEventWait(epicsEventId pevent) +LIBCOM_API epicsEventStatus epicsEventWait(epicsEventId pevent) { epicsEventStatus result = epicsEventOK; int status = pthread_mutex_lock(&pevent->mutex); @@ -115,7 +114,7 @@ release: return result; } -epicsShareFunc epicsEventStatus epicsEventWaitWithTimeout(epicsEventId pevent, +LIBCOM_API epicsEventStatus epicsEventWaitWithTimeout(epicsEventId pevent, double timeout) { epicsEventStatus result = epicsEventOK; @@ -143,12 +142,12 @@ release: return result; } -epicsShareFunc epicsEventStatus epicsEventTryWait(epicsEventId id) +LIBCOM_API epicsEventStatus epicsEventTryWait(epicsEventId id) { return epicsEventWaitWithTimeout(id, 0.0); } -epicsShareFunc void epicsEventShow(epicsEventId pevent, unsigned int level) +LIBCOM_API void epicsEventShow(epicsEventId pevent, unsigned int level) { printf("epicsEvent %p: %s\n", pevent, pevent->isFull ? "full" : "empty"); diff --git a/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp b/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp index 8ed1bb283..ae32d61fe 100644 --- a/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp +++ b/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp @@ -23,7 +23,6 @@ #endif -#define epicsExportSharedSymbols #include "epicsStackTracePvt.h" int epicsBackTrace(void **buf, int buf_sz) diff --git a/modules/libcom/src/osi/os/posix/osdFindSymbol.c b/modules/libcom/src/osi/os/posix/osdFindSymbol.c index 084865341..7a86f15b9 100644 --- a/modules/libcom/src/osi/os/posix/osdFindSymbol.c +++ b/modules/libcom/src/osi/os/posix/osdFindSymbol.c @@ -8,7 +8,6 @@ #include -#define epicsExportSharedSymbols #include "epicsFindSymbol.h" /* non-POSIX extension available on Linux (glibc at least) and OSX. @@ -17,17 +16,17 @@ # define RTLD_DEFAULT 0 #endif -epicsShareFunc void * epicsLoadLibrary(const char *name) +LIBCOM_API void * epicsLoadLibrary(const char *name) { return dlopen(name, RTLD_LAZY | RTLD_GLOBAL); } -epicsShareFunc const char *epicsLoadError(void) +LIBCOM_API const char *epicsLoadError(void) { return dlerror(); } -epicsShareFunc void * epicsShareAPI epicsFindSymbol(const char *name) +LIBCOM_API void * epicsStdCall epicsFindSymbol(const char *name) { return dlsym(RTLD_DEFAULT, name); } diff --git a/modules/libcom/src/osi/os/posix/osdMonotonic.c b/modules/libcom/src/osi/os/posix/osdMonotonic.c index 65585797c..12e0993ae 100644 --- a/modules/libcom/src/osi/os/posix/osdMonotonic.c +++ b/modules/libcom/src/osi/os/posix/osdMonotonic.c @@ -4,7 +4,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #define EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE #include "dbDefs.h" #include "errlog.h" diff --git a/modules/libcom/src/osi/os/posix/osdMutex.c b/modules/libcom/src/osi/os/posix/osdMutex.c index d1411215c..43d3eac10 100644 --- a/modules/libcom/src/osi/os/posix/osdMutex.c +++ b/modules/libcom/src/osi/os/posix/osdMutex.c @@ -20,7 +20,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsMutex.h" #include "cantProceed.h" #include "epicsTime.h" diff --git a/modules/libcom/src/osi/os/posix/osdProcess.c b/modules/libcom/src/osi/os/posix/osdProcess.c index a08871465..8517e8ecc 100644 --- a/modules/libcom/src/osi/os/posix/osdProcess.c +++ b/modules/libcom/src/osi/os/posix/osdProcess.c @@ -26,12 +26,11 @@ #include #include -#define epicsExportSharedSymbols #include "osiProcess.h" #include "errlog.h" #include "epicsAssert.h" -epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, unsigned bufSizeIn) +LIBCOM_API osiGetUserNameReturn epicsStdCall osiGetUserName (char *pBuf, unsigned bufSizeIn) { struct passwd *p; @@ -58,7 +57,7 @@ epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, un } } -epicsShareFunc osiSpawnDetachedProcessReturn epicsShareAPI osiSpawnDetachedProcess +LIBCOM_API osiSpawnDetachedProcessReturn epicsStdCall osiSpawnDetachedProcess (const char *pProcessName, const char *pBaseExecutableName) { int status; diff --git a/modules/libcom/src/osi/os/posix/osdSignal.cpp b/modules/libcom/src/osi/os/posix/osdSignal.cpp index 3f8deb4fb..5fe04366a 100644 --- a/modules/libcom/src/osi/os/posix/osdSignal.cpp +++ b/modules/libcom/src/osi/os/posix/osdSignal.cpp @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsSignal.h" static void ignoreIfDefault(int signum, const char *name) @@ -38,7 +37,7 @@ static void ignoreIfDefault(int signum, const char *name) /* * epicsSignalInstallSigHupIgnore () */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigHupIgnore (void) +LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore (void) { ignoreIfDefault(SIGHUP, "SIGHUP"); } @@ -46,12 +45,12 @@ epicsShareFunc void epicsShareAPI epicsSignalInstallSigHupIgnore (void) /* * epicsSignalInstallSigPipeIgnore () */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigPipeIgnore (void) +LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore (void) { ignoreIfDefault(SIGPIPE, "SIGPIPE"); } /* Disabled */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigAlarmIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalRaiseSigAlarm +LIBCOM_API void epicsStdCall epicsSignalInstallSigAlarmIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadId */ ) {} diff --git a/modules/libcom/src/osi/os/posix/osdSock.c b/modules/libcom/src/osi/os/posix/osdSock.c index 9f8146142..5d966b560 100644 --- a/modules/libcom/src/osi/os/posix/osdSock.c +++ b/modules/libcom/src/osi/os/posix/osdSock.c @@ -21,7 +21,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsThread.h" #include "epicsEvent.h" #include "epicsMutex.h" @@ -69,7 +68,7 @@ void osiSockRelease() * the socket will be closed if the user uses exec() * as is the case with third party tools such as TCL/TK */ -epicsShareFunc SOCKET epicsShareAPI epicsSocketCreate ( +LIBCOM_API SOCKET epicsStdCall epicsSocketCreate ( int domain, int type, int protocol ) { SOCKET sock = socket ( domain, type, protocol ); @@ -92,7 +91,7 @@ epicsShareFunc SOCKET epicsShareAPI epicsSocketCreate ( return sock; } -epicsShareFunc int epicsShareAPI epicsSocketAccept ( +LIBCOM_API int epicsStdCall epicsSocketAccept ( int sock, struct sockaddr * pAddr, osiSocklen_t * addrlen ) { int newSock = accept ( sock, pAddr, addrlen ); @@ -115,7 +114,7 @@ epicsShareFunc int epicsShareAPI epicsSocketAccept ( return newSock; } -epicsShareFunc void epicsShareAPI epicsSocketDestroy ( SOCKET s ) +LIBCOM_API void epicsStdCall epicsSocketDestroy ( SOCKET s ) { int status = close ( s ); if ( status < 0 ) { @@ -133,7 +132,7 @@ epicsShareFunc void epicsShareAPI epicsSocketDestroy ( SOCKET s ) * On many systems, gethostbyaddr must be protected by a * mutex since the routine is not thread-safe. */ -epicsShareFunc unsigned epicsShareAPI ipAddrToHostName +LIBCOM_API unsigned epicsStdCall ipAddrToHostName (const struct in_addr *pAddr, char *pBuf, unsigned bufSize) { struct hostent *ent; @@ -159,7 +158,7 @@ epicsShareFunc unsigned epicsShareAPI ipAddrToHostName * On many systems, gethostbyname must be protected by a * mutex since the routine is not thread-safe. */ -epicsShareFunc int epicsShareAPI hostToIPAddr +LIBCOM_API int epicsStdCall hostToIPAddr (const char *pHostName, struct in_addr *pIPA) { struct hostent *phe; diff --git a/modules/libcom/src/osi/os/posix/osdSpin.c b/modules/libcom/src/osi/os/posix/osdSpin.c index aa61a6c90..4be3f980c 100644 --- a/modules/libcom/src/osi/os/posix/osdSpin.c +++ b/modules/libcom/src/osi/os/posix/osdSpin.c @@ -16,7 +16,6 @@ #include #include -#define epicsExportSharedSymbols #include "errlog.h" #include "cantProceed.h" #include "epicsSpin.h" diff --git a/modules/libcom/src/osi/os/posix/osdStdio.c b/modules/libcom/src/osi/os/posix/osdStdio.c index 2a23cee71..0f9378cc5 100644 --- a/modules/libcom/src/osi/os/posix/osdStdio.c +++ b/modules/libcom/src/osi/os/posix/osdStdio.c @@ -9,10 +9,9 @@ \*************************************************************************/ #include -#define epicsExportSharedSymbols #include -epicsShareFunc int epicsShareAPI epicsSnprintf( +LIBCOM_API int epicsStdCall epicsSnprintf( char *str, size_t size, const char *format, ...) { int nchars; @@ -24,7 +23,7 @@ epicsShareFunc int epicsShareAPI epicsSnprintf( return(nchars); } -epicsShareFunc int epicsShareAPI epicsVsnprintf( +LIBCOM_API int epicsStdCall epicsVsnprintf( char *str, size_t size, const char *format, va_list ap) { return vsnprintf ( str, size, format, ap ); diff --git a/modules/libcom/src/osi/os/posix/osdThread.c b/modules/libcom/src/osi/os/posix/osdThread.c index d99e5d9a6..de8d208bb 100644 --- a/modules/libcom/src/osi/os/posix/osdThread.c +++ b/modules/libcom/src/osi/os/posix/osdThread.c @@ -27,7 +27,6 @@ #include #endif -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "ellLib.h" #include "epicsEvent.h" @@ -40,9 +39,9 @@ #include "epicsExit.h" #include "epicsAtomic.h" -epicsShareFunc void epicsThreadShowInfo(epicsThreadOSD *pthreadInfo, unsigned int level); -epicsShareFunc void osdThreadHooksRun(epicsThreadId id); -epicsShareFunc void osdThreadHooksRunMain(epicsThreadId id); +LIBCOM_API void epicsThreadShowInfo(epicsThreadOSD *pthreadInfo, unsigned int level); +LIBCOM_API void osdThreadHooksRun(epicsThreadId id); +LIBCOM_API void osdThreadHooksRunMain(epicsThreadId id); static int mutexLock(pthread_mutex_t *id) { @@ -113,7 +112,7 @@ if(status) { \ } -epicsShareFunc int epicsThreadGetPosixPriority(epicsThreadId pthreadInfo) +LIBCOM_API int epicsThreadGetPosixPriority(epicsThreadId pthreadInfo) { #if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && _POSIX_THREAD_PRIORITY_SCHEDULING > 0 double maxPriority,minPriority,slope,oss; @@ -422,7 +421,7 @@ static void epicsThreadInit(void) checkStatusQuit(status,"pthread_once","epicsThreadInit"); } -epicsShareFunc +LIBCOM_API void epicsThreadRealtimeLock(void) { #if defined(_POSIX_MEMLOCK) && _POSIX_MEMLOCK > 0 @@ -464,7 +463,7 @@ void epicsThreadRealtimeLock(void) #define STACK_SIZE(f) (0) #endif /*_POSIX_THREAD_ATTR_STACKSIZE*/ -epicsShareFunc unsigned int epicsShareAPI epicsThreadGetStackSize (epicsThreadStackSizeClass stackSizeClass) +LIBCOM_API unsigned int epicsStdCall epicsThreadGetStackSize (epicsThreadStackSizeClass stackSizeClass) { #if defined (OSITHREAD_USE_DEFAULT_STACK) return 0; @@ -485,7 +484,7 @@ epicsShareFunc unsigned int epicsShareAPI epicsThreadGetStackSize (epicsThreadSt #endif /*_POSIX_THREAD_ATTR_STACKSIZE*/ } -epicsShareFunc void epicsShareAPI epicsThreadOnce(epicsThreadOnceId *id, void (*func)(void *), void *arg) +LIBCOM_API void epicsStdCall epicsThreadOnce(epicsThreadOnceId *id, void (*func)(void *), void *arg) { static struct epicsThreadOSD threadOnceComplete; #define EPICS_THREAD_ONCE_DONE &threadOnceComplete @@ -662,7 +661,7 @@ void epicsThreadMustJoin(epicsThreadId id) free_threadInfo(id); } -epicsShareFunc void epicsShareAPI epicsThreadSuspendSelf(void) +LIBCOM_API void epicsStdCall epicsThreadSuspendSelf(void) { epicsThreadOSD *pthreadInfo; @@ -674,14 +673,14 @@ epicsShareFunc void epicsShareAPI epicsThreadSuspendSelf(void) epicsEventWait(pthreadInfo->suspendEvent); } -epicsShareFunc void epicsShareAPI epicsThreadResume(epicsThreadOSD *pthreadInfo) +LIBCOM_API void epicsStdCall epicsThreadResume(epicsThreadOSD *pthreadInfo) { assert(epicsThreadOnceCalled); pthreadInfo->isSuspended = 0; epicsEventSignal(pthreadInfo->suspendEvent); } -epicsShareFunc void epicsShareAPI epicsThreadExitMain(void) +LIBCOM_API void epicsStdCall epicsThreadExitMain(void) { epicsThreadOSD *pthreadInfo; @@ -699,19 +698,19 @@ epicsShareFunc void epicsShareAPI epicsThreadExitMain(void) } } -epicsShareFunc unsigned int epicsShareAPI epicsThreadGetPriority(epicsThreadId pthreadInfo) +LIBCOM_API unsigned int epicsStdCall epicsThreadGetPriority(epicsThreadId pthreadInfo) { assert(epicsThreadOnceCalled); return(pthreadInfo->osiPriority); } -epicsShareFunc unsigned int epicsShareAPI epicsThreadGetPrioritySelf(void) +LIBCOM_API unsigned int epicsStdCall epicsThreadGetPrioritySelf(void) { epicsThreadInit(); return(epicsThreadGetPriority(epicsThreadGetIdSelf())); } -epicsShareFunc void epicsShareAPI epicsThreadSetPriority(epicsThreadId pthreadInfo,unsigned int priority) +LIBCOM_API void epicsStdCall epicsThreadSetPriority(epicsThreadId pthreadInfo,unsigned int priority) { #if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && _POSIX_THREAD_PRIORITY_SCHEDULING > 0 int status; @@ -738,7 +737,7 @@ epicsShareFunc void epicsShareAPI epicsThreadSetPriority(epicsThreadId pthreadIn #endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ } -epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadHighestPriorityLevelBelow( +LIBCOM_API epicsThreadBooleanStatus epicsStdCall epicsThreadHighestPriorityLevelBelow( unsigned int priority, unsigned *pPriorityJustBelow) { unsigned newPriority = priority - 1; @@ -755,7 +754,7 @@ epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadHighestPriority return epicsThreadBooleanStatusFail; } -epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadLowestPriorityLevelAbove( +LIBCOM_API epicsThreadBooleanStatus epicsStdCall epicsThreadLowestPriorityLevelAbove( unsigned int priority, unsigned *pPriorityJustAbove) { unsigned newPriority = priority + 1; @@ -774,7 +773,7 @@ epicsShareFunc epicsThreadBooleanStatus epicsShareAPI epicsThreadLowestPriorityL return epicsThreadBooleanStatusFail; } -epicsShareFunc int epicsShareAPI epicsThreadIsEqual(epicsThreadId p1, epicsThreadId p2) +LIBCOM_API int epicsStdCall epicsThreadIsEqual(epicsThreadId p1, epicsThreadId p2) { assert(epicsThreadOnceCalled); assert(p1); @@ -782,13 +781,13 @@ epicsShareFunc int epicsShareAPI epicsThreadIsEqual(epicsThreadId p1, epicsThrea return(pthread_equal(p1->tid,p2->tid)); } -epicsShareFunc int epicsShareAPI epicsThreadIsSuspended(epicsThreadId pthreadInfo) { +LIBCOM_API int epicsStdCall epicsThreadIsSuspended(epicsThreadId pthreadInfo) { assert(epicsThreadOnceCalled); assert(pthreadInfo); return(pthreadInfo->isSuspended ? 1 : 0); } -epicsShareFunc void epicsShareAPI epicsThreadSleep(double seconds) +LIBCOM_API void epicsStdCall epicsThreadSleep(double seconds) { struct timespec delayTime; struct timespec remainingTime; @@ -808,7 +807,7 @@ epicsShareFunc void epicsShareAPI epicsThreadSleep(double seconds) delayTime = remainingTime; } -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetIdSelf(void) { +LIBCOM_API epicsThreadId epicsStdCall epicsThreadGetIdSelf(void) { epicsThreadOSD *pthreadInfo; epicsThreadInit(); @@ -819,12 +818,12 @@ epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetIdSelf(void) { return(pthreadInfo); } -epicsShareFunc pthread_t epicsThreadGetPosixThreadId ( epicsThreadId threadId ) +LIBCOM_API pthread_t epicsThreadGetPosixThreadId ( epicsThreadId threadId ) { return threadId->tid; } -epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetId(const char *name) { +LIBCOM_API epicsThreadId epicsStdCall epicsThreadGetId(const char *name) { epicsThreadOSD *pthreadInfo; int status; @@ -844,7 +843,7 @@ epicsShareFunc epicsThreadId epicsShareAPI epicsThreadGetId(const char *name) { return(pthreadInfo); } -epicsShareFunc const char epicsShareAPI *epicsThreadGetNameSelf() +LIBCOM_API const char epicsStdCall *epicsThreadGetNameSelf() { epicsThreadOSD *pthreadInfo; @@ -855,14 +854,14 @@ epicsShareFunc const char epicsShareAPI *epicsThreadGetNameSelf() return(pthreadInfo->name); } -epicsShareFunc void epicsShareAPI epicsThreadGetName(epicsThreadId pthreadInfo, char *name, size_t size) +LIBCOM_API void epicsStdCall epicsThreadGetName(epicsThreadId pthreadInfo, char *name, size_t size) { assert(epicsThreadOnceCalled); strncpy(name, pthreadInfo->name, size-1); name[size-1] = '\0'; } -epicsShareFunc void epicsThreadMap(EPICS_THREAD_HOOK_ROUTINE func) +LIBCOM_API void epicsThreadMap(EPICS_THREAD_HOOK_ROUTINE func) { epicsThreadOSD *pthreadInfo; int status; @@ -881,7 +880,7 @@ epicsShareFunc void epicsThreadMap(EPICS_THREAD_HOOK_ROUTINE func) checkStatus(status, "pthread_mutex_unlock epicsThreadMap"); } -epicsShareFunc void epicsShareAPI epicsThreadShowAll(unsigned int level) +LIBCOM_API void epicsStdCall epicsThreadShowAll(unsigned int level) { epicsThreadOSD *pthreadInfo; int status; @@ -901,7 +900,7 @@ epicsShareFunc void epicsShareAPI epicsThreadShowAll(unsigned int level) checkStatus(status,"pthread_mutex_unlock epicsThreadShowAll"); } -epicsShareFunc void epicsShareAPI epicsThreadShow(epicsThreadId showThread, unsigned int level) +LIBCOM_API void epicsStdCall epicsThreadShow(epicsThreadId showThread, unsigned int level) { epicsThreadOSD *pthreadInfo; int status; @@ -932,7 +931,7 @@ epicsShareFunc void epicsShareAPI epicsThreadShow(epicsThreadId showThread, unsi printf("Thread %#lx (%lu) not found.\n", (unsigned long)showThread, (unsigned long)showThread); } -epicsShareFunc epicsThreadPrivateId epicsShareAPI epicsThreadPrivateCreate(void) +LIBCOM_API epicsThreadPrivateId epicsStdCall epicsThreadPrivateCreate(void) { pthread_key_t *key; int status; @@ -948,7 +947,7 @@ epicsShareFunc epicsThreadPrivateId epicsShareAPI epicsThreadPrivateCreate(void) return((epicsThreadPrivateId)key); } -epicsShareFunc void epicsShareAPI epicsThreadPrivateDelete(epicsThreadPrivateId id) +LIBCOM_API void epicsStdCall epicsThreadPrivateDelete(epicsThreadPrivateId id) { pthread_key_t *key = (pthread_key_t *)id; int status; @@ -959,7 +958,7 @@ epicsShareFunc void epicsShareAPI epicsThreadPrivateDelete(epicsThreadPrivateId free((void *)key); } -epicsShareFunc void epicsShareAPI epicsThreadPrivateSet (epicsThreadPrivateId id, void *value) +LIBCOM_API void epicsStdCall epicsThreadPrivateSet (epicsThreadPrivateId id, void *value) { pthread_key_t *key = (pthread_key_t *)id; int status; @@ -971,7 +970,7 @@ epicsShareFunc void epicsShareAPI epicsThreadPrivateSet (epicsThreadPrivateId id checkStatusQuit(status,"pthread_setspecific","epicsThreadPrivateSet"); } -epicsShareFunc void epicsShareAPI *epicsThreadPrivateGet(epicsThreadPrivateId id) +LIBCOM_API void epicsStdCall *epicsThreadPrivateGet(epicsThreadPrivateId id) { pthread_key_t *key = (pthread_key_t *)id; @@ -979,7 +978,7 @@ epicsShareFunc void epicsShareAPI *epicsThreadPrivateGet(epicsThreadPrivateId id return pthread_getspecific(*key); } -epicsShareFunc double epicsShareAPI epicsThreadSleepQuantum () +LIBCOM_API double epicsStdCall epicsThreadSleepQuantum () { double hz; hz = sysconf ( _SC_CLK_TCK ); @@ -988,7 +987,7 @@ epicsShareFunc double epicsShareAPI epicsThreadSleepQuantum () return 1.0 / hz; } -epicsShareFunc int epicsThreadGetCPUs(void) +LIBCOM_API int epicsThreadGetCPUs(void) { long ret; #ifdef _SC_NPROCESSORS_ONLN diff --git a/modules/libcom/src/osi/os/posix/osdThread.h b/modules/libcom/src/osi/os/posix/osdThread.h index 8fe8f14eb..85a77cdac 100644 --- a/modules/libcom/src/osi/os/posix/osdThread.h +++ b/modules/libcom/src/osi/os/posix/osdThread.h @@ -11,7 +11,7 @@ #include -#include "shareLib.h" +#include "libComAPI.h" #include "ellLib.h" #include "epicsEvent.h" @@ -38,8 +38,8 @@ typedef struct epicsThreadOSD { char name[1]; /* actually larger */ } epicsThreadOSD; -epicsShareFunc pthread_t epicsThreadGetPosixThreadId(epicsThreadId id); -epicsShareFunc int epicsThreadGetPosixPriority(epicsThreadId id); +LIBCOM_API pthread_t epicsThreadGetPosixThreadId(epicsThreadId id); +LIBCOM_API int epicsThreadGetPosixPriority(epicsThreadId id); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/posix/osdThreadExtra.c b/modules/libcom/src/osi/os/posix/osdThreadExtra.c index af622dc08..7f2854b7c 100644 --- a/modules/libcom/src/osi/os/posix/osdThreadExtra.c +++ b/modules/libcom/src/osi/os/posix/osdThreadExtra.c @@ -11,14 +11,13 @@ /* This is part of the posix implementation of epicsThread */ -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "ellLib.h" #include "epicsEvent.h" #include "epicsThread.h" -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; void epicsThreadShowInfo(epicsThreadOSD *pthreadInfo, unsigned int level) { diff --git a/modules/libcom/src/osi/os/posix/osdTime.cpp b/modules/libcom/src/osi/os/posix/osdTime.cpp index cc3cb1965..32b3c5b08 100644 --- a/modules/libcom/src/osi/os/posix/osdTime.cpp +++ b/modules/libcom/src/osi/os/posix/osdTime.cpp @@ -16,7 +16,6 @@ #define EPICS_EXPOSE_LIBCOM_MONOTONIC_PRIVATE #include "osiSock.h" -#define epicsExportSharedSymbols #include "cantProceed.h" #include "epicsTime.h" #include "generalTimeSup.h" @@ -88,7 +87,7 @@ int epicsTime_localtime ( const time_t *clock, } } -extern "C" epicsShareFunc void +extern "C" LIBCOM_API void convertDoubleToWakeTime(double timeout,struct timespec *wakeTime) { struct timespec now, wait; diff --git a/modules/libcom/src/osi/os/posix/osdTime.h b/modules/libcom/src/osi/os/posix/osdTime.h index d1da77696..b0c8cd947 100644 --- a/modules/libcom/src/osi/os/posix/osdTime.h +++ b/modules/libcom/src/osi/os/posix/osdTime.h @@ -28,7 +28,7 @@ extern "C" { #endif /* __cplusplus */ -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall convertDoubleToWakeTime(double timeout,struct timespec *wakeTime); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/os/posix/systemCallIntMech.cpp b/modules/libcom/src/osi/os/posix/systemCallIntMech.cpp index cdac1d0cb..ea0a3411d 100644 --- a/modules/libcom/src/osi/os/posix/systemCallIntMech.cpp +++ b/modules/libcom/src/osi/os/posix/systemCallIntMech.cpp @@ -12,7 +12,6 @@ * Author: Jeff Hill */ -#define epicsExportSharedSymbols #include "osiSock.h" enum epicsSocketSystemCallInterruptMechanismQueryInfo diff --git a/modules/libcom/src/osi/os/solaris/epicsAtomicOSD.h b/modules/libcom/src/osi/os/solaris/epicsAtomicOSD.h index 1fa23bd88..c6ecfa8d8 100644 --- a/modules/libcom/src/osi/os/solaris/epicsAtomicOSD.h +++ b/modules/libcom/src/osi/os/solaris/epicsAtomicOSD.h @@ -13,7 +13,7 @@ * johill@lanl.gov */ -#include "shareLib.h" +#include "libComAPI.h" #ifndef epicsAtomicOSD_h #define epicsAtomicOSD_h @@ -172,8 +172,8 @@ typedef struct EpicsAtomicLockKey { extern "C" { #endif /* __cplusplus */ -epicsShareFunc void epicsAtomicLock ( struct EpicsAtomicLockKey * ); -epicsShareFunc void epicsAtomicUnlock ( struct EpicsAtomicLockKey * ); +LIBCOM_API void epicsAtomicLock ( struct EpicsAtomicLockKey * ); +LIBCOM_API void epicsAtomicUnlock ( struct EpicsAtomicLockKey * ); #ifdef __cplusplus } /* end of extern "C" */ diff --git a/modules/libcom/src/osi/os/solaris/epicsMath.h b/modules/libcom/src/osi/os/solaris/epicsMath.h index 87d4986a7..c27484daa 100644 --- a/modules/libcom/src/osi/os/solaris/epicsMath.h +++ b/modules/libcom/src/osi/os/solaris/epicsMath.h @@ -10,7 +10,7 @@ #include #include -#include +#include #ifndef isinf # define isinf(x) (((x)==(x)) && !finite((x))) @@ -25,8 +25,8 @@ extern "C" { #endif -epicsShareExtern float epicsNAN; -epicsShareExtern float epicsINF; +LIBCOM_API extern float epicsNAN; +LIBCOM_API extern float epicsINF; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/solaris/osdBackTrace.cpp b/modules/libcom/src/osi/os/solaris/osdBackTrace.cpp index 55d5e3648..46c4784b3 100644 --- a/modules/libcom/src/osi/os/solaris/osdBackTrace.cpp +++ b/modules/libcom/src/osi/os/solaris/osdBackTrace.cpp @@ -9,7 +9,6 @@ #include -#define epicsExportSharedSymbols #include "epicsStackTracePvt.h" struct wlk { diff --git a/modules/libcom/src/osi/os/solaris/osdEnv.c b/modules/libcom/src/osi/os/solaris/osdEnv.c index c356a0a13..2cc80daee 100644 --- a/modules/libcom/src/osi/os/solaris/osdEnv.c +++ b/modules/libcom/src/osi/os/solaris/osdEnv.c @@ -15,7 +15,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsStdio.h" #include "envDefs.h" #include "osiUnistd.h" @@ -24,7 +23,7 @@ /* * Set the value of an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value) +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value) { iocshEnvClear(name); setenv(name, value, 1); @@ -34,7 +33,7 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val * Unset an environment variable */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name) { iocshEnvClear(name); unsetenv(name); @@ -43,7 +42,7 @@ epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name) { if (name == NULL) { extern char **environ; diff --git a/modules/libcom/src/osi/os/solaris/osdStrtod.h b/modules/libcom/src/osi/os/solaris/osdStrtod.h index b5fda31c3..395cacdc2 100644 --- a/modules/libcom/src/osi/os/solaris/osdStrtod.h +++ b/modules/libcom/src/osi/os/solaris/osdStrtod.h @@ -16,7 +16,7 @@ extern "C" { /* * epicsStrtod() for systems with broken strtod() routine */ -epicsShareFunc double epicsStrtod(const char *str, char **endp); +LIBCOM_API double epicsStrtod(const char *str, char **endp); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/solaris/osdgetexec.c b/modules/libcom/src/osi/os/solaris/osdgetexec.c index ff9739ca9..4d55694ce 100644 --- a/modules/libcom/src/osi/os/solaris/osdgetexec.c +++ b/modules/libcom/src/osi/os/solaris/osdgetexec.c @@ -2,7 +2,6 @@ #include #include -#define epicsExportSharedSymbols #include char *epicsGetExecName(void) diff --git a/modules/libcom/src/osi/os/vxWorks/epicsMath.h b/modules/libcom/src/osi/os/vxWorks/epicsMath.h index e973d2d9c..0939f3d5c 100644 --- a/modules/libcom/src/osi/os/vxWorks/epicsMath.h +++ b/modules/libcom/src/osi/os/vxWorks/epicsMath.h @@ -12,7 +12,7 @@ #include #include -#include +#include /* private/mathP.h defines NAN as 4, and uses its value in the * isNan() macro. We need mathP.h for isInf(), but can create @@ -29,8 +29,8 @@ extern "C" { #endif -epicsShareExtern float epicsNAN; -epicsShareExtern float epicsINF; +LIBCOM_API extern float epicsNAN; +LIBCOM_API extern float epicsINF; #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/os/vxWorks/osdEnv.c b/modules/libcom/src/osi/os/vxWorks/osdEnv.c index 9cfd1f7aa..47662bc72 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdEnv.c +++ b/modules/libcom/src/osi/os/vxWorks/osdEnv.c @@ -21,7 +21,6 @@ #include #include -#define epicsExportSharedSymbols #include "cantProceed.h" #include "epicsFindSymbol.h" #include "epicsStdio.h" @@ -33,7 +32,7 @@ * Leaks memory, but the assumption is that this routine won't be * called often enough for the leak to be a problem. */ -epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value) +LIBCOM_API void epicsStdCall epicsEnvSet (const char *name, const char *value) { char *cp; @@ -62,7 +61,7 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val * support to really unset an environment variable. */ -epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) +LIBCOM_API void epicsStdCall epicsEnvUnset (const char *name) { char* var; @@ -78,7 +77,7 @@ epicsShareFunc void epicsShareAPI epicsEnvUnset (const char *name) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) +LIBCOM_API void epicsStdCall epicsEnvShow (const char *name) { if (name == NULL) { envShow (0); diff --git a/modules/libcom/src/osi/os/vxWorks/osdFindSymbol.c b/modules/libcom/src/osi/os/vxWorks/osdFindSymbol.c index da17c5bf3..2923743c8 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdFindSymbol.c +++ b/modules/libcom/src/osi/os/vxWorks/osdFindSymbol.c @@ -28,7 +28,7 @@ static char *errmsg = NULL; static char *oldmsg = NULL; -epicsShareFunc void * epicsLoadLibrary(const char *name) +LIBCOM_API void * epicsLoadLibrary(const char *name) { MODULE_ID m = 0; int fd; @@ -54,7 +54,7 @@ epicsShareFunc void * epicsLoadLibrary(const char *name) return m; } -epicsShareFunc const char *epicsLoadError(void) +LIBCOM_API const char *epicsLoadError(void) { if (oldmsg) free(oldmsg); diff --git a/modules/libcom/src/osi/os/vxWorks/osdMessageQueue.cpp b/modules/libcom/src/osi/os/vxWorks/osdMessageQueue.cpp index 89c2745ed..caabc292d 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdMessageQueue.cpp +++ b/modules/libcom/src/osi/os/vxWorks/osdMessageQueue.cpp @@ -13,13 +13,12 @@ * 630 252 4793 */ -#define epicsExportSharedSymbols #include #include "epicsMessageQueue.h" extern "C" int sysClkRateGet(void); -epicsShareFunc int epicsShareAPI epicsMessageQueueSendWithTimeout( +LIBCOM_API int epicsStdCall epicsMessageQueueSendWithTimeout( epicsMessageQueueId id, void *message, unsigned int messageSize, @@ -36,7 +35,7 @@ epicsShareFunc int epicsShareAPI epicsMessageQueueSendWithTimeout( return msgQSend((MSG_Q_ID)id, (char *)message, messageSize, ticks, MSG_PRI_NORMAL); } -epicsShareFunc int epicsShareAPI epicsMessageQueueReceiveWithTimeout( +LIBCOM_API int epicsStdCall epicsMessageQueueReceiveWithTimeout( epicsMessageQueueId id, void *message, unsigned int size, diff --git a/modules/libcom/src/osi/os/vxWorks/osdPoolStatus.c b/modules/libcom/src/osi/os/vxWorks/osdPoolStatus.c index 06447c1f7..969a03c1c 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdPoolStatus.c +++ b/modules/libcom/src/osi/os/vxWorks/osdPoolStatus.c @@ -10,7 +10,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsThread.h" #include "osiPoolStatus.h" @@ -55,7 +54,7 @@ static void osdSufficentSpaceInPoolInit ( void *pArgIn ) /* * osiSufficentSpaceInPool () */ -epicsShareFunc int epicsShareAPI osiSufficentSpaceInPool ( size_t contiguousBlockSize ) +LIBCOM_API int epicsStdCall osiSufficentSpaceInPool ( size_t contiguousBlockSize ) { epicsThreadOnce ( &osdMaxBlockOnceler, osdSufficentSpaceInPoolInit, 0 ); diff --git a/modules/libcom/src/osi/os/vxWorks/osdProcess.c b/modules/libcom/src/osi/os/vxWorks/osdProcess.c index 2347a407c..6058bfae2 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdProcess.c +++ b/modules/libcom/src/osi/os/vxWorks/osdProcess.c @@ -22,11 +22,10 @@ #include -#define epicsExportSharedSymbols #include "osiProcess.h" #include "errlog.h" -epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, unsigned bufSizeIn) +LIBCOM_API osiGetUserNameReturn epicsStdCall osiGetUserName (char *pBuf, unsigned bufSizeIn) { char pName[MAX_IDENTITY_LEN]; unsigned uiLength; @@ -49,7 +48,7 @@ epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, un return osiGetUserNameSuccess; } -epicsShareFunc osiSpawnDetachedProcessReturn epicsShareAPI osiSpawnDetachedProcess +LIBCOM_API osiSpawnDetachedProcessReturn epicsStdCall osiSpawnDetachedProcess (const char *pProcessName, const char *pBaseExecutableName) { return osiSpawnDetachedProcessNoSupport; diff --git a/modules/libcom/src/osi/os/vxWorks/osdSignal.cpp b/modules/libcom/src/osi/os/vxWorks/osdSignal.cpp index 1157854aa..b06192175 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdSignal.cpp +++ b/modules/libcom/src/osi/os/vxWorks/osdSignal.cpp @@ -8,13 +8,12 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -#define epicsExportSharedSymbols #include "epicsSignal.h" /* * NOOP */ -epicsShareFunc void epicsShareAPI epicsSignalInstallSigHupIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigPipeIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalInstallSigAlarmIgnore ( void ) {} -epicsShareFunc void epicsShareAPI epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadId */ ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalInstallSigAlarmIgnore ( void ) {} +LIBCOM_API void epicsStdCall epicsSignalRaiseSigAlarm ( struct epicsThreadOSD * /* threadId */ ) {} diff --git a/modules/libcom/src/osi/os/vxWorks/osdSock.c b/modules/libcom/src/osi/os/vxWorks/osdSock.c index a0f5e8ec5..2de74453b 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdSock.c +++ b/modules/libcom/src/osi/os/vxWorks/osdSock.c @@ -22,7 +22,6 @@ #include "errlog.h" -#define epicsExportSharedSymbols #include "osiSock.h" int osiSockAttach() @@ -34,7 +33,7 @@ void osiSockRelease() { } -epicsShareFunc SOCKET epicsShareAPI epicsSocketCreate ( +LIBCOM_API SOCKET epicsStdCall epicsSocketCreate ( int domain, int type, int protocol ) { SOCKET sock = socket ( domain, type, protocol ); @@ -44,7 +43,7 @@ epicsShareFunc SOCKET epicsShareAPI epicsSocketCreate ( return sock; } -epicsShareFunc int epicsShareAPI epicsSocketAccept ( +LIBCOM_API int epicsStdCall epicsSocketAccept ( int sock, struct sockaddr * pAddr, osiSocklen_t * addrlen ) { int newSock = accept ( sock, pAddr, addrlen ); @@ -54,7 +53,7 @@ epicsShareFunc int epicsShareAPI epicsSocketAccept ( return newSock; } -epicsShareFunc void epicsShareAPI epicsSocketDestroy ( SOCKET s ) +LIBCOM_API void epicsStdCall epicsSocketDestroy ( SOCKET s ) { int status = close ( s ); if ( status < 0 ) { @@ -70,7 +69,7 @@ epicsShareFunc void epicsShareAPI epicsSocketDestroy ( SOCKET s ) /* * ipAddrToHostName */ -epicsShareFunc unsigned epicsShareAPI ipAddrToHostName +LIBCOM_API unsigned epicsStdCall ipAddrToHostName (const struct in_addr *pAddr, char *pBuf, unsigned bufSize) { int status; @@ -112,7 +111,7 @@ epicsShareFunc unsigned epicsShareAPI ipAddrToHostName /* * hostToIPAddr () */ -epicsShareFunc int epicsShareAPI +LIBCOM_API int epicsStdCall hostToIPAddr(const char *pHostName, struct in_addr *pIPA) { int addr = hostGetByName ( (char *) pHostName ); diff --git a/modules/libcom/src/osi/os/vxWorks/osdThread.c b/modules/libcom/src/osi/os/vxWorks/osdThread.c index babdf11cf..32208fb3f 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdThread.c +++ b/modules/libcom/src/osi/os/vxWorks/osdThread.c @@ -50,7 +50,7 @@ #endif -epicsShareFunc void osdThreadHooksRun(epicsThreadId id); +LIBCOM_API void osdThreadHooksRun(epicsThreadId id); #if CPU_FAMILY == MC680X0 #define ARCH_STACK_FACTOR 1 @@ -457,7 +457,7 @@ void epicsThreadGetName (epicsThreadId id, char *name, size_t size) name[size-1] = '\0'; } -epicsShareFunc void epicsThreadMap ( EPICS_THREAD_HOOK_ROUTINE func ) +LIBCOM_API void epicsThreadMap ( EPICS_THREAD_HOOK_ROUTINE func ) { int noTasks = 0; int i; @@ -571,7 +571,7 @@ double epicsThreadSleepQuantum () return 1.0 / HZ; } -epicsShareFunc int epicsThreadGetCPUs(void) +LIBCOM_API int epicsThreadGetCPUs(void) { return 1; } diff --git a/modules/libcom/src/osi/os/vxWorks/osdThreadExtra.c b/modules/libcom/src/osi/os/vxWorks/osdThreadExtra.c index 0a7c7ae95..f4562802e 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdThreadExtra.c +++ b/modules/libcom/src/osi/os/vxWorks/osdThreadExtra.c @@ -9,8 +9,7 @@ /* Null default thread hooks for all platforms that do not do anything special */ -#define epicsExportSharedSymbols #include "epicsThread.h" -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; -epicsShareDef EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookDefault; +EPICS_THREAD_HOOK_ROUTINE epicsThreadHookMain; diff --git a/modules/libcom/src/osi/osiClockTime.c b/modules/libcom/src/osi/osiClockTime.c index 4ccb7e399..43df98394 100644 --- a/modules/libcom/src/osi/osiClockTime.c +++ b/modules/libcom/src/osi/osiClockTime.c @@ -10,7 +10,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsEvent.h" #include "epicsExit.h" #include "epicsMutex.h" diff --git a/modules/libcom/src/osi/osiNTPTime.c b/modules/libcom/src/osi/osiNTPTime.c index d22df861b..3283040ed 100644 --- a/modules/libcom/src/osi/osiNTPTime.c +++ b/modules/libcom/src/osi/osiNTPTime.c @@ -18,7 +18,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsEvent.h" #include "epicsExit.h" #include "epicsTypes.h" diff --git a/modules/libcom/src/osi/osiPoolStatus.h b/modules/libcom/src/osi/osiPoolStatus.h index 197d5fc96..ee508883e 100644 --- a/modules/libcom/src/osi/osiPoolStatus.h +++ b/modules/libcom/src/osi/osiPoolStatus.h @@ -17,7 +17,7 @@ #define INC_osiPoolStatus_H #include -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -35,7 +35,7 @@ extern "C" { * \param contiguousBlockSize Block size to check. * \return True if the requested memory should be available. */ -epicsShareFunc int epicsShareAPI osiSufficentSpaceInPool ( size_t contiguousBlockSize ); +LIBCOM_API int epicsStdCall osiSufficentSpaceInPool ( size_t contiguousBlockSize ); #ifdef __cplusplus } diff --git a/modules/libcom/src/osi/osiProcess.h b/modules/libcom/src/osi/osiProcess.h index eabff1e72..d0a7c21b1 100644 --- a/modules/libcom/src/osi/osiProcess.h +++ b/modules/libcom/src/osi/osiProcess.h @@ -16,7 +16,7 @@ * Author: Jeff Hill * */ -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -25,7 +25,7 @@ extern "C" { typedef enum osiGetUserNameReturn { osiGetUserNameFail, osiGetUserNameSuccess} osiGetUserNameReturn; -epicsShareFunc osiGetUserNameReturn epicsShareAPI osiGetUserName (char *pBuf, unsigned bufSize); +LIBCOM_API osiGetUserNameReturn epicsStdCall osiGetUserName (char *pBuf, unsigned bufSize); /* * Spawn detached process with named executable, but return @@ -37,7 +37,7 @@ typedef enum osiSpawnDetachedProcessReturn { osiSpawnDetachedProcessSuccess, osiSpawnDetachedProcessNoSupport} osiSpawnDetachedProcessReturn; -epicsShareFunc osiSpawnDetachedProcessReturn epicsShareAPI osiSpawnDetachedProcess +LIBCOM_API osiSpawnDetachedProcessReturn epicsStdCall osiSpawnDetachedProcess (const char *pProcessName, const char *pBaseExecutableName); #ifdef __cplusplus diff --git a/modules/libcom/src/osi/osiSock.c b/modules/libcom/src/osi/osiSock.c index 8b4634caf..0683cd2fa 100644 --- a/modules/libcom/src/osi/osiSock.c +++ b/modules/libcom/src/osi/osiSock.c @@ -17,7 +17,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsAssert.h" #include "epicsSignal.h" #include "epicsStdio.h" @@ -32,7 +31,7 @@ * sockAddrAreIdentical() * (returns true if addresses are identical) */ -int epicsShareAPI sockAddrAreIdentical +int epicsStdCall sockAddrAreIdentical ( const osiSockAddr *plhs, const osiSockAddr *prhs ) { int match; @@ -59,7 +58,7 @@ int epicsShareAPI sockAddrAreIdentical * sockAddrToA() * (convert socket address to ASCII host name) */ -unsigned epicsShareAPI sockAddrToA ( +unsigned epicsStdCall sockAddrToA ( const struct sockaddr * paddr, char * pBuf, unsigned bufSize ) { if ( bufSize < 1 ) { @@ -90,7 +89,7 @@ unsigned epicsShareAPI sockAddrToA ( * ipAddrToA() * (convert IP address to ASCII host name) */ -unsigned epicsShareAPI ipAddrToA ( +unsigned epicsStdCall ipAddrToA ( const struct sockaddr_in * paddr, char * pBuf, unsigned bufSize ) { unsigned len = ipAddrToHostName ( @@ -116,7 +115,7 @@ unsigned epicsShareAPI ipAddrToA ( /* * sockAddrToDottedIP () */ -unsigned epicsShareAPI sockAddrToDottedIP ( +unsigned epicsStdCall sockAddrToDottedIP ( const struct sockaddr * paddr, char * pBuf, unsigned bufSize ) { if ( paddr->sa_family != AF_INET ) { @@ -142,7 +141,7 @@ unsigned epicsShareAPI sockAddrToDottedIP ( /* * ipAddrToDottedIP () */ -unsigned epicsShareAPI ipAddrToDottedIP ( +unsigned epicsStdCall ipAddrToDottedIP ( const struct sockaddr_in *paddr, char *pBuf, unsigned bufSize ) { static const char * pErrStr = ""; diff --git a/modules/libcom/src/osi/osiSock.h b/modules/libcom/src/osi/osiSock.h index 6e3b053c5..2a8589c33 100644 --- a/modules/libcom/src/osi/osiSock.h +++ b/modules/libcom/src/osi/osiSock.h @@ -15,7 +15,7 @@ #ifndef osiSockh #define osiSockh -#include "shareLib.h" +#include "libComAPI.h" #include "osdSock.h" #include "ellLib.h" @@ -27,15 +27,15 @@ struct sockaddr; struct sockaddr_in; struct in_addr; -epicsShareFunc SOCKET epicsShareAPI epicsSocketCreate ( +LIBCOM_API SOCKET epicsStdCall epicsSocketCreate ( int domain, int type, int protocol ); -epicsShareFunc int epicsShareAPI epicsSocketAccept ( +LIBCOM_API int epicsStdCall epicsSocketAccept ( int sock, struct sockaddr * pAddr, osiSocklen_t * addrlen ); -epicsShareFunc void epicsShareAPI epicsSocketDestroy ( +LIBCOM_API void epicsStdCall epicsSocketDestroy ( SOCKET ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsSocketEnableAddressReuseDuringTimeWaitState ( SOCKET s ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsSocketEnableAddressUseForDatagramFanout ( SOCKET s ); /* @@ -49,7 +49,7 @@ enum epicsSocketSystemCallInterruptMechanismQueryInfo { esscimqi_socketBothShutdownRequired, esscimqi_socketSigAlarmRequired /* NO LONGER USED/SUPPORTED */ }; -epicsShareFunc enum epicsSocketSystemCallInterruptMechanismQueryInfo +LIBCOM_API enum epicsSocketSystemCallInterruptMechanismQueryInfo epicsSocketSystemCallInterruptMechanismQuery (); #ifdef EPICS_PRIVATE_API @@ -58,7 +58,7 @@ epicsShareFunc enum epicsSocketSystemCallInterruptMechanismQueryInfo * of unsent data in the output queue. * Returns -1 if the information is not available. */ -epicsShareFunc int epicsSocketUnsentCount(SOCKET sock); +LIBCOM_API int epicsSocketUnsentCount(SOCKET sock); #endif /* @@ -72,7 +72,7 @@ epicsShareFunc int epicsSocketUnsentCount(SOCKET sock); * including the null termination, but always writes at least a * null ternminater in the string (if bufSize >= 1) */ -epicsShareFunc unsigned epicsShareAPI sockAddrToA ( +LIBCOM_API unsigned epicsStdCall sockAddrToA ( const struct sockaddr * paddr, char * pBuf, unsigned bufSize ); /* @@ -84,7 +84,7 @@ epicsShareFunc unsigned epicsShareAPI sockAddrToA ( * including the null termination, but always writes at least a * null ternminater in the string (if bufSize >= 1) */ -epicsShareFunc unsigned epicsShareAPI ipAddrToA ( +LIBCOM_API unsigned epicsStdCall ipAddrToA ( const struct sockaddr_in * pInetAddr, char * pBuf, unsigned bufSize ); /* @@ -95,7 +95,7 @@ epicsShareFunc unsigned epicsShareAPI ipAddrToA ( * including the null termination, but always writes at least a * null ternminater in the string (if bufSize >= 1) */ -epicsShareFunc unsigned epicsShareAPI sockAddrToDottedIP ( +LIBCOM_API unsigned epicsStdCall sockAddrToDottedIP ( const struct sockaddr * paddr, char * pBuf, unsigned bufSize ); /* @@ -106,7 +106,7 @@ epicsShareFunc unsigned epicsShareAPI sockAddrToDottedIP ( * including the null termination, but always writes at least a * null ternminater in the string (if bufSize >= 1) */ -epicsShareFunc unsigned epicsShareAPI ipAddrToDottedIP ( +LIBCOM_API unsigned epicsStdCall ipAddrToDottedIP ( const struct sockaddr_in * paddr, char * pBuf, unsigned bufSize ); /* @@ -118,7 +118,7 @@ epicsShareFunc unsigned epicsShareAPI ipAddrToDottedIP ( * * there are many OS specific implementation stubs for this routine */ -epicsShareFunc unsigned epicsShareAPI ipAddrToHostName ( +LIBCOM_API unsigned epicsStdCall ipAddrToHostName ( const struct in_addr * pAddr, char * pBuf, unsigned bufSize ); /* @@ -127,30 +127,30 @@ epicsShareFunc unsigned epicsShareAPI ipAddrToHostName ( * 2) look for raw number form of ip address with optional port * 3) look for valid host name with optional port */ -epicsShareFunc int epicsShareAPI aToIPAddr +LIBCOM_API int epicsStdCall aToIPAddr ( const char * pAddrString, unsigned short defaultPort, struct sockaddr_in * pIP); /* * attempt to convert ASCII host name string with optional port to an IP address */ -epicsShareFunc int epicsShareAPI hostToIPAddr +LIBCOM_API int epicsStdCall hostToIPAddr (const char *pHostName, struct in_addr *pIPA); /* * attach to BSD socket library */ -epicsShareFunc int epicsShareAPI osiSockAttach (void); /* returns T if success, else F */ +LIBCOM_API int epicsStdCall osiSockAttach (void); /* returns T if success, else F */ /* * release BSD socket library */ -epicsShareFunc void epicsShareAPI osiSockRelease (void); +LIBCOM_API void epicsStdCall osiSockRelease (void); /* * convert socket error numbers to a string */ -epicsShareFunc void epicsSocketConvertErrorToString ( +LIBCOM_API void epicsSocketConvertErrorToString ( char * pBuf, unsigned bufSize, int error ); -epicsShareFunc void epicsSocketConvertErrnoToString ( +LIBCOM_API void epicsSocketConvertErrnoToString ( char * pBuf, unsigned bufSize ); typedef union osiSockAddr { @@ -167,7 +167,7 @@ typedef struct osiSockAddrNode { * sockAddrAreIdentical() * (returns true if addresses are identical) */ -epicsShareFunc int epicsShareAPI sockAddrAreIdentical +LIBCOM_API int epicsStdCall sockAddrAreIdentical ( const osiSockAddr * plhs, const osiSockAddr * prhs ); /* @@ -188,7 +188,7 @@ epicsShareFunc int epicsShareAPI sockAddrAreIdentical * Any mutex locking required to protect pList is applied externally. * */ -epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses +LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses (ELLLIST *pList, SOCKET socket, const osiSockAddr *pMatchAddr); /* @@ -207,7 +207,7 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses * to current code. After all CA repeaters have been restarted * this osi interface can be eliminated. */ -epicsShareFunc osiSockAddr epicsShareAPI osiLocalAddr (SOCKET socket); +LIBCOM_API osiSockAddr epicsStdCall osiLocalAddr (SOCKET socket); #ifdef __cplusplus } diff --git a/modules/libcom/src/pool/epicsThreadPool.h b/modules/libcom/src/pool/epicsThreadPool.h index 3416bb23a..a41017008 100644 --- a/modules/libcom/src/pool/epicsThreadPool.h +++ b/modules/libcom/src/pool/epicsThreadPool.h @@ -13,7 +13,7 @@ #include #include -#include "shareLib.h" +#include "libComAPI.h" #include "errMdef.h" #define S_pool_jobBusy (M_pool| 1) /*Job already queued or running*/ @@ -59,24 +59,24 @@ typedef struct epicsJob epicsJob; * This much be done to preserve future compatibility * when new options are added. */ -epicsShareFunc void epicsThreadPoolConfigDefaults(epicsThreadPoolConfig *); +LIBCOM_API void epicsThreadPoolConfigDefaults(epicsThreadPoolConfig *); /* fetch or create a thread pool which can be shared with other users. * may return NULL for allocation failures */ -epicsShareFunc epicsThreadPool* epicsThreadPoolGetShared(epicsThreadPoolConfig *opts); -epicsShareFunc void epicsThreadPoolReleaseShared(epicsThreadPool *pool); +LIBCOM_API epicsThreadPool* epicsThreadPoolGetShared(epicsThreadPoolConfig *opts); +LIBCOM_API void epicsThreadPoolReleaseShared(epicsThreadPool *pool); /* If opts is NULL then defaults are used. * The opts pointer is not stored by this call, and may exist on the stack. */ -epicsShareFunc epicsThreadPool* epicsThreadPoolCreate(epicsThreadPoolConfig *opts); +LIBCOM_API epicsThreadPool* epicsThreadPoolCreate(epicsThreadPoolConfig *opts); /* Blocks until all worker threads have stopped. * Any jobs still attached to this pool receive a callback with EPICSJOB_CLEANUP * and are then orphaned. */ -epicsShareFunc void epicsThreadPoolDestroy(epicsThreadPool *); +LIBCOM_API void epicsThreadPoolDestroy(epicsThreadPool *); /* pool control options */ typedef enum { @@ -84,7 +84,7 @@ typedef enum { epicsThreadPoolQueueRun /* val==0 prevents workers from running jobs, 1 is default */ } epicsThreadPoolOption; -epicsShareFunc void epicsThreadPoolControl(epicsThreadPool* pool, +LIBCOM_API void epicsThreadPoolControl(epicsThreadPool* pool, epicsThreadPoolOption opt, unsigned int val); @@ -94,7 +94,7 @@ epicsShareFunc void epicsThreadPoolControl(epicsThreadPool* pool, * timeout<0 waits forever, timeout==0 polls, timeout>0 waits at most one timeout period * Returns 0 for success or non-zero on error (timeout is ETIMEOUT) */ -epicsShareFunc int epicsThreadPoolWait(epicsThreadPool* pool, double timeout); +LIBCOM_API int epicsThreadPoolWait(epicsThreadPool* pool, double timeout); /* Per job operations */ @@ -105,7 +105,7 @@ epicsShareFunc int epicsThreadPoolWait(epicsThreadPool* pool, double timeout); * will be the epicsJob* */ #define EPICSJOB_SELF epicsJobArgSelfMagic -epicsShareExtern void* epicsJobArgSelfMagic; +LIBCOM_API extern void* epicsJobArgSelfMagic; /* Creates, but does not add, a new job. * If pool is NULL then the job is not associated with any pool and @@ -113,7 +113,7 @@ epicsShareExtern void* epicsJobArgSelfMagic; * Safe to call from a running job function. * Returns a new job pointer, or NULL on error. */ -epicsShareFunc epicsJob* epicsJobCreate(epicsThreadPool* pool, +LIBCOM_API epicsJob* epicsJobCreate(epicsThreadPool* pool, epicsJobFunction cb, void* user); @@ -121,7 +121,7 @@ epicsShareFunc epicsJob* epicsJobCreate(epicsThreadPool* pool, * Job may not be immediately free'd. * Safe to call from a running job function. */ -epicsShareFunc void epicsJobDestroy(epicsJob*); +LIBCOM_API void epicsJobDestroy(epicsJob*); /* Move the job to a different pool. * If pool is NULL then the job will no longer be associated @@ -129,13 +129,13 @@ epicsShareFunc void epicsJobDestroy(epicsJob*); * Not thread safe. Job must not be running or queued. * returns 0 on success, non-zero on error. */ -epicsShareFunc int epicsJobMove(epicsJob* job, epicsThreadPool* pool); +LIBCOM_API int epicsJobMove(epicsJob* job, epicsThreadPool* pool); /* Adds the job to the run queue * Safe to call from a running job function. * returns 0 for success, non-zero on error. */ -epicsShareFunc int epicsJobQueue(epicsJob*); +LIBCOM_API int epicsJobQueue(epicsJob*); /* Remove a job from the run queue if it is queued. * Safe to call from a running job function. @@ -143,15 +143,15 @@ epicsShareFunc int epicsJobQueue(epicsJob*); * 1 if job already ran, is running, or was not queued before, * Other non-zero on error */ -epicsShareFunc int epicsJobUnqueue(epicsJob*); +LIBCOM_API int epicsJobUnqueue(epicsJob*); /* Mostly useful for debugging */ -epicsShareFunc void epicsThreadPoolReport(epicsThreadPool *pool, FILE *fd); +LIBCOM_API void epicsThreadPoolReport(epicsThreadPool *pool, FILE *fd); /* Current number of active workers. May be less than the maximum */ -epicsShareFunc unsigned int epicsThreadPoolNThreads(epicsThreadPool *); +LIBCOM_API unsigned int epicsThreadPoolNThreads(epicsThreadPool *); #ifdef __cplusplus } diff --git a/modules/libcom/src/pool/poolJob.c b/modules/libcom/src/pool/poolJob.c index 8e86fb768..8ac5e379e 100644 --- a/modules/libcom/src/pool/poolJob.c +++ b/modules/libcom/src/pool/poolJob.c @@ -9,7 +9,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "errlog.h" diff --git a/modules/libcom/src/pool/threadPool.c b/modules/libcom/src/pool/threadPool.c index 3cfd06606..07d0e0a39 100644 --- a/modules/libcom/src/pool/threadPool.c +++ b/modules/libcom/src/pool/threadPool.c @@ -9,7 +9,6 @@ #include #include -#define epicsExportSharedSymbols #include "dbDefs.h" #include "errlog.h" @@ -326,7 +325,7 @@ void sharedPoolsInit(void* unused) sharedPoolsGuard = epicsMutexMustCreate(); } -epicsShareFunc epicsThreadPool* epicsThreadPoolGetShared(epicsThreadPoolConfig *opts) +LIBCOM_API epicsThreadPool* epicsThreadPoolGetShared(epicsThreadPoolConfig *opts) { ELLNODE *node; epicsThreadPool *cur; @@ -383,7 +382,7 @@ epicsShareFunc epicsThreadPool* epicsThreadPoolGetShared(epicsThreadPoolConfig * return cur; } -epicsShareFunc void epicsThreadPoolReleaseShared(epicsThreadPool *pool) +LIBCOM_API void epicsThreadPoolReleaseShared(epicsThreadPool *pool) { if (!pool) return; diff --git a/modules/libcom/src/ring/epicsRingBytes.c b/modules/libcom/src/ring/epicsRingBytes.c index ab048e467..30a0b9d67 100644 --- a/modules/libcom/src/ring/epicsRingBytes.c +++ b/modules/libcom/src/ring/epicsRingBytes.c @@ -20,7 +20,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsSpin.h" #include "dbDefs.h" #include "epicsRingBytes.h" @@ -42,7 +41,7 @@ typedef struct ringPvt { volatile char buffer[1]; /* actually larger */ }ringPvt; -epicsShareFunc epicsRingBytesId epicsShareAPI epicsRingBytesCreate(int size) +LIBCOM_API epicsRingBytesId epicsStdCall epicsRingBytesCreate(int size) { ringPvt *pring = malloc(sizeof(ringPvt) + size + SLOP); if(!pring) @@ -55,7 +54,7 @@ epicsShareFunc epicsRingBytesId epicsShareAPI epicsRingBytesCreate(int size) return((void *)pring); } -epicsShareFunc epicsRingBytesId epicsShareAPI epicsRingBytesLockedCreate(int size) +LIBCOM_API epicsRingBytesId epicsStdCall epicsRingBytesLockedCreate(int size) { ringPvt *pring = (ringPvt *)epicsRingBytesCreate(size); if(!pring) @@ -64,14 +63,14 @@ epicsShareFunc epicsRingBytesId epicsShareAPI epicsRingBytesLockedCreate(int si return((void *)pring); } -epicsShareFunc void epicsShareAPI epicsRingBytesDelete(epicsRingBytesId id) +LIBCOM_API void epicsStdCall epicsRingBytesDelete(epicsRingBytesId id) { ringPvt *pring = (ringPvt *)id; if (pring->lock) epicsSpinDestroy(pring->lock); free((void *)pring); } -epicsShareFunc int epicsShareAPI epicsRingBytesGet( +LIBCOM_API int epicsStdCall epicsRingBytesGet( epicsRingBytesId id, char *value,int nbytes) { ringPvt *pring = (ringPvt *)id; @@ -115,7 +114,7 @@ epicsShareFunc int epicsShareAPI epicsRingBytesGet( return nbytes; } -epicsShareFunc int epicsShareAPI epicsRingBytesPut( +LIBCOM_API int epicsStdCall epicsRingBytesPut( epicsRingBytesId id, char *value,int nbytes) { ringPvt *pring = (ringPvt *)id; @@ -167,7 +166,7 @@ epicsShareFunc int epicsShareAPI epicsRingBytesPut( return nbytes; } -epicsShareFunc void epicsShareAPI epicsRingBytesFlush(epicsRingBytesId id) +LIBCOM_API void epicsStdCall epicsRingBytesFlush(epicsRingBytesId id) { ringPvt *pring = (ringPvt *)id; @@ -176,7 +175,7 @@ epicsShareFunc void epicsShareAPI epicsRingBytesFlush(epicsRingBytesId id) if (pring->lock) epicsSpinUnlock(pring->lock); } -epicsShareFunc int epicsShareAPI epicsRingBytesFreeBytes(epicsRingBytesId id) +LIBCOM_API int epicsStdCall epicsRingBytesFreeBytes(epicsRingBytesId id) { ringPvt *pring = (ringPvt *)id; int nextGet, nextPut; @@ -192,7 +191,7 @@ epicsShareFunc int epicsShareAPI epicsRingBytesFreeBytes(epicsRingBytesId id) return pring->size - nextPut + nextGet - SLOP; } -epicsShareFunc int epicsShareAPI epicsRingBytesUsedBytes(epicsRingBytesId id) +LIBCOM_API int epicsStdCall epicsRingBytesUsedBytes(epicsRingBytesId id) { ringPvt *pring = (ringPvt *)id; int nextGet, nextPut; @@ -209,14 +208,14 @@ epicsShareFunc int epicsShareAPI epicsRingBytesUsedBytes(epicsRingBytesId id) return used; } -epicsShareFunc int epicsShareAPI epicsRingBytesSize(epicsRingBytesId id) +LIBCOM_API int epicsStdCall epicsRingBytesSize(epicsRingBytesId id) { ringPvt *pring = (ringPvt *)id; return pring->size - SLOP; } -epicsShareFunc int epicsShareAPI epicsRingBytesIsEmpty(epicsRingBytesId id) +LIBCOM_API int epicsStdCall epicsRingBytesIsEmpty(epicsRingBytesId id) { ringPvt *pring = (ringPvt *)id; int isEmpty; @@ -228,18 +227,18 @@ epicsShareFunc int epicsShareAPI epicsRingBytesIsEmpty(epicsRingBytesId id) return isEmpty; } -epicsShareFunc int epicsShareAPI epicsRingBytesIsFull(epicsRingBytesId id) +LIBCOM_API int epicsStdCall epicsRingBytesIsFull(epicsRingBytesId id) { return (epicsRingBytesFreeBytes(id) <= 0); } -epicsShareFunc int epicsShareAPI epicsRingBytesHighWaterMark(epicsRingBytesIdConst id) +LIBCOM_API int epicsStdCall epicsRingBytesHighWaterMark(epicsRingBytesIdConst id) { ringPvt *pring = (ringPvt *)id; return pring->highWaterMark; } -epicsShareFunc void epicsShareAPI epicsRingBytesResetHighWaterMark(epicsRingBytesId id) +LIBCOM_API void epicsStdCall epicsRingBytesResetHighWaterMark(epicsRingBytesId id) { ringPvt *pring = (ringPvt *)id; int used; diff --git a/modules/libcom/src/ring/epicsRingBytes.h b/modules/libcom/src/ring/epicsRingBytes.h index 870d44093..e7a2124ac 100644 --- a/modules/libcom/src/ring/epicsRingBytes.h +++ b/modules/libcom/src/ring/epicsRingBytes.h @@ -31,7 +31,7 @@ extern "C" { #endif -#include "shareLib.h" +#include "libComAPI.h" /** \brief An identifier for a ring buffer */ typedef void *epicsRingBytesId; @@ -42,18 +42,18 @@ typedef void const *epicsRingBytesIdConst; * \param nbytes Size of ring buffer to create * \return Ring buffer Id or NULL on failure */ -epicsShareFunc epicsRingBytesId epicsShareAPI epicsRingBytesCreate(int nbytes); +LIBCOM_API epicsRingBytesId epicsStdCall epicsRingBytesCreate(int nbytes); /** * \brief Create a new ring buffer, secured by a spinlock * \param nbytes Size of ring buffer to create * \return Ring buffer Id or NULL on failure */ -epicsShareFunc epicsRingBytesId epicsShareAPI epicsRingBytesLockedCreate(int nbytes); +LIBCOM_API epicsRingBytesId epicsStdCall epicsRingBytesLockedCreate(int nbytes); /** * \brief Delete the ring buffer and free any associated memory * \param id RingbufferID returned by epicsRingBytesCreate() */ -epicsShareFunc void epicsShareAPI epicsRingBytesDelete(epicsRingBytesId id); +LIBCOM_API void epicsStdCall epicsRingBytesDelete(epicsRingBytesId id); /** * \brief Read data out of the ring buffer * \param id RingbufferID returned by epicsRingBytesCreate() @@ -61,7 +61,7 @@ epicsShareFunc void epicsShareAPI epicsRingBytesDelete(epicsRingBytesId id); * \param nbytes Maximum number of bytes to get * \return The number of bytes actually fetched */ -epicsShareFunc int epicsShareAPI epicsRingBytesGet( +LIBCOM_API int epicsStdCall epicsRingBytesGet( epicsRingBytesId id, char *value,int nbytes); /** * \brief Write data into the ring buffer @@ -70,45 +70,45 @@ epicsShareFunc int epicsShareAPI epicsRingBytesGet( * \param nbytes How many bytes to put * \return The number of bytes actually stored, zero if not enough space */ -epicsShareFunc int epicsShareAPI epicsRingBytesPut( +LIBCOM_API int epicsStdCall epicsRingBytesPut( epicsRingBytesId id, char *value,int nbytes); /** * \brief Make the ring buffer empty * \param id RingbufferID returned by epicsRingBytesCreate() * \note Should only be used when both gets and puts are locked out. */ -epicsShareFunc void epicsShareAPI epicsRingBytesFlush(epicsRingBytesId id); +LIBCOM_API void epicsStdCall epicsRingBytesFlush(epicsRingBytesId id); /** * \brief Return the number of free bytes in the ring buffer * \param id RingbufferID returned by epicsRingBytesCreate() * \return The number of free bytes in the ring buffer */ -epicsShareFunc int epicsShareAPI epicsRingBytesFreeBytes(epicsRingBytesId id); +LIBCOM_API int epicsStdCall epicsRingBytesFreeBytes(epicsRingBytesId id); /** * \brief Return the number of bytes currently stored in the ring buffer * \param id RingbufferID returned by epicsRingBytesCreate() * \return The number of bytes currently stored in the ring buffer */ -epicsShareFunc int epicsShareAPI epicsRingBytesUsedBytes(epicsRingBytesId id); +LIBCOM_API int epicsStdCall epicsRingBytesUsedBytes(epicsRingBytesId id); /** * \brief Return the size of the ring buffer * \param id RingbufferID returned by epicsRingBytesCreate() * \return Return the size of the ring buffer, i.e., nbytes specified in * the call to epicsRingBytesCreate(). */ -epicsShareFunc int epicsShareAPI epicsRingBytesSize(epicsRingBytesId id); +LIBCOM_API int epicsStdCall epicsRingBytesSize(epicsRingBytesId id); /** * \brief Test if the ring buffer is currently empty. * \param id RingbufferID returned by epicsRingBytesCreate() * \return 1 if the buffer is empty, otherwise 0 */ -epicsShareFunc int epicsShareAPI epicsRingBytesIsEmpty(epicsRingBytesId id); +LIBCOM_API int epicsStdCall epicsRingBytesIsEmpty(epicsRingBytesId id); /** * \brief Test if the ring buffer is currently full. * \param id RingbufferID returned by epicsRingBytesCreate() * \return 1 if the buffer is full, otherwise 0 */ -epicsShareFunc int epicsShareAPI epicsRingBytesIsFull(epicsRingBytesId id); +LIBCOM_API int epicsStdCall epicsRingBytesIsFull(epicsRingBytesId id); /** * \brief See how full a ring buffer has been since it was last checked. * @@ -118,14 +118,14 @@ epicsShareFunc int epicsShareAPI epicsRingBytesIsFull(epicsRingBytesId id); * \param id RingbufferID returned by epicsRingBytesCreate() * \return Actual Highwater mark */ -epicsShareFunc int epicsShareAPI epicsRingBytesHighWaterMark(epicsRingBytesIdConst id); +LIBCOM_API int epicsStdCall epicsRingBytesHighWaterMark(epicsRingBytesIdConst id); /** * \brief Reset the Highwater mark of the ring buffer. * * The Highwater mark will be set to the current usage * \param id RingbufferID returned by epicsRingBytesCreate() */ -epicsShareFunc void epicsShareAPI epicsRingBytesResetHighWaterMark(epicsRingBytesId id); +LIBCOM_API void epicsStdCall epicsRingBytesResetHighWaterMark(epicsRingBytesId id); #ifdef __cplusplus } diff --git a/modules/libcom/src/ring/epicsRingPointer.cpp b/modules/libcom/src/ring/epicsRingPointer.cpp index 709ab6509..81a26fe50 100644 --- a/modules/libcom/src/ring/epicsRingPointer.cpp +++ b/modules/libcom/src/ring/epicsRingPointer.cpp @@ -20,84 +20,83 @@ #include #include -#define epicsExportSharedSymbols #include "epicsRingPointer.h" typedef epicsRingPointer voidPointer; -epicsShareFunc epicsRingPointerId epicsShareAPI epicsRingPointerCreate(int size) +LIBCOM_API epicsRingPointerId epicsStdCall epicsRingPointerCreate(int size) { voidPointer *pvoidPointer = new voidPointer(size, false); return(reinterpret_cast(pvoidPointer)); } -epicsShareFunc epicsRingPointerId epicsShareAPI epicsRingPointerLockedCreate(int size) +LIBCOM_API epicsRingPointerId epicsStdCall epicsRingPointerLockedCreate(int size) { voidPointer *pvoidPointer = new voidPointer(size, true); return(reinterpret_cast(pvoidPointer)); } -epicsShareFunc void epicsShareAPI epicsRingPointerDelete(epicsRingPointerId id) +LIBCOM_API void epicsStdCall epicsRingPointerDelete(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); delete pvoidPointer; } -epicsShareFunc void* epicsShareAPI epicsRingPointerPop(epicsRingPointerId id) +LIBCOM_API void* epicsStdCall epicsRingPointerPop(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); return pvoidPointer->pop(); } -epicsShareFunc int epicsShareAPI epicsRingPointerPush(epicsRingPointerId id, void *p) +LIBCOM_API int epicsStdCall epicsRingPointerPush(epicsRingPointerId id, void *p) { voidPointer *pvoidPointer = reinterpret_cast(id); return((pvoidPointer->push(p) ? 1 : 0)); } -epicsShareFunc void epicsShareAPI epicsRingPointerFlush(epicsRingPointerId id) +LIBCOM_API void epicsStdCall epicsRingPointerFlush(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); pvoidPointer->flush(); } -epicsShareFunc int epicsShareAPI epicsRingPointerGetFree(epicsRingPointerId id) +LIBCOM_API int epicsStdCall epicsRingPointerGetFree(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); return(pvoidPointer->getFree()); } -epicsShareFunc int epicsShareAPI epicsRingPointerGetUsed(epicsRingPointerId id) +LIBCOM_API int epicsStdCall epicsRingPointerGetUsed(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); return(pvoidPointer->getUsed()); } -epicsShareFunc int epicsShareAPI epicsRingPointerGetSize(epicsRingPointerId id) +LIBCOM_API int epicsStdCall epicsRingPointerGetSize(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); return(pvoidPointer->getSize()); } -epicsShareFunc int epicsShareAPI epicsRingPointerIsEmpty(epicsRingPointerId id) +LIBCOM_API int epicsStdCall epicsRingPointerIsEmpty(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); return((pvoidPointer->isEmpty()) ? 1 : 0); } -epicsShareFunc int epicsShareAPI epicsRingPointerIsFull(epicsRingPointerId id) +LIBCOM_API int epicsStdCall epicsRingPointerIsFull(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); return((pvoidPointer->isFull()) ? 1 : 0); } -epicsShareFunc int epicsShareAPI epicsRingPointerGetHighWaterMark(epicsRingPointerIdConst id) +LIBCOM_API int epicsStdCall epicsRingPointerGetHighWaterMark(epicsRingPointerIdConst id) { voidPointer const *pvoidPointer = reinterpret_cast(id); return(pvoidPointer->getHighWaterMark()); } -epicsShareFunc void epicsShareAPI epicsRingPointerResetHighWaterMark(epicsRingPointerId id) +LIBCOM_API void epicsStdCall epicsRingPointerResetHighWaterMark(epicsRingPointerId id) { voidPointer *pvoidPointer = reinterpret_cast(id); pvoidPointer->resetHighWaterMark(); diff --git a/modules/libcom/src/ring/epicsRingPointer.h b/modules/libcom/src/ring/epicsRingPointer.h index 8ecdcec81..eaa7b335b 100644 --- a/modules/libcom/src/ring/epicsRingPointer.h +++ b/modules/libcom/src/ring/epicsRingPointer.h @@ -29,7 +29,7 @@ #include "epicsSpin.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus /** @@ -122,69 +122,69 @@ typedef void const *epicsRingPointerIdConst; * \param size Size of ring buffer to create * \return Ring buffer identifier or NULL on failure */ -epicsShareFunc epicsRingPointerId epicsShareAPI epicsRingPointerCreate(int size); +LIBCOM_API epicsRingPointerId epicsStdCall epicsRingPointerCreate(int size); /** * \brief Create a new ring buffer, secured by a spinlock * \param size Size of ring buffer to create * \return Ring buffer identifier or NULL on failure */ -epicsShareFunc epicsRingPointerId epicsShareAPI epicsRingPointerLockedCreate(int size); +LIBCOM_API epicsRingPointerId epicsStdCall epicsRingPointerLockedCreate(int size); /** * \brief Delete the ring buffer and free any associated memory * \param id Ring buffer identifier */ -epicsShareFunc void epicsShareAPI epicsRingPointerDelete(epicsRingPointerId id); +LIBCOM_API void epicsStdCall epicsRingPointerDelete(epicsRingPointerId id); /** * \brief Push pointer into the ring buffer * \param id Ring buffer identifier * \param p Pointer to be pushed to the ring * \return 1 if the pointer was successfully pushed, 0 if the buffer was full */ -epicsShareFunc int epicsShareAPI epicsRingPointerPush(epicsRingPointerId id,void *p); +LIBCOM_API int epicsStdCall epicsRingPointerPush(epicsRingPointerId id,void *p); /** * \brief Take an element off the ring * \param id Ring buffer identifier * \return The pointer from the buffer, or NULL if the ring was empty */ -epicsShareFunc void* epicsShareAPI epicsRingPointerPop(epicsRingPointerId id) ; +LIBCOM_API void* epicsStdCall epicsRingPointerPop(epicsRingPointerId id) ; /** * \brief Remove all elements from the ring * \param id Ring buffer identifier * \note If this operation is performed on a ring buffer of the unsecured * kind, all access to the ring should be locked. */ -epicsShareFunc void epicsShareAPI epicsRingPointerFlush(epicsRingPointerId id); +LIBCOM_API void epicsStdCall epicsRingPointerFlush(epicsRingPointerId id); /** * \brief Return the amount of empty space in the ring buffer * \param id Ring buffer identifier * \return The number of additional elements it could hold. */ -epicsShareFunc int epicsShareAPI epicsRingPointerGetFree(epicsRingPointerId id); +LIBCOM_API int epicsStdCall epicsRingPointerGetFree(epicsRingPointerId id); /** * \brief Return the number of elements stored in the ring buffer * \param id Ring buffer identifier * \return The number of elements stored in the ring buffer */ -epicsShareFunc int epicsShareAPI epicsRingPointerGetUsed(epicsRingPointerId id); +LIBCOM_API int epicsStdCall epicsRingPointerGetUsed(epicsRingPointerId id); /** * \brief Return the size of the ring * \param id Ring buffer identifier * \return The size of the ring buffer, i.e. the value of \c size * given when the ring was created. */ -epicsShareFunc int epicsShareAPI epicsRingPointerGetSize(epicsRingPointerId id); +LIBCOM_API int epicsStdCall epicsRingPointerGetSize(epicsRingPointerId id); /** * \brief Check if the ring buffer is currently empty * \param id Ring buffer identifier * \return 1 if the ring is empty, otherwise 0 */ -epicsShareFunc int epicsShareAPI epicsRingPointerIsEmpty(epicsRingPointerId id); +LIBCOM_API int epicsStdCall epicsRingPointerIsEmpty(epicsRingPointerId id); /** * \brief Check if the ring buffer is currently full * \param id Ring buffer identifier * \return 1 if the ring buffer is full, otherwise 0 */ -epicsShareFunc int epicsShareAPI epicsRingPointerIsFull(epicsRingPointerId id); +LIBCOM_API int epicsStdCall epicsRingPointerIsFull(epicsRingPointerId id); /** * \brief Get the Highwater mark of the ring buffer * @@ -194,14 +194,14 @@ epicsShareFunc int epicsShareAPI epicsRingPointerIsFull(epicsRingPointerId id); * \param id Ring buffer identifier * \return Actual Highwater mark */ -epicsShareFunc int epicsShareAPI epicsRingPointerGetHighWaterMark(epicsRingPointerIdConst id); +LIBCOM_API int epicsStdCall epicsRingPointerGetHighWaterMark(epicsRingPointerIdConst id); /** * \brief Reset the Highwater mark of the ring buffer * * The Highwater mark will be set to the current usage * \param id Ring buffer identifier */ -epicsShareFunc void epicsShareAPI epicsRingPointerResetHighWaterMark(epicsRingPointerId id); +LIBCOM_API void epicsStdCall epicsRingPointerResetHighWaterMark(epicsRingPointerId id); /* This routine was incorrectly named in previous releases */ #define epicsRingPointerSize epicsRingPointerGetSize diff --git a/modules/libcom/src/taskwd/taskwd.c b/modules/libcom/src/taskwd/taskwd.c index 4f30a5a5d..c1d123876 100644 --- a/modules/libcom/src/taskwd/taskwd.c +++ b/modules/libcom/src/taskwd/taskwd.c @@ -17,7 +17,6 @@ #include #include -#define epicsExportSharedSymbols #include "cantProceed.h" #include "dbDefs.h" #include "epicsEvent.h" @@ -356,7 +355,7 @@ void taskwdAnyRemove(void *key) /* Report function */ -epicsShareFunc void taskwdShow(int level) +LIBCOM_API void taskwdShow(int level) { struct tNode *pt; int mCount, fCount, tCount; diff --git a/modules/libcom/src/taskwd/taskwd.h b/modules/libcom/src/taskwd/taskwd.h index 4d5274d56..172995e1e 100644 --- a/modules/libcom/src/taskwd/taskwd.h +++ b/modules/libcom/src/taskwd/taskwd.h @@ -17,7 +17,7 @@ #define INC_taskwd_H #include "epicsThread.h" -#include "shareLib.h" +#include "libComAPI.h" #ifdef __cplusplus extern "C" { @@ -25,15 +25,15 @@ extern "C" { /* Initialization, optional */ -epicsShareFunc void taskwdInit(void); +LIBCOM_API void taskwdInit(void); /* For tasks to be monitored */ typedef void (*TASKWDFUNC)(void *usr); -epicsShareFunc void taskwdInsert(epicsThreadId tid, +LIBCOM_API void taskwdInsert(epicsThreadId tid, TASKWDFUNC callback, void *usr); -epicsShareFunc void taskwdRemove(epicsThreadId tid); +LIBCOM_API void taskwdRemove(epicsThreadId tid); /* Monitoring API */ @@ -43,20 +43,20 @@ typedef struct { void (*remove)(void *usr, epicsThreadId tid); } taskwdMonitor; -epicsShareFunc void taskwdMonitorAdd(const taskwdMonitor *funcs, void *usr); -epicsShareFunc void taskwdMonitorDel(const taskwdMonitor *funcs, void *usr); +LIBCOM_API void taskwdMonitorAdd(const taskwdMonitor *funcs, void *usr); +LIBCOM_API void taskwdMonitorDel(const taskwdMonitor *funcs, void *usr); /* Old monitoring API, deprecated */ typedef void (*TASKWDANYFUNC)(void *usr, epicsThreadId tid); -epicsShareFunc void taskwdAnyInsert(void *key, +LIBCOM_API void taskwdAnyInsert(void *key, TASKWDANYFUNC callback, void *usr); -epicsShareFunc void taskwdAnyRemove(void *key); +LIBCOM_API void taskwdAnyRemove(void *key); /* Report function */ -epicsShareFunc void taskwdShow(int level); +LIBCOM_API void taskwdShow(int level); #ifdef __cplusplus diff --git a/modules/libcom/src/timer/epicsTimer.cpp b/modules/libcom/src/timer/epicsTimer.cpp index e55280e7e..44b9a30d5 100644 --- a/modules/libcom/src/timer/epicsTimer.cpp +++ b/modules/libcom/src/timer/epicsTimer.cpp @@ -15,7 +15,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsMath.h" #include "epicsTimer.h" #include "epicsGuard.h" @@ -109,7 +108,7 @@ void epicsTimerQueuePassiveForC::destroy () delete this; } -epicsShareFunc epicsTimerNotify::expireStatus::expireStatus ( restart_t restart ) : +LIBCOM_API epicsTimerNotify::expireStatus::expireStatus ( restart_t restart ) : delay ( - DBL_MAX ) { if ( restart != noRestart ) { @@ -118,7 +117,7 @@ epicsShareFunc epicsTimerNotify::expireStatus::expireStatus ( restart_t restart } } -epicsShareFunc epicsTimerNotify::expireStatus::expireStatus +LIBCOM_API epicsTimerNotify::expireStatus::expireStatus ( restart_t restartIn, const double & expireDelaySec ) : delay ( expireDelaySec ) { @@ -132,12 +131,12 @@ epicsShareFunc epicsTimerNotify::expireStatus::expireStatus } } -epicsShareFunc bool epicsTimerNotify::expireStatus::restart () const +LIBCOM_API bool epicsTimerNotify::expireStatus::restart () const { return this->delay >= 0.0 && finite(this->delay); } -epicsShareFunc double epicsTimerNotify::expireStatus::expirationDelay () const +LIBCOM_API double epicsTimerNotify::expireStatus::expirationDelay () const { if ( this->delay < 0.0 || !finite(this->delay) ) { throw std::logic_error @@ -146,7 +145,7 @@ epicsShareFunc double epicsTimerNotify::expireStatus::expirationDelay () const return this->delay; } -extern "C" epicsTimerQueuePassiveId epicsShareAPI +extern "C" epicsTimerQueuePassiveId epicsStdCall epicsTimerQueuePassiveCreate ( epicsTimerQueueNotifyReschedule pRescheduleCallbackIn, epicsTimerQueueNotifyQuantum pSleepQuantumCallbackIn, @@ -163,13 +162,13 @@ extern "C" epicsTimerQueuePassiveId epicsShareAPI } } -extern "C" void epicsShareAPI +extern "C" void epicsStdCall epicsTimerQueuePassiveDestroy ( epicsTimerQueuePassiveId pQueue ) { pQueue->destroy (); } -extern "C" double epicsShareAPI +extern "C" double epicsStdCall epicsTimerQueuePassiveProcess ( epicsTimerQueuePassiveId pQueue ) { try { @@ -180,7 +179,7 @@ extern "C" double epicsShareAPI } } -extern "C" epicsTimerId epicsShareAPI epicsTimerQueuePassiveCreateTimer ( +extern "C" epicsTimerId epicsStdCall epicsTimerQueuePassiveCreateTimer ( epicsTimerQueuePassiveId pQueue, epicsTimerCallback pCallback, void *pArg ) { try { @@ -191,19 +190,19 @@ extern "C" epicsTimerId epicsShareAPI epicsTimerQueuePassiveCreateTimer ( } } -extern "C" epicsShareFunc void epicsShareAPI epicsTimerQueuePassiveDestroyTimer ( +extern "C" LIBCOM_API void epicsStdCall epicsTimerQueuePassiveDestroyTimer ( epicsTimerQueuePassiveId /* pQueue */, epicsTimerId pTmr ) { pTmr->destroy (); } -extern "C" void epicsShareAPI epicsTimerQueuePassiveShow ( +extern "C" void epicsStdCall epicsTimerQueuePassiveShow ( epicsTimerQueuePassiveId pQueue, unsigned int level ) { pQueue->show ( level ); } -extern "C" epicsTimerQueueId epicsShareAPI +extern "C" epicsTimerQueueId epicsStdCall epicsTimerQueueAllocate ( int okToShare, unsigned int threadPriority ) { try { @@ -218,12 +217,12 @@ extern "C" epicsTimerQueueId epicsShareAPI } } -extern "C" void epicsShareAPI epicsTimerQueueRelease ( epicsTimerQueueId pQueue ) +extern "C" void epicsStdCall epicsTimerQueueRelease ( epicsTimerQueueId pQueue ) { pQueue->release (); } -extern "C" epicsTimerId epicsShareAPI epicsTimerQueueCreateTimer ( +extern "C" epicsTimerId epicsStdCall epicsTimerQueueCreateTimer ( epicsTimerQueueId pQueue, epicsTimerCallback pCallback, void *pArg ) { try { @@ -234,41 +233,41 @@ extern "C" epicsTimerId epicsShareAPI epicsTimerQueueCreateTimer ( } } -extern "C" void epicsShareAPI epicsTimerQueueShow ( +extern "C" void epicsStdCall epicsTimerQueueShow ( epicsTimerQueueId pQueue, unsigned int level ) { pQueue->show ( level ); } -extern "C" void epicsShareAPI epicsTimerQueueDestroyTimer ( +extern "C" void epicsStdCall epicsTimerQueueDestroyTimer ( epicsTimerQueueId /* pQueue */, epicsTimerId pTmr ) { pTmr->destroy (); } -extern "C" void epicsShareAPI epicsTimerStartTime ( +extern "C" void epicsStdCall epicsTimerStartTime ( epicsTimerId pTmr, const epicsTimeStamp *pTime ) { pTmr->start ( *pTmr, *pTime ); } -extern "C" void epicsShareAPI epicsTimerStartDelay ( +extern "C" void epicsStdCall epicsTimerStartDelay ( epicsTimerId pTmr, double delaySeconds ) { pTmr->start ( *pTmr, delaySeconds ); } -extern "C" void epicsShareAPI epicsTimerCancel ( epicsTimerId pTmr ) +extern "C" void epicsStdCall epicsTimerCancel ( epicsTimerId pTmr ) { pTmr->cancel (); } -extern "C" double epicsShareAPI epicsTimerGetExpireDelay ( epicsTimerId pTmr ) +extern "C" double epicsStdCall epicsTimerGetExpireDelay ( epicsTimerId pTmr ) { return pTmr->getExpireDelay (); } -extern "C" void epicsShareAPI epicsTimerShow ( +extern "C" void epicsStdCall epicsTimerShow ( epicsTimerId pTmr, unsigned int level ) { pTmr->timer::show ( level ); diff --git a/modules/libcom/src/timer/epicsTimer.h b/modules/libcom/src/timer/epicsTimer.h index 72270f273..02eebbbfb 100644 --- a/modules/libcom/src/timer/epicsTimer.h +++ b/modules/libcom/src/timer/epicsTimer.h @@ -16,7 +16,7 @@ #include -#include "shareLib.h" +#include "libComAPI.h" #include "epicsTime.h" #include "epicsThread.h" @@ -28,15 +28,15 @@ */ /* code using a timer must implement epicsTimerNotify */ -class epicsShareClass epicsTimerNotify { +class LIBCOM_API epicsTimerNotify { public: enum restart_t { noRestart, restart }; class expireStatus { public: - epicsShareFunc expireStatus ( restart_t ); - epicsShareFunc expireStatus ( restart_t, const double & expireDelaySec ); - epicsShareFunc bool restart () const; - epicsShareFunc double expirationDelay () const; + LIBCOM_API expireStatus ( restart_t ); + LIBCOM_API expireStatus ( restart_t, const double & expireDelaySec ); + LIBCOM_API bool restart () const; + LIBCOM_API double expirationDelay () const; private: double delay; }; @@ -47,7 +47,7 @@ public: virtual void show ( unsigned int level ) const; }; -class epicsShareClass epicsTimer { +class LIBCOM_API epicsTimer { public: /* calls cancel (see warning below) and then destroys the timer */ virtual void destroy () = 0; @@ -75,17 +75,17 @@ public: virtual epicsTimer & createTimer () = 0; virtual void show ( unsigned int level ) const = 0; protected: - epicsShareFunc virtual ~epicsTimerQueue () = 0; + LIBCOM_API virtual ~epicsTimerQueue () = 0; }; class epicsTimerQueueActive : public epicsTimerQueue { public: - static epicsShareFunc epicsTimerQueueActive & allocate ( + static LIBCOM_API epicsTimerQueueActive & allocate ( bool okToShare, unsigned threadPriority = epicsThreadPriorityMin + 10 ); virtual void release () = 0; protected: - epicsShareFunc virtual ~epicsTimerQueueActive () = 0; + LIBCOM_API virtual ~epicsTimerQueueActive () = 0; }; class epicsTimerQueueNotify { @@ -97,14 +97,14 @@ public: /* return this quantum in seconds. If unknown then return zero. */ virtual double quantum () = 0; protected: - epicsShareFunc virtual ~epicsTimerQueueNotify () = 0; + LIBCOM_API virtual ~epicsTimerQueueNotify () = 0; }; class epicsTimerQueuePassive : public epicsTimerQueue { public: - static epicsShareFunc epicsTimerQueuePassive & create ( epicsTimerQueueNotify & ); - epicsShareFunc virtual ~epicsTimerQueuePassive () = 0; /* ok to call delete */ + static LIBCOM_API epicsTimerQueuePassive & create ( epicsTimerQueueNotify & ); + LIBCOM_API virtual ~epicsTimerQueuePassive () = 0; /* ok to call delete */ virtual double process ( const epicsTime & currentTime ) = 0; /* returns delay to next expire */ }; @@ -135,47 +135,47 @@ typedef void ( *epicsTimerCallback ) ( void *pPrivate ); /* thread managed timer queue */ typedef struct epicsTimerQueueActiveForC * epicsTimerQueueId; -epicsShareFunc epicsTimerQueueId epicsShareAPI +LIBCOM_API epicsTimerQueueId epicsStdCall epicsTimerQueueAllocate ( int okToShare, unsigned int threadPriority ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerQueueRelease ( epicsTimerQueueId ); -epicsShareFunc epicsTimerId epicsShareAPI +LIBCOM_API epicsTimerId epicsStdCall epicsTimerQueueCreateTimer ( epicsTimerQueueId queueid, epicsTimerCallback callback, void *arg ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerQueueDestroyTimer ( epicsTimerQueueId queueid, epicsTimerId id ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerQueueShow ( epicsTimerQueueId id, unsigned int level ); /* passive timer queue */ typedef struct epicsTimerQueuePassiveForC * epicsTimerQueuePassiveId; typedef void ( * epicsTimerQueueNotifyReschedule ) ( void * pPrivate ); typedef double ( * epicsTimerQueueNotifyQuantum ) ( void * pPrivate ); -epicsShareFunc epicsTimerQueuePassiveId epicsShareAPI +LIBCOM_API epicsTimerQueuePassiveId epicsStdCall epicsTimerQueuePassiveCreate ( epicsTimerQueueNotifyReschedule, epicsTimerQueueNotifyQuantum, void *pPrivate ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerQueuePassiveDestroy ( epicsTimerQueuePassiveId ); -epicsShareFunc epicsTimerId epicsShareAPI +LIBCOM_API epicsTimerId epicsStdCall epicsTimerQueuePassiveCreateTimer ( epicsTimerQueuePassiveId queueid, epicsTimerCallback pCallback, void *pArg ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerQueuePassiveDestroyTimer ( epicsTimerQueuePassiveId queueid, epicsTimerId id ); -epicsShareFunc double epicsShareAPI +LIBCOM_API double epicsStdCall epicsTimerQueuePassiveProcess ( epicsTimerQueuePassiveId ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerQueuePassiveShow ( epicsTimerQueuePassiveId id, unsigned int level ); /* timer */ -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerStartTime ( epicsTimerId id, const epicsTimeStamp *pTime ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerStartDelay ( epicsTimerId id, double delaySeconds ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerCancel ( epicsTimerId id ); -epicsShareFunc double epicsShareAPI +LIBCOM_API double epicsStdCall epicsTimerGetExpireDelay ( epicsTimerId id ); -epicsShareFunc void epicsShareAPI +LIBCOM_API void epicsStdCall epicsTimerShow ( epicsTimerId id, unsigned int level ); #ifdef __cplusplus diff --git a/modules/libcom/src/timer/timer.cpp b/modules/libcom/src/timer/timer.cpp index 35d6e47bf..fed400761 100644 --- a/modules/libcom/src/timer/timer.cpp +++ b/modules/libcom/src/timer/timer.cpp @@ -19,7 +19,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsGuard.h" #include "timerPrivate.h" #include "errlog.h" diff --git a/modules/libcom/src/timer/timerQueue.cpp b/modules/libcom/src/timer/timerQueue.cpp index 8f7f98e12..f4e3555a8 100644 --- a/modules/libcom/src/timer/timerQueue.cpp +++ b/modules/libcom/src/timer/timerQueue.cpp @@ -15,7 +15,6 @@ #include #include -#define epicsExportSharedSymbols #include "epicsGuard.h" #include "timerPrivate.h" #include "errlog.h" diff --git a/modules/libcom/src/timer/timerQueueActive.cpp b/modules/libcom/src/timer/timerQueueActive.cpp index 4db68c00c..ab0599e21 100644 --- a/modules/libcom/src/timer/timerQueueActive.cpp +++ b/modules/libcom/src/timer/timerQueueActive.cpp @@ -14,7 +14,6 @@ #include -#define epicsExportSharedSymbols #include "epicsAtomic.h" #include "timerPrivate.h" #include "errlog.h" diff --git a/modules/libcom/src/timer/timerQueueActiveMgr.cpp b/modules/libcom/src/timer/timerQueueActiveMgr.cpp index eff2e0c53..7e382f644 100644 --- a/modules/libcom/src/timer/timerQueueActiveMgr.cpp +++ b/modules/libcom/src/timer/timerQueueActiveMgr.cpp @@ -15,7 +15,6 @@ #include -#define epicsExportSharedSymbols #include "epicsGuard.h" #include "timerPrivate.h" diff --git a/modules/libcom/src/timer/timerQueuePassive.cpp b/modules/libcom/src/timer/timerQueuePassive.cpp index a352c5672..754484073 100644 --- a/modules/libcom/src/timer/timerQueuePassive.cpp +++ b/modules/libcom/src/timer/timerQueuePassive.cpp @@ -23,7 +23,6 @@ #include -#define epicsExportSharedSymbols #include "timerPrivate.h" epicsTimerQueuePassive::~epicsTimerQueuePassive () {}