libCom: actually use libComAPI.h in libCom
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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*/
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#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);
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include <math.h>
|
||||
#include <time.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#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[] = {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "cvtFast.h"
|
||||
#include "epicsMath.h"
|
||||
#include "epicsStdio.h"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <stddef.h>
|
||||
|
||||
#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 */
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
#include <new>
|
||||
#include <cstddef>
|
||||
|
||||
#include "shareLib.h"
|
||||
#include "libComAPI.h"
|
||||
#include "epicsAssert.h"
|
||||
|
||||
class epicsShareClass SingletonUntyped {
|
||||
class LIBCOM_API SingletonUntyped {
|
||||
public:
|
||||
SingletonUntyped ();
|
||||
~SingletonUntyped ();
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
#include <climits>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsMutex.h"
|
||||
#include "epicsGuard.h"
|
||||
#include "epicsThread.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);
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#define REDZONE 0
|
||||
#endif
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "cantProceed.h"
|
||||
#include "epicsMutex.h"
|
||||
#include "ellLib.h"
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#define DBMF_H
|
||||
|
||||
#include <stdlib.h>
|
||||
#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
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsAssert.h"
|
||||
#include "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
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsAssert.h"
|
||||
#include "ellLib.h"
|
||||
|
||||
|
||||
6
modules/libcom/src/env/bldEnvData.pl
vendored
6
modules/libcom/src/env/bldEnvData.pl
vendored
@@ -44,7 +44,7 @@ open SRC, '<', $env_defs
|
||||
|
||||
my @vars;
|
||||
while (<SRC>) {
|
||||
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;
|
||||
|
||||
94
modules/libcom/src/env/envDefs.h
vendored
94
modules/libcom/src/env/envDefs.h
vendored
@@ -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 <name>;"
|
||||
* \note bldEnvData.pl looks for "LIBCOM_API extern const ENV_PARAM <name>;"
|
||||
*/
|
||||
|
||||
#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
|
||||
}
|
||||
|
||||
19
modules/libcom/src/env/envSubr.c
vendored
19
modules/libcom/src/env/envSubr.c
vendored
@@ -40,7 +40,6 @@
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <math.h>
|
||||
#include <limits.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "cantProceed.h"
|
||||
#include "epicsAssert.h"
|
||||
#include "epicsStdio.h"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#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
|
||||
}
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#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);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#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
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include <algorithm>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -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<fdReg>, public tsSLNode<fdReg> {
|
||||
friend class fdManager;
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
//
|
||||
|
||||
#include <stddef.h>
|
||||
#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<timerForOldFdmgr> {
|
||||
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<timerForOldFdmgr, chronIntId>;
|
||||
# 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 <const double> (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 <oldFdmgr *> (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 <oldFdmgr *> (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 <oldFdmgr *> (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 <oldFdmgr *> (pfdctx);
|
||||
double delay = ptimeout->tv_sec + ptimeout->tv_usec / static_cast <const double> (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 <oldFdmgr *> (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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -43,7 +43,6 @@ char copyright[] =
|
||||
#endif /* not lint */
|
||||
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsTempFile.h"
|
||||
#undef epicsExportSharedSymbols
|
||||
|
||||
|
||||
@@ -13,18 +13,18 @@
|
||||
#define INCfreeListh
|
||||
|
||||
#include <stddef.h>
|
||||
#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
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "dbDefs.h"
|
||||
#include "ellLib.h"
|
||||
#include "epicsMutex.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
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#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
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
|
||||
#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 ();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#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";
|
||||
|
||||
@@ -12,18 +12,17 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#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 */
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#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 )
|
||||
{
|
||||
|
||||
@@ -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; };
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -14,13 +14,12 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#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);
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
#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
|
||||
|
||||
@@ -11,12 +11,11 @@
|
||||
#include <float.h>
|
||||
#include <limits.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsMath.h"
|
||||
#include "epicsConvert.h"
|
||||
#include "cantProceed.h"
|
||||
|
||||
epicsShareFunc float epicsConvertDoubleToFloat(double value)
|
||||
LIBCOM_API float epicsConvertDoubleToFloat(double value)
|
||||
{
|
||||
double abs;
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
#ifndef INC_epicsConvert_H
|
||||
#define INC_epicsConvert_H
|
||||
|
||||
#include <shareLib.h>
|
||||
#include <libComAPI.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
epicsShareFunc float epicsConvertDoubleToFloat(double value);
|
||||
LIBCOM_API float epicsConvertDoubleToFloat(double value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#ifndef epicsExith
|
||||
#define epicsExith
|
||||
#include <shareLib.h>
|
||||
#include <libComAPI.h>
|
||||
|
||||
#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
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include <errno.h>
|
||||
#include <float.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
|
||||
#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)
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsStdio.h"
|
||||
#include "cantProceed.h"
|
||||
#include "epicsString.h"
|
||||
|
||||
@@ -17,32 +17,32 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#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
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
# include <crtdbg.h>
|
||||
#endif
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsThread.h"
|
||||
#include "epicsMutex.h"
|
||||
#include "epicsUnitTest.h"
|
||||
|
||||
@@ -149,7 +149,7 @@ ok 3 - M_PI == 4.0*atan(1.0)
|
||||
#include <stdarg.h>
|
||||
|
||||
#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.
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
//#define EPICS_FREELIST_DEBUG
|
||||
#define EPICS_PRIVATE_API
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "ipAddrToAsciiAsynchronous.h"
|
||||
#include "epicsThread.h"
|
||||
#include "epicsMutex.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;
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
#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;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#ifndef unixFileNameH
|
||||
#define unixFileNameH
|
||||
|
||||
#include <shareLib.h>
|
||||
#include <libComAPI.h>
|
||||
|
||||
#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
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "dbDefs.h"
|
||||
#include "epicsMutex.h"
|
||||
#include "errlog.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);
|
||||
|
||||
/** @} */
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 * );
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include <new>
|
||||
#include <exception>
|
||||
|
||||
#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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
\*************************************************************************/
|
||||
/* epicsMath.cpp */
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include <epicsMath.h>
|
||||
|
||||
#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
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
#include <new>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsMessageQueue.h"
|
||||
#include "epicsStdio.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);
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
|
||||
|
||||
@@ -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<epicsMutex> guard_t;
|
||||
typedef epicsGuard<epicsMutex> 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<epicsDeadlockDetectMutex> guard_t;
|
||||
typedef epicsGuard<epicsDeadlockDetectMutex> 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
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
|
||||
#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) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user