From 318fc969123fc35083e1a0372406d5a9f9f2e32c Mon Sep 17 00:00:00 2001
From: Andrew Johnson
Support for some obsolete dbStaticLib Database Configuration Tool (DCT) APIs +was removed some time ago, but vestiges of them still remained. The following +routines and macros and have now finally been removed:
+ +The dbhcr command used to work before iocInit as well as diff --git a/modules/database/src/ioc/dbStatic/dbStaticLib.c b/modules/database/src/ioc/dbStatic/dbStaticLib.c index 1484e4bf3..7f5f1f885 100644 --- a/modules/database/src/ioc/dbStatic/dbStaticLib.c +++ b/modules/database/src/ioc/dbStatic/dbStaticLib.c @@ -79,16 +79,6 @@ epicsShareDef maplinkType pamaplinkType[LINK_NTYPES] = { {"VXI_IO",VXI_IO} }; -static int mapDBFtoDCT[DBF_NOACCESS+1] = { - DCT_STRING, - DCT_INTEGER,DCT_INTEGER,DCT_INTEGER,DCT_INTEGER,DCT_INTEGER,DCT_INTEGER, - DCT_REAL,DCT_REAL, - DCT_INTEGER, - DCT_MENU, - DCT_MENUFORM, - DCT_INLINK,DCT_OUTLINK,DCT_FWDLINK, - DCT_NOACCESS}; - /*forward references for private routines*/ static void dbMsgPrint(DBENTRY *pdbentry, const char *fmt, ...) EPICS_PRINTF_STYLE(2,3); @@ -166,38 +156,6 @@ void dbFreePath(DBBASE *pdbbase) } -static void entryErrMessage(DBENTRY *pdbentry,long status,char *mess) -{ - char message[200]; - char *pmessage=&message[0]; - dbRecordNode *precnode = pdbentry->precnode; - dbFldDes *pflddes = pdbentry->pflddes; - char *pname = NULL; - - *pmessage=0; - if(pdbentry->precordType) pname = pdbentry->precordType->name; - if(pname) { - strcat(pmessage,"RecordType:"); - strcat(pmessage,pname); - } - if(precnode){ - if (dbIsAlias(pdbentry)) - strcat(pmessage," Record Alias:"); - else - strcat(pmessage," Record:"); - strcat(pmessage,(char *)precnode->precord); - } - if(pflddes) { - char *pstr=pflddes->name; - - strcat(pmessage," Field:"); - strcat(pmessage,pstr); - } - strcat(pmessage,"\n"); - strcat(pmessage,mess); - errMessage(status,pmessage); -} - static void zeroDbentry(DBENTRY *pdbentry) { /*NOTE that pdbbase and message MUST NOT be set to NULL*/ @@ -1398,19 +1356,6 @@ long dbNextField(DBENTRY *pdbentry,int dctonly) } } -int dbGetFieldType(DBENTRY *pdbentry) -{ - dbFldDes *pflddes = pdbentry->pflddes; - long status; - - if(!pflddes){ - status = S_dbLib_flddesNotFound; - entryErrMessage(pdbentry,status,"dbGetFieldType"); - return(status); - } - return(mapDBFtoDCT[pflddes->field_type]); -} - int dbGetNFields(DBENTRY *pdbentry,int dctonly) { dbRecordType *precordType = pdbentry->precordType; @@ -3216,48 +3161,21 @@ int dbGetNLinks(DBENTRY *pdbentry) return((int)precordType->no_links); } -long dbGetLinkField(DBENTRY *pdbentry,int index) +long dbGetLinkField(DBENTRY *pdbentry, int index) { - dbRecordType *precordType = pdbentry->precordType; - dbFldDes *pflddes; + dbRecordType *precordType = pdbentry->precordType; + dbFldDes *pflddes; + + if (!precordType) + return S_dbLib_recordTypeNotFound; + + if (index < 0 || index >= precordType->no_links) + return S_dbLib_badLink; - if(!precordType) return(S_dbLib_recordTypeNotFound); - if(index<0 || index>=precordType->no_links) return(S_dbLib_badLink); pdbentry->indfield = precordType->link_ind[index]; pdbentry->pflddes = pflddes = precordType->papFldDes[pdbentry->indfield]; dbGetFieldAddress(pdbentry); - return(0); -} - -int dbGetLinkType(DBENTRY *pdbentry) -{ - dbFldDes *pflddes; - DBLINK *plink; - int field_type; - - dbGetFieldAddress(pdbentry); - pflddes = pdbentry->pflddes; - if(!pflddes) return(-1); - plink = (DBLINK *)pdbentry->pfield; - if(!plink) return(-1); - field_type = pflddes->field_type; - switch (field_type) { - case DBF_INLINK: - case DBF_OUTLINK: - case DBF_FWDLINK: - switch(plink->type) { - case CONSTANT: - return(DCT_LINK_CONSTANT); - case PV_LINK: - case PN_LINK: - case DB_LINK: - case CA_LINK: - return(DCT_LINK_PV); - default: - return(DCT_LINK_FORM); - } - } - return(-1); + return 0; } void dbDumpPath(DBBASE *pdbbase) diff --git a/modules/database/src/ioc/dbStatic/dbStaticLib.h b/modules/database/src/ioc/dbStatic/dbStaticLib.h index 4082600be..a3c55fa9c 100644 --- a/modules/database/src/ioc/dbStatic/dbStaticLib.h +++ b/modules/database/src/ioc/dbStatic/dbStaticLib.h @@ -28,22 +28,6 @@ extern "C" { #endif -/*Field types as seen by static database access clients*/ -#define DCT_STRING 0 -#define DCT_INTEGER 1 -#define DCT_REAL 2 -#define DCT_MENU 3 -#define DCT_MENUFORM 4 -#define DCT_INLINK 5 -#define DCT_OUTLINK 6 -#define DCT_FWDLINK 7 -#define DCT_NOACCESS 8 - -/*Link types as seen by static database access clients*/ -#define DCT_LINK_CONSTANT 0 -#define DCT_LINK_FORM 1 -#define DCT_LINK_PV 2 - typedef dbBase DBBASE; typedef struct{ @@ -139,7 +123,6 @@ epicsShareFunc long dbGetAttributePart(DBENTRY *pdbentry, epicsShareFunc long dbFirstField(DBENTRY *pdbentry, int dctonly); epicsShareFunc long dbNextField(DBENTRY *pdbentry, int dctonly); -epicsShareFunc int dbGetFieldType(DBENTRY *pdbentry); epicsShareFunc int dbGetNFields(DBENTRY *pdbentry, int dctonly); epicsShareFunc char * dbGetFieldName(DBENTRY *pdbentry); epicsShareFunc char * dbGetDefault(DBENTRY *pdbentry); @@ -231,7 +214,6 @@ epicsShareFunc linkSup * dbFindLinkSup(dbBase *pdbbase, epicsShareFunc int dbGetNLinks(DBENTRY *pdbentry); epicsShareFunc long dbGetLinkField(DBENTRY *pdbentry, int index); -epicsShareFunc int dbGetLinkType(DBENTRY *pdbentry); /* Dump routines */ epicsShareFunc void dbDumpPath(DBBASE *pdbbase);