Added compiler specific key words to set up shareable library (DLL) for WIN32
This commit is contained in:
@@ -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));}
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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*/
|
||||
|
||||
Reference in New Issue
Block a user