Added compiler specific key words to set up shareable library (DLL) for WIN32

This commit is contained in:
Janet B. Anderson
1998-04-23 13:56:10 +00:00
parent 4d20d420f6
commit 073c5a48ae
6 changed files with 253 additions and 239 deletions
+8 -4
View File
@@ -33,8 +33,6 @@ of this distribution.
#include "dbFldTypes.h"
#include "epicsPrint.h"
#include "errMdef.h"
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
#include "ellLib.h"
#include "gpHash.h"
#include "freeList.h"
@@ -42,6 +40,12 @@ of this distribution.
#include "special.h"
#include "link.h"
#include "macLib.h"
#define epicsExportSharedSymbols
#include "shareLib.h"
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
/*private routines */
static void yyerrorAbort(char *str);
@@ -289,11 +293,11 @@ static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp,
return(status);
}
long dbReadDatabase(DBBASE **ppdbbase,const char *filename,
long epicsShareAPI dbReadDatabase(DBBASE **ppdbbase,const char *filename,
const char *path,const char *substitutions)
{return (dbReadCOM(ppdbbase,filename,0,path,substitutions));}
long dbReadDatabaseFP(DBBASE **ppdbbase,FILE *fp,
long epicsShareAPI dbReadDatabaseFP(DBBASE **ppdbbase,FILE *fp,
const char *path,const char *substitutions)
{return (dbReadCOM(ppdbbase,0,fp,path,substitutions));}
+5 -1
View File
@@ -19,8 +19,12 @@ of this distribution.
#include "dbDefs.h"
#include "ellLib.h"
#include "dbBase.h"
#define epicsExportSharedSymbols
#include "shareLib.h"
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
int dbPvdHashTableSize = 512;
static int dbPvdHashTableShift;
@@ -217,7 +221,7 @@ void dbPvdFreeMem(dbBase *pdbbase)
pdbbase->ppvd = NULL;
}
void dbPvdDump(dbBase *pdbbase,int verbose)
void epicsShareAPI dbPvdDump(dbBase *pdbbase,int verbose)
{
unsigned short hashInd;
ELLLIST **ppvd = (ELLLIST **) pdbbase->ppvd;
+130 -127
View File
@@ -42,8 +42,6 @@ of this distribution.
#include "errMdef.h"
#include "ellLib.h"
#include "cvtFast.h"
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
#include "devSup.h"
#include "drvSup.h"
#include "special.h"
@@ -54,6 +52,11 @@ of this distribution.
#include "postfix.h"
#include "osiFileName.h"
#define epicsExportSharedSymbols
#include "shareLib.h"
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
int dbStaticDebug = 0;
#define messagesize 100
@@ -195,35 +198,35 @@ static void entryErrMessage(DBENTRY *pdbentry,long status,char *mess);
static void zeroDbentry(DBENTRY *pdbentry);
static char *getpMessage(DBENTRY *pdbentry);
static long putPvLink(DBENTRY *pdbentry,short pvlMask,char *pvname);
static long dbAddOnePath (DBBASE *pdbbase, const char *path, unsigned length);
static long epicsShareAPI dbAddOnePath (DBBASE *pdbbase, const char *path, unsigned length);
/*Following are obsolete. Will go away next release*/
long dbRead(DBBASE *pdbbase,FILE *fp)
long epicsShareAPI dbRead(DBBASE *pdbbase,FILE *fp)
{
return(dbReadDatabaseFP(&pdbbase,fp,0,0));
}
long dbWrite(DBBASE *pdbbase,FILE *fpdctsdr,FILE *fp)
long epicsShareAPI dbWrite(DBBASE *pdbbase,FILE *fpdctsdr,FILE *fp)
{
fprintf(stderr,"dbWrite obsolete. It does NOTHING\n");
return(-1);
}
long dbFindRecdes(DBENTRY *pdbentry,char *recdesname)
long epicsShareAPI dbFindRecdes(DBENTRY *pdbentry,char *recdesname)
{return dbFindRecordType(pdbentry,recdesname);}
long dbFirstRecdes(DBENTRY *pdbentry)
long epicsShareAPI dbFirstRecdes(DBENTRY *pdbentry)
{return dbFirstRecordType(pdbentry);}
long dbNextRecdes(DBENTRY *pdbentry)
long epicsShareAPI dbNextRecdes(DBENTRY *pdbentry)
{return dbNextRecordType(pdbentry);}
char *dbGetRecdesName(DBENTRY *pdbentry)
char * epicsShareAPI dbGetRecdesName(DBENTRY *pdbentry)
{return dbGetRecordTypeName(pdbentry);}
int dbGetNRecdes(DBENTRY *pdbentry)
int epicsShareAPI dbGetNRecdes(DBENTRY *pdbentry)
{return dbGetNRecordTypes(pdbentry);}
long dbFirstFielddes(DBENTRY *pdbentry,int dctonly)
long epicsShareAPI dbFirstFielddes(DBENTRY *pdbentry,int dctonly)
{return dbFirstField(pdbentry,dctonly);}
long dbNextFielddes(DBENTRY *pdbentry,int dctonly)
long epicsShareAPI dbNextFielddes(DBENTRY *pdbentry,int dctonly)
{return dbNextField(pdbentry,dctonly);}
char **dbGetChoices(DBENTRY *pdbentry)
char ** epicsShareAPI dbGetChoices(DBENTRY *pdbentry)
{return dbGetMenuChoices(pdbentry);}
void dbDumpRecDes(DBBASE *pdbbase,char *recordTypeName)
void epicsShareAPI dbDumpRecDes(DBBASE *pdbbase,char *recordTypeName)
{dbDumpRecordType(pdbbase,recordTypeName);}
/* internal routines*/
@@ -365,32 +368,6 @@ void dbFreePath(DBBASE *pdbbase)
return;
}
#define INC_SIZE 256
void dbCatString(char **string,int *stringLength,char *new,char *separator)
{
if((*string==NULL)
|| ((strlen(*string)+strlen(new)+2) > (size_t)*stringLength)) {
char *newString;
size_t size;
size = strlen(new);
if(*string) size += strlen(*string);
/*Make size multiple of INC_SIZE*/
size = ((size + 2 + INC_SIZE)/INC_SIZE) * INC_SIZE;
newString = dbCalloc(size,sizeof(char));
if(*string) {
strcpy(newString,*string);
free((void *)(*string));
}
*string = newString;
}
if(*stringLength>0) {
strcat(*string,separator);
*stringLength += strlen(separator);
}
strcat(*string,new);
*stringLength += strlen(new);
}
static long mapLINKTtoFORMT(DBLINK *plink,dbFldDes *pflddes,int *ind)
{
@@ -545,7 +522,7 @@ dbDeviceMenu *dbGetDeviceMenu(DBENTRY *pdbentry)
}
/* Beginning of Public Routines */
void *dbCalloc(size_t nobj,size_t size)
void * epicsShareAPI dbCalloc(size_t nobj,size_t size)
{
void *p;
@@ -559,7 +536,7 @@ void *dbCalloc(size_t nobj,size_t size)
#endif
return(NULL);
}
void *dbMalloc(size_t size)
void * epicsShareAPI dbMalloc(size_t size)
{
void *p;
@@ -574,7 +551,34 @@ void *dbMalloc(size_t size)
return(NULL);
}
dbBase *dbAllocBase(void)
#define INC_SIZE 256
void epicsShareAPI dbCatString(char **string,int *stringLength,char *new,char *separator)
{
if((*string==NULL)
|| ((strlen(*string)+strlen(new)+2) > (size_t)*stringLength)) {
char *newString;
size_t size;
size = strlen(new);
if(*string) size += strlen(*string);
/*Make size multiple of INC_SIZE*/
size = ((size + 2 + INC_SIZE)/INC_SIZE) * INC_SIZE;
newString = dbCalloc(size,sizeof(char));
if(*string) {
strcpy(newString,*string);
free((void *)(*string));
}
*string = newString;
}
if(*stringLength>0) {
strcat(*string,separator);
*stringLength += strlen(separator);
}
strcat(*string,new);
*stringLength += strlen(new);
}
dbBase * epicsShareAPI dbAllocBase(void)
{
dbBase *pdbbase;
@@ -587,8 +591,7 @@ dbBase *dbAllocBase(void)
dbPvdInitPvt(pdbbase);
return (pdbbase);
}
void dbFreeBase(dbBase *pdbbase)
void epicsShareAPI dbFreeBase(dbBase *pdbbase)
{
dbMenu *pdbMenu;
dbMenu *pdbMenuNext;
@@ -710,7 +713,7 @@ void dbFreeBase(dbBase *pdbbase)
return;
}
DBENTRY *dbAllocEntry(dbBase *pdbbase)
DBENTRY * epicsShareAPI dbAllocEntry(dbBase *pdbbase)
{
DBENTRY *pdbentry;
@@ -720,20 +723,20 @@ DBENTRY *dbAllocEntry(dbBase *pdbbase)
return(pdbentry);
}
void dbFreeEntry(DBENTRY *pdbentry)
void epicsShareAPI dbFreeEntry(DBENTRY *pdbentry)
{
if(pdbentry->message) free((void *)pdbentry->message);
if(pdbentry->formpvt) dbFreeForm(pdbentry);
dbmfFree(pdbentry);
}
void dbInitEntry(dbBase *pdbbase,DBENTRY *pdbentry)
void epicsShareAPI dbInitEntry(dbBase *pdbbase,DBENTRY *pdbentry)
{
memset((char *)pdbentry,'\0',sizeof(DBENTRY));
pdbentry->pdbbase = pdbbase;
}
void dbFinishEntry(DBENTRY *pdbentry)
void epicsShareAPI dbFinishEntry(DBENTRY *pdbentry)
{
if(pdbentry->message) {
free((void *)pdbentry->message);
@@ -742,7 +745,7 @@ void dbFinishEntry(DBENTRY *pdbentry)
if(pdbentry->formpvt) dbFreeForm(pdbentry);
}
DBENTRY *dbCopyEntry(DBENTRY *pdbentry)
DBENTRY * epicsShareAPI dbCopyEntry(DBENTRY *pdbentry)
{
DBENTRY *pnew;
@@ -753,7 +756,7 @@ DBENTRY *dbCopyEntry(DBENTRY *pdbentry)
return(pnew);
}
void dbCopyEntryContents(DBENTRY *pfrom,DBENTRY *pto)
void epicsShareAPI dbCopyEntryContents(DBENTRY *pfrom,DBENTRY *pto)
{
*pto = *pfrom;
pto->message = NULL;
@@ -761,7 +764,7 @@ void dbCopyEntryContents(DBENTRY *pfrom,DBENTRY *pto)
}
long dbPath(DBBASE *pdbbase,const char *path)
long epicsShareAPI dbPath(DBBASE *pdbbase,const char *path)
{
if(!pdbbase) return(-1);
dbFreePath(pdbbase);
@@ -769,7 +772,7 @@ long dbPath(DBBASE *pdbbase,const char *path)
return(dbAddPath(pdbbase,path));
}
long dbAddPath(DBBASE *pdbbase,const char *path)
long epicsShareAPI dbAddPath(DBBASE *pdbbase,const char *path)
{
ELLLIST *ppathList;
const char *pcolon;
@@ -841,7 +844,7 @@ long dbAddPath(DBBASE *pdbbase,const char *path)
return(0);
}
static long dbAddOnePath (DBBASE *pdbbase, const char *path, unsigned length)
static long epicsShareAPI dbAddOnePath (DBBASE *pdbbase, const char *path, unsigned length)
{
ELLLIST *ppathList;
dbPathNode *pdbPathNode;
@@ -858,7 +861,7 @@ static long dbAddOnePath (DBBASE *pdbbase, const char *path, unsigned length)
}
long dbWriteRecord(DBBASE *ppdbbase,const char *filename,
long epicsShareAPI dbWriteRecord(DBBASE *ppdbbase,const char *filename,
char *precordTypename,int level)
{
FILE *outFile;
@@ -872,7 +875,7 @@ long dbWriteRecord(DBBASE *ppdbbase,const char *filename,
return(fcloseNotSTD(outFile));
}
long dbWriteRecordFP(DBBASE *pdbbase,FILE *fp,char *precordTypename,int level)
long epicsShareAPI dbWriteRecordFP(DBBASE *pdbbase,FILE *fp,char *precordTypename,int level)
{
DBENTRY dbentry;
DBENTRY *pdbentry=&dbentry;
@@ -933,7 +936,7 @@ long dbWriteRecordFP(DBBASE *pdbbase,FILE *fp,char *precordTypename,int level)
return(0);
}
long dbWriteMenu(DBBASE *ppdbbase,const char *filename,char *menuName)
long epicsShareAPI dbWriteMenu(DBBASE *ppdbbase,const char *filename,char *menuName)
{
FILE *outFile;
@@ -949,7 +952,7 @@ long dbWriteMenu(DBBASE *ppdbbase,const char *filename,char *menuName)
return(0);
}
long dbWriteMenuFP(DBBASE *pdbbase,FILE *fp,char *menuName)
long epicsShareAPI dbWriteMenuFP(DBBASE *pdbbase,FILE *fp,char *menuName)
{
dbMenu *pdbMenu;
int gotMatch;
@@ -980,7 +983,7 @@ long dbWriteMenuFP(DBBASE *pdbbase,FILE *fp,char *menuName)
return(0);
}
long dbWriteRecordType(DBBASE *pdbbase,const char *filename,char *recordTypeName)
long epicsShareAPI dbWriteRecordType(DBBASE *pdbbase,const char *filename,char *recordTypeName)
{
FILE *outFile;
@@ -996,7 +999,7 @@ long dbWriteRecordType(DBBASE *pdbbase,const char *filename,char *recordTypeName
return(0);
}
long dbWriteRecordTypeFP(DBBASE *pdbbase,FILE *fp,char *recordTypeName)
long epicsShareAPI dbWriteRecordTypeFP(DBBASE *pdbbase,FILE *fp,char *recordTypeName)
{
dbRecordType *pdbRecordType;
dbFldDes *pdbFldDes;
@@ -1080,7 +1083,7 @@ long dbWriteRecordTypeFP(DBBASE *pdbbase,FILE *fp,char *recordTypeName)
return(0);
}
long dbWriteDevice(DBBASE *pdbbase,const char *filename)
long epicsShareAPI dbWriteDevice(DBBASE *pdbbase,const char *filename)
{
FILE *outFile;
@@ -1096,7 +1099,7 @@ long dbWriteDevice(DBBASE *pdbbase,const char *filename)
return(0);
}
long dbWriteDeviceFP(DBBASE *pdbbase,FILE *fp)
long epicsShareAPI dbWriteDeviceFP(DBBASE *pdbbase,FILE *fp)
{
dbRecordType *pdbRecordType;
devSup *pdevSup;
@@ -1127,7 +1130,7 @@ long dbWriteDeviceFP(DBBASE *pdbbase,FILE *fp)
return(0);
}
long dbWriteDriver(DBBASE *pdbbase,const char *filename)
long epicsShareAPI dbWriteDriver(DBBASE *pdbbase,const char *filename)
{
FILE *outFile;
@@ -1143,7 +1146,7 @@ long dbWriteDriver(DBBASE *pdbbase,const char *filename)
return(0);
}
long dbWriteDriverFP(DBBASE *pdbbase,FILE *fp)
long epicsShareAPI dbWriteDriverFP(DBBASE *pdbbase,FILE *fp)
{
drvSup *pdrvSup;
@@ -1158,7 +1161,7 @@ long dbWriteDriverFP(DBBASE *pdbbase,FILE *fp)
return(0);
}
long dbWriteBreaktable(DBBASE *pdbbase,const char *filename)
long epicsShareAPI dbWriteBreaktable(DBBASE *pdbbase,const char *filename)
{
FILE *outFile;
@@ -1174,7 +1177,7 @@ long dbWriteBreaktable(DBBASE *pdbbase,const char *filename)
return(0);
}
long dbWriteBreaktableFP(DBBASE *pdbbase,FILE *fp)
long epicsShareAPI dbWriteBreaktableFP(DBBASE *pdbbase,FILE *fp)
{
brkTable *pbrkTable;
brkInt *pbrkInt;
@@ -1196,7 +1199,7 @@ long dbWriteBreaktableFP(DBBASE *pdbbase,FILE *fp)
return(0);
}
long dbFindRecordType(DBENTRY *pdbentry,char *recordType)
long epicsShareAPI dbFindRecordType(DBENTRY *pdbentry,char *recordType)
{
dbBase *pdbbase = pdbentry->pdbbase;
GPHENTRY *phash;
@@ -1208,7 +1211,7 @@ long dbFindRecordType(DBENTRY *pdbentry,char *recordType)
return(0);
}
long dbFirstRecordType(DBENTRY *pdbentry)
long epicsShareAPI dbFirstRecordType(DBENTRY *pdbentry)
{
dbRecordType *precordType;
@@ -1219,7 +1222,7 @@ long dbFirstRecordType(DBENTRY *pdbentry)
return(0);
}
long dbNextRecordType(DBENTRY *pdbentry)
long epicsShareAPI dbNextRecordType(DBENTRY *pdbentry)
{
dbRecordType *precordType = pdbentry->precordType;
@@ -1230,17 +1233,17 @@ long dbNextRecordType(DBENTRY *pdbentry)
return(0);
}
char *dbGetRecordTypeName(DBENTRY *pdbentry)
char * epicsShareAPI dbGetRecordTypeName(DBENTRY *pdbentry)
{
return(pdbentry->precordType->name);
}
int dbGetNRecordTypes(DBENTRY *pdbentry)
int epicsShareAPI dbGetNRecordTypes(DBENTRY *pdbentry)
{
return(ellCount(&pdbentry->pdbbase->recordTypeList));
}
long dbPutRecordAttribute(DBENTRY *pdbentry, char *name,char*value)
long epicsShareAPI dbPutRecordAttribute(DBENTRY *pdbentry, char *name,char*value)
{
dbRecordType *precordType = pdbentry->precordType;
int createNew = TRUE;
@@ -1286,7 +1289,7 @@ long dbPutRecordAttribute(DBENTRY *pdbentry, char *name,char*value)
return(0);
}
long dbGetRecordAttribute(DBENTRY *pdbentry,char *name)
long epicsShareAPI dbGetRecordAttribute(DBENTRY *pdbentry,char *name)
{
dbRecordType *precordType = pdbentry->precordType;
int compare;
@@ -1307,14 +1310,14 @@ long dbGetRecordAttribute(DBENTRY *pdbentry,char *name)
return(S_dbLib_fieldNotFound);
}
long dbFirstField(DBENTRY *pdbentry,int dctonly)
long epicsShareAPI dbFirstField(DBENTRY *pdbentry,int dctonly)
{
pdbentry->indfield = -1;
return(dbNextField(pdbentry,dctonly));
}
long dbNextField(DBENTRY *pdbentry,int dctonly)
long epicsShareAPI dbNextField(DBENTRY *pdbentry,int dctonly)
{
dbRecordType *precordType = pdbentry->precordType;
dbRecordNode *precnode = pdbentry->precnode;
@@ -1351,7 +1354,7 @@ long dbNextField(DBENTRY *pdbentry,int dctonly)
}
}
int dbGetFieldType(DBENTRY *pdbentry)
int epicsShareAPI dbGetFieldType(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
long status;
@@ -1364,7 +1367,7 @@ int dbGetFieldType(DBENTRY *pdbentry)
return(mapDBFtoDCT[pflddes->field_type]);
}
int dbGetNFields(DBENTRY *pdbentry,int dctonly)
int epicsShareAPI dbGetNFields(DBENTRY *pdbentry,int dctonly)
{
dbRecordType *precordType = pdbentry->precordType;
dbFldDes *pflddes;
@@ -1381,7 +1384,7 @@ int dbGetNFields(DBENTRY *pdbentry,int dctonly)
return(n);
}
char *dbGetFieldName(DBENTRY *pdbentry)
char * epicsShareAPI dbGetFieldName(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
@@ -1389,7 +1392,7 @@ char *dbGetFieldName(DBENTRY *pdbentry)
return(pflddes->name);
}
char *dbGetDefault(DBENTRY *pdbentry)
char * epicsShareAPI dbGetDefault(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
@@ -1397,7 +1400,7 @@ char *dbGetDefault(DBENTRY *pdbentry)
return(pflddes->initial);
}
char *dbGetPrompt(DBENTRY *pdbentry)
char * epicsShareAPI dbGetPrompt(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
@@ -1405,7 +1408,7 @@ char *dbGetPrompt(DBENTRY *pdbentry)
return(&pflddes->prompt[0]);
}
int dbGetPromptGroup(DBENTRY *pdbentry)
int epicsShareAPI dbGetPromptGroup(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
@@ -1413,7 +1416,7 @@ int dbGetPromptGroup(DBENTRY *pdbentry)
return(pflddes->promptgroup);
}
long dbCreateRecord(DBENTRY *pdbentry,char *precordName)
long epicsShareAPI dbCreateRecord(DBENTRY *pdbentry,char *precordName)
{
dbRecordType *precordType = pdbentry->precordType;
dbFldDes *pdbFldDes;
@@ -1455,7 +1458,7 @@ long dbCreateRecord(DBENTRY *pdbentry,char *precordName)
return(status);
}
long dbDeleteRecord(DBENTRY *pdbentry)
long epicsShareAPI dbDeleteRecord(DBENTRY *pdbentry)
{
dbBase *pdbbase = pdbentry->pdbbase;
dbRecordType *precordType = pdbentry->precordType;
@@ -1473,7 +1476,7 @@ long dbDeleteRecord(DBENTRY *pdbentry)
return (0);
}
long dbFreeRecords(DBBASE *pdbbase)
long epicsShareAPI dbFreeRecords(DBBASE *pdbbase)
{
DBENTRY dbentry;
dbRecordType *pdbRecordType;
@@ -1496,7 +1499,7 @@ long dbFreeRecords(DBBASE *pdbbase)
return(0);
}
long dbFindRecord(DBENTRY *pdbentry,const char *precordName)
long epicsShareAPI dbFindRecord(DBENTRY *pdbentry,const char *precordName)
{
dbBase *pdbbase = pdbentry->pdbbase;
int lenName=0;
@@ -1521,7 +1524,7 @@ long dbFindRecord(DBENTRY *pdbentry,const char *precordName)
return (0);
}
long dbFirstRecord(DBENTRY *pdbentry)
long epicsShareAPI dbFirstRecord(DBENTRY *pdbentry)
{
dbRecordType *precordType = pdbentry->precordType;
dbRecordNode *precnode;
@@ -1535,7 +1538,7 @@ long dbFirstRecord(DBENTRY *pdbentry)
return(0);
}
long dbNextRecord(DBENTRY *pdbentry)
long epicsShareAPI dbNextRecord(DBENTRY *pdbentry)
{
dbRecordNode *precnode=pdbentry->precnode;
long status=0;
@@ -1548,7 +1551,7 @@ long dbNextRecord(DBENTRY *pdbentry)
return(status);
}
int dbGetNRecords(DBENTRY *pdbentry)
int epicsShareAPI dbGetNRecords(DBENTRY *pdbentry)
{
dbRecordType *precordType = pdbentry->precordType;
@@ -1556,12 +1559,12 @@ int dbGetNRecords(DBENTRY *pdbentry)
return(ellCount(&precordType->recList));
}
char *dbGetRecordName(DBENTRY *pdbentry)
char * epicsShareAPI dbGetRecordName(DBENTRY *pdbentry)
{
return(dbRecordName(pdbentry));
}
long dbRenameRecord(DBENTRY *pdbentry,char *newName)
long epicsShareAPI dbRenameRecord(DBENTRY *pdbentry,char *newName)
{
dbBase *pdbbase = pdbentry->pdbbase;
dbRecordType *precordType = pdbentry->precordType;
@@ -1607,7 +1610,7 @@ long dbRenameRecord(DBENTRY *pdbentry,char *newName)
return(dbFindRecord(pdbentry,newName));
}
long dbVisibleRecord(DBENTRY *pdbentry)
long epicsShareAPI dbVisibleRecord(DBENTRY *pdbentry)
{
dbRecordNode *precnode = pdbentry->precnode;
@@ -1616,7 +1619,7 @@ long dbVisibleRecord(DBENTRY *pdbentry)
return 0;
}
long dbInvisibleRecord(DBENTRY *pdbentry)
long epicsShareAPI dbInvisibleRecord(DBENTRY *pdbentry)
{
dbRecordNode *precnode = pdbentry->precnode;
@@ -1625,7 +1628,7 @@ long dbInvisibleRecord(DBENTRY *pdbentry)
return 0;
}
int dbIsVisibleRecord(DBENTRY *pdbentry)
int epicsShareAPI dbIsVisibleRecord(DBENTRY *pdbentry)
{
dbRecordNode *precnode = pdbentry->precnode;
@@ -1633,7 +1636,7 @@ int dbIsVisibleRecord(DBENTRY *pdbentry)
return(precnode->visible?1:0);
}
long dbCopyRecord(DBENTRY *pdbentry,char *newRecordName,int overWriteOK)
long epicsShareAPI dbCopyRecord(DBENTRY *pdbentry,char *newRecordName,int overWriteOK)
{
dbRecordType *precordType = pdbentry->precordType;
dbFldDes *pdbFldDes;
@@ -1680,7 +1683,7 @@ long dbCopyRecord(DBENTRY *pdbentry,char *newRecordName,int overWriteOK)
return(dbFindRecord(pdbentry,newRecordName));
}
long dbFindField(DBENTRY *pdbentry,const char *pname)
long epicsShareAPI dbFindField(DBENTRY *pdbentry,const char *pname)
{
dbRecordType *precordType = pdbentry->precordType;
dbRecordNode *precnode = pdbentry->precnode;
@@ -1740,10 +1743,10 @@ long dbFindField(DBENTRY *pdbentry,const char *pname)
return(dbGetRecordAttribute(pdbentry,pfieldName));
}
int dbFoundField(DBENTRY *pdbentry)
int epicsShareAPI dbFoundField(DBENTRY *pdbentry)
{ return((pdbentry->pfield) ? TRUE : FALSE); }
char *dbGetString(DBENTRY *pdbentry)
char * epicsShareAPI dbGetString(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
void *pfield = pdbentry->pfield;
@@ -1915,7 +1918,7 @@ char *dbGetString(DBENTRY *pdbentry)
return (message);
}
long dbPutString(DBENTRY *pdbentry,char *pstring)
long epicsShareAPI dbPutString(DBENTRY *pdbentry,char *pstring)
{
dbFldDes *pflddes = pdbentry->pflddes;
void *pfield = pdbentry->pfield;
@@ -2284,7 +2287,7 @@ done:
return(status);
}
char *dbVerify(DBENTRY *pdbentry,char *pstring)
char * epicsShareAPI dbVerify(DBENTRY *pdbentry,char *pstring)
{
dbFldDes *pflddes = pdbentry->pflddes;
char *message;
@@ -2438,7 +2441,7 @@ char *dbVerify(DBENTRY *pdbentry,char *pstring)
return (message);
}
char *dbGetRange(DBENTRY *pdbentry)
char *epicsShareAPI dbGetRange(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
char *message;
@@ -2469,7 +2472,7 @@ char *dbGetRange(DBENTRY *pdbentry)
return (message);
}
brkTable *dbFindBrkTable(dbBase *pdbbase,char *name)
brkTable * epicsShareAPI dbFindBrkTable(dbBase *pdbbase,char *name)
{
GPHENTRY *pgph;
@@ -2478,7 +2481,7 @@ brkTable *dbFindBrkTable(dbBase *pdbbase,char *name)
return((brkTable *)pgph->userPvt);
}
dbMenu *dbFindMenu(dbBase *pdbbase,char *name)
dbMenu * epicsShareAPI dbFindMenu(dbBase *pdbbase,char *name)
{
GPHENTRY *pgph;
@@ -2487,7 +2490,7 @@ dbMenu *dbFindMenu(dbBase *pdbbase,char *name)
return((dbMenu *)pgph->userPvt);
}
char **dbGetMenuChoices(DBENTRY *pdbentry)
char ** epicsShareAPI dbGetMenuChoices(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
@@ -2511,7 +2514,7 @@ char **dbGetMenuChoices(DBENTRY *pdbentry)
}
}
int dbGetNMenuChoices(DBENTRY *pdbentry)
int epicsShareAPI dbGetNMenuChoices(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
@@ -2536,7 +2539,7 @@ int dbGetNMenuChoices(DBENTRY *pdbentry)
return (-1);
}
char *dbGetMenuStringFromIndex(DBENTRY *pdbentry, int index)
char * epicsShareAPI dbGetMenuStringFromIndex(DBENTRY *pdbentry, int index)
{
dbFldDes *pflddes = pdbentry->pflddes;
@@ -2563,7 +2566,7 @@ char *dbGetMenuStringFromIndex(DBENTRY *pdbentry, int index)
return (NULL);
}
int dbGetMenuIndexFromString(DBENTRY *pdbentry, char *choice)
int epicsShareAPI dbGetMenuIndexFromString(DBENTRY *pdbentry, char *choice)
{
dbFldDes *pflddes = pdbentry->pflddes;
int ind;
@@ -2599,7 +2602,7 @@ int dbGetMenuIndexFromString(DBENTRY *pdbentry, char *choice)
return (-1);
}
int dbAllocForm(DBENTRY *psave)
int epicsShareAPI dbAllocForm(DBENTRY *psave)
{
DBENTRY dbEntry;
DBENTRY *pdbentry= &dbEntry;
@@ -2668,7 +2671,7 @@ done:
return(nlines);
}
long dbFreeForm(DBENTRY *pdbentry)
long epicsShareAPI dbFreeForm(DBENTRY *pdbentry)
{
if(pdbentry->formpvt) {
free(pdbentry->formpvt);
@@ -2677,7 +2680,7 @@ long dbFreeForm(DBENTRY *pdbentry)
return(0);
}
char **dbGetFormPrompt(DBENTRY *pdbentry)
char ** epicsShareAPI dbGetFormPrompt(DBENTRY *pdbentry)
{
struct form *pform = pdbentry->formpvt;
@@ -2685,7 +2688,7 @@ char **dbGetFormPrompt(DBENTRY *pdbentry)
return(pform->prompt);
}
char **dbGetFormValue(DBENTRY *pdbentry)
char ** epicsShareAPI dbGetFormValue(DBENTRY *pdbentry)
{
struct form *pform = pdbentry->formpvt;
DBLINK *plink;
@@ -2857,7 +2860,7 @@ char **dbGetFormValue(DBENTRY *pdbentry)
return(pform->value);
}
long dbPutForm(DBENTRY *pdbentry,char **value)
long epicsShareAPI dbPutForm(DBENTRY *pdbentry,char **value)
{
struct form *pform = pdbentry->formpvt;
DBLINK *plink;
@@ -3207,7 +3210,7 @@ long dbPutForm(DBENTRY *pdbentry,char **value)
return(status);
}
char **dbVerifyForm(DBENTRY *pdbentry,char **value)
char ** epicsShareAPI dbVerifyForm(DBENTRY *pdbentry,char **value)
{
struct form *pform = pdbentry->formpvt;
DBLINK *plink;
@@ -3230,7 +3233,7 @@ char **dbVerifyForm(DBENTRY *pdbentry,char **value)
return(NULL);
}
char *dbGetRelatedField(DBENTRY *psave)
char * epicsShareAPI dbGetRelatedField(DBENTRY *psave)
{
DBENTRY dbEntry;
DBENTRY *pdbentry= &dbEntry;
@@ -3249,7 +3252,7 @@ char *dbGetRelatedField(DBENTRY *psave)
return(rtnval);
}
int dbGetNLinks(DBENTRY *pdbentry)
int epicsShareAPI dbGetNLinks(DBENTRY *pdbentry)
{
dbRecordType *precordType = pdbentry->precordType;
@@ -3257,7 +3260,7 @@ int dbGetNLinks(DBENTRY *pdbentry)
return((int)precordType->no_links);
}
long dbGetLinkField(DBENTRY *pdbentry,int index)
long epicsShareAPI dbGetLinkField(DBENTRY *pdbentry,int index)
{
dbRecordType *precordType = pdbentry->precordType;
dbFldDes *pflddes;
@@ -3270,7 +3273,7 @@ long dbGetLinkField(DBENTRY *pdbentry,int index)
return(0);
}
int dbGetLinkType(DBENTRY *pdbentry)
int epicsShareAPI dbGetLinkType(DBENTRY *pdbentry)
{
dbFldDes *pflddes;
DBLINK *plink;
@@ -3300,7 +3303,7 @@ int dbGetLinkType(DBENTRY *pdbentry)
return(-1);
}
long dbCvtLinkToConstant(DBENTRY *pdbentry)
long epicsShareAPI dbCvtLinkToConstant(DBENTRY *pdbentry)
{
dbFldDes *pflddes;
DBLINK *plink;
@@ -3334,7 +3337,7 @@ long dbCvtLinkToConstant(DBENTRY *pdbentry)
return(S_dbLib_badLink);
}
long dbCvtLinkToPvlink(DBENTRY *pdbentry)
long epicsShareAPI dbCvtLinkToPvlink(DBENTRY *pdbentry)
{
dbFldDes *pflddes;
DBLINK *plink;
@@ -3364,7 +3367,7 @@ long dbCvtLinkToPvlink(DBENTRY *pdbentry)
return(S_dbLib_badLink);
}
void dbDumpPath(DBBASE *pdbbase)
void epicsShareAPI dbDumpPath(DBBASE *pdbbase)
{
ELLLIST *ppathList;
dbPathNode *pdbPathNode;
@@ -3384,7 +3387,7 @@ void dbDumpPath(DBBASE *pdbbase)
return;
}
void dbDumpRecord(dbBase *pdbbase,char *precordTypename,int level)
void epicsShareAPI dbDumpRecord(dbBase *pdbbase,char *precordTypename,int level)
{
if(!pdbbase) {
printf("pdbbase not specified\n");
@@ -3393,7 +3396,7 @@ void dbDumpRecord(dbBase *pdbbase,char *precordTypename,int level)
dbWriteRecordFP(pdbbase,stdout,precordTypename,level);
}
void dbDumpMenu(DBBASE *pdbbase,char *menuName)
void epicsShareAPI dbDumpMenu(DBBASE *pdbbase,char *menuName)
{
if(!pdbbase) {
printf("pdbbase not specified\n");
@@ -3402,7 +3405,7 @@ void dbDumpMenu(DBBASE *pdbbase,char *menuName)
dbWriteMenuFP(pdbbase,stdout,menuName);
}
void dbDumpRecordType(DBBASE *pdbbase,char *recordTypeName)
void epicsShareAPI dbDumpRecordType(DBBASE *pdbbase,char *recordTypeName)
{
dbRecordType *pdbRecordType;
dbFldDes *pdbFldDes;
@@ -3444,7 +3447,7 @@ void dbDumpRecordType(DBBASE *pdbbase,char *recordTypeName)
}
}
void dbDumpFldDes(DBBASE *pdbbase,char *recordTypeName,char *fname)
void epicsShareAPI dbDumpFldDes(DBBASE *pdbbase,char *recordTypeName,char *fname)
{
dbRecordType *pdbRecordType;
dbFldDes *pdbFldDes;
@@ -3532,7 +3535,7 @@ void dbDumpFldDes(DBBASE *pdbbase,char *recordTypeName,char *fname)
}
}
void dbDumpDevice(DBBASE *pdbbase,char *recordTypeName)
void epicsShareAPI dbDumpDevice(DBBASE *pdbbase,char *recordTypeName)
{
dbRecordType *pdbRecordType;
devSup *pdevSup;
@@ -3563,7 +3566,7 @@ void dbDumpDevice(DBBASE *pdbbase,char *recordTypeName)
}
}
void dbDumpDriver(DBBASE *pdbbase)
void epicsShareAPI dbDumpDriver(DBBASE *pdbbase)
{
if(!pdbbase) {
printf("pdbbase not specified\n");
@@ -3572,7 +3575,7 @@ void dbDumpDriver(DBBASE *pdbbase)
dbWriteDriverFP(pdbbase,stdout);
}
void dbDumpBreaktable(DBBASE *pdbbase,char *name)
void epicsShareAPI dbDumpBreaktable(DBBASE *pdbbase,char *name)
{
brkTable *pbrkTable;
brkInt *pbrkInt;
@@ -3597,7 +3600,7 @@ void dbDumpBreaktable(DBBASE *pdbbase,char *name)
static char *bus[VXI_IO+1] = {"","","VME","CAMAC","AB",
"GPIB","BITBUS","","","","","","INST","BBGPIB","VXI"};
void dbReportDeviceConfig(dbBase *pdbbase,FILE *report)
void epicsShareAPI dbReportDeviceConfig(dbBase *pdbbase,FILE *report)
{
DBENTRY dbentry;
DBENTRY *pdbentry=&dbentry;
+103 -102
View File
@@ -70,134 +70,135 @@ typedef struct{
} DBENTRY;
/* Static database access routines*/
DBBASE *dbAllocBase(void);
void dbFreeBase(DBBASE *pdbbase);
DBENTRY *dbAllocEntry(DBBASE *pdbbase);
void dbFreeEntry(DBENTRY *pdbentry);
void dbInitEntry(DBBASE *pdbbase,DBENTRY *pdbentry);
void dbFinishEntry(DBENTRY *pdbentry);
DBENTRY *dbCopyEntry(DBENTRY *pdbentry);
void dbCopyEntryContents(DBENTRY *pfrom,DBENTRY *pto);
epicsShareFunc DBBASE * epicsShareAPI dbAllocBase(void);
epicsShareFunc void epicsShareAPI dbFreeBase(DBBASE *pdbbase);
epicsShareFunc DBENTRY * epicsShareAPI dbAllocEntry(DBBASE *pdbbase);
epicsShareFunc void epicsShareAPI dbFreeEntry(DBENTRY *pdbentry);
epicsShareFunc void epicsShareAPI dbInitEntry(DBBASE *pdbbase,DBENTRY *pdbentry);
epicsShareFunc void epicsShareAPI dbFinishEntry(DBENTRY *pdbentry);
epicsShareFunc DBENTRY * epicsShareAPI dbCopyEntry(DBENTRY *pdbentry);
epicsShareFunc void epicsShareAPI dbCopyEntryContents(DBENTRY *pfrom,DBENTRY *pto);
long dbReadDatabase(DBBASE **ppdbbase,const char *filename,
epicsShareFunc long epicsShareAPI dbReadDatabase(DBBASE **ppdbbase,const char *filename,
const char *path,const char *substitutions);
long dbReadDatabaseFP(DBBASE **ppdbbase,FILE *fp,
epicsShareFunc long epicsShareAPI dbReadDatabaseFP(DBBASE **ppdbbase,FILE *fp,
const char *path,const char *substitutions);
long dbPath(DBBASE *pdbbase,const char *path);
long dbAddPath(DBBASE *pdbbase,const char *path);
long dbWriteRecord(DBBASE *ppdbbase,const char *filename,
epicsShareFunc long epicsShareAPI dbPath(DBBASE *pdbbase,const char *path);
epicsShareFunc long epicsShareAPI dbAddPath(DBBASE *pdbbase,const char *path);
epicsShareFunc long epicsShareAPI dbWriteRecord(DBBASE *ppdbbase,const char *filename,
char *precordTypename,int level);
long dbWriteRecordFP(DBBASE *ppdbbase,FILE *fp,
epicsShareFunc long epicsShareAPI dbWriteRecordFP(DBBASE *ppdbbase,FILE *fp,
char *precordTypename,int level);
long dbWriteMenu(DBBASE *pdbbase,const char *filename,char *menuName);
long dbWriteMenuFP(DBBASE *pdbbase,FILE *fp,char *menuName);
long dbWriteRecordType(DBBASE *pdbbase,const char *filename,char *recordTypeName);
long dbWriteRecordTypeFP(DBBASE *pdbbase,FILE *fp,char *recordTypeName);
long dbWriteDevice(DBBASE *pdbbase,const char *filename);
long dbWriteDeviceFP(DBBASE *pdbbase,FILE *fp);
long dbWriteDriver(DBBASE *pdbbase,const char *filename);
long dbWriteDriverFP(DBBASE *pdbbase,FILE *fp);
long dbWriteBreaktable(DBBASE *pdbbase,const char *filename);
long dbWriteBreaktableFP(DBBASE *pdbbase,FILE *fp);
epicsShareFunc long epicsShareAPI dbWriteMenu(DBBASE *pdbbase,const char *filename,char *menuName);
epicsShareFunc long epicsShareAPI dbWriteMenuFP(DBBASE *pdbbase,FILE *fp,char *menuName);
epicsShareFunc long epicsShareAPI dbWriteRecordType(DBBASE *pdbbase,const char *filename,char *recordTypeName);
epicsShareFunc long epicsShareAPI dbWriteRecordTypeFP(DBBASE *pdbbase,FILE *fp,char *recordTypeName);
epicsShareFunc long epicsShareAPI dbWriteDevice(DBBASE *pdbbase,const char *filename);
epicsShareFunc long epicsShareAPI dbWriteDeviceFP(DBBASE *pdbbase,FILE *fp);
epicsShareFunc long epicsShareAPI dbWriteDriver(DBBASE *pdbbase,const char *filename);
epicsShareFunc long epicsShareAPI dbWriteDriverFP(DBBASE *pdbbase,FILE *fp);
epicsShareFunc long epicsShareAPI dbWriteBreaktable(DBBASE *pdbbase,const char *filename);
epicsShareFunc long epicsShareAPI dbWriteBreaktableFP(DBBASE *pdbbase,FILE *fp);
/*Following are obsolete. For now dbRead calls dbAsciiRead.*/
/* dbWrite does nothing */
#define DB_RECORDTYPE_IO 0x1
#define DB_RECORD_IO 0x2
long dbRead(DBBASE *pdbbase,FILE *fp);
long dbWrite(DBBASE *pdbbase,FILE *fpdctsdr,FILE *fp);
long dbFindRecdes(DBENTRY *pdbentry,char *recdesname);
long dbFirstRecdes(DBENTRY *pdbentry);
long dbNextRecdes(DBENTRY *pdbentry);
char *dbGetRecdesName(DBENTRY *pdbentry);
int dbGetNRecdes(DBENTRY *pdbentry);
long dbFirstFielddes(DBENTRY *pdbentry,int dctonly);
long dbNextFielddes(DBENTRY *pdbentry,int dctonly);
char **dbGetChoices(DBENTRY *pdbentry);
void dbDumpRecDes(DBBASE *pdbbase,char *recordTypeName);
epicsShareFunc long epicsShareAPI dbRead(DBBASE *pdbbase,FILE *fp);
epicsShareFunc long epicsShareAPI dbWrite(DBBASE *pdbbase,FILE *fpdctsdr,FILE *fp);
epicsShareFunc long epicsShareAPI dbFindRecdes(DBENTRY *pdbentry,char *recdesname);
epicsShareFunc long epicsShareAPI dbFirstRecdes(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbNextRecdes(DBENTRY *pdbentry);
epicsShareFunc char * epicsShareAPI dbGetRecdesName(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbGetNRecdes(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbFirstFielddes(DBENTRY *pdbentry,int dctonly);
epicsShareFunc long epicsShareAPI dbNextFielddes(DBENTRY *pdbentry,int dctonly);
epicsShareFunc char ** epicsShareAPI dbGetChoices(DBENTRY *pdbentry);
epicsShareFunc void epicsShareAPI dbDumpRecDes(DBBASE *pdbbase,char *recordTypeName);
/*End obsolete routines*/
long dbFindRecordType(DBENTRY *pdbentry,char *recordTypename);
long dbFirstRecordType(DBENTRY *pdbentry);
long dbNextRecordType(DBENTRY *pdbentry);
char *dbGetRecordTypeName(DBENTRY *pdbentry);
int dbGetNRecordTypes(DBENTRY *pdbentry);
long dbPutRecordAttribute(DBENTRY *pdbentry,char *name,char*value);
long dbGetRecordAttribute(DBENTRY *pdbentry,char *name);
epicsShareFunc long epicsShareAPI dbFindRecordType(DBENTRY *pdbentry,char *recordTypename);
epicsShareFunc long epicsShareAPI dbFirstRecordType(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbNextRecordType(DBENTRY *pdbentry);
epicsShareFunc char * epicsShareAPI dbGetRecordTypeName(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbGetNRecordTypes(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbPutRecordAttribute(DBENTRY *pdbentry,char *name,char*value);
epicsShareFunc long epicsShareAPI dbGetRecordAttribute(DBENTRY *pdbentry,char *name);
long dbFirstField(DBENTRY *pdbentry,int dctonly);
long dbNextField(DBENTRY *pdbentry,int dctonly);
int dbGetFieldType(DBENTRY *pdbentry);
int dbGetNFields(DBENTRY *pdbentry,int dctonly);
char *dbGetFieldName(DBENTRY *pdbentry);
char *dbGetDefault(DBENTRY *pdbentry);
char *dbGetPrompt(DBENTRY *pdbentry);
int dbGetPromptGroup(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbFirstField(DBENTRY *pdbentry,int dctonly);
epicsShareFunc long epicsShareAPI dbNextField(DBENTRY *pdbentry,int dctonly);
epicsShareFunc int epicsShareAPI dbGetFieldType(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbGetNFields(DBENTRY *pdbentry,int dctonly);
epicsShareFunc char * epicsShareAPI dbGetFieldName(DBENTRY *pdbentry);
epicsShareFunc char * epicsShareAPI dbGetDefault(DBENTRY *pdbentry);
epicsShareFunc char * epicsShareAPI dbGetPrompt(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbGetPromptGroup(DBENTRY *pdbentry);
long dbCreateRecord(DBENTRY *pdbentry,char *precordName);
long dbDeleteRecord(DBENTRY *pdbentry);
long dbFreeRecords(DBBASE *pdbbase);
long dbFindRecord(DBENTRY *pdbentry,const char *precordName);
long dbFirstRecord(DBENTRY *pdbentry); /*first of record type*/
long dbNextRecord(DBENTRY *pdbentry);
int dbGetNRecords(DBENTRY *pdbentry);
char *dbGetRecordName(DBENTRY *pdbentry);
long dbRenameRecord(DBENTRY *pdbentry,char *newName);
long dbCopyRecord(DBENTRY *pdbentry,char *newRecordName,int overWriteOK);
epicsShareFunc long epicsShareAPI dbCreateRecord(DBENTRY *pdbentry,char *precordName);
epicsShareFunc long epicsShareAPI dbDeleteRecord(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbFreeRecords(DBBASE *pdbbase);
epicsShareFunc long epicsShareAPI dbFindRecord(DBENTRY *pdbentry,const char *precordName);
epicsShareFunc long epicsShareAPI dbFirstRecord(DBENTRY *pdbentry); /*first of record type*/
epicsShareFunc long epicsShareAPI dbNextRecord(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbGetNRecords(DBENTRY *pdbentry);
epicsShareFunc char * epicsShareAPI dbGetRecordName(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbRenameRecord(DBENTRY *pdbentry,char *newName);
epicsShareFunc long epicsShareAPI dbCopyRecord(DBENTRY *pdbentry,char *newRecordName,int overWriteOK);
long dbVisibleRecord(DBENTRY *pdbentry);
long dbInvisibleRecord(DBENTRY *pdbentry);
int dbIsVisibleRecord(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbVisibleRecord(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbInvisibleRecord(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbIsVisibleRecord(DBENTRY *pdbentry);
long dbFindField(DBENTRY *pdbentry,const char *pfieldName);
int dbFoundField(DBENTRY *pdbentry);
char *dbGetString(DBENTRY *pdbentry);
long dbPutString(DBENTRY *pdbentry,char *pstring);
char *dbVerify(DBENTRY *pdbentry,char *pstring);
char *dbGetRange(DBENTRY *pdbentry);
int dbIsDefaultValue(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbFindField(DBENTRY *pdbentry,const char *pfieldName);
epicsShareFunc int epicsShareAPI dbFoundField(DBENTRY *pdbentry);
epicsShareFunc char * epicsShareAPI dbGetString(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbPutString(DBENTRY *pdbentry,char *pstring);
epicsShareFunc char * epicsShareAPI dbVerify(DBENTRY *pdbentry,char *pstring);
epicsShareFunc char * epicsShareAPI dbGetRange(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbIsDefaultValue(DBENTRY *pdbentry);
brkTable *dbFindBrkTable(DBBASE *pdbbase,char *name);
epicsShareFunc brkTable * epicsShareAPI dbFindBrkTable(DBBASE *pdbbase,char *name);
dbMenu *dbFindMenu(DBBASE *pdbbase,char *name);
char **dbGetMenuChoices(DBENTRY *pdbentry);
int dbGetMenuIndex(DBENTRY *pdbentry);
long dbPutMenuIndex(DBENTRY *pdbentry,int index);
int dbGetNMenuChoices(DBENTRY *pdbentry);
char *dbGetMenuStringFromIndex(DBENTRY *pdbentry, int index);
int dbGetMenuIndexFromString(DBENTRY *pdbentry, char *choice);
epicsShareFunc dbMenu * epicsShareAPI dbFindMenu(DBBASE *pdbbase,char *name);
epicsShareFunc char ** epicsShareAPI dbGetMenuChoices(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbGetMenuIndex(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbPutMenuIndex(DBENTRY *pdbentry,int index);
epicsShareFunc int epicsShareAPI dbGetNMenuChoices(DBENTRY *pdbentry);
epicsShareFunc char * epicsShareAPI dbGetMenuStringFromIndex(DBENTRY *pdbentry, int index);
epicsShareFunc int epicsShareAPI dbGetMenuIndexFromString(DBENTRY *pdbentry, char *choice);
int dbAllocForm(DBENTRY *pdbentry);
long dbFreeForm(DBENTRY *pdbentry);
char **dbGetFormPrompt(DBENTRY *pdbentry);
char **dbGetFormValue(DBENTRY *pdbentry);
long dbPutForm(DBENTRY *pdbentry,char **value);
char **dbVerifyForm(DBENTRY *pdbentry,char **value);
char *dbGetRelatedField(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbAllocForm(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbFreeForm(DBENTRY *pdbentry);
epicsShareFunc char ** epicsShareAPI dbGetFormPrompt(DBENTRY *pdbentry);
epicsShareFunc char ** epicsShareAPI dbGetFormValue(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbPutForm(DBENTRY *pdbentry,char **value);
epicsShareFunc char ** epicsShareAPI dbVerifyForm(DBENTRY *pdbentry,char **value);
epicsShareFunc char * epicsShareAPI dbGetRelatedField(DBENTRY *pdbentry);
int dbGetNLinks(DBENTRY *pdbentry);
long dbGetLinkField(DBENTRY *pdbentry,int index);
int dbGetLinkType(DBENTRY *pdbentry);
long dbCvtLinkToConstant(DBENTRY *pdbentry);
long dbCvtLinkToPvlink(DBENTRY *pdbentry);
epicsShareFunc int epicsShareAPI dbGetNLinks(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbGetLinkField(DBENTRY *pdbentry,int index);
epicsShareFunc int epicsShareAPI dbGetLinkType(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbCvtLinkToConstant(DBENTRY *pdbentry);
epicsShareFunc long epicsShareAPI dbCvtLinkToPvlink(DBENTRY *pdbentry);
/*dump routines*/
void dbDumpPath(DBBASE *pdbbase);
void dbDumpRecord(DBBASE *pdbbase,char *precordTypename,int level);
void dbDumpMenu(DBBASE *pdbbase,char *menuName);
void dbDumpRecordType(DBBASE *pdbbase,char *recordTypeName);
void dbDumpFldDes(DBBASE *pdbbase,char *recordTypeName,char *fname);
void dbDumpDevice(DBBASE *pdbbase,char *recordTypeName);
void dbDumpDriver(DBBASE *pdbbase);
void dbDumpBreaktable(DBBASE *pdbbase,char *name);
void dbPvdDump(DBBASE *pdbbase,int verbose);
void dbReportDeviceConfig(DBBASE *pdbbase,FILE *report);
epicsShareFunc void epicsShareAPI dbDumpPath(DBBASE *pdbbase);
epicsShareFunc void epicsShareAPI dbDumpRecord(DBBASE *pdbbase,char *precordTypename,int level);
epicsShareFunc void epicsShareAPI dbDumpMenu(DBBASE *pdbbase,char *menuName);
epicsShareFunc void epicsShareAPI dbDumpRecordType(DBBASE *pdbbase,char *recordTypeName);
epicsShareFunc void epicsShareAPI dbDumpFldDes(DBBASE *pdbbase,char *recordTypeName,char *fname);
epicsShareFunc void epicsShareAPI dbDumpDevice(DBBASE *pdbbase,char *recordTypeName);
epicsShareFunc void epicsShareAPI dbDumpDriver(DBBASE *pdbbase);
epicsShareFunc void epicsShareAPI dbDumpBreaktable(DBBASE *pdbbase,char *name);
epicsShareFunc void epicsShareAPI dbPvdDump(DBBASE *pdbbase,int verbose);
epicsShareFunc void epicsShareAPI dbReportDeviceConfig(DBBASE *pdbbase,FILE *report);
/* Misc useful routines*/
/*general purpose allocation routines to invoke calloc and maloc */
/* NOTE: These routines do NOT return if they fail. */
void *dbCalloc(size_t nobj,size_t size);
void *dbMalloc(size_t size);
epicsShareFunc void * epicsShareAPI dbCalloc(size_t nobj,size_t size);
epicsShareFunc void * epicsShareAPI dbMalloc(size_t size);
epicsShareFunc void epicsShareAPI dbCatString(char **string,int *stringLength,char *new,char *separator);
extern int dbStaticDebug;
+7 -3
View File
@@ -26,8 +26,12 @@ of this distribution.
#include "dbFldTypes.h"
#include "epicsPrint.h"
#include "errMdef.h"
#define epicsExportSharedSymbols
#include "shareLib.h"
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
long dbAllocRecord(DBENTRY *pdbentry,char *precordName)
{
@@ -183,7 +187,7 @@ char *dbRecordName(DBENTRY *pdbentry)
int dbIsMacroOk(DBENTRY *pdbentry) { return(TRUE);}
int dbIsDefaultValue(DBENTRY *pdbentry)
int epicsShareAPI dbIsDefaultValue(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
void *pfield = pdbentry->pfield;
@@ -314,7 +318,7 @@ void dbGetRecordtypeSizeOffset(dbRecordType *pdbRecordType)
return;
}
int dbGetMenuIndex(DBENTRY *pdbentry)
int epicsShareAPI dbGetMenuIndex(DBENTRY *pdbentry)
{
dbFldDes *pflddes = pdbentry->pflddes;
int nChoices,choice;
@@ -333,7 +337,7 @@ int dbGetMenuIndex(DBENTRY *pdbentry)
return(-1);
}
long dbPutMenuIndex(DBENTRY *pdbentry,int index)
long epicsShareAPI dbPutMenuIndex(DBENTRY *pdbentry,int index)
{
int nChoices;
char **menuChoices;
-2
View File
@@ -36,7 +36,6 @@
dbDeviceMenu *dbGetDeviceMenu(DBENTRY *pdbentry);
void dbFreeLinkContents(struct link *plink);
void dbFreePath(DBBASE *pdbbase);
void dbCatString(char **string,int *stringLength,char *new,char *separator);
int dbIsMacroOk(DBENTRY *pdbentry);
/*The following routines have different versions for run-time no-run-time*/
@@ -71,5 +70,4 @@ PVDENTRY *dbPvdFind(DBBASE *pdbbase,char *name,int lenname);
PVDENTRY *dbPvdAdd(DBBASE *pdbbase,dbRecordType *precordType,dbRecordNode *precnode);
void dbPvdDelete(DBBASE *pdbbase,dbRecordNode *precnode);
void dbPvdFreeMem(DBBASE *pdbbase);
void dbPvdDump(DBBASE *pdbbase,int verbose);
#endif /*INCdbStaticPvth*/