diff --git a/src/registry/registry.c b/src/registry/registry.c index 9ada011ec..ebd23566e 100644 --- a/src/registry/registry.c +++ b/src/registry/registry.c @@ -17,6 +17,7 @@ of this distribution. #include "cantProceed.h" #include "osiFindGlobalSymbol.h" #include "gpHash.h" +#define epicsExportSharedSymbols #include "registry.h" static void *gphPvt = 0; @@ -28,7 +29,7 @@ static void registryInit(int tableSize) if(!gphPvt) cantProceed("registry why did gphInitPvt fail\n"); } -int registrySetTableSize(int size) +epicsShareFunc int epicsShareAPI registrySetTableSize(int size) { if(gphPvt) { printf("registryInit already called\n"); @@ -39,7 +40,8 @@ int registrySetTableSize(int size) } -int registryAdd(void *registryID,const char *name,void *data) +epicsShareFunc int epicsShareAPI registryAdd( + void *registryID,const char *name,void *data) { GPHENTRY *pentry; if(!gphPvt) registryInit(0); @@ -49,7 +51,8 @@ int registryAdd(void *registryID,const char *name,void *data) return(TRUE); } -void *registryFind(void *registryID,const char *name) +epicsShareFunc void * epicsShareAPI registryFind( + void *registryID,const char *name) { GPHENTRY *pentry; if(name==0) return(0); @@ -60,13 +63,13 @@ void *registryFind(void *registryID,const char *name) return(pentry->userPvt); } -void registryFree() +epicsShareFunc void epicsShareAPI registryFree() { if(!gphPvt) return; gphFreeMem(gphPvt); } -int registryDump(void) +epicsShareFunc int epicsShareAPI registryDump(void) { if(!gphPvt) return(0); gphDump(gphPvt); diff --git a/src/registry/registry.h b/src/registry/registry.h index fbd95dcf1..141996b2b 100644 --- a/src/registry/registry.h +++ b/src/registry/registry.h @@ -1,18 +1,21 @@ #ifndef INCregistryh #define INCregistryh +#include "shareLib.h" #ifdef __cplusplus extern "C" { #endif #define DEFAULT_TABLE_SIZE 1024 -int registryAdd(void *registryID,const char *name,void *data); -void *registryFind(void *registryID,const char *name); +epicsShareFunc int epicsShareAPI registryAdd( + void *registryID,const char *name,void *data); +epicsShareFunc void *epicsShareAPI registryFind( + void *registryID,const char *name); -int registrySetTableSize(int size); -void registryFree(); -int registryDump(void); +epicsShareFunc int epicsShareAPI registrySetTableSize(int size); +epicsShareFunc void epicsShareAPI registryFree(); +epicsShareFunc int epicsShareAPI registryDump(void); #ifdef __cplusplus } diff --git a/src/registry/registryDeviceSupport.c b/src/registry/registryDeviceSupport.c index 3bab02cfb..e11088713 100644 --- a/src/registry/registryDeviceSupport.c +++ b/src/registry/registryDeviceSupport.c @@ -14,18 +14,21 @@ of this distribution. #include "registry.h" #include "dbBase.h" #include "devSup.h" +#define epicsExportSharedSymbols #include "registryDeviceSupport.h" const char *deviceSupport = "device support"; static void *registryID = &deviceSupport; -int registryDeviceSupportAdd(const char *name,struct dset *pdset) +epicsShareFunc int epicsShareAPI registryDeviceSupportAdd( + const char *name,struct dset *pdset) { return(registryAdd(registryID,name,(void *)pdset)); } -struct dset *registryDeviceSupportFind(const char *name) +epicsShareFunc struct dset * epicsShareAPI registryDeviceSupportFind( + const char *name) { return((struct dset *)registryFind(registryID,name)); } diff --git a/src/registry/registryDeviceSupport.h b/src/registry/registryDeviceSupport.h index 6dbf29c4c..81cf08eb2 100644 --- a/src/registry/registryDeviceSupport.h +++ b/src/registry/registryDeviceSupport.h @@ -1,13 +1,16 @@ #ifndef INCregistryDeviceSupporth #define INCregistryDeviceSupporth +#include "shareLib.h" #ifdef __cplusplus extern "C" { #endif -int registryDeviceSupportAdd(const char *name,struct dset *pdset); -struct dset *registryDeviceSupportFind(const char *name); +epicsShareFunc int epicsShareAPI registryDeviceSupportAdd( + const char *name,struct dset *pdset); +epicsShareFunc struct dset * epicsShareAPI registryDeviceSupportFind( + const char *name); #ifdef __cplusplus } diff --git a/src/registry/registryDriverSupport.c b/src/registry/registryDriverSupport.c index 2a933c8fc..8cc9fa5d2 100644 --- a/src/registry/registryDriverSupport.c +++ b/src/registry/registryDriverSupport.c @@ -14,18 +14,21 @@ of this distribution. #include "registry.h" #include "dbBase.h" #include "drvSup.h" +#define epicsExportSharedSymbols #include "registryDriverSupport.h" const char *driverSupport = "driver support"; static void *registryID = &driverSupport; -int registryDriverSupportAdd(const char *name,struct drvet *pdrvet) +epicsShareFunc int epicsShareAPI registryDriverSupportAdd( + const char *name,struct drvet *pdrvet) { return(registryAdd(registryID,name,(void *)pdrvet)); } -struct drvet *registryDriverSupportFind(const char *name) +epicsShareFunc struct drvet * epicsShareAPI registryDriverSupportFind( + const char *name) { return((struct drvet *)registryFind(registryID,name)); } diff --git a/src/registry/registryDriverSupport.h b/src/registry/registryDriverSupport.h index e0efafd12..9bdbb3562 100644 --- a/src/registry/registryDriverSupport.h +++ b/src/registry/registryDriverSupport.h @@ -1,14 +1,17 @@ #ifndef INCregistryDriverSupporth #define INCregistryDriverSupporth +#include "shareLib.h" #ifdef __cplusplus extern "C" { #endif /* c interface definitions */ -int registryDriverSupportAdd(const char *name,struct drvet *pdrvet); -struct drvet *registryDriverSupportFind(const char *name); +epicsShareFunc int epicsShareAPI registryDriverSupportAdd( + const char *name,struct drvet *pdrvet); +epicsShareFunc struct drvet * epicsShareAPI registryDriverSupportFind( + const char *name); #ifdef __cplusplus } diff --git a/src/registry/registryRecordType.c b/src/registry/registryRecordType.c index 343e5c697..4a0440486 100644 --- a/src/registry/registryRecordType.c +++ b/src/registry/registryRecordType.c @@ -13,18 +13,21 @@ of this distribution. #include "registry.h" #include "dbBase.h" +#define epicsExportSharedSymbols #include "registryRecordType.h" const char *recordType = "record type"; static void *registryID = &recordType; -int registryRecordTypeAdd(const char *name,recordTypeLocation *prtl) +epicsShareFunc int epicsShareAPI registryRecordTypeAdd( + const char *name,recordTypeLocation *prtl) { return(registryAdd(registryID,name,(void *)prtl)); } -recordTypeLocation *registryRecordTypeFind(const char *name) +epicsShareFunc recordTypeLocation * epicsShareAPI registryRecordTypeFind( + const char *name) { return((recordTypeLocation *)registryFind(registryID,name)); } diff --git a/src/registry/registryRecordType.h b/src/registry/registryRecordType.h index 8fb0da978..c918e7163 100644 --- a/src/registry/registryRecordType.h +++ b/src/registry/registryRecordType.h @@ -1,6 +1,7 @@ #ifndef INCregistryRecordTypeh #define INCregistryRecordTypeh +#include "shareLib.h" struct dbRecordType; struct rset; struct dbBase; @@ -18,11 +19,14 @@ typedef struct recordTypeLocation { extern "C" { #endif -int registryRecordTypeAdd(const char *name,recordTypeLocation *prtl); -recordTypeLocation *registryRecordTypeFind(const char *name); +epicsShareFunc int epicsShareAPI registryRecordTypeAdd( + const char *name,recordTypeLocation *prtl); +epicsShareFunc recordTypeLocation * epicsShareAPI registryRecordTypeFind( + const char *name); /* The following function is generated by registerRecordDeviceDriver/pl */ -int registerRecordDeviceDriver(struct dbBase *pdbbase); +epicsShareFunc int epicsShareAPI registerRecordDeviceDriver( + struct dbBase *pdbbase); #ifdef __cplusplus }