From 746c7397694c154b3adb110d4e67f12a78badb38 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sat, 11 Jan 2014 10:58:39 -0500 Subject: [PATCH 001/226] add epicsStrnLen() Base currently requires only POSIX 2001 while strnlen() is part of POSIX 2008. --- src/libCom/misc/epicsString.c | 12 ++++++++++++ src/libCom/misc/epicsString.h | 1 + src/libCom/test/epicsStringTest.c | 7 ++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/libCom/misc/epicsString.c b/src/libCom/misc/epicsString.c index 11099d037..5da579cfa 100644 --- a/src/libCom/misc/epicsString.c +++ b/src/libCom/misc/epicsString.c @@ -239,6 +239,18 @@ int epicsStrPrintEscaped(FILE *fp, const char *s, size_t len) return nout; } +/* Until Base requires POSIX 2008 we must provide our own implementation */ +size_t epicsStrnLen(const char *s, size_t maxlen) +{ + size_t i; + + for (i=0; i Date: Sat, 11 Jan 2014 10:59:57 -0500 Subject: [PATCH 002/226] rsrv: avoid strlen() on possible unterminated strings Detect these w/o risk of SIGSEGV --- src/rsrv/camessage.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/rsrv/camessage.c b/src/rsrv/camessage.c index 800d90810..93c624298 100644 --- a/src/rsrv/camessage.c +++ b/src/rsrv/camessage.c @@ -21,6 +21,7 @@ #include "osiSock.h" #include "osiPoolStatus.h" +#include "epicsString.h" #include "epicsEvent.h" #include "epicsStdio.h" #include "epicsThread.h" @@ -708,7 +709,7 @@ static int read_action ( caHdrLargeArray *mp, void *pPayloadIn, struct client *p */ if ( mp->m_dataType == DBR_STRING && mp->m_count == 1 ) { char * pStr = (char *) pPayload; - size_t strcnt = strlen ( pStr ); + size_t strcnt = epicsStrnLen( pStr, payloadSize ); if ( strcnt < payloadSize ) { payloadSize = ( ca_uint32_t ) ( strcnt + 1u ); } @@ -843,7 +844,7 @@ static int write_action ( caHdrLargeArray *mp, static int host_name_action ( caHdrLargeArray *mp, void *pPayload, struct client *client ) { - unsigned size; + ca_uint32_t size; char *pName; char *pMalloc; int chanCount; @@ -867,8 +868,8 @@ static int host_name_action ( caHdrLargeArray *mp, void *pPayload, } pName = (char *) pPayload; - size = strlen(pName)+1; - if (size > 512) { + size = epicsStrnLen(pName, mp->m_postsize)+1; + if (size > 512 || size > mp->m_postsize) { log_header ( "bad (very long) host name", client, mp, pPayload, 0 ); SEND_LOCK(client); @@ -922,7 +923,7 @@ static int host_name_action ( caHdrLargeArray *mp, void *pPayload, static int client_name_action ( caHdrLargeArray *mp, void *pPayload, struct client *client ) { - unsigned size; + ca_uint32_t size; char *pName; char *pMalloc; int chanCount; @@ -946,8 +947,8 @@ static int client_name_action ( caHdrLargeArray *mp, void *pPayload, } pName = (char *) pPayload; - size = strlen(pName)+1; - if (size > 512) { + size = epicsStrnLen(pName, mp->m_postsize)+1; + if (size > 512 || size > mp->m_postsize) { log_header ("a very long user name was specified", client, mp, pPayload, 0); SEND_LOCK(client); From ce7044c711eee02463f1ffe52f727ab392ccacad Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 6 Apr 2016 15:38:35 +0200 Subject: [PATCH 003/226] dbStatic: collect promptgroup enum choices when reading dbd --- src/ioc/dbStatic/dbBase.h | 5 ++- src/ioc/dbStatic/dbLexRoutines.c | 28 ++++++++----- src/ioc/dbStatic/dbStaticLib.c | 67 ++++++++++++++++++++++---------- src/ioc/dbStatic/dbStaticLib.h | 4 ++ src/ioc/dbStatic/dbStaticPvt.h | 7 ++++ 5 files changed, 80 insertions(+), 31 deletions(-) diff --git a/src/ioc/dbStatic/dbBase.h b/src/ioc/dbStatic/dbBase.h index 691953442..6249b5eeb 100644 --- a/src/ioc/dbStatic/dbBase.h +++ b/src/ioc/dbStatic/dbBase.h @@ -165,8 +165,9 @@ typedef struct dbBase { ELLLIST functionList; ELLLIST variableList; ELLLIST bptList; - ELLLIST filterList; - void *pathPvt; + ELLLIST filterList; + ELLLIST guiGroupList; + void *pathPvt; struct dbPvd *ppvd; struct gphPvt *pgpHash; short ignoreMissingMenus; diff --git a/src/ioc/dbStatic/dbLexRoutines.c b/src/ioc/dbStatic/dbLexRoutines.c index 16e553f86..66d9f6b66 100644 --- a/src/ioc/dbStatic/dbLexRoutines.c +++ b/src/ioc/dbStatic/dbLexRoutines.c @@ -71,6 +71,7 @@ static void dbRecordtypeEmpty(void); static void dbRecordtypeBody(void); static void dbRecordtypeFieldHead(char *name,char *type); static void dbRecordtypeFieldItem(char *name,char *value); +static short findOrAddGuiGroup(const char *name); static void dbDevice(char *recordtype,char *linktype, char *dsetname,char *choicestring); @@ -495,7 +496,23 @@ static void dbRecordtypeFieldHead(char *name,char *type) yyerrorAbort("Illegal Field Type"); pdbFldDes->field_type = i; } - + +static short findOrAddGuiGroup(const char *name) +{ + dbGuiGroup *pdbGuiGroup; + GPHENTRY *pgphentry; + pgphentry = gphFind(pdbbase->pgpHash, name, &pdbbase->guiGroupList); + if (!pgphentry) { + pdbGuiGroup = dbCalloc(1,sizeof(dbGuiGroup)); + pdbGuiGroup->name = epicsStrDup(name); + ellAdd(&pdbbase->guiGroupList, &pdbGuiGroup->node); + pdbGuiGroup->key = ellCount(&pdbbase->guiGroupList); + pgphentry = gphAdd(pdbbase->pgpHash, pdbGuiGroup->name, &pdbbase->guiGroupList); + pgphentry->userPvt = pdbGuiGroup; + } + return ((dbGuiGroup *)pgphentry->userPvt)->key; +} + static void dbRecordtypeFieldItem(char *name,char *value) { dbFldDes *pdbFldDes; @@ -517,14 +534,7 @@ static void dbRecordtypeFieldItem(char *name,char *value) return; } if(strcmp(name,"promptgroup")==0) { - int i; - for(i=0; ipromptgroup = pamapguiGroup[i].value; - return; - } - } - yyerror("Illegal promptgroup. See guigroup.h for legal values"); + pdbFldDes->promptgroup = findOrAddGuiGroup(value); return; } if(strcmp(name,"prompt")==0) { diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index 6f933f217..ac9eca7ad 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -417,6 +417,7 @@ dbBase * dbAllocBase(void) ellInit(&pdbbase->variableList); ellInit(&pdbbase->bptList); ellInit(&pdbbase->filterList); + ellInit(&pdbbase->guiGroupList); gphInitPvt(&pdbbase->pgpHash,256); dbPvdInitPvt(pdbbase); return (pdbbase); @@ -442,8 +443,10 @@ void dbFreeBase(dbBase *pdbbase) drvSup *pdrvSupNext; brkTable *pbrkTable; brkTable *pbrkTableNext; - chFilterPlugin *pfilt; - chFilterPlugin *pfiltNext; + chFilterPlugin *pfilt; + chFilterPlugin *pfiltNext; + dbGuiGroup *pguiGroup; + dbGuiGroup *pguiGroupNext; int i; DBENTRY dbentry; @@ -584,6 +587,15 @@ void dbFreeBase(dbBase *pdbbase) free(pfilt); pfilt = pfiltNext; } + pguiGroup = (dbGuiGroup *)ellFirst(&pdbbase->guiGroupList); + while (pguiGroup) { + pguiGroupNext = (dbGuiGroup *)ellNext(&pguiGroup->node); + gphDelete(pdbbase->pgpHash, pguiGroup->name, &pdbbase->guiGroupList); + ellDelete(&pdbbase->bptList, &pguiGroup->node); + free(pguiGroup->name); + free((void *)pguiGroup); + pguiGroup = pguiGroupNext; + } gphFreeMem(pdbbase->pgpHash); dbPvdFreeMem(pdbbase); dbFreePath(pdbbase); @@ -738,6 +750,31 @@ static long dbAddOnePath (DBBASE *pdbbase, const char *path, unsigned length) return 0; } +char *dbGetPromptGroupNameFromKey(DBBASE *pdbbase, const short key) +{ + dbGuiGroup *pdbGuiGroup; + + if (!pdbbase) return NULL; + for (pdbGuiGroup = (dbGuiGroup *)ellFirst(&pdbbase->guiGroupList); + pdbGuiGroup; pdbGuiGroup = (dbGuiGroup *)ellNext(&pdbGuiGroup->node)) { + if (pdbGuiGroup->key == key) return pdbGuiGroup->name; + } + return NULL; +} + +short dbGetPromptGroupKeyFromName(DBBASE *pdbbase, const char *name) +{ + GPHENTRY *pgphentry; + + if (!pdbbase) return 0; + pgphentry = gphFind(pdbbase->pgpHash, name, &pdbbase->guiGroupList); + if (!pgphentry) { + return 0; + } else { + return ((dbGuiGroup*)pgphentry->userPvt)->key; + } +} + long dbWriteRecord(DBBASE *ppdbbase,const char *filename, const char *precordTypename,int level) @@ -937,16 +974,11 @@ long dbWriteRecordTypeFP( fprintf(fp,"\t\tprompt(\"%s\")\n",pdbFldDes->prompt); if(pdbFldDes->initial) fprintf(fp,"\t\tinitial(\"%s\")\n",pdbFldDes->initial); - if(pdbFldDes->promptgroup) { - for(j=0; jpromptgroup) { - fprintf(fp,"\t\tpromptgroup(%s)\n", - pamapguiGroup[j].strvalue); - break; - } - } - } - if(pdbFldDes->special) { + if (pdbFldDes->promptgroup) { + fprintf(fp,"\t\tpromptgroup(\"%s\")\n", + dbGetPromptGroupNameFromKey(pdbbase, pdbFldDes->promptgroup)); + } + if(pdbFldDes->special) { if(pdbFldDes->special >= SPC_NTYPES) { fprintf(fp,"\t\tspecial(%d)\n",pdbFldDes->special); } else for(j=0; jpromptgroup) { printf("\t promptgroup: %d\n",pdbFldDes->promptgroup); } else { - for(j=0; jpromptgroup) { - printf("\t promptgroup: %s\n", - pamapguiGroup[j].strvalue); - break; - } - } - } + printf("\t promptgroup: %s\n", + dbGetPromptGroupNameFromKey(pdbbase, pdbFldDes->promptgroup)); + } printf("\t interest: %hd\n", pdbFldDes->interest); printf("\t as_level: %d\n",pdbFldDes->as_level); printf("\t initial: %s\n", diff --git a/src/ioc/dbStatic/dbStaticLib.h b/src/ioc/dbStatic/dbStaticLib.h index 93f7f27d2..73a90b355 100644 --- a/src/ioc/dbStatic/dbStaticLib.h +++ b/src/ioc/dbStatic/dbStaticLib.h @@ -81,6 +81,10 @@ epicsShareFunc long dbReadDatabaseFP(DBBASE **ppdbbase, FILE *fp, const char *path, const char *substitutions); epicsShareFunc long dbPath(DBBASE *pdbbase, const char *path); epicsShareFunc long dbAddPath(DBBASE *pdbbase, const char *path); +epicsShareFunc char * dbGetPromptGroupNameFromKey(DBBASE *pdbbase, + const short key); +epicsShareFunc short dbGetPromptGroupKeyFromName(DBBASE *pdbbase, + const char *name); epicsShareFunc long dbWriteRecord(DBBASE *ppdbbase, const char *filename, const char *precordTypename, int level); epicsShareFunc long dbWriteRecordFP(DBBASE *ppdbbase, diff --git a/src/ioc/dbStatic/dbStaticPvt.h b/src/ioc/dbStatic/dbStaticPvt.h index 8f8664dc1..842c0dc21 100644 --- a/src/ioc/dbStatic/dbStaticPvt.h +++ b/src/ioc/dbStatic/dbStaticPvt.h @@ -42,6 +42,13 @@ typedef struct dbPathNode { char *directory; } dbPathNode; +/* Element of the global gui group list */ +typedef struct dbGuiGroup { + ELLNODE node; + short key; + char *name; +} dbGuiGroup; + /*The following are in dbPvdLib.c*/ /*directory*/ typedef struct{ From 24e39b252de799838c1eb8f5a49f7c89129d5f71 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 15 Apr 2016 17:37:07 -0500 Subject: [PATCH 004/226] Print RTEMS version at startup --- src/RTEMS/base/rtems_init.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/RTEMS/base/rtems_init.c b/src/RTEMS/base/rtems_init.c index e89006b51..5030b0818 100644 --- a/src/RTEMS/base/rtems_init.c +++ b/src/RTEMS/base/rtems_init.c @@ -529,6 +529,12 @@ Init (rtems_task_argument ignored) putenv ("TERM=xterm"); putenv ("IOCSH_HISTSIZE=20"); + /* + * Display some OS information + */ + printf("\n***** RTEMS Version: %s *****\n", + rtems_get_version_string()); + /* * Start network */ From 1e1799c30e8b9d2508205e38689388c5ce2cc8b4 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Mon, 18 Apr 2016 09:56:41 +0200 Subject: [PATCH 005/226] tools: change RE to allow any value for promptgroup in the Perl DBD parser --- src/tools/DBD/Recfield.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/DBD/Recfield.pm b/src/tools/DBD/Recfield.pm index 6dbf1696f..8bc439346 100644 --- a/src/tools/DBD/Recfield.pm +++ b/src/tools/DBD/Recfield.pm @@ -27,7 +27,7 @@ our %field_types = ( our %field_attrs = ( asl => qr/^ASL[01]$/, initial => qr/^.*$/, - promptgroup => qr/^GUI_\w+$/, + promptgroup => qr/^.*$/, prompt => qr/^.*$/, special => qr/^(?:SPC_\w+|\d{3,})$/, pp => qr/^(?:TRUE|FALSE)$/, From 7bb27ad3e7194a3c01861efdb607be4e0cfc26f8 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 22 Apr 2016 17:02:21 +0200 Subject: [PATCH 006/226] dbStatic: deprecate guigroup.h; remove from includes --- src/ioc/dbStatic/dbLexRoutines.c | 1 - src/ioc/dbStatic/dbStaticLib.c | 1 - src/ioc/dbStatic/guigroup.h | 69 +++----------------------------- 3 files changed, 6 insertions(+), 65 deletions(-) diff --git a/src/ioc/dbStatic/dbLexRoutines.c b/src/ioc/dbStatic/dbLexRoutines.c index 66d9f6b66..80fb9ebf5 100644 --- a/src/ioc/dbStatic/dbLexRoutines.c +++ b/src/ioc/dbStatic/dbLexRoutines.c @@ -34,7 +34,6 @@ #include "dbStaticLib.h" #include "dbStaticPvt.h" #include "epicsExport.h" -#include "guigroup.h" #include "link.h" #include "special.h" diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index ac9eca7ad..79ff4ea74 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -41,7 +41,6 @@ #include "dbStaticPvt.h" #include "devSup.h" #include "drvSup.h" -#include "guigroup.h" #include "link.h" #include "special.h" diff --git a/src/ioc/dbStatic/guigroup.h b/src/ioc/dbStatic/guigroup.h index 5d97a4f8c..72f45ce56 100644 --- a/src/ioc/dbStatic/guigroup.h +++ b/src/ioc/dbStatic/guigroup.h @@ -16,68 +16,11 @@ #ifndef __gui_group_h__ #define __gui_group_h__ -#define GUI_COMMON 1 -#define GUI_ALARMS 2 -#define GUI_BITS1 3 -#define GUI_BITS2 4 -#define GUI_CALC 5 -#define GUI_CLOCK 6 -#define GUI_COMPRESS 7 -#define GUI_CONVERT 8 -#define GUI_DISPLAY 9 -#define GUI_HIST 10 -#define GUI_INPUTS 11 -#define GUI_LINKS 12 -#define GUI_MBB 13 -#define GUI_MOTOR 14 -#define GUI_OUTPUT 15 -#define GUI_PID 16 -#define GUI_PULSE 17 -#define GUI_SELECT 18 -#define GUI_SEQ1 19 -#define GUI_SEQ2 20 -#define GUI_SEQ3 21 -#define GUI_SUB 22 -#define GUI_TIMER 23 -#define GUI_WAVE 24 -#define GUI_SCAN 25 -#define GUI_NTYPES 25 - -typedef struct mapguiGroup{ - char *strvalue; - int value; -}mapguiGroup; - -#ifndef GUIGROUPS_GBLSOURCE -extern mapguiGroup pamapguiGroup[]; -#else -mapguiGroup pamapguiGroup[GUI_NTYPES] = { - {"GUI_COMMON",GUI_COMMON}, - {"GUI_ALARMS",GUI_ALARMS}, - {"GUI_BITS1",GUI_BITS1}, - {"GUI_BITS2",GUI_BITS2}, - {"GUI_CALC",GUI_CALC}, - {"GUI_CLOCK",GUI_CLOCK}, - {"GUI_COMPRESS",GUI_COMPRESS}, - {"GUI_CONVERT",GUI_CONVERT}, - {"GUI_DISPLAY",GUI_DISPLAY}, - {"GUI_HIST",GUI_HIST}, - {"GUI_INPUTS",GUI_INPUTS}, - {"GUI_LINKS",GUI_LINKS}, - {"GUI_MBB",GUI_MBB}, - {"GUI_MOTOR",GUI_MOTOR}, - {"GUI_OUTPUT",GUI_OUTPUT}, - {"GUI_PID",GUI_PID}, - {"GUI_PULSE",GUI_PULSE}, - {"GUI_SELECT",GUI_SELECT}, - {"GUI_SEQ1",GUI_SEQ1}, - {"GUI_SEQ2",GUI_SEQ2}, - {"GUI_SEQ3",GUI_SEQ3}, - {"GUI_SUB",GUI_SUB}, - {"GUI_TIMER",GUI_TIMER}, - {"GUI_WAVE",GUI_WAVE}, - {"GUI_SCAN",GUI_SCAN} -}; -#endif /*GUIGROUPS_GBLSOURCE*/ +#error As of Base 3.15.4, the promptgroup implementation has changed. \ + This header file (guigroup.h) is invalid and will be removed shortly. \ + Instead, you should include dbStaticLib.h, parse the DBD, \ + and use dbGetPromptGroupNameFromKey() and dbGetPromptGroupKeyFromName() \ + that have been added to dbStaticLib. \ + More details in the 3.15.4 release notes and the AppDev Guide. #endif /*__gui_group_h__*/ From de38b807952a868b2c5dc0071ed6342604db559f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 25 Apr 2016 11:54:17 -0500 Subject: [PATCH 007/226] Apply partial solution for Windows builds of Cap5 --- src/ca/client/perl/Cap5.xs | 18 ++++++++++++++---- src/ca/client/perl/perlConfig.pl | 9 +++++++-- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/ca/client/perl/Cap5.xs b/src/ca/client/perl/Cap5.xs index 287c1826c..e519198ec 100644 --- a/src/ca/client/perl/Cap5.xs +++ b/src/ca/client/perl/Cap5.xs @@ -1138,6 +1138,20 @@ void CA_add_exception_event(const char *class, SV *sub) { static SV * printf_sub = NULL; +#ifndef va_copy +# ifdef __GNUC__ +# define va_copy(d, s) __va_copy(d, s) +# else +# define va_copy(d, s) ((d) = (s)) +/* The above macro is NOT PORTABLE but works on Windows when + * stdarg.h doesn't provide va_copy(). Some architectures need + * define va_copy(d, s) ((*d) = (*s)) + * while others may be even more complicated, but hopefully the + * system stdarg.h header defines va_copy() in those cases. + */ +# endif +#endif + static int printf_handler(const char *format, va_list args) { if (! printf_sub) @@ -1152,11 +1166,7 @@ int printf_handler(const char *format, va_list args) { ENTER; SAVETMPS; -#ifdef __GNUC__ - __va_copy(argcopy, args); -#else va_copy(argcopy, args); -#endif printf_str = NEWSV(0, strlen(format) + 32); sv_vsetpvf(printf_str, format, &argcopy); diff --git a/src/ca/client/perl/perlConfig.pl b/src/ca/client/perl/perlConfig.pl index 01b9b9fdd..21d444049 100644 --- a/src/ca/client/perl/perlConfig.pl +++ b/src/ca/client/perl/perlConfig.pl @@ -3,7 +3,12 @@ # This script is used to extract information about the Perl build # configuration, so the EPICS build system uses the same settings. +use strict; use Config; -my $arg = shift; -print $Config{$arg}; +my $val = $Config{shift}; + +$val =~ s{\\}{/}go + if $^O eq 'MSWin32'; + +print $val; From af07e0fd51e07f198abc306d57a0b7b6607453db Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 25 Apr 2016 12:24:05 -0500 Subject: [PATCH 008/226] Fix oops in last commit --- src/ca/client/perl/perlConfig.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ca/client/perl/perlConfig.pl b/src/ca/client/perl/perlConfig.pl index 21d444049..5292041d1 100644 --- a/src/ca/client/perl/perlConfig.pl +++ b/src/ca/client/perl/perlConfig.pl @@ -6,7 +6,8 @@ use strict; use Config; -my $val = $Config{shift}; +my $arg = shift; +my $val = $Config{$arg}; $val =~ s{\\}{/}go if $^O eq 'MSWin32'; From 6a362f467da48f8ff200bab1180e3c9866999a32 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 26 Apr 2016 13:28:28 +0200 Subject: [PATCH 009/226] rec: implement new promptgroup (gui_group) choices --- src/ioc/db/dbCommon.dbd | 34 +-- src/std/rec/aSubRecord.dbd.pod | 289 ++++++++---------- src/std/rec/aaiRecord.dbd | 26 +- src/std/rec/aaoRecord.dbd | 26 +- src/std/rec/aiRecord.dbd.pod | 60 ++-- src/std/rec/aoRecord.dbd.pod | 70 ++--- src/std/rec/biRecord.dbd | 20 +- src/std/rec/boRecord.dbd | 30 +- src/std/rec/calcRecord.dbd | 63 ++-- src/std/rec/calcoutRecord.dbd | 76 ++--- src/std/rec/compressRecord.dbd.pod | 24 +- src/std/rec/dfanoutRecord.dbd | 59 ++-- src/std/rec/eventRecord.dbd | 10 +- src/std/rec/fanoutRecord.dbd | 38 +-- src/std/rec/histogramRecord.dbd | 26 +- src/std/rec/longinRecord.dbd | 42 +-- src/std/rec/longoutRecord.dbd | 52 ++-- src/std/rec/lsiRecord.dbd | 14 +- src/std/rec/lsoRecord.dbd | 22 +- src/std/rec/mbbiDirectRecord.dbd | 14 +- src/std/rec/mbbiRecord.dbd | 116 +++---- src/std/rec/mbboDirectRecord.dbd | 54 ++-- src/std/rec/mbboRecord.dbd | 122 ++++---- src/std/rec/permissiveRecord.dbd | 5 +- src/std/rec/printfRecord.dbd | 28 +- src/std/rec/selRecord.dbd | 65 ++-- src/std/rec/seqRecord.dbd | 102 +++---- src/std/rec/stateRecord.dbd | 2 +- src/std/rec/stringinRecord.dbd | 14 +- src/std/rec/stringoutRecord.dbd | 22 +- src/std/rec/subArrayRecord.dbd | 24 +- src/std/rec/subRecord.dbd | 64 ++-- src/std/rec/waveformRecord.dbd.pod | 28 +- .../base/top/exampleApp/src/xxxRecord.dbd | 35 +-- 34 files changed, 830 insertions(+), 846 deletions(-) diff --git a/src/ioc/db/dbCommon.dbd b/src/ioc/db/dbCommon.dbd index f87853bec..86dac3486 100644 --- a/src/ioc/db/dbCommon.dbd +++ b/src/ioc/db/dbCommon.dbd @@ -15,59 +15,59 @@ } field(DESC,DBF_STRING) { prompt("Descriptor") - promptgroup(GUI_COMMON) + promptgroup("10 - Common") size(41) } field(ASG,DBF_STRING) { prompt("Access Security Group") - promptgroup(GUI_COMMON) + promptgroup("10 - Common") special(SPC_AS) size(29) } field(SCAN,DBF_MENU) { prompt("Scan Mechanism") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") special(SPC_SCAN) interest(1) menu(menuScan) } field(PINI,DBF_MENU) { prompt("Process at iocInit") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") interest(1) menu(menuPini) } field(PHAS,DBF_SHORT) { prompt("Scan Phase") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT,DBF_STRING) { prompt("Event Name") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") special(SPC_SCAN) size(40) interest(1) } field(TSE,DBF_SHORT) { prompt("Time Stamp Event") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") interest(1) } field(TSEL,DBF_INLINK) { prompt("Time Stamp Link") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") interest(1) } field(DTYP,DBF_DEVICE) { prompt("Device Type") - promptgroup(GUI_LINKS) + promptgroup("10 - Common") interest(1) } field(DISV,DBF_SHORT) { prompt("Disable Value") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") initial("1") } field(DISA,DBF_SHORT) { @@ -75,7 +75,7 @@ } field(SDIS,DBF_INLINK) { prompt("Scanning Disable") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") interest(1) } %#include "epicsMutex.h" @@ -131,7 +131,7 @@ } field(ACKT,DBF_MENU) { prompt("Alarm Ack Transient") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") special(SPC_NOMOD) interest(2) menu(menuYesNo) @@ -139,7 +139,7 @@ } field(DISS,DBF_MENU) { prompt("Disable Alarm Sevrty") - promptgroup(GUI_SCAN) + promptgroup("70 - Alarm") interest(1) menu(menuAlarmSevr) } @@ -219,7 +219,7 @@ } field(PRIO,DBF_MENU) { prompt("Scheduling Priority") - promptgroup(GUI_SCAN) + promptgroup("20 - Scan") special(SPC_SCAN) interest(1) menu(menuPriority) @@ -235,14 +235,14 @@ } field(UDF,DBF_UCHAR) { prompt("Undefined") - promptgroup(GUI_COMMON) + promptgroup("10 - Common") pp(TRUE) interest(1) initial("1") } field(UDFS,DBF_MENU) { prompt("Undefined Alarm Sevrty") - promptgroup(GUI_COMMON) + promptgroup("70 - Alarm") interest(1) menu(menuAlarmSevr) initial("INVALID") @@ -256,6 +256,6 @@ } field(FLNK,DBF_FWDLINK) { prompt("Forward Process Link") - promptgroup(GUI_LINKS) + promptgroup("20 - Scan") interest(1) } diff --git a/src/std/rec/aSubRecord.dbd.pod b/src/std/rec/aSubRecord.dbd.pod index d188745f1..c09a5e4a7 100644 --- a/src/std/rec/aSubRecord.dbd.pod +++ b/src/std/rec/aSubRecord.dbd.pod @@ -61,33 +61,33 @@ recordtype(aSub) { } field(INAM,DBF_STRING) { prompt("Initialize Subr. Name") - promptgroup(GUI_SUB) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) size(41) } field(LFLG,DBF_MENU) { prompt("Subr. Input Enable") - promptgroup(GUI_SUB) + promptgroup("30 - Action") interest(1) menu(aSubLFLG) } field(SUBL,DBF_INLINK) { prompt("Subroutine Name Link") - promptgroup(GUI_SUB) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) } field(SNAM,DBF_STRING) { prompt("Process Subr. Name") - promptgroup(GUI_SUB) + promptgroup("30 - Action") special(SPC_MOD) interest(1) size(41) } field(ONAM,DBF_STRING) { prompt("Old Subr. Name") - promptgroup(GUI_SUB) + promptgroup("30 - Action") special(SPC_NOMOD) interest(3) size(41) @@ -107,127 +107,127 @@ recordtype(aSub) { } field(BRSV,DBF_MENU) { prompt("Bad Return Severity") - promptgroup(GUI_SUB) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(EFLG,DBF_MENU) { prompt("Output Event Flag") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(aSubEFLG) initial("1") } field(INPA,DBF_INLINK) { prompt("Input Link A") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-G") interest(1) } field(INPB,DBF_INLINK) { prompt("Input Link B") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-G") interest(1) } field(INPC,DBF_INLINK) { prompt("Input Link C") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-G") interest(1) } field(INPD,DBF_INLINK) { prompt("Input Link D") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-G") interest(1) } field(INPE,DBF_INLINK) { prompt("Input Link E") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-G") interest(1) } field(INPF,DBF_INLINK) { prompt("Input Link F") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-G") interest(1) } field(INPG,DBF_INLINK) { prompt("Input Link G") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-G") interest(1) } field(INPH,DBF_INLINK) { prompt("Input Link H") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input H-N") interest(1) } field(INPI,DBF_INLINK) { prompt("Input Link I") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input H-N") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input Link J") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input H-N") interest(1) } field(INPK,DBF_INLINK) { prompt("Input Link K") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input H-N") interest(1) } field(INPL,DBF_INLINK) { prompt("Input Link L") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input H-N") interest(1) } field(INPM,DBF_INLINK) { prompt("Input Link M") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input H-N") interest(1) } field(INPN,DBF_INLINK) { prompt("Input Link N") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input H-N") interest(1) } field(INPO,DBF_INLINK) { prompt("Input Link O") - promptgroup(GUI_INPUTS) + promptgroup("43 - Input O-U") interest(1) } field(INPP,DBF_INLINK) { prompt("Input Link P") - promptgroup(GUI_INPUTS) + promptgroup("43 - Input O-U") interest(1) } field(INPQ,DBF_INLINK) { prompt("Input Link Q") - promptgroup(GUI_INPUTS) + promptgroup("43 - Input O-U") interest(1) } field(INPR,DBF_INLINK) { prompt("Input Link R") - promptgroup(GUI_INPUTS) + promptgroup("43 - Input O-U") interest(1) } field(INPS,DBF_INLINK) { prompt("Input Link S") - promptgroup(GUI_INPUTS) + promptgroup("43 - Input O-U") interest(1) } field(INPT,DBF_INLINK) { prompt("Input Link T") - promptgroup(GUI_INPUTS) + promptgroup("43 - Input O-U") interest(1) } field(INPU,DBF_INLINK) { prompt("Input Link U") - promptgroup(GUI_INPUTS) + promptgroup("43 - Input O-U") interest(1) } @@ -451,7 +451,7 @@ recordtype(aSub) { } field(FTA,DBF_MENU) { prompt("Type of A") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -459,7 +459,7 @@ recordtype(aSub) { } field(FTB,DBF_MENU) { prompt("Type of B") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -467,7 +467,7 @@ recordtype(aSub) { } field(FTC,DBF_MENU) { prompt("Type of C") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -475,7 +475,7 @@ recordtype(aSub) { } field(FTD,DBF_MENU) { prompt("Type of D") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -483,7 +483,7 @@ recordtype(aSub) { } field(FTE,DBF_MENU) { prompt("Type of E") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -491,7 +491,7 @@ recordtype(aSub) { } field(FTF,DBF_MENU) { prompt("Type of F") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -499,7 +499,7 @@ recordtype(aSub) { } field(FTG,DBF_MENU) { prompt("Type of G") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -507,7 +507,7 @@ recordtype(aSub) { } field(FTH,DBF_MENU) { prompt("Type of H") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -515,7 +515,7 @@ recordtype(aSub) { } field(FTI,DBF_MENU) { prompt("Type of I") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -523,7 +523,7 @@ recordtype(aSub) { } field(FTJ,DBF_MENU) { prompt("Type of J") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -531,7 +531,7 @@ recordtype(aSub) { } field(FTK,DBF_MENU) { prompt("Type of K") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -539,7 +539,7 @@ recordtype(aSub) { } field(FTL,DBF_MENU) { prompt("Type of L") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -547,7 +547,7 @@ recordtype(aSub) { } field(FTM,DBF_MENU) { prompt("Type of M") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -555,7 +555,7 @@ recordtype(aSub) { } field(FTN,DBF_MENU) { prompt("Type of N") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -563,7 +563,7 @@ recordtype(aSub) { } field(FTO,DBF_MENU) { prompt("Type of O") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -571,7 +571,7 @@ recordtype(aSub) { } field(FTP,DBF_MENU) { prompt("Type of P") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -579,7 +579,7 @@ recordtype(aSub) { } field(FTQ,DBF_MENU) { prompt("Type of Q") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -587,7 +587,7 @@ recordtype(aSub) { } field(FTR,DBF_MENU) { prompt("Type of R") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -595,7 +595,7 @@ recordtype(aSub) { } field(FTS,DBF_MENU) { prompt("Type of S") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -603,7 +603,7 @@ recordtype(aSub) { } field(FTT,DBF_MENU) { prompt("Type of T") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -611,7 +611,7 @@ recordtype(aSub) { } field(FTU,DBF_MENU) { prompt("Type of U") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -619,401 +619,380 @@ recordtype(aSub) { } field(NOA,DBF_ULONG) { prompt("Max. elements in A") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOB,DBF_ULONG) { prompt("Max. elements in B") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOC,DBF_ULONG) { prompt("Max. elements in C") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOD,DBF_ULONG) { prompt("Max. elements in D") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOE,DBF_ULONG) { prompt("Max. elements in E") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOF,DBF_ULONG) { prompt("Max. elements in F") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOG,DBF_ULONG) { prompt("Max. elements in G") - promptgroup(GUI_WAVE) + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOH,DBF_ULONG) { prompt("Max. elements in H") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOI,DBF_ULONG) { prompt("Max. elements in I") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOJ,DBF_ULONG) { prompt("Max. elements in J") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOK,DBF_ULONG) { prompt("Max. elements in K") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOL,DBF_ULONG) { prompt("Max. elements in L") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOM,DBF_ULONG) { prompt("Max. elements in M") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NON,DBF_ULONG) { prompt("Max. elements in N") - promptgroup(GUI_WAVE) + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOO,DBF_ULONG) { prompt("Max. elements in O") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOP,DBF_ULONG) { prompt("Max. elements in P") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOQ,DBF_ULONG) { prompt("Max. elements in Q") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOR,DBF_ULONG) { prompt("Max. elements in R") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOS,DBF_ULONG) { prompt("Max. elements in S") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOT,DBF_ULONG) { prompt("Max. elements in T") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOU,DBF_ULONG) { prompt("Max. elements in U") - promptgroup(GUI_WAVE) + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NEA,DBF_ULONG) { prompt("Num. elements in A") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEB,DBF_ULONG) { prompt("Num. elements in B") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEC,DBF_ULONG) { prompt("Num. elements in C") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NED,DBF_ULONG) { prompt("Num. elements in D") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEE,DBF_ULONG) { prompt("Num. elements in E") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEF,DBF_ULONG) { prompt("Num. elements in F") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEG,DBF_ULONG) { prompt("Num. elements in G") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEH,DBF_ULONG) { prompt("Num. elements in H") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEI,DBF_ULONG) { prompt("Num. elements in I") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEJ,DBF_ULONG) { prompt("Num. elements in J") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEK,DBF_ULONG) { prompt("Num. elements in K") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEL,DBF_ULONG) { prompt("Num. elements in L") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEM,DBF_ULONG) { prompt("Num. elements in M") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEN,DBF_ULONG) { prompt("Num. elements in N") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEO,DBF_ULONG) { prompt("Num. elements in O") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEP,DBF_ULONG) { prompt("Num. elements in P") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEQ,DBF_ULONG) { prompt("Num. elements in Q") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NER,DBF_ULONG) { prompt("Num. elements in R") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NES,DBF_ULONG) { prompt("Num. elements in S") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NET,DBF_ULONG) { prompt("Num. elements in T") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(NEU,DBF_ULONG) { prompt("Num. elements in U") - promptgroup(GUI_WAVE) special(SPC_NOMOD) interest(3) initial("1") } field(OUTA,DBF_OUTLINK) { prompt("Output Link A") - promptgroup(GUI_OUTPUT) + promptgroup("51 - Output A-G") interest(1) } field(OUTB,DBF_OUTLINK) { prompt("Output Link B") - promptgroup(GUI_OUTPUT) + promptgroup("51 - Output A-G") interest(1) } field(OUTC,DBF_OUTLINK) { prompt("Output Link C") - promptgroup(GUI_OUTPUT) + promptgroup("51 - Output A-G") interest(1) } field(OUTD,DBF_OUTLINK) { prompt("Output Link D") - promptgroup(GUI_OUTPUT) + promptgroup("51 - Output A-G") interest(1) } field(OUTE,DBF_OUTLINK) { prompt("Output Link E") - promptgroup(GUI_OUTPUT) + promptgroup("51 - Output A-G") interest(1) } field(OUTF,DBF_OUTLINK) { prompt("Output Link F") - promptgroup(GUI_OUTPUT) + promptgroup("51 - Output A-G") interest(1) } field(OUTG,DBF_OUTLINK) { prompt("Output Link G") - promptgroup(GUI_OUTPUT) + promptgroup("51 - Output A-G") interest(1) } field(OUTH,DBF_OUTLINK) { prompt("Output Link H") - promptgroup(GUI_OUTPUT) + promptgroup("52 - Output H-N") interest(1) } field(OUTI,DBF_OUTLINK) { prompt("Output Link I") - promptgroup(GUI_OUTPUT) + promptgroup("52 - Output H-N") interest(1) } field(OUTJ,DBF_OUTLINK) { prompt("Output Link J") - promptgroup(GUI_OUTPUT) + promptgroup("52 - Output H-N") interest(1) } field(OUTK,DBF_OUTLINK) { prompt("Output Link K") - promptgroup(GUI_OUTPUT) + promptgroup("52 - Output H-N") interest(1) } field(OUTL,DBF_OUTLINK) { prompt("Output Link L") - promptgroup(GUI_OUTPUT) + promptgroup("52 - Output H-N") interest(1) } field(OUTM,DBF_OUTLINK) { prompt("Output Link M") - promptgroup(GUI_OUTPUT) + promptgroup("52 - Output H-N") interest(1) } field(OUTN,DBF_OUTLINK) { prompt("Output Link N") - promptgroup(GUI_OUTPUT) + promptgroup("52 - Output H-N") interest(1) } field(OUTO,DBF_OUTLINK) { prompt("Output Link O") - promptgroup(GUI_OUTPUT) + promptgroup("53 - Output O-U") interest(1) } field(OUTP,DBF_OUTLINK) { prompt("Output Link P") - promptgroup(GUI_OUTPUT) + promptgroup("53 - Output O-U") interest(1) } field(OUTQ,DBF_OUTLINK) { prompt("Output Link Q") - promptgroup(GUI_OUTPUT) + promptgroup("53 - Output O-U") interest(1) } field(OUTR,DBF_OUTLINK) { prompt("Output Link R") - promptgroup(GUI_OUTPUT) + promptgroup("53 - Output O-U") interest(1) } field(OUTS,DBF_OUTLINK) { prompt("Output Link S") - promptgroup(GUI_OUTPUT) + promptgroup("53 - Output O-U") interest(1) } field(OUTT,DBF_OUTLINK) { prompt("Output Link T") - promptgroup(GUI_OUTPUT) + promptgroup("53 - Output O-U") interest(1) } field(OUTU,DBF_OUTLINK) { prompt("Output Link U") - promptgroup(GUI_OUTPUT) + promptgroup("53 - Output O-U") interest(1) } @@ -1384,7 +1363,7 @@ recordtype(aSub) { } field(FTVA,DBF_MENU) { prompt("Type of VALA") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1392,7 +1371,7 @@ recordtype(aSub) { } field(FTVB,DBF_MENU) { prompt("Type of VALB") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1400,7 +1379,7 @@ recordtype(aSub) { } field(FTVC,DBF_MENU) { prompt("Type of VALC") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1408,7 +1387,7 @@ recordtype(aSub) { } field(FTVD,DBF_MENU) { prompt("Type of VALD") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1416,7 +1395,7 @@ recordtype(aSub) { } field(FTVE,DBF_MENU) { prompt("Type of VALE") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1424,7 +1403,7 @@ recordtype(aSub) { } field(FTVF,DBF_MENU) { prompt("Type of VALF") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1432,7 +1411,7 @@ recordtype(aSub) { } field(FTVG,DBF_MENU) { prompt("Type of VALG") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1440,7 +1419,7 @@ recordtype(aSub) { } field(FTVH,DBF_MENU) { prompt("Type of VALH") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1448,7 +1427,7 @@ recordtype(aSub) { } field(FTVI,DBF_MENU) { prompt("Type of VALI") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1456,7 +1435,7 @@ recordtype(aSub) { } field(FTVJ,DBF_MENU) { prompt("Type of VALJ") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1464,7 +1443,7 @@ recordtype(aSub) { } field(FTVK,DBF_MENU) { prompt("Type of VALK") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1472,7 +1451,7 @@ recordtype(aSub) { } field(FTVL,DBF_MENU) { prompt("Type of VALL") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1480,7 +1459,7 @@ recordtype(aSub) { } field(FTVM,DBF_MENU) { prompt("Type of VALM") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1488,7 +1467,7 @@ recordtype(aSub) { } field(FTVN,DBF_MENU) { prompt("Type of VALN") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1496,7 +1475,7 @@ recordtype(aSub) { } field(FTVO,DBF_MENU) { prompt("Type of VALO") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1504,7 +1483,7 @@ recordtype(aSub) { } field(FTVP,DBF_MENU) { prompt("Type of VALP") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1512,7 +1491,7 @@ recordtype(aSub) { } field(FTVQ,DBF_MENU) { prompt("Type of VALQ") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1520,7 +1499,7 @@ recordtype(aSub) { } field(FTVR,DBF_MENU) { prompt("Type of VALR") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1528,7 +1507,7 @@ recordtype(aSub) { } field(FTVS,DBF_MENU) { prompt("Type of VALS") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1536,7 +1515,7 @@ recordtype(aSub) { } field(FTVT,DBF_MENU) { prompt("Type of VALT") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1544,7 +1523,7 @@ recordtype(aSub) { } field(FTVU,DBF_MENU) { prompt("Type of VALU") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1552,147 +1531,147 @@ recordtype(aSub) { } field(NOVA,DBF_ULONG) { prompt("Max. elements in VALA") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVB,DBF_ULONG) { prompt("Max. elements in VALB") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVC,DBF_ULONG) { prompt("Max. elements in VALC") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVD,DBF_ULONG) { prompt("Max. elements in VALD") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVE,DBF_ULONG) { prompt("Max. elements in VALE") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVF,DBF_ULONG) { prompt("Max. elements in VALF") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVG,DBF_ULONG) { prompt("Max. elements in VALG") - promptgroup(GUI_WAVE) + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVH,DBF_ULONG) { prompt("Max. elements in VAlH") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVI,DBF_ULONG) { prompt("Max. elements in VALI") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVJ,DBF_ULONG) { prompt("Max. elements in VALJ") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVK,DBF_ULONG) { prompt("Max. elements in VALK") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVL,DBF_ULONG) { prompt("Max. elements in VALL") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVM,DBF_ULONG) { prompt("Max. elements in VALM") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVN,DBF_ULONG) { prompt("Max. elements in VALN") - promptgroup(GUI_WAVE) + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVO,DBF_ULONG) { prompt("Max. elements in VALO") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVP,DBF_ULONG) { prompt("Max. elements in VALP") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVQ,DBF_ULONG) { prompt("Max. elements in VALQ") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVR,DBF_ULONG) { prompt("Max. elements in VALR") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVS,DBF_ULONG) { prompt("Max. elements in VALS") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVT,DBF_ULONG) { prompt("Max. elements in VALT") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVU,DBF_ULONG) { prompt("Max. elements in VALU") - promptgroup(GUI_WAVE) + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") diff --git a/src/std/rec/aaiRecord.dbd b/src/std/rec/aaiRecord.dbd index 3b6c5fb2c..fa7fff87a 100644 --- a/src/std/rec/aaiRecord.dbd +++ b/src/std/rec/aaiRecord.dbd @@ -25,44 +25,44 @@ recordtype(aai) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_ALARMS) + promptgroup("80 - Display") interest(1) prop(YES) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_BITS1) + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units Name") - promptgroup(GUI_BITS2) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_CALC) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_CLOCK) + promptgroup("80 - Display") interest(1) prop(YES) } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup(GUI_COMPRESS) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup(GUI_CONVERT) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) @@ -79,7 +79,7 @@ recordtype(aai) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_HIST) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -89,24 +89,24 @@ recordtype(aai) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(aaiPOST) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(aaiPOST) } diff --git a/src/std/rec/aaoRecord.dbd b/src/std/rec/aaoRecord.dbd index 861a16613..0a05c1365 100644 --- a/src/std/rec/aaoRecord.dbd +++ b/src/std/rec/aaoRecord.dbd @@ -25,44 +25,44 @@ recordtype(aao) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_ALARMS) + promptgroup("80 - Display") interest(1) prop(YES) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_BITS1) + promptgroup("50 - Output") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units Name") - promptgroup(GUI_BITS2) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_CALC) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_CLOCK) + promptgroup("80 - Display") interest(1) prop(YES) } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup(GUI_COMPRESS) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup(GUI_CONVERT) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) @@ -79,7 +79,7 @@ recordtype(aao) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_HIST) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -89,24 +89,24 @@ recordtype(aao) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(aaoPOST) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(aaoPOST) } diff --git a/src/std/rec/aiRecord.dbd.pod b/src/std/rec/aiRecord.dbd.pod index 8da77055d..110aa4e7e 100644 --- a/src/std/rec/aiRecord.dbd.pod +++ b/src/std/rec/aiRecord.dbd.pod @@ -217,24 +217,24 @@ monitoring functionality. include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Current EGU Value") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LINR,DBF_MENU) { prompt("Linearization") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") special(SPC_LINCONV) pp(TRUE) interest(1) @@ -242,86 +242,86 @@ monitoring functionality. } field(EGUF,DBF_DOUBLE) { prompt("Engineer Units Full") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") special(SPC_LINCONV) pp(TRUE) interest(1) } field(EGUL,DBF_DOUBLE) { prompt("Engineer Units Low") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") special(SPC_LINCONV) pp(TRUE) interest(1) } field(EGU,DBF_STRING) { prompt("Engineering Units") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(AOFF,DBF_DOUBLE) { prompt("Adjustment Offset") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(1) } field(ASLO,DBF_DOUBLE) { prompt("Adjustment Slope") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(1) initial("1") } field(SMOO,DBF_DOUBLE) { prompt("Smoothing") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") interest(1) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -329,7 +329,7 @@ monitoring functionality. } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -337,7 +337,7 @@ monitoring functionality. } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -345,7 +345,7 @@ monitoring functionality. } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -353,22 +353,22 @@ monitoring functionality. } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(AFTC,DBF_DOUBLE) { prompt("Alarm Filter Time Constant") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(LALM,DBF_DOUBLE) { @@ -393,14 +393,14 @@ monitoring functionality. } field(ESLO,DBF_DOUBLE) { prompt("Raw to EGU Slope") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(2) initial("1") } field(EOFF,DBF_DOUBLE) { prompt("Raw to EGU Offset") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(2) } @@ -469,7 +469,7 @@ simulation mode. field(SIOL,DBF_INLINK) { prompt("Sim. Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_DOUBLE) { @@ -477,7 +477,7 @@ simulation mode. } field(SIML,DBF_INLINK) { prompt("Sim. Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -487,7 +487,7 @@ simulation mode. } field(SIMS,DBF_MENU) { prompt("Simulation Mode Severity") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } @@ -610,7 +610,7 @@ values that the C routine can put in the RVAL field. When RVAL is set to I the VAL field will be set to EGUF, and when RVAL is set to I the VAL field will become EGUL. -The fomulae to use are: +The formulae to use are: =over diff --git a/src/std/rec/aoRecord.dbd.pod b/src/std/rec/aoRecord.dbd.pod index 5b9280a65..b7d62575d 100644 --- a/src/std/rec/aoRecord.dbd.pod +++ b/src/std/rec/aoRecord.dbd.pod @@ -273,7 +273,7 @@ information on these fields. include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Desired Output") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") asl(ASL0) pp(TRUE) } @@ -282,40 +282,40 @@ information on these fields. } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OROC,DBF_DOUBLE) { prompt("Output Rate of Change") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup(GUI_OUTPUT) + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(OIF,DBF_MENU) { prompt("Out Full/Incremental") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(aoOIF) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LINR,DBF_MENU) { prompt("Linearization") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") special(SPC_LINCONV) pp(TRUE) interest(1) @@ -323,21 +323,21 @@ information on these fields. } field(EGUF,DBF_DOUBLE) { prompt("Eng Units Full") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") special(SPC_LINCONV) pp(TRUE) interest(1) } field(EGUL,DBF_DOUBLE) { prompt("Eng Units Low") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") special(SPC_LINCONV) pp(TRUE) interest(1) } field(EGU,DBF_STRING) { prompt("Engineering Units") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) size(16) prop(YES) @@ -349,86 +349,86 @@ information on these fields. } field(EOFF,DBF_DOUBLE) { prompt("EGU to Raw Offset") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(2) } field(ESLO,DBF_DOUBLE) { prompt("EGU to Raw Slope") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(2) initial("1") } field(DRVH,DBF_DOUBLE) { prompt("Drive High Limit") - promptgroup(GUI_OUTPUT) + promptgroup("30 - Action") pp(TRUE) interest(1) prop(YES) } field(DRVL,DBF_DOUBLE) { prompt("Drive Low Limit") - promptgroup(GUI_OUTPUT) + promptgroup("30 - Action") pp(TRUE) interest(1) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(AOFF,DBF_DOUBLE) { prompt("Adjustment Offset") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(1) } field(ASLO,DBF_DOUBLE) { prompt("Adjustment Slope") - promptgroup(GUI_CONVERT) + promptgroup("60 - Convert") pp(TRUE) interest(1) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -436,7 +436,7 @@ information on these fields. } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -444,7 +444,7 @@ information on these fields. } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -452,7 +452,7 @@ information on these fields. } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -460,17 +460,17 @@ information on these fields. } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(RVAL,DBF_LONG) { @@ -529,12 +529,12 @@ information on these fields. } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -544,19 +544,19 @@ information on these fields. } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID output action") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_DOUBLE) { prompt("INVALID output value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) } field(OMOD,DBF_UCHAR) { diff --git a/src/std/rec/biRecord.dbd b/src/std/rec/biRecord.dbd index 501ecab83..3ecd088b4 100644 --- a/src/std/rec/biRecord.dbd +++ b/src/std/rec/biRecord.dbd @@ -11,39 +11,39 @@ recordtype(bi) { include "dbCommon.dbd" field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(VAL,DBF_ENUM) { prompt("Current Value") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(ZSV,DBF_MENU) { prompt("Zero Error Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(OSV,DBF_MENU) { prompt("One Error Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Svr") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ZNAM,DBF_STRING) { prompt("Zero Name") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -51,7 +51,7 @@ recordtype(bi) { } field(ONAM,DBF_STRING) { prompt("One Name") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -83,7 +83,7 @@ recordtype(bi) { } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_ULONG) { @@ -91,7 +91,7 @@ recordtype(bi) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -101,7 +101,7 @@ recordtype(bi) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/boRecord.dbd b/src/std/rec/boRecord.dbd index 9a861f157..1f627447c 100644 --- a/src/std/rec/boRecord.dbd +++ b/src/std/rec/boRecord.dbd @@ -11,34 +11,34 @@ recordtype(bo) { include "dbCommon.dbd" field(VAL,DBF_ENUM) { prompt("Current Value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") asl(ASL0) pp(TRUE) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup(GUI_OUTPUT) + promptgroup("40 - Input") interest(1) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(HIGH,DBF_DOUBLE) { prompt("Seconds to Hold High") - promptgroup(GUI_OUTPUT) + promptgroup("30 - Action") interest(1) } field(ZNAM,DBF_STRING) { prompt("Zero Name") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -46,7 +46,7 @@ recordtype(bo) { } field(ONAM,DBF_STRING) { prompt("One Name") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -80,21 +80,21 @@ recordtype(bo) { } field(ZSV,DBF_MENU) { prompt("Zero Error Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(OSV,DBF_MENU) { prompt("One Error Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Sevr") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) @@ -120,12 +120,12 @@ recordtype(bo) { } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -135,19 +135,19 @@ recordtype(bo) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID outpt action") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_USHORT) { prompt("INVALID output value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) } } diff --git a/src/std/rec/calcRecord.dbd b/src/std/rec/calcRecord.dbd index 27c21da95..d4ade27e6 100644 --- a/src/std/rec/calcRecord.dbd +++ b/src/std/rec/calcRecord.dbd @@ -10,11 +10,12 @@ recordtype(calc) { include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Result") - asl(ASL0) + promptgroup("50 - Output") + asl(ASL0) } field(CALC,DBF_STRING) { prompt("Calculation") - promptgroup(GUI_CALC) + promptgroup("30 - Action") special(SPC_CALC) pp(TRUE) size(80) @@ -22,120 +23,120 @@ recordtype(calc) { } field(INPA,DBF_INLINK) { prompt("Input A") - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(EGU,DBF_STRING) { - prompt("Units Name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Rng") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -143,7 +144,7 @@ recordtype(calc) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -151,7 +152,7 @@ recordtype(calc) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -159,7 +160,7 @@ recordtype(calc) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -167,7 +168,7 @@ recordtype(calc) { } field(AFTC, DBF_DOUBLE) { prompt("Alarm Filter Time Constant") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(AFVL, DBF_DOUBLE) { @@ -177,17 +178,17 @@ recordtype(calc) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/calcoutRecord.dbd b/src/std/rec/calcoutRecord.dbd index 4b6e2a5e2..fecf19112 100644 --- a/src/std/rec/calcoutRecord.dbd +++ b/src/std/rec/calcoutRecord.dbd @@ -34,7 +34,7 @@ recordtype(calcout) { } field(VAL,DBF_DOUBLE) { prompt("Result") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") asl(ASL0) } field(PVAL,DBF_DOUBLE) { @@ -42,7 +42,7 @@ recordtype(calcout) { } field(CALC,DBF_STRING) { prompt("Calculation") - promptgroup(GUI_CALC) + promptgroup("30 - Action") special(SPC_CALC) pp(TRUE) size(80) @@ -55,79 +55,79 @@ recordtype(calcout) { field(INPA,DBF_INLINK) { prompt("Input A") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") special(SPC_MOD) - promptgroup(GUI_CALC) + promptgroup("42 - Input G-L") interest(1) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") special(SPC_MOD) - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(INAV,DBF_MENU) { @@ -222,13 +222,13 @@ recordtype(calcout) { } field(OOPT,DBF_MENU) { prompt("Output Execute Opt") - promptgroup(GUI_CALC) + promptgroup("50 - Output") interest(1) menu(calcoutOOPT) } field(ODLY,DBF_DOUBLE) { prompt("Output Execute Delay") - promptgroup(GUI_ALARMS) + promptgroup("50 - Output") asl(ASL0) interest(1) } @@ -239,13 +239,13 @@ recordtype(calcout) { } field(DOPT,DBF_MENU) { prompt("Output Data Opt") - promptgroup(GUI_CALC) + promptgroup("30 - Action") interest(1) menu(calcoutDOPT) } field(OCAL,DBF_STRING) { prompt("Output Calculation") - promptgroup(GUI_CALC) + promptgroup("30 - Action") special(SPC_CALC) pp(TRUE) size(80) @@ -257,7 +257,7 @@ recordtype(calcout) { } field(OEVT,DBF_STRING) { prompt("Event To Issue") - promptgroup(GUI_CLOCK) + promptgroup("30 - Action") special(SPC_MOD) asl(ASL0) size(40) @@ -271,71 +271,71 @@ recordtype(calcout) { } field(IVOA,DBF_MENU) { prompt("INVALID output action") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_DOUBLE) { prompt("INVALID output value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) } field(EGU,DBF_STRING) { - prompt("Units Name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Rng") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -343,7 +343,7 @@ recordtype(calcout) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -351,7 +351,7 @@ recordtype(calcout) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -359,7 +359,7 @@ recordtype(calcout) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -367,17 +367,17 @@ recordtype(calcout) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/compressRecord.dbd.pod b/src/std/rec/compressRecord.dbd.pod index 97b84a9a0..1d9a10ed5 100644 --- a/src/std/rec/compressRecord.dbd.pod +++ b/src/std/rec/compressRecord.dbd.pod @@ -60,7 +60,7 @@ recordtype(compress) { } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_COMPRESS) + promptgroup("40 - Input") interest(1) } field(RES,DBF_SHORT) { @@ -71,57 +71,57 @@ recordtype(compress) { } field(ALG,DBF_MENU) { prompt("Compression Algorithm") - promptgroup(GUI_ALARMS) + promptgroup("30 - Action") special(SPC_RESET) interest(1) menu(compressALG) } field(NSAM,DBF_ULONG) { prompt("Number of Values") - promptgroup(GUI_COMPRESS) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(N,DBF_ULONG) { prompt("N to 1 Compression") - promptgroup(GUI_COMPRESS) + promptgroup("30 - Action") special(SPC_RESET) interest(1) initial("1") } field(IHIL,DBF_DOUBLE) { prompt("Init High Interest Lim") - promptgroup(GUI_COMPRESS) + promptgroup("30 - Action") interest(1) } field(ILIL,DBF_DOUBLE) { prompt("Init Low Interest Lim") - promptgroup(GUI_COMPRESS) + promptgroup("30 - Action") interest(1) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(EGU,DBF_STRING) { - prompt("EngineeringUnits") - promptgroup(GUI_DISPLAY) - interest(1) + prompt("Engineering Units") + promptgroup("80 - Display") + interest(1) size(16) prop(YES) } diff --git a/src/std/rec/dfanoutRecord.dbd b/src/std/rec/dfanoutRecord.dbd index 4e61907c7..f8bcef5c0 100644 --- a/src/std/rec/dfanoutRecord.dbd +++ b/src/std/rec/dfanoutRecord.dbd @@ -16,12 +16,13 @@ recordtype(dfanout) { include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Desired Output") - asl(ASL0) + promptgroup("40 - Input") + asl(ASL0) pp(TRUE) } field(SELM,DBF_MENU) { prompt("Select Mechanism") - promptgroup(GUI_LINKS) + promptgroup("30 - Action") interest(1) menu(dfanoutSELM) } @@ -32,116 +33,116 @@ recordtype(dfanout) { } field(SELL,DBF_INLINK) { prompt("Link Selection Loc") - promptgroup(GUI_LINKS) + promptgroup("30 - Action") interest(1) } field(OUTA,DBF_OUTLINK) { prompt("Output Spec A") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OUTB,DBF_OUTLINK) { prompt("Output Spec B") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OUTC,DBF_OUTLINK) { prompt("Output Spec C") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OUTD,DBF_OUTLINK) { prompt("Output Spec D") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OUTE,DBF_OUTLINK) { prompt("Output Spec E") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OUTF,DBF_OUTLINK) { prompt("Output Spec F") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OUTG,DBF_OUTLINK) { prompt("Output Spec G") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(OUTH,DBF_OUTLINK) { prompt("Output Spec H") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(EGU,DBF_STRING) { - prompt("Units name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -149,7 +150,7 @@ recordtype(dfanout) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -157,7 +158,7 @@ recordtype(dfanout) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -165,7 +166,7 @@ recordtype(dfanout) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -173,17 +174,17 @@ recordtype(dfanout) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(LALM,DBF_DOUBLE) { diff --git a/src/std/rec/eventRecord.dbd b/src/std/rec/eventRecord.dbd index 842d2b1c0..887362109 100644 --- a/src/std/rec/eventRecord.dbd +++ b/src/std/rec/eventRecord.dbd @@ -11,7 +11,7 @@ recordtype(event) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Event Name To Post") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") special(SPC_MOD) asl(ASL0) size(40) @@ -25,12 +25,12 @@ recordtype(event) { } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_STRING) { @@ -39,7 +39,7 @@ recordtype(event) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -49,7 +49,7 @@ recordtype(event) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/fanoutRecord.dbd b/src/std/rec/fanoutRecord.dbd index 8ad9209fc..15611a302 100644 --- a/src/std/rec/fanoutRecord.dbd +++ b/src/std/rec/fanoutRecord.dbd @@ -20,7 +20,7 @@ recordtype(fanout) { } field(SELM,DBF_MENU) { prompt("Select Mechanism") - promptgroup(GUI_LINKS) + promptgroup("30 - Action") interest(1) menu(fanoutSELM) } @@ -31,7 +31,7 @@ recordtype(fanout) { } field(SELL,DBF_INLINK) { prompt("Link Selection Loc") - promptgroup(GUI_LINKS) + promptgroup("30 - Action") interest(1) } field(OFFS,DBF_SHORT) { @@ -46,82 +46,82 @@ recordtype(fanout) { } field(LNK0,DBF_FWDLINK) { prompt("Forward Link 0") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK1,DBF_FWDLINK) { prompt("Forward Link 1") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK2,DBF_FWDLINK) { prompt("Forward Link 2") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK3,DBF_FWDLINK) { prompt("Forward Link 3") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK4,DBF_FWDLINK) { prompt("Forward Link 4") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK5,DBF_FWDLINK) { prompt("Forward Link 5") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK6,DBF_FWDLINK) { prompt("Forward Link 6") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK7,DBF_FWDLINK) { prompt("Forward Link 7") - promptgroup(GUI_LINKS) + promptgroup("51 - Output 0-7") interest(1) } field(LNK8,DBF_FWDLINK) { prompt("Forward Link 8") - promptgroup(GUI_LINKS) + promptgroup("52 - Output 8-F") interest(1) } field(LNK9,DBF_FWDLINK) { prompt("Forward Link 9") - promptgroup(GUI_LINKS) + promptgroup("52 - Output 8-F") interest(1) } field(LNKA,DBF_FWDLINK) { prompt("Forward Link 10") - promptgroup(GUI_LINKS) + promptgroup("52 - Output 8-F") interest(1) } field(LNKB,DBF_FWDLINK) { prompt("Forward Link 11") - promptgroup(GUI_LINKS) + promptgroup("52 - Output 8-F") interest(1) } field(LNKC,DBF_FWDLINK) { prompt("Forward Link 12") - promptgroup(GUI_LINKS) + promptgroup("52 - Output 8-F") interest(1) } field(LNKD,DBF_FWDLINK) { prompt("Forward Link 13") - promptgroup(GUI_LINKS) + promptgroup("52 - Output 8-F") interest(1) } field(LNKE,DBF_FWDLINK) { prompt("Forward Link 14") - promptgroup(GUI_LINKS) + promptgroup("52 - Output 8-F") interest(1) } field(LNKF,DBF_FWDLINK) { prompt("Forward Link 15") - promptgroup(GUI_LINKS) - interest(1) + promptgroup("52 - Output 8-F") + interest(1) } } diff --git a/src/std/rec/histogramRecord.dbd b/src/std/rec/histogramRecord.dbd index 08fc12d4f..32c2cf3fb 100644 --- a/src/std/rec/histogramRecord.dbd +++ b/src/std/rec/histogramRecord.dbd @@ -26,7 +26,7 @@ recordtype(histogram) { } field(NELM,DBF_USHORT) { prompt("Num of Array Elements") - promptgroup(GUI_HIST) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") @@ -40,20 +40,20 @@ recordtype(histogram) { field(CMD,DBF_MENU) { prompt("Collection Control") asl(ASL0) - special(SPC_CALC) + special(SPC_CALC) interest(1) menu(histogramCMD) } field(ULIM,DBF_DOUBLE) { prompt("Upper Signal Limit") - promptgroup(GUI_HIST) + promptgroup("30 - Action") special(SPC_RESET) interest(1) prop(YES) } field(LLIM,DBF_DOUBLE) { prompt("Lower Signal Limit ") - promptgroup(GUI_HIST) + promptgroup("30 - Action") special(SPC_RESET) interest(1) prop(YES) @@ -69,13 +69,13 @@ recordtype(histogram) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(SVL,DBF_INLINK) { prompt("Signal Value Location") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(BPTR,DBF_NOACCESS) { @@ -92,7 +92,7 @@ recordtype(histogram) { } field(MDEL,DBF_SHORT) { prompt("Monitor Count Deadband") - promptgroup(GUI_HIST) + promptgroup("80 - Display") interest(1) } field(MCNT,DBF_SHORT) { @@ -102,13 +102,13 @@ recordtype(histogram) { } field(SDEL,DBF_DOUBLE) { prompt("Monitor Seconds Dband") - promptgroup(GUI_HIST) + promptgroup("80 - Display") special(SPC_RESET) interest(1) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_DOUBLE) { @@ -116,7 +116,7 @@ recordtype(histogram) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -126,19 +126,19 @@ recordtype(histogram) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(HOPR,DBF_ULONG) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_ULONG) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } diff --git a/src/std/rec/longinRecord.dbd b/src/std/rec/longinRecord.dbd index 5c038f9db..c8c63d270 100644 --- a/src/std/rec/longinRecord.dbd +++ b/src/std/rec/longinRecord.dbd @@ -11,98 +11,98 @@ recordtype(longin) { include "dbCommon.dbd" field(VAL,DBF_LONG) { prompt("Current value") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Units name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_LONG) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_LONG) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_LONG) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_LONG) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_LONG) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_LONG) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HYST,DBF_LONG) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(AFTC, DBF_DOUBLE) { prompt("Alarm Filter Time Constant") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(AFVL, DBF_DOUBLE) { @@ -112,12 +112,12 @@ recordtype(longin) { } field(ADEL,DBF_LONG) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_LONG) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(LALM,DBF_LONG) { @@ -137,7 +137,7 @@ recordtype(longin) { } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_LONG) { @@ -145,7 +145,7 @@ recordtype(longin) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -155,7 +155,7 @@ recordtype(longin) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/longoutRecord.dbd b/src/std/rec/longoutRecord.dbd index 5124aafe8..9fcdf2ff5 100644 --- a/src/std/rec/longoutRecord.dbd +++ b/src/std/rec/longoutRecord.dbd @@ -11,128 +11,128 @@ recordtype(longout) { include "dbCommon.dbd" field(VAL,DBF_LONG) { prompt("Desired Output") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") asl(ASL0) pp(TRUE) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup(GUI_OUTPUT) + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(EGU,DBF_STRING) { - prompt("Units name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(DRVH,DBF_LONG) { prompt("Drive High Limit") - promptgroup(GUI_OUTPUT) + promptgroup("30 - Action") pp(TRUE) interest(1) prop(YES) } field(DRVL,DBF_LONG) { prompt("Drive Low Limit") - promptgroup(GUI_OUTPUT) + promptgroup("30 - Action") pp(TRUE) interest(1) prop(YES) } field(HOPR,DBF_LONG) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_LONG) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_LONG) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_LONG) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_LONG) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_LONG) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HYST,DBF_LONG) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_LONG) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_LONG) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(LALM,DBF_LONG) { @@ -152,12 +152,12 @@ recordtype(longout) { } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -167,19 +167,19 @@ recordtype(longout) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID output action") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_LONG) { prompt("INVALID output value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) } } diff --git a/src/std/rec/lsiRecord.dbd b/src/std/rec/lsiRecord.dbd index be14cf552..c50d905d8 100644 --- a/src/std/rec/lsiRecord.dbd +++ b/src/std/rec/lsiRecord.dbd @@ -34,7 +34,7 @@ recordtype(lsi) { } field(SIZV,DBF_USHORT) { prompt("Size of buffers") - promptgroup(GUI_OUTPUT) + promptgroup("40 - Input") special(SPC_NOMOD) interest(1) initial("41") @@ -49,24 +49,24 @@ recordtype(lsi) { } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(menuPost) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(menuPost) } field(SIML,DBF_INLINK) { prompt("Simulation Mode Link") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) } field(SIMM,DBF_MENU) { @@ -76,13 +76,13 @@ recordtype(lsi) { } field(SIMS,DBF_MENU) { prompt("Simulation Mode Severity") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) } } diff --git a/src/std/rec/lsoRecord.dbd b/src/std/rec/lsoRecord.dbd index 48ddea810..69203f2d0 100644 --- a/src/std/rec/lsoRecord.dbd +++ b/src/std/rec/lsoRecord.dbd @@ -34,7 +34,7 @@ recordtype(lso) { } field(SIZV,DBF_USHORT) { prompt("Size of buffers") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") special(SPC_NOMOD) interest(1) initial("41") @@ -50,47 +50,47 @@ recordtype(lso) { } field(DOL,DBF_INLINK) { prompt("Desired Output Link") - promptgroup(GUI_OUTPUT) + promptgroup("40 - Input") interest(1) } field(IVOA,DBF_MENU) { prompt("INVALID Output Action") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_STRING) { prompt("INVALID Output Value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) size(40) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(menuPost) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(menuPost) } field(SIML,DBF_INLINK) { prompt("Sim Mode link") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -100,13 +100,13 @@ recordtype(lso) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } } diff --git a/src/std/rec/mbbiDirectRecord.dbd b/src/std/rec/mbbiDirectRecord.dbd index a72c24070..3fa3d8823 100644 --- a/src/std/rec/mbbiDirectRecord.dbd +++ b/src/std/rec/mbbiDirectRecord.dbd @@ -10,19 +10,19 @@ recordtype(mbbiDirect) { include "dbCommon.dbd" field(VAL,DBF_USHORT) { prompt("Current Value") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(NOBT,DBF_SHORT) { prompt("Number of Bits") - promptgroup(GUI_MBB) + promptgroup("40 - Input") special(SPC_NOMOD) interest(1) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_MBB) + promptgroup("40 - Input") interest(1) } field(RVAL,DBF_ULONG) { @@ -46,12 +46,12 @@ recordtype(mbbiDirect) { } field(SHFT,DBF_USHORT) { prompt("Shift") - promptgroup(GUI_MBB) + promptgroup("40 - Input") interest(1) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_ULONG) { @@ -59,7 +59,7 @@ recordtype(mbbiDirect) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -69,7 +69,7 @@ recordtype(mbbiDirect) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/mbbiRecord.dbd b/src/std/rec/mbbiRecord.dbd index ffc37cfaf..d22c287f6 100644 --- a/src/std/rec/mbbiRecord.dbd +++ b/src/std/rec/mbbiRecord.dbd @@ -10,24 +10,24 @@ recordtype(mbbi) { include "dbCommon.dbd" field(VAL,DBF_ENUM) { prompt("Current Value") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(NOBT,DBF_USHORT) { prompt("Number of Bits") - promptgroup(GUI_MBB) + promptgroup("40 - Input") special(SPC_NOMOD) interest(1) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_MBB) + promptgroup("40 - Input") interest(1) } field(ZRVL,DBF_ULONG) { prompt("Zero Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -35,7 +35,7 @@ recordtype(mbbi) { } field(ONVL,DBF_ULONG) { prompt("One Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -43,7 +43,7 @@ recordtype(mbbi) { } field(TWVL,DBF_ULONG) { prompt("Two Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -51,7 +51,7 @@ recordtype(mbbi) { } field(THVL,DBF_ULONG) { prompt("Three Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -59,7 +59,7 @@ recordtype(mbbi) { } field(FRVL,DBF_ULONG) { prompt("Four Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -67,7 +67,7 @@ recordtype(mbbi) { } field(FVVL,DBF_ULONG) { prompt("Five Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -75,7 +75,7 @@ recordtype(mbbi) { } field(SXVL,DBF_ULONG) { prompt("Six Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -83,7 +83,7 @@ recordtype(mbbi) { } field(SVVL,DBF_ULONG) { prompt("Seven Value") - promptgroup(GUI_BITS1) + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -91,7 +91,7 @@ recordtype(mbbi) { } field(EIVL,DBF_ULONG) { prompt("Eight Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -99,7 +99,7 @@ recordtype(mbbi) { } field(NIVL,DBF_ULONG) { prompt("Nine Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -107,7 +107,7 @@ recordtype(mbbi) { } field(TEVL,DBF_ULONG) { prompt("Ten Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -115,7 +115,7 @@ recordtype(mbbi) { } field(ELVL,DBF_ULONG) { prompt("Eleven Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -123,7 +123,7 @@ recordtype(mbbi) { } field(TVVL,DBF_ULONG) { prompt("Twelve Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -131,7 +131,7 @@ recordtype(mbbi) { } field(TTVL,DBF_ULONG) { prompt("Thirteen Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -139,7 +139,7 @@ recordtype(mbbi) { } field(FTVL,DBF_ULONG) { prompt("Fourteen Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -147,7 +147,7 @@ recordtype(mbbi) { } field(FFVL,DBF_ULONG) { prompt("Fifteen Value") - promptgroup(GUI_BITS2) + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -155,7 +155,7 @@ recordtype(mbbi) { } field(ZRST,DBF_STRING) { prompt("Zero String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -163,7 +163,7 @@ recordtype(mbbi) { } field(ONST,DBF_STRING) { prompt("One String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -171,7 +171,7 @@ recordtype(mbbi) { } field(TWST,DBF_STRING) { prompt("Two String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -179,7 +179,7 @@ recordtype(mbbi) { } field(THST,DBF_STRING) { prompt("Three String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -187,7 +187,7 @@ recordtype(mbbi) { } field(FRST,DBF_STRING) { prompt("Four String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -195,7 +195,7 @@ recordtype(mbbi) { } field(FVST,DBF_STRING) { prompt("Five String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -203,7 +203,7 @@ recordtype(mbbi) { } field(SXST,DBF_STRING) { prompt("Six String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -211,7 +211,7 @@ recordtype(mbbi) { } field(SVST,DBF_STRING) { prompt("Seven String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -219,7 +219,7 @@ recordtype(mbbi) { } field(EIST,DBF_STRING) { prompt("Eight String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -227,7 +227,7 @@ recordtype(mbbi) { } field(NIST,DBF_STRING) { prompt("Nine String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -235,7 +235,7 @@ recordtype(mbbi) { } field(TEST,DBF_STRING) { prompt("Ten String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -243,7 +243,7 @@ recordtype(mbbi) { } field(ELST,DBF_STRING) { prompt("Eleven String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -251,7 +251,7 @@ recordtype(mbbi) { } field(TVST,DBF_STRING) { prompt("Twelve String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -259,7 +259,7 @@ recordtype(mbbi) { } field(TTST,DBF_STRING) { prompt("Thirteen String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -267,7 +267,7 @@ recordtype(mbbi) { } field(FTST,DBF_STRING) { prompt("Fourteen String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -275,7 +275,7 @@ recordtype(mbbi) { } field(FFST,DBF_STRING) { prompt("Fifteen String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -283,119 +283,119 @@ recordtype(mbbi) { } field(ZRSV,DBF_MENU) { prompt("State Zero Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ONSV,DBF_MENU) { prompt("State One Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TWSV,DBF_MENU) { prompt("State Two Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(THSV,DBF_MENU) { prompt("State Three Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FRSV,DBF_MENU) { prompt("State Four Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FVSV,DBF_MENU) { prompt("State Five Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SXSV,DBF_MENU) { prompt("State Six Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SVSV,DBF_MENU) { prompt("State Seven Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(EISV,DBF_MENU) { prompt("State Eight Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(NISV,DBF_MENU) { prompt("State Nine Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TESV,DBF_MENU) { prompt("State Ten Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ELSV,DBF_MENU) { prompt("State Eleven Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TVSV,DBF_MENU) { prompt("State Twelve Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TTSV,DBF_MENU) { prompt("State Thirteen Sevr") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FTSV,DBF_MENU) { prompt("State Fourteen Sevr") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FFSV,DBF_MENU) { prompt("State Fifteen Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(AFTC, DBF_DOUBLE) { prompt("Alarm Filter Time Constant") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(AFVL, DBF_DOUBLE) { @@ -405,14 +405,14 @@ recordtype(mbbi) { } field(UNSV,DBF_MENU) { prompt("Unknown State Severity") - promptgroup(GUI_MBB) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Svr") - promptgroup(GUI_MBB) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) @@ -448,12 +448,12 @@ recordtype(mbbi) { } field(SHFT,DBF_USHORT) { prompt("Shift") - promptgroup(GUI_MBB) + promptgroup("40 - Input") interest(1) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_ULONG) { @@ -461,7 +461,7 @@ recordtype(mbbi) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -471,7 +471,7 @@ recordtype(mbbi) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/mbboDirectRecord.dbd b/src/std/rec/mbboDirectRecord.dbd index df2927de5..0b4285e32 100644 --- a/src/std/rec/mbboDirectRecord.dbd +++ b/src/std/rec/mbboDirectRecord.dbd @@ -10,13 +10,13 @@ recordtype(mbboDirect) { include "dbCommon.dbd" field(VAL,DBF_USHORT) { prompt("Word") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") asl(ASL0) pp(TRUE) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_MBB) + promptgroup("50 - Output") special(SPC_RESET) pp(TRUE) interest(1) @@ -24,128 +24,128 @@ recordtype(mbboDirect) { } field(NOBT,DBF_SHORT) { prompt("Number of Bits") - promptgroup(GUI_MBB) + promptgroup("50 - Output") special(SPC_NOMOD) interest(1) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup(GUI_MBB) + promptgroup("40 - Input") interest(1) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(1) } field(B0,DBF_UCHAR) { prompt("Bit 0") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B1,DBF_UCHAR) { prompt("Bit 1") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B2,DBF_UCHAR) { prompt("Bit 2") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B3,DBF_UCHAR) { prompt("Bit 3") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B4,DBF_UCHAR) { prompt("Bit 4") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B5,DBF_UCHAR) { prompt("Bit 5") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B6,DBF_UCHAR) { prompt("Bit 6") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B7,DBF_UCHAR) { prompt("Bit 7") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) interest(1) } field(B8,DBF_UCHAR) { prompt("Bit 8") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) } field(B9,DBF_UCHAR) { prompt("Bit 9") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) } field(BA,DBF_UCHAR) { prompt("Bit 10") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) } field(BB,DBF_UCHAR) { prompt("Bit 11") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) } field(BC,DBF_UCHAR) { prompt("Bit 12") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) } field(BD,DBF_UCHAR) { prompt("Bit 13") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) } field(BE,DBF_UCHAR) { prompt("Bit 14") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) } field(BF,DBF_UCHAR) { prompt("Bit 15") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 9-F") special(SPC_MOD) pp(TRUE) interest(1) @@ -181,17 +181,17 @@ recordtype(mbboDirect) { } field(SHFT,DBF_ULONG) { prompt("Shift") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(1) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -201,19 +201,19 @@ recordtype(mbboDirect) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID outpt action") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_USHORT) { prompt("INVALID output value") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(2) } } diff --git a/src/std/rec/mbboRecord.dbd b/src/std/rec/mbboRecord.dbd index 1a32ad1cd..e61413f1f 100644 --- a/src/std/rec/mbboRecord.dbd +++ b/src/std/rec/mbboRecord.dbd @@ -10,7 +10,7 @@ recordtype(mbbo) { include "dbCommon.dbd" field(VAL,DBF_ENUM) { prompt("Desired Value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") special(SPC_DBADDR) asl(ASL0) pp(TRUE) @@ -19,29 +19,29 @@ recordtype(mbbo) { } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup(GUI_MBB) + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(NOBT,DBF_USHORT) { prompt("Number of Bits") - promptgroup(GUI_MBB) + promptgroup("50 - Output") special(SPC_NOMOD) interest(1) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(1) } field(ZRVL,DBF_ULONG) { prompt("Zero Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -49,7 +49,7 @@ recordtype(mbbo) { } field(ONVL,DBF_ULONG) { prompt("One Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -57,7 +57,7 @@ recordtype(mbbo) { } field(TWVL,DBF_ULONG) { prompt("Two Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -65,7 +65,7 @@ recordtype(mbbo) { } field(THVL,DBF_ULONG) { prompt("Three Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -73,7 +73,7 @@ recordtype(mbbo) { } field(FRVL,DBF_ULONG) { prompt("Four Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -81,7 +81,7 @@ recordtype(mbbo) { } field(FVVL,DBF_ULONG) { prompt("Five Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -89,7 +89,7 @@ recordtype(mbbo) { } field(SXVL,DBF_ULONG) { prompt("Six Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -97,7 +97,7 @@ recordtype(mbbo) { } field(SVVL,DBF_ULONG) { prompt("Seven Value") - promptgroup(GUI_BITS1) + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -105,7 +105,7 @@ recordtype(mbbo) { } field(EIVL,DBF_ULONG) { prompt("Eight Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -113,7 +113,7 @@ recordtype(mbbo) { } field(NIVL,DBF_ULONG) { prompt("Nine Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -121,7 +121,7 @@ recordtype(mbbo) { } field(TEVL,DBF_ULONG) { prompt("Ten Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -129,7 +129,7 @@ recordtype(mbbo) { } field(ELVL,DBF_ULONG) { prompt("Eleven Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -137,7 +137,7 @@ recordtype(mbbo) { } field(TVVL,DBF_ULONG) { prompt("Twelve Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -145,7 +145,7 @@ recordtype(mbbo) { } field(TTVL,DBF_ULONG) { prompt("Thirteen Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -153,7 +153,7 @@ recordtype(mbbo) { } field(FTVL,DBF_ULONG) { prompt("Fourteen Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -161,7 +161,7 @@ recordtype(mbbo) { } field(FFVL,DBF_ULONG) { prompt("Fifteen Value") - promptgroup(GUI_BITS2) + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -169,7 +169,7 @@ recordtype(mbbo) { } field(ZRST,DBF_STRING) { prompt("Zero String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -177,7 +177,7 @@ recordtype(mbbo) { } field(ONST,DBF_STRING) { prompt("One String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -185,7 +185,7 @@ recordtype(mbbo) { } field(TWST,DBF_STRING) { prompt("Two String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -193,7 +193,7 @@ recordtype(mbbo) { } field(THST,DBF_STRING) { prompt("Three String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -201,7 +201,7 @@ recordtype(mbbo) { } field(FRST,DBF_STRING) { prompt("Four String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -209,7 +209,7 @@ recordtype(mbbo) { } field(FVST,DBF_STRING) { prompt("Five String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -217,7 +217,7 @@ recordtype(mbbo) { } field(SXST,DBF_STRING) { prompt("Six String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -225,7 +225,7 @@ recordtype(mbbo) { } field(SVST,DBF_STRING) { prompt("Seven String") - promptgroup(GUI_BITS1) + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -233,7 +233,7 @@ recordtype(mbbo) { } field(EIST,DBF_STRING) { prompt("Eight String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -241,7 +241,7 @@ recordtype(mbbo) { } field(NIST,DBF_STRING) { prompt("Nine String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -249,7 +249,7 @@ recordtype(mbbo) { } field(TEST,DBF_STRING) { prompt("Ten String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -257,7 +257,7 @@ recordtype(mbbo) { } field(ELST,DBF_STRING) { prompt("Eleven String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -265,7 +265,7 @@ recordtype(mbbo) { } field(TVST,DBF_STRING) { prompt("Twelve String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -273,7 +273,7 @@ recordtype(mbbo) { } field(TTST,DBF_STRING) { prompt("Thirteen String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -281,7 +281,7 @@ recordtype(mbbo) { } field(FTST,DBF_STRING) { prompt("Fourteen String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -289,7 +289,7 @@ recordtype(mbbo) { } field(FFST,DBF_STRING) { prompt("Fifteen String") - promptgroup(GUI_BITS2) + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -297,126 +297,126 @@ recordtype(mbbo) { } field(ZRSV,DBF_MENU) { prompt("State Zero Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ONSV,DBF_MENU) { prompt("State One Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TWSV,DBF_MENU) { prompt("State Two Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(THSV,DBF_MENU) { prompt("State Three Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FRSV,DBF_MENU) { prompt("State Four Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FVSV,DBF_MENU) { prompt("State Five Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SXSV,DBF_MENU) { prompt("State Six Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SVSV,DBF_MENU) { prompt("State Seven Severity") - promptgroup(GUI_BITS1) + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(EISV,DBF_MENU) { prompt("State Eight Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(NISV,DBF_MENU) { prompt("State Nine Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TESV,DBF_MENU) { prompt("State Ten Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ELSV,DBF_MENU) { prompt("State Eleven Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TVSV,DBF_MENU) { prompt("State Twelve Severity") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TTSV,DBF_MENU) { prompt("State Thirteen Sevr") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FTSV,DBF_MENU) { prompt("State Fourteen Sevr") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FFSV,DBF_MENU) { prompt("State Fifteen Sevr") - promptgroup(GUI_BITS2) + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(UNSV,DBF_MENU) { prompt("Unknown State Sevr") - promptgroup(GUI_MBB) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Sevr") - promptgroup(GUI_MBB) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) @@ -461,17 +461,17 @@ recordtype(mbbo) { } field(SHFT,DBF_USHORT) { prompt("Shift") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(1) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -481,19 +481,19 @@ recordtype(mbbo) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_MBB) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID outpt action") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_USHORT) { prompt("INVALID output value") - promptgroup(GUI_MBB) + promptgroup("50 - Output") interest(2) } } diff --git a/src/std/rec/permissiveRecord.dbd b/src/std/rec/permissiveRecord.dbd index 6e999175f..560502952 100644 --- a/src/std/rec/permissiveRecord.dbd +++ b/src/std/rec/permissiveRecord.dbd @@ -11,14 +11,15 @@ recordtype(permissive) { include "dbCommon.dbd" field(LABL,DBF_STRING) { prompt("Button Label") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") pp(TRUE) interest(1) size(20) } field(VAL,DBF_USHORT) { prompt("Status") - asl(ASL0) + promptgroup("40 - Input") + asl(ASL0) pp(TRUE) } field(OVAL,DBF_USHORT) { diff --git a/src/std/rec/printfRecord.dbd b/src/std/rec/printfRecord.dbd index 37beccebf..4fd63ef3c 100644 --- a/src/std/rec/printfRecord.dbd +++ b/src/std/rec/printfRecord.dbd @@ -28,7 +28,7 @@ recordtype(printf) { } field(SIZV,DBF_USHORT) { prompt("Size of VAL buffer") - promptgroup(GUI_OUTPUT) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("41") @@ -39,69 +39,69 @@ recordtype(printf) { } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(FMT,DBF_STRING) { prompt("Format String") - promptgroup(GUI_CALC) + promptgroup("30 - Action") pp(TRUE) size(81) } field(IVLS,DBF_STRING) { prompt("Invalid Link String") - promptgroup(GUI_CALC) + promptgroup("30 - Action") size(16) initial("LNK") } field(INP0,DBF_INLINK) { prompt("Input 0") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP1,DBF_INLINK) { prompt("Input 1") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP2,DBF_INLINK) { prompt("Input 2") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP3,DBF_INLINK) { prompt("Input 3") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP4,DBF_INLINK) { prompt("Input 4") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP5,DBF_INLINK) { prompt("Input 5") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP6,DBF_INLINK) { prompt("Input 6") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP7,DBF_INLINK) { prompt("Input 7") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP8,DBF_INLINK) { prompt("Input 8") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(INP9,DBF_INLINK) { prompt("Input 9") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } %/* Number of INPx fields defined */ diff --git a/src/std/rec/selRecord.dbd b/src/std/rec/selRecord.dbd index 0d01586a0..2f5543e4c 100644 --- a/src/std/rec/selRecord.dbd +++ b/src/std/rec/selRecord.dbd @@ -17,12 +17,13 @@ recordtype(sel) { include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Result") - asl(ASL0) + promptgroup("40 - Input") + asl(ASL0) special(SPC_NOMOD) } field(SELM,DBF_MENU) { prompt("Select Mechanism") - promptgroup(GUI_INPUTS) + promptgroup("30 - Action") menu(selSELM) } field(SELN,DBF_USHORT) { @@ -30,124 +31,124 @@ recordtype(sel) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(NVL,DBF_INLINK) { prompt("Index Value Location") - promptgroup(GUI_INPUTS) + promptgroup("30 - Action") interest(1) } field(INPA,DBF_INLINK) { prompt("Input A") - promptgroup(GUI_SELECT) + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") - promptgroup(GUI_SELECT) + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") - promptgroup(GUI_SELECT) + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") - promptgroup(GUI_SELECT) + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") - promptgroup(GUI_SELECT) + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") - promptgroup(GUI_SELECT) + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") - promptgroup(GUI_SELECT) + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") - promptgroup(GUI_SELECT) + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") - promptgroup(GUI_SELECT) + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") - promptgroup(GUI_SELECT) + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") - promptgroup(GUI_SELECT) + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") - promptgroup(GUI_SELECT) + promptgroup("42 - Input G-L") interest(1) } field(EGU,DBF_STRING) { - prompt("Units Name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Rng") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) - pp(TRUE) + promptgroup("70 - Alarm") + pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -155,7 +156,7 @@ recordtype(sel) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -163,7 +164,7 @@ recordtype(sel) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -171,7 +172,7 @@ recordtype(sel) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -179,17 +180,17 @@ recordtype(sel) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/seqRecord.dbd b/src/std/rec/seqRecord.dbd index 3ef3d3ef9..c40d17c38 100644 --- a/src/std/rec/seqRecord.dbd +++ b/src/std/rec/seqRecord.dbd @@ -20,7 +20,7 @@ recordtype(seq) { } field(SELM,DBF_MENU) { prompt("Select Mechanism") - promptgroup(GUI_INPUTS) + promptgroup("30 - Action") interest(1) menu(seqSELM) } @@ -31,7 +31,7 @@ recordtype(seq) { } field(SELL,DBF_INLINK) { prompt("Link Selection Loc") - promptgroup(GUI_INPUTS) + promptgroup("30 - Action") interest(1) } field(OFFS,DBF_SHORT) { @@ -50,17 +50,17 @@ recordtype(seq) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(DLY0,DBF_DOUBLE) { prompt("Delay 0") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DOL0,DBF_INLINK) { prompt("Input link 0") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DO0,DBF_DOUBLE) { @@ -69,17 +69,17 @@ recordtype(seq) { } field(LNK0,DBF_OUTLINK) { prompt("Output Link 0") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DLY1,DBF_DOUBLE) { prompt("Delay 1") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DOL1,DBF_INLINK) { prompt("Input link1") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DO1,DBF_DOUBLE) { @@ -88,17 +88,17 @@ recordtype(seq) { } field(LNK1,DBF_OUTLINK) { prompt("Output Link 1") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DLY2,DBF_DOUBLE) { prompt("Delay 2") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DOL2,DBF_INLINK) { prompt("Input link 2") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DO2,DBF_DOUBLE) { @@ -107,17 +107,17 @@ recordtype(seq) { } field(LNK2,DBF_OUTLINK) { prompt("Output Link 2") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DLY3,DBF_DOUBLE) { prompt("Delay 3") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DOL3,DBF_INLINK) { prompt("Input link 3") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DO3,DBF_DOUBLE) { @@ -126,17 +126,17 @@ recordtype(seq) { } field(LNK3,DBF_OUTLINK) { prompt("Output Link 3") - promptgroup(GUI_SEQ1) + promptgroup("41 - Link 0-7") interest(1) } field(DLY4,DBF_DOUBLE) { prompt("Delay 4") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DOL4,DBF_INLINK) { prompt("Input link 4") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DO4,DBF_DOUBLE) { @@ -145,17 +145,17 @@ recordtype(seq) { } field(LNK4,DBF_OUTLINK) { prompt("Output Link 4") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DLY5,DBF_DOUBLE) { prompt("Delay 5") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DOL5,DBF_INLINK) { prompt("Input link 5") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DO5,DBF_DOUBLE) { @@ -164,17 +164,17 @@ recordtype(seq) { } field(LNK5,DBF_OUTLINK) { prompt("Output Link 5") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DLY6,DBF_DOUBLE) { prompt("Delay 6") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DOL6,DBF_INLINK) { prompt("Input link 6") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DO6,DBF_DOUBLE) { @@ -183,17 +183,17 @@ recordtype(seq) { } field(LNK6,DBF_OUTLINK) { prompt("Output Link 6") - promptgroup(GUI_SEQ2) + promptgroup("41 - Link 0-7") interest(1) } field(DLY7,DBF_DOUBLE) { prompt("Delay 7") - promptgroup(GUI_SEQ3) + promptgroup("41 - Link 0-7") interest(1) } field(DOL7,DBF_INLINK) { prompt("Input link 7") - promptgroup(GUI_SEQ3) + promptgroup("41 - Link 0-7") interest(1) } field(DO7,DBF_DOUBLE) { @@ -202,17 +202,17 @@ recordtype(seq) { } field(LNK7,DBF_OUTLINK) { prompt("Output Link 7") - promptgroup(GUI_SEQ3) + promptgroup("41 - Link 0-7") interest(1) } field(DLY8,DBF_DOUBLE) { prompt("Delay 8") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOL8,DBF_INLINK) { prompt("Input link 8") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DO8,DBF_DOUBLE) { @@ -221,17 +221,17 @@ recordtype(seq) { } field(LNK8,DBF_OUTLINK) { prompt("Output Link 8") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DLY9,DBF_DOUBLE) { prompt("Delay 9") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOL9,DBF_INLINK) { prompt("Input link 9") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DO9,DBF_DOUBLE) { @@ -240,17 +240,17 @@ recordtype(seq) { } field(LNK9,DBF_OUTLINK) { prompt("Output Link 9") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DLYA,DBF_DOUBLE) { prompt("Delay 10") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOLA,DBF_INLINK) { prompt("Input link 10") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOA,DBF_DOUBLE) { @@ -259,17 +259,17 @@ recordtype(seq) { } field(LNKA,DBF_OUTLINK) { prompt("Output Link 10") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DLYB,DBF_DOUBLE) { prompt("Delay 11") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOLB,DBF_INLINK) { prompt("Input link 11") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOB,DBF_DOUBLE) { @@ -278,17 +278,17 @@ recordtype(seq) { } field(LNKB,DBF_OUTLINK) { prompt("Output Link 11") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DLYC,DBF_DOUBLE) { prompt("Delay 12") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOLC,DBF_INLINK) { prompt("Input link 12") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOC,DBF_DOUBLE) { @@ -297,17 +297,17 @@ recordtype(seq) { } field(LNKC,DBF_OUTLINK) { prompt("Output Link 12") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DLYD,DBF_DOUBLE) { prompt("Delay 13") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOLD,DBF_INLINK) { prompt("Input link 13") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOD,DBF_DOUBLE) { @@ -316,17 +316,17 @@ recordtype(seq) { } field(LNKD,DBF_OUTLINK) { prompt("Output Link 13") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DLYE,DBF_DOUBLE) { prompt("Delay 14") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOLE,DBF_INLINK) { prompt("Input link 14") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOE,DBF_DOUBLE) { @@ -335,17 +335,17 @@ recordtype(seq) { } field(LNKE,DBF_OUTLINK) { prompt("Output Link 14") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DLYF,DBF_DOUBLE) { prompt("Delay 15") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOLF,DBF_INLINK) { prompt("Input link 15") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } field(DOF,DBF_DOUBLE) { @@ -354,7 +354,7 @@ recordtype(seq) { } field(LNKF,DBF_OUTLINK) { prompt("Output Link 15") - promptgroup(GUI_SEQ3) + promptgroup("42 - Link 8-F") interest(1) } } diff --git a/src/std/rec/stateRecord.dbd b/src/std/rec/stateRecord.dbd index c0a253e1c..1abb145d7 100644 --- a/src/std/rec/stateRecord.dbd +++ b/src/std/rec/stateRecord.dbd @@ -11,7 +11,7 @@ recordtype(state) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Value") - promptgroup(GUI_DISPLAY) + promptgroup("40 - Input") asl(ASL0) pp(TRUE) size(20) diff --git a/src/std/rec/stringinRecord.dbd b/src/std/rec/stringinRecord.dbd index acafc8cf4..9827cc2c1 100644 --- a/src/std/rec/stringinRecord.dbd +++ b/src/std/rec/stringinRecord.dbd @@ -15,7 +15,7 @@ recordtype(stringin) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Current Value") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") asl(ASL0) pp(TRUE) size(40) @@ -28,24 +28,24 @@ recordtype(stringin) { } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(stringinPOST) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(stringinPOST) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_STRING) { @@ -55,7 +55,7 @@ recordtype(stringin) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -65,7 +65,7 @@ recordtype(stringin) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/stringoutRecord.dbd b/src/std/rec/stringoutRecord.dbd index 25bd2fde9..46cb567e0 100644 --- a/src/std/rec/stringoutRecord.dbd +++ b/src/std/rec/stringoutRecord.dbd @@ -15,7 +15,7 @@ recordtype(stringout) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Current Value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") asl(ASL0) pp(TRUE) size(40) @@ -28,40 +28,40 @@ recordtype(stringout) { } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup(GUI_OUTPUT) + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(stringoutPOST) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(stringoutPOST) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -71,19 +71,19 @@ recordtype(stringout) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID output action") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_STRING) { prompt("INVALID output value") - promptgroup(GUI_OUTPUT) + promptgroup("50 - Output") interest(2) size(40) } diff --git a/src/std/rec/subArrayRecord.dbd b/src/std/rec/subArrayRecord.dbd index 4a0bfe0c6..8b07ec541 100644 --- a/src/std/rec/subArrayRecord.dbd +++ b/src/std/rec/subArrayRecord.dbd @@ -21,57 +21,57 @@ recordtype(subArray) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_COMMON) + promptgroup("80 - Display") interest(1) prop(YES) } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup(GUI_ALARMS) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_BITS1) + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units Name") - promptgroup(GUI_BITS2) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_CALC) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_CLOCK) - interest(1) + promptgroup("80 - Display") + interest(1) prop(YES) } field(MALM,DBF_ULONG) { - prompt("Maximum Elements ") - promptgroup(GUI_CLOCK) + prompt("Maximum Elements") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup(GUI_COMPRESS) + promptgroup("30 - Action") pp(TRUE) initial("1") } field(INDX,DBF_ULONG) { prompt("Substring Index") - promptgroup(GUI_CONVERT) + promptgroup("30 - Action") pp(TRUE) } field(BUSY,DBF_SHORT) { diff --git a/src/std/rec/subRecord.dbd b/src/std/rec/subRecord.dbd index 973cab7f1..fb8be7744 100644 --- a/src/std/rec/subRecord.dbd +++ b/src/std/rec/subRecord.dbd @@ -15,14 +15,14 @@ recordtype(sub) { } field(INAM,DBF_STRING) { prompt("Init Routine Name") - promptgroup(GUI_SUB) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) size(40) } field(SNAM,DBF_STRING) { prompt("Subroutine Name") - promptgroup(GUI_SUB) + promptgroup("30 - Action") special(SPC_MOD) interest(1) size(40) @@ -37,127 +37,127 @@ recordtype(sub) { } field(INPA,DBF_INLINK) { prompt("Input A") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") - promptgroup(GUI_INPUTS) + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") - promptgroup(GUI_INPUTS) + promptgroup("42 - Input G-L") interest(1) } field(EGU,DBF_STRING) { - prompt("Units Name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { - prompt("High Operating Rng") - promptgroup(GUI_DISPLAY) + prompt("High Operating Range") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(BRSV,DBF_MENU) { prompt("Bad Return Severity") - promptgroup(GUI_SUB) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -165,7 +165,7 @@ recordtype(sub) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -173,7 +173,7 @@ recordtype(sub) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -181,7 +181,7 @@ recordtype(sub) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -189,17 +189,17 @@ recordtype(sub) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/waveformRecord.dbd.pod b/src/std/rec/waveformRecord.dbd.pod index d28302801..fb65dfd97 100644 --- a/src/std/rec/waveformRecord.dbd.pod +++ b/src/std/rec/waveformRecord.dbd.pod @@ -56,50 +56,50 @@ recordtype(waveform) { } field(RARM,DBF_SHORT) { prompt("Rearm the waveform") - promptgroup(GUI_WAVE) + promptgroup("30 - Action") pp(TRUE) interest(1) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units Name") - promptgroup(GUI_DISPLAY) + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) prop(YES) } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup(GUI_WAVE) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup(GUI_WAVE) + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) @@ -120,12 +120,12 @@ recordtype(waveform) { } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -135,19 +135,19 @@ recordtype(waveform) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup(GUI_INPUTS) + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(waveformPOST) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) menu(waveformPOST) } diff --git a/src/template/base/top/exampleApp/src/xxxRecord.dbd b/src/template/base/top/exampleApp/src/xxxRecord.dbd index 4a71c5409..12c1d6202 100644 --- a/src/template/base/top/exampleApp/src/xxxRecord.dbd +++ b/src/template/base/top/exampleApp/src/xxxRecord.dbd @@ -2,101 +2,102 @@ recordtype(xxx) { include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Current EGU Value") - asl(ASL0) + promptgroup("40 - Input") + asl(ASL0) pp(TRUE) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup(GUI_INPUTS) + promptgroup("40 - Input") special(SPC_NOMOD) interest(1) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(EGU,DBF_STRING) { prompt("Engineering Units") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) size(16) } field(HOPR,DBF_FLOAT) { prompt("High Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(LOPR,DBF_FLOAT) { prompt("Low Operating Range") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(HIHI,DBF_FLOAT) { prompt("Hihi Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) } field(LOLO,DBF_FLOAT) { prompt("Lolo Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) } field(HIGH,DBF_FLOAT) { prompt("High Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) } field(LOW,DBF_FLOAT) { prompt("Low Alarm Limit") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup(GUI_ALARMS) + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup(GUI_DISPLAY) + promptgroup("80 - Display") interest(1) } field(LALM,DBF_DOUBLE) { From 473992cfb9589878626db3b32edaa3f2d33a6902 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 26 Apr 2016 13:47:12 +0200 Subject: [PATCH 010/226] Update release notes --- documentation/RELEASE_NOTES.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index fc46ff8cb..31a6674ff 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -15,6 +15,18 @@

Changes made on the 3.15 branch since 3.15.3

+

New implementation of promptgroup/gui_group field property

+ +

The mechanism behind the "promptgroup()" field property inside a record type +definition has been changed. Instead of using a fixed set of choices, +the static database access library now collects the used gui group names +while parsing DBD information. Group names should start with a two-digit number +plus space-dash-space to allow proper sorting of groups.

+ +

The include file guigroup.h that defined the fixed set of choices +has been deprecated. Instead, use the conversion functions between index number +and group string that have been added to dbStaticLib.

+

CA server configuration changes

RSRV now honors EPICS_CAS_INTF_ADDR_LIST and binds only to the provided list From f0453faf366b802bf3e3575050b10b469b9dcea6 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 09:28:09 -0400 Subject: [PATCH 011/226] libCom/test: add test for HST time zone Test US/Hawaii zone which does not observe daylight saving time. --- src/libCom/test/epicsTimeZoneTest.c | 56 ++++++++++++++++++----------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/src/libCom/test/epicsTimeZoneTest.c b/src/libCom/test/epicsTimeZoneTest.c index dd12b1acf..685295fc4 100644 --- a/src/libCom/test/epicsTimeZoneTest.c +++ b/src/libCom/test/epicsTimeZoneTest.c @@ -17,15 +17,9 @@ #endif static -void setTZ(const char *base, const char *dst, int offset) +void setTZ(const char *tz) { - char tz[20]; - if(offset!=0 || dst) - sprintf(tz, "%s%d%s", base, offset/3600, dst); - else - sprintf(tz, "%s", base); - testDiag("TZ=\"%s\"", tz); - + testDiag("TZ = \"%s\"", tz); epicsEnvSet("TZ", tz); tzset(); } @@ -86,32 +80,52 @@ void test_gmtime(time_t T, int sec, int min, int hour, MAIN(epicsTimeZoneTest) { - testPlan(80); + testPlan(160); /* 1445259616 * Mon Oct 19 09:00:16 2015 EDT * Mon Oct 19 08:00:16 2015 CDT + * Mon Oct 19 03:00:16 2015 HST (no dst) * Mon Oct 19 13:00:16 2015 UTC */ testDiag("POSIX 1445259616"); - setTZ("EST", "EDT", 5*3600); - test_localtime(1445259616ul, 16, 0, 9, 19, 9, 2015, 1, 291, 1); - setTZ("CST", "CDT", 6*3600); - test_localtime(1445259616ul, 16, 0, 8, 19, 9, 2015, 1, 291, 1); - setTZ("UTC", NULL, 0); + setTZ("EST5EDT"); + test_localtime(1445259616ul, 16, 0, 9, 19, 9, 2015, 1, 291, 1); + test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0); + setTZ("CST6CDT"); + test_localtime(1445259616ul, 16, 0, 8, 19, 9, 2015, 1, 291, 1); + test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0); +#if defined(__rtems__) + setTZ("HST10HST10"); +#else + setTZ("HST10"); +#endif + test_localtime(1445259616ul, 16, 0, 3, 19, 9, 2015, 1, 291, 0); + test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0); + setTZ("UTC0"); test_localtime(1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0); - test_gmtime(1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0); + test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0); /* 1421244931 * Wed Jan 14 09:15:31 2015 EST * Wed Jan 14 08:15:31 2015 CST + * Wed Jan 14 04:15:31 2015 HST * Wed Jan 14 14:15:31 2015 UTC */ testDiag("POSIX 1421244931"); - setTZ("EST", "EDT", 5*3600); - test_localtime(1421244931ul, 31, 15, 9, 14, 0, 2015, 3, 13, 0); - setTZ("CST", "CDT", 6*3600); - test_localtime(1421244931ul, 31, 15, 8, 14, 0, 2015, 3, 13, 0); - setTZ("UTC", NULL, 0); + setTZ("EST5EDT"); + test_localtime(1421244931ul, 31, 15, 9, 14, 0, 2015, 3, 13, 0); + test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0); + setTZ("CST6CDT"); + test_localtime(1421244931ul, 31, 15, 8, 14, 0, 2015, 3, 13, 0); + test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0); +#if defined(__rtems__) + setTZ("HST10HST10"); +#else + setTZ("HST10"); +#endif + test_localtime(1421244931ul, 31, 15, 4, 14, 0, 2015, 3, 13, 0); + test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0); + setTZ("UTC0"); test_localtime(1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0); - test_gmtime(1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0); + test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0); return testDone(); } From 93597e20d53a3c523071eb8e5f7c339f3a7511cd Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 09:59:22 -0400 Subject: [PATCH 012/226] add epicsTimeZoneTest to libCom test harness --- src/libCom/test/Makefile | 1 + src/libCom/test/epicsRunLibComTests.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index 7e1b5a020..fadf89066 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -70,6 +70,7 @@ TESTS += epicsTimeTest TESTPROD_HOST += epicsTimeZoneTest epicsTimeZoneTest_SRCS += epicsTimeZoneTest.c +testHarness_SRCS += epicsTimeZoneTest.cpp TESTS += epicsTimeZoneTest TESTPROD_HOST += epicsThreadTest diff --git a/src/libCom/test/epicsRunLibComTests.c b/src/libCom/test/epicsRunLibComTests.c index aa62465ff..73a491ae6 100644 --- a/src/libCom/test/epicsRunLibComTests.c +++ b/src/libCom/test/epicsRunLibComTests.c @@ -34,6 +34,7 @@ int epicsThreadOnceTest(void); int epicsThreadPriorityTest(void); int epicsThreadPrivateTest(void); int epicsTimeTest(void); +int epicsTimeZoneTest(void); int macLibTest(void); int macEnvExpandTest(void); int ringPointerTest(void); @@ -89,6 +90,8 @@ void epicsRunLibComTests(void) runTest(epicsTimeTest); + runTest(epicsTimeZoneTest); + runTest(macLibTest); runTest(macEnvExpandTest); From 56d5a5935625074632ee1e9c1b9a6f18a4e06294 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 13:56:57 -0400 Subject: [PATCH 013/226] dbScan: optimize addToList Insert from back to maintain ~same order. Avoid iterating entire list each time in the common case where all PHAS==0 --- src/ioc/db/dbScan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ioc/db/dbScan.c b/src/ioc/db/dbScan.c index 0e2d09326..bab430188 100644 --- a/src/ioc/db/dbScan.c +++ b/src/ioc/db/dbScan.c @@ -940,9 +940,9 @@ static void addToList(struct dbCommon *precord, scan_list *psl) pse->precord = precord; } pse->pscan_list = psl; - ptemp = (scan_element *)ellFirst(&psl->list); + ptemp = (scan_element *)ellLast(&psl->list); while (ptemp) { - if (ptemp->precord->phas > precord->phas) { + if (ptemp->precord->phas <= precord->phas) { ellInsert(&psl->list, ellPrevious(&ptemp->node), &pse->node); break; } From 40d110fd7d7f36868ed510487ec40046efe9c466 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 13:56:57 -0400 Subject: [PATCH 014/226] ellSort --- src/libCom/ellLib/ellLib.h | 2 + src/libCom/ellLib/ellSort.c | 80 +++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 src/libCom/ellLib/ellSort.c diff --git a/src/libCom/ellLib/ellLib.h b/src/libCom/ellLib/ellLib.h index f99859f3d..300a2df3f 100644 --- a/src/libCom/ellLib/ellLib.h +++ b/src/libCom/ellLib/ellLib.h @@ -56,6 +56,8 @@ epicsShareFunc void ellInsert (ELLLIST *plist, ELLNODE *pPrev, ELLNODE *pNode); epicsShareFunc ELLNODE * ellNth (ELLLIST *pList, int nodeNum); epicsShareFunc ELLNODE * ellNStep (ELLNODE *pNode, int nStep); epicsShareFunc int ellFind (ELLLIST *pList, ELLNODE *pNode); +typedef int (*pListCmp)(ELLNODE* A, ELLNODE* B); +epicsShareFunc void ellSortStable(ELLLIST *pList, pListCmp); epicsShareFunc void ellFree2 (ELLLIST *pList, FREEFUNC freeFunc); epicsShareFunc void ellVerify (ELLLIST *pList); diff --git a/src/libCom/ellLib/ellSort.c b/src/libCom/ellLib/ellSort.c new file mode 100644 index 000000000..89f3f3819 --- /dev/null +++ b/src/libCom/ellLib/ellSort.c @@ -0,0 +1,80 @@ +/* + * Use of mergesort algorithm based on analysis by + * http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html + */ +#include + +#define epicsExportSharedSymbols +#include "epicsAssert.h" +#include "ellLib.h" + +static void ellMoveN(ELLLIST* pTo, ELLLIST* pFrom, int count ) +{ + for(;count && ellCount(pFrom); count--) { + ELLNODE *node = ellGet(pFrom); + ellAdd(pTo, node); + } +} + +/* Stable (MergeSort) to given list. + * The comparison function cmp(A,B) is expected + * to return -1 for AB. + */ +void ellSortStable(ELLLIST *pList, pListCmp cmp) +{ + ELLLIST INP, P, Q; + size_t insize = 1; /* initial sub-list size */ + if(ellCount(pList)<=1) + return; + + ellInit(&INP); + ellInit(&P); + ellInit(&Q); + + /* Process is to iteratively sort + * a sequence of sub-lists of size 'insize' + */ + + while(insize < ellCount(pList)) { + + assert(ellCount(&INP)==0); + + /* shift previous results to inputs */ + ellConcat(&INP, pList); + + assert(ellCount(pList)==0); + + while(ellCount(&INP)) + { + ELLNODE *p, *q; + + assert(ellCount(&P)==0); + assert(ellCount(&Q)==0); + + /* Pull out the next pair of sub-lists */ + ellMoveN(&Q, &INP, insize); + ellMoveN(&P, &INP, insize); + + /* merge these sub-lists */ + while((p=ellFirst(&P)) && (q=ellFirst(&Q))) + { + if((*cmp)(p,q) < 0) { + ellAdd(pList, ellGet(&P)); + } else { + ellAdd(pList, ellGet(&Q)); + } + } + + /* concatinate any remaining to result */ + if(ellFirst(&P)) + ellConcat(pList, &P); + else if(ellFirst(&Q)) + ellConcat(pList, &Q); + + assert(!ellFirst(&P) && !ellFirst(&Q)); + } + + insize *= 2; + } + +} From 70fc52bca04d878996d9efea89df6aa65d942565 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 13:57:22 -0400 Subject: [PATCH 015/226] dbCreateRecord use ellSortStable() sort records once per dbLoadCOM() --- src/ioc/dbStatic/dbLexRoutines.c | 20 +++++++++++++++++++- src/ioc/dbStatic/dbStaticLib.c | 12 +----------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/ioc/dbStatic/dbLexRoutines.c b/src/ioc/dbStatic/dbLexRoutines.c index a2ebe6453..b9a1923d4 100644 --- a/src/ioc/dbStatic/dbLexRoutines.c +++ b/src/ioc/dbStatic/dbLexRoutines.c @@ -194,7 +194,16 @@ static void freeInputFileList(void) free((void *)pinputFileNow); } } - + +static +int cmp_dbRecordNode(const ELLNODE *lhs, const ELLNODE *rhs) +{ + dbRecordNode *LHS = (dbRecordNode*)lhs, + *RHS = (dbRecordNode*)rhs; + + return strcmp(LHS->recordname, RHS->recordname); +} + static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp, const char *path,const char *substitutions) { @@ -289,6 +298,15 @@ static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp, dbFinishEntry(pdbEntry); } cleanup: + { + ELLNODE *cur; + for(cur = ellFirst(&pdbbase->recordTypeList); cur; cur=ellNext(cur)) + { + dbRecordType *rtype = CONTAINER(cur, dbRecordType, node); + + ellSortStable(&rtype->recList, &cmp_dbRecordNode); + } + } if(macHandle) macDeleteHandle(macHandle); macHandle = NULL; if(mac_input_buffer) free((void *)mac_input_buffer); diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index 715612165..6cbefe61c 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -1426,17 +1426,7 @@ long dbCreateRecord(DBENTRY *pdbentry,const char *precordName) pNewRecNode->recordname = dbRecordName(pdbentry); ellInit(&pNewRecNode->infoList); /* install record node in list in sorted postion */ - status = dbFirstRecord(pdbentry); - while(status==0) { - if(strcmp(precordName,dbGetRecordName(pdbentry)) < 0) break; - status = dbNextRecord(pdbentry); - } - if(status==0) { - precnode = pdbentry->precnode; - ellInsert(preclist,ellPrevious(&precnode->node),&pNewRecNode->node); - } else { - ellAdd(preclist,&pNewRecNode->node); - } + ellAdd(preclist, &pNewRecNode->node); pdbentry->precnode = pNewRecNode; ppvd = dbPvdAdd(pdbentry->pdbbase,precordType,pNewRecNode); if(!ppvd) {errMessage(-1,"Logic Err: Could not add to PVD");return(-1);} From b035bd9963571c0d5fb251061851875134cb11a8 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 13:57:22 -0400 Subject: [PATCH 016/226] test ellSortStable --- src/libCom/ellLib/Makefile | 1 + src/libCom/test/epicsEllTest.c | 76 ++++++++++++++++++++++++++++++++-- 2 files changed, 74 insertions(+), 3 deletions(-) diff --git a/src/libCom/ellLib/Makefile b/src/libCom/ellLib/Makefile index b325a453e..9a5cb3e67 100644 --- a/src/libCom/ellLib/Makefile +++ b/src/libCom/ellLib/Makefile @@ -10,3 +10,4 @@ SRC_DIRS += $(LIBCOM)/ellLib INC += ellLib.h Com_SRCS += ellLib.c +Com_SRCS += ellSort.c diff --git a/src/libCom/test/epicsEllTest.c b/src/libCom/test/epicsEllTest.c index b608d1cc3..59a23df0a 100644 --- a/src/libCom/test/epicsEllTest.c +++ b/src/libCom/test/epicsEllTest.c @@ -11,6 +11,7 @@ #include #include "ellLib.h" +#include "dbDefs.h" #include "epicsUnitTest.h" #include "testMain.h" @@ -20,15 +21,13 @@ struct myItem { int num; }; -MAIN(epicsEllTest) +static void testList(void) { ELLLIST list1; ELLLIST list2 = ELLLIST_INIT; int i1 = 1; struct myItem *pitem, *pfirst, *pick; - testPlan(70); - list1.count = 27; list1.node.next = (ELLNODE *) 0x01010101; list1.node.previous = (ELLNODE *) 0x10101010; @@ -192,6 +191,77 @@ MAIN(epicsEllTest) ellFree2(&list1, free); testOk1(ellCount(&list1) == 0); +} + +typedef struct { int A, B; } input_t; + +static int myItemCmp(ELLNODE *a, ELLNODE *b) +{ + struct myItem *A = CONTAINER(a, struct myItem, node), + *B = CONTAINER(b, struct myItem, node); + + if (A->num < B->num) return -1; + else if(A->num > B->num) return 1; + else if(A->list < B->list) return -1; + else if(A->list > B->list) return 1; + else return 0; +} + +static const input_t input[] = { + {-4, 0}, + {-5, 0}, + {0,0}, + {50,0}, + {0,1}, + {5,0}, + {5,1} +}; + +static +void testSort(const input_t *inp, size_t ninp) +{ + unsigned i; + ELLLIST list = ELLLIST_INIT; + struct myItem *alloc = calloc(ninp, sizeof(*alloc)); + + if(!alloc) testAbort("testSort allocation fails"); + + for(i=0; inum = inp[i].A; + it->list= inp[i].B; + + ellAdd(&list, &it->node); + } + + ellSortStable(&list, &myItemCmp); + + testOk(ellCount(&list)==ninp, "output length %u == %u", (unsigned)ellCount(&list), (unsigned)ninp); + if(ellCount(&list)==0) { + testSkip(ninp-1, "all items lost"); + } + + { + struct myItem *prev = CONTAINER(ellFirst(&list), struct myItem, node), + *next; + + for(next = CONTAINER(ellNext(&prev->node), struct myItem, node); + next; + prev = next, next = CONTAINER(ellNext(&next->node), struct myItem, node)) + { + int cond = (prev->numnum) || (prev->num==next->num && prev->listlist); + testOk(cond, "%d:%d < %d:%d", prev->num, prev->list, next->num, next->list); + } + } +} + +MAIN(epicsEllTest) +{ + testPlan(77); + + testList(); + testSort(input, NELEMENTS(input)); return testDone(); } From c933d77963b7233dc98a577c85e95f4d32f5c2dc Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 26 Apr 2016 15:18:31 -0500 Subject: [PATCH 017/226] Add rule to install libraries before linking executables The rule must be disabled for building libCom and gdd though. --- configure/RULES_BUILD | 8 +++++++- documentation/RELEASE_NOTES.html | 12 ++++++++++++ src/ca/legacy/gdd/Makefile | 5 +++++ src/libCom/Makefile | 5 +++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 37e54372f..026246ee6 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -170,7 +170,13 @@ endif $(DIRECTORY_TARGETS) : $(MKDIR) -p $@ -$(PRODNAME): $(INSTALL_LIB_INSTALLS) +# Install LIB_INSTALLS libraries before linking executables +$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIB_INSTALLS) + +# Install built libraries too, unless Makefile says to wait +ifneq ($(DELAY_INSTALL_LIBS),YES) +$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIBS) $(INSTALL_DLLSTUB_LIBS) +endif # RELEASE file consistency checking checkRelease: diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index fc46ff8cb..05a9da078 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -15,6 +15,18 @@

Changes made on the 3.15 branch since 3.15.3

+

Build rules and DELAY_INSTALL_LIBS

+ +

A new order-only prerequisite build rule has been added to ensure that +library files (and DLL stubs on Windows) get installed before linking any +executables, which resolves parallel build problems on high-powered CPUs. There +are some (rare) cases though where a Makefile has to build an executable and run +it to be able to compile code for a library built by the same Makefile. With +this new build rule GNUmake will complain about a circular dependency and the +build will probably fail in those cases. To avoid this problem the failing +Makefile should set DELAY_INSTALL_LIBS = YES before including the +$(TOP)/configure/RULES file, disabling the new build rule.

+

CA server configuration changes

RSRV now honors EPICS_CAS_INTF_ADDR_LIST and binds only to the provided list diff --git a/src/ca/legacy/gdd/Makefile b/src/ca/legacy/gdd/Makefile index b1e8fceaa..9c5638eb4 100644 --- a/src/ca/legacy/gdd/Makefile +++ b/src/ca/legacy/gdd/Makefile @@ -69,6 +69,11 @@ CLEANS += $(COMMON_DIR)/aitConvertGenerated.cc USR_CXXFLAGS_Linux = -fno-strict-aliasing USR_CXXFLAGS_RTEMS = -fno-strict-aliasing +ifeq ($(T_A),$(EPICS_HOST_ARCH)) + # genApps and aitGen are needed to finish libgdd + DELAY_INSTALL_LIBS = YES +endif + include $(TOP)/configure/RULES # Manual dependencies diff --git a/src/libCom/Makefile b/src/libCom/Makefile index 767180316..33955acfd 100644 --- a/src/libCom/Makefile +++ b/src/libCom/Makefile @@ -45,6 +45,11 @@ Com_SYS_LIBS_WIN32 = ws2_32 advapi32 user32 Com_RCS = Com.rc +ifeq ($(T_A),$(EPICS_HOST_ARCH)) + # Antelope & flex are needed to finish libCom + DELAY_INSTALL_LIBS = YES +endif + include $(TOP)/configure/RULES include $(LIBCOM)/as/RULES From 72745d7b0ccfea6a77c4751b9d65321059d5472b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 29 Apr 2016 16:20:25 -0500 Subject: [PATCH 018/226] Only make runtests and tapfiles if T_A = EPICS_HOST_ARCH --- configure/RULES_BUILD | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 1528c48d5..ad5e76f4f 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -338,7 +338,9 @@ $(MODNAME): %$(MODEXT): %$(EXE) $(LINK.mod) runtests: $(TESTSCRIPTS) +ifeq ($(T_A),$(EPICS_HOST_ARCH)) -$(PERL) -MTest::Harness -e 'runtests @ARGV if @ARGV;' $^ +endif testspec: $(TESTSCRIPTS) @$(RM) $@ @@ -351,7 +353,9 @@ tapfiles: $(TESTSCRIPTS) $(TAPFILES) # A .tap file is the output from running the associated test script %.tap: %.t +ifeq ($(T_A),$(EPICS_HOST_ARCH)) -$(PERL) $< -tap > $@ +endif # If there's a perl test script (.plt) available, use it %.t: ../%.plt From 51dd3717846204e82905e753770c911490b47815 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 17:06:22 -0400 Subject: [PATCH 019/226] rsrv: add rsrvCS_shutdown to avoid race in destroyAllChannels() A race can occur between rsrv and cac by way of asLib whereby casAccessRightsCB() is called after a channel_in_use has been removed from chanList/chanPendingUpdateARList. casAccessRightsCB() would then attempt to remove the node again, causing corruption. Create a new rsrvCS_shutdown state when the channel is not in either list. Attempt to resolve lp:1571224 --- src/rsrv/camessage.c | 10 +++++++++- src/rsrv/caservertask.c | 1 + src/rsrv/server.h | 15 ++++++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/rsrv/camessage.c b/src/rsrv/camessage.c index e6c4330ab..800d90810 100644 --- a/src/rsrv/camessage.c +++ b/src/rsrv/camessage.c @@ -1072,7 +1072,7 @@ unsigned cid * casAccessRightsCB() * * If access right state changes then inform the client. - * + * asLock is held */ static void casAccessRightsCB(ASCLIENTPVT ascpvt, asClientStatus type) { @@ -1521,6 +1521,9 @@ static void sendAllUpdateAS ( struct client *client ) else if ( pciu->state == rsrvCS_inServiceUpdatePendAR ) { access_rights_reply ( pciu ); } + else if ( pciu->state == rsrvCS_shutdown ) { + /* no-op */ + } else { errlogPrintf ( "%s at %d: corrupt channel state detected durring AR update\n", @@ -2003,10 +2006,15 @@ static int clear_channel_reply ( caHdrLargeArray *mp, if ( pciu->state == rsrvCS_inService || pciu->state == rsrvCS_pendConnectResp ) { ellDelete ( &client->chanList, &pciu->node ); + pciu->state = rsrvCS_shutdown; } else if ( pciu->state == rsrvCS_inServiceUpdatePendAR || pciu->state == rsrvCS_pendConnectRespUpdatePendAR ) { ellDelete ( &client->chanPendingUpdateARList, &pciu->node ); + pciu->state = rsrvCS_shutdown; + } + else if ( pciu->state == rsrvCS_shutdown ) { + /* no-op */ } else { epicsMutexUnlock( client->chanListLock ); diff --git a/src/rsrv/caservertask.c b/src/rsrv/caservertask.c index 7c911d64b..7eef1d200 100644 --- a/src/rsrv/caservertask.c +++ b/src/rsrv/caservertask.c @@ -622,6 +622,7 @@ static void destroyAllChannels ( epicsMutexMustLock ( client->chanListLock ); pciu = (struct channel_in_use *) ellGet ( pList ); + if(pciu) pciu->state = rsrvCS_shutdown; epicsMutexUnlock ( client->chanListLock ); if ( ! pciu ) { diff --git a/src/rsrv/server.h b/src/rsrv/server.h index 9c222d09b..fc7627f80 100644 --- a/src/rsrv/server.h +++ b/src/rsrv/server.h @@ -98,12 +98,25 @@ typedef struct client { char disconnect; /* disconnect detected */ } client; +/* Channel state shows which struct client list a + * channel_in_us::node is in. + * + * client::chanList + * rsrvCS_pendConnectResp, rsrvCS_inService + * client::chanPendingUpdateARList + * rsrvCS_pendConnectRespUpdatePendAR, rsrvCS_inServiceUpdatePendAR + * Not in any list + * rsrvCS_shutdown + * + * rsrvCS_invalid is not used + */ enum rsrvChanState { rsrvCS_invalid, rsrvCS_pendConnectResp, rsrvCS_inService, rsrvCS_pendConnectRespUpdatePendAR, - rsrvCS_inServiceUpdatePendAR + rsrvCS_inServiceUpdatePendAR, + rsrvCS_shutdown }; /* From 1ede8732003d3e1a4e368f3b507a653b6fcd1c3c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 26 Apr 2016 16:20:12 -0500 Subject: [PATCH 020/226] Fixed some space/tab issues in DBD files --- src/ioc/db/dbCommon.dbd | 36 ++-- src/std/rec/aSubRecord.dbd.pod | 268 ++++++++++++++--------------- src/std/rec/aaiRecord.dbd | 49 +++--- src/std/rec/aaoRecord.dbd | 49 +++--- src/std/rec/aiRecord.dbd.pod | 24 +-- src/std/rec/aoRecord.dbd.pod | 28 +-- src/std/rec/biRecord.dbd | 25 ++- src/std/rec/boRecord.dbd | 35 ++-- src/std/rec/calcRecord.dbd | 82 ++++----- src/std/rec/calcoutRecord.dbd | 76 ++++---- src/std/rec/compressRecord.dbd.pod | 24 +-- src/std/rec/dfanoutRecord.dbd | 107 ++++++------ src/std/rec/eventRecord.dbd | 15 +- src/std/rec/fanoutRecord.dbd | 38 ++-- src/std/rec/histogramRecord.dbd | 31 ++-- src/std/rec/longinRecord.dbd | 57 +++--- src/std/rec/longoutRecord.dbd | 57 +++--- src/std/rec/mbbiRecord.dbd | 134 +++++++-------- src/std/rec/mbboRecord.dbd | 122 ++++++------- src/std/rec/permissiveRecord.dbd | 11 +- src/std/rec/selRecord.dbd | 71 ++++---- src/std/rec/stateRecord.dbd | 7 +- src/std/rec/stringinRecord.dbd | 19 +- src/std/rec/stringoutRecord.dbd | 27 ++- src/std/rec/subArrayRecord.dbd | 29 ++-- src/std/rec/subRecord.dbd | 64 +++---- src/std/rec/waveformRecord.dbd.pod | 42 ++--- 27 files changed, 756 insertions(+), 771 deletions(-) diff --git a/src/ioc/db/dbCommon.dbd b/src/ioc/db/dbCommon.dbd index 86dac3486..aac8e9576 100644 --- a/src/ioc/db/dbCommon.dbd +++ b/src/ioc/db/dbCommon.dbd @@ -4,7 +4,7 @@ # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE is distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# in file LICENSE that is included with this distribution. #************************************************************************* %#include "epicsTypes.h" %#include "link.h" @@ -15,59 +15,59 @@ } field(DESC,DBF_STRING) { prompt("Descriptor") - promptgroup("10 - Common") + promptgroup("10 - Common") size(41) } field(ASG,DBF_STRING) { prompt("Access Security Group") - promptgroup("10 - Common") + promptgroup("10 - Common") special(SPC_AS) size(29) } field(SCAN,DBF_MENU) { prompt("Scan Mechanism") - promptgroup("20 - Scan") + promptgroup("20 - Scan") special(SPC_SCAN) interest(1) menu(menuScan) } field(PINI,DBF_MENU) { prompt("Process at iocInit") - promptgroup("20 - Scan") + promptgroup("20 - Scan") interest(1) menu(menuPini) } field(PHAS,DBF_SHORT) { prompt("Scan Phase") - promptgroup("20 - Scan") + promptgroup("20 - Scan") special(SPC_SCAN) interest(1) } field(EVNT,DBF_STRING) { prompt("Event Name") - promptgroup("20 - Scan") + promptgroup("20 - Scan") special(SPC_SCAN) size(40) interest(1) } field(TSE,DBF_SHORT) { prompt("Time Stamp Event") - promptgroup("20 - Scan") + promptgroup("20 - Scan") interest(1) } field(TSEL,DBF_INLINK) { prompt("Time Stamp Link") - promptgroup("20 - Scan") + promptgroup("20 - Scan") interest(1) } field(DTYP,DBF_DEVICE) { prompt("Device Type") - promptgroup("10 - Common") + promptgroup("10 - Common") interest(1) } field(DISV,DBF_SHORT) { prompt("Disable Value") - promptgroup("20 - Scan") + promptgroup("20 - Scan") initial("1") } field(DISA,DBF_SHORT) { @@ -75,7 +75,7 @@ } field(SDIS,DBF_INLINK) { prompt("Scanning Disable") - promptgroup("20 - Scan") + promptgroup("20 - Scan") interest(1) } %#include "epicsMutex.h" @@ -131,7 +131,7 @@ } field(ACKT,DBF_MENU) { prompt("Alarm Ack Transient") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") special(SPC_NOMOD) interest(2) menu(menuYesNo) @@ -139,7 +139,7 @@ } field(DISS,DBF_MENU) { prompt("Disable Alarm Sevrty") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) menu(menuAlarmSevr) } @@ -219,7 +219,7 @@ } field(PRIO,DBF_MENU) { prompt("Scheduling Priority") - promptgroup("20 - Scan") + promptgroup("20 - Scan") special(SPC_SCAN) interest(1) menu(menuPriority) @@ -235,14 +235,14 @@ } field(UDF,DBF_UCHAR) { prompt("Undefined") - promptgroup("10 - Common") + promptgroup("10 - Common") pp(TRUE) interest(1) initial("1") } field(UDFS,DBF_MENU) { prompt("Undefined Alarm Sevrty") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) menu(menuAlarmSevr) initial("INVALID") @@ -256,6 +256,6 @@ } field(FLNK,DBF_FWDLINK) { prompt("Forward Process Link") - promptgroup("20 - Scan") + promptgroup("20 - Scan") interest(1) } diff --git a/src/std/rec/aSubRecord.dbd.pod b/src/std/rec/aSubRecord.dbd.pod index c09a5e4a7..73f734629 100644 --- a/src/std/rec/aSubRecord.dbd.pod +++ b/src/std/rec/aSubRecord.dbd.pod @@ -61,33 +61,33 @@ recordtype(aSub) { } field(INAM,DBF_STRING) { prompt("Initialize Subr. Name") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) size(41) } field(LFLG,DBF_MENU) { prompt("Subr. Input Enable") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) menu(aSubLFLG) } field(SUBL,DBF_INLINK) { prompt("Subroutine Name Link") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) } field(SNAM,DBF_STRING) { prompt("Process Subr. Name") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_MOD) interest(1) size(41) } field(ONAM,DBF_STRING) { prompt("Old Subr. Name") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(3) size(41) @@ -107,127 +107,127 @@ recordtype(aSub) { } field(BRSV,DBF_MENU) { prompt("Bad Return Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(EFLG,DBF_MENU) { prompt("Output Event Flag") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) menu(aSubEFLG) initial("1") } field(INPA,DBF_INLINK) { prompt("Input Link A") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") interest(1) } field(INPB,DBF_INLINK) { prompt("Input Link B") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") interest(1) } field(INPC,DBF_INLINK) { prompt("Input Link C") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") interest(1) } field(INPD,DBF_INLINK) { prompt("Input Link D") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") interest(1) } field(INPE,DBF_INLINK) { prompt("Input Link E") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") interest(1) } field(INPF,DBF_INLINK) { prompt("Input Link F") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") interest(1) } field(INPG,DBF_INLINK) { prompt("Input Link G") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") interest(1) } field(INPH,DBF_INLINK) { prompt("Input Link H") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") interest(1) } field(INPI,DBF_INLINK) { prompt("Input Link I") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input Link J") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") interest(1) } field(INPK,DBF_INLINK) { prompt("Input Link K") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") interest(1) } field(INPL,DBF_INLINK) { prompt("Input Link L") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") interest(1) } field(INPM,DBF_INLINK) { prompt("Input Link M") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") interest(1) } field(INPN,DBF_INLINK) { prompt("Input Link N") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") interest(1) } field(INPO,DBF_INLINK) { prompt("Input Link O") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") interest(1) } field(INPP,DBF_INLINK) { prompt("Input Link P") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") interest(1) } field(INPQ,DBF_INLINK) { prompt("Input Link Q") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") interest(1) } field(INPR,DBF_INLINK) { prompt("Input Link R") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") interest(1) } field(INPS,DBF_INLINK) { prompt("Input Link S") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") interest(1) } field(INPT,DBF_INLINK) { prompt("Input Link T") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") interest(1) } field(INPU,DBF_INLINK) { prompt("Input Link U") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") interest(1) } @@ -451,7 +451,7 @@ recordtype(aSub) { } field(FTA,DBF_MENU) { prompt("Type of A") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -459,7 +459,7 @@ recordtype(aSub) { } field(FTB,DBF_MENU) { prompt("Type of B") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -467,7 +467,7 @@ recordtype(aSub) { } field(FTC,DBF_MENU) { prompt("Type of C") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -475,7 +475,7 @@ recordtype(aSub) { } field(FTD,DBF_MENU) { prompt("Type of D") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -483,7 +483,7 @@ recordtype(aSub) { } field(FTE,DBF_MENU) { prompt("Type of E") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -491,7 +491,7 @@ recordtype(aSub) { } field(FTF,DBF_MENU) { prompt("Type of F") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -499,7 +499,7 @@ recordtype(aSub) { } field(FTG,DBF_MENU) { prompt("Type of G") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -507,7 +507,7 @@ recordtype(aSub) { } field(FTH,DBF_MENU) { prompt("Type of H") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -515,7 +515,7 @@ recordtype(aSub) { } field(FTI,DBF_MENU) { prompt("Type of I") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -523,7 +523,7 @@ recordtype(aSub) { } field(FTJ,DBF_MENU) { prompt("Type of J") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -531,7 +531,7 @@ recordtype(aSub) { } field(FTK,DBF_MENU) { prompt("Type of K") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -539,7 +539,7 @@ recordtype(aSub) { } field(FTL,DBF_MENU) { prompt("Type of L") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -547,7 +547,7 @@ recordtype(aSub) { } field(FTM,DBF_MENU) { prompt("Type of M") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -555,7 +555,7 @@ recordtype(aSub) { } field(FTN,DBF_MENU) { prompt("Type of N") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -563,7 +563,7 @@ recordtype(aSub) { } field(FTO,DBF_MENU) { prompt("Type of O") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -571,7 +571,7 @@ recordtype(aSub) { } field(FTP,DBF_MENU) { prompt("Type of P") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -579,7 +579,7 @@ recordtype(aSub) { } field(FTQ,DBF_MENU) { prompt("Type of Q") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -587,7 +587,7 @@ recordtype(aSub) { } field(FTR,DBF_MENU) { prompt("Type of R") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -595,7 +595,7 @@ recordtype(aSub) { } field(FTS,DBF_MENU) { prompt("Type of S") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -603,7 +603,7 @@ recordtype(aSub) { } field(FTT,DBF_MENU) { prompt("Type of T") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -611,7 +611,7 @@ recordtype(aSub) { } field(FTU,DBF_MENU) { prompt("Type of U") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -619,147 +619,147 @@ recordtype(aSub) { } field(NOA,DBF_ULONG) { prompt("Max. elements in A") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOB,DBF_ULONG) { prompt("Max. elements in B") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOC,DBF_ULONG) { prompt("Max. elements in C") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOD,DBF_ULONG) { prompt("Max. elements in D") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOE,DBF_ULONG) { prompt("Max. elements in E") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOF,DBF_ULONG) { prompt("Max. elements in F") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOG,DBF_ULONG) { prompt("Max. elements in G") - promptgroup("41 - Input A-G") + promptgroup("41 - Input A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOH,DBF_ULONG) { prompt("Max. elements in H") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOI,DBF_ULONG) { prompt("Max. elements in I") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOJ,DBF_ULONG) { prompt("Max. elements in J") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOK,DBF_ULONG) { prompt("Max. elements in K") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOL,DBF_ULONG) { prompt("Max. elements in L") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOM,DBF_ULONG) { prompt("Max. elements in M") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NON,DBF_ULONG) { prompt("Max. elements in N") - promptgroup("42 - Input H-N") + promptgroup("42 - Input H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOO,DBF_ULONG) { prompt("Max. elements in O") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOP,DBF_ULONG) { prompt("Max. elements in P") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOQ,DBF_ULONG) { prompt("Max. elements in Q") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOR,DBF_ULONG) { prompt("Max. elements in R") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOS,DBF_ULONG) { prompt("Max. elements in S") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOT,DBF_ULONG) { prompt("Max. elements in T") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOU,DBF_ULONG) { prompt("Max. elements in U") - promptgroup("43 - Input O-U") + promptgroup("43 - Input O-U") special(SPC_NOMOD) interest(1) initial("1") @@ -892,107 +892,107 @@ recordtype(aSub) { } field(OUTA,DBF_OUTLINK) { prompt("Output Link A") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") interest(1) } field(OUTB,DBF_OUTLINK) { prompt("Output Link B") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") interest(1) } field(OUTC,DBF_OUTLINK) { prompt("Output Link C") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") interest(1) } field(OUTD,DBF_OUTLINK) { prompt("Output Link D") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") interest(1) } field(OUTE,DBF_OUTLINK) { prompt("Output Link E") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") interest(1) } field(OUTF,DBF_OUTLINK) { prompt("Output Link F") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") interest(1) } field(OUTG,DBF_OUTLINK) { prompt("Output Link G") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") interest(1) } field(OUTH,DBF_OUTLINK) { prompt("Output Link H") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") interest(1) } field(OUTI,DBF_OUTLINK) { prompt("Output Link I") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") interest(1) } field(OUTJ,DBF_OUTLINK) { prompt("Output Link J") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") interest(1) } field(OUTK,DBF_OUTLINK) { prompt("Output Link K") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") interest(1) } field(OUTL,DBF_OUTLINK) { prompt("Output Link L") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") interest(1) } field(OUTM,DBF_OUTLINK) { prompt("Output Link M") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") interest(1) } field(OUTN,DBF_OUTLINK) { prompt("Output Link N") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") interest(1) } field(OUTO,DBF_OUTLINK) { prompt("Output Link O") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") interest(1) } field(OUTP,DBF_OUTLINK) { prompt("Output Link P") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") interest(1) } field(OUTQ,DBF_OUTLINK) { prompt("Output Link Q") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") interest(1) } field(OUTR,DBF_OUTLINK) { prompt("Output Link R") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") interest(1) } field(OUTS,DBF_OUTLINK) { prompt("Output Link S") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") interest(1) } field(OUTT,DBF_OUTLINK) { prompt("Output Link T") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") interest(1) } field(OUTU,DBF_OUTLINK) { prompt("Output Link U") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") interest(1) } @@ -1363,7 +1363,7 @@ recordtype(aSub) { } field(FTVA,DBF_MENU) { prompt("Type of VALA") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1371,7 +1371,7 @@ recordtype(aSub) { } field(FTVB,DBF_MENU) { prompt("Type of VALB") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1379,7 +1379,7 @@ recordtype(aSub) { } field(FTVC,DBF_MENU) { prompt("Type of VALC") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1387,7 +1387,7 @@ recordtype(aSub) { } field(FTVD,DBF_MENU) { prompt("Type of VALD") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1395,7 +1395,7 @@ recordtype(aSub) { } field(FTVE,DBF_MENU) { prompt("Type of VALE") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1403,7 +1403,7 @@ recordtype(aSub) { } field(FTVF,DBF_MENU) { prompt("Type of VALF") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1411,7 +1411,7 @@ recordtype(aSub) { } field(FTVG,DBF_MENU) { prompt("Type of VALG") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1419,7 +1419,7 @@ recordtype(aSub) { } field(FTVH,DBF_MENU) { prompt("Type of VALH") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1427,7 +1427,7 @@ recordtype(aSub) { } field(FTVI,DBF_MENU) { prompt("Type of VALI") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1435,7 +1435,7 @@ recordtype(aSub) { } field(FTVJ,DBF_MENU) { prompt("Type of VALJ") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1443,7 +1443,7 @@ recordtype(aSub) { } field(FTVK,DBF_MENU) { prompt("Type of VALK") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1451,7 +1451,7 @@ recordtype(aSub) { } field(FTVL,DBF_MENU) { prompt("Type of VALL") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1459,7 +1459,7 @@ recordtype(aSub) { } field(FTVM,DBF_MENU) { prompt("Type of VALM") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1467,7 +1467,7 @@ recordtype(aSub) { } field(FTVN,DBF_MENU) { prompt("Type of VALN") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1475,7 +1475,7 @@ recordtype(aSub) { } field(FTVO,DBF_MENU) { prompt("Type of VALO") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1483,7 +1483,7 @@ recordtype(aSub) { } field(FTVP,DBF_MENU) { prompt("Type of VALP") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1491,7 +1491,7 @@ recordtype(aSub) { } field(FTVQ,DBF_MENU) { prompt("Type of VALQ") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1499,7 +1499,7 @@ recordtype(aSub) { } field(FTVR,DBF_MENU) { prompt("Type of VALR") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1507,7 +1507,7 @@ recordtype(aSub) { } field(FTVS,DBF_MENU) { prompt("Type of VALS") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1515,7 +1515,7 @@ recordtype(aSub) { } field(FTVT,DBF_MENU) { prompt("Type of VALT") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1523,7 +1523,7 @@ recordtype(aSub) { } field(FTVU,DBF_MENU) { prompt("Type of VALU") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("DOUBLE") @@ -1531,147 +1531,147 @@ recordtype(aSub) { } field(NOVA,DBF_ULONG) { prompt("Max. elements in VALA") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVB,DBF_ULONG) { prompt("Max. elements in VALB") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVC,DBF_ULONG) { prompt("Max. elements in VALC") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVD,DBF_ULONG) { prompt("Max. elements in VALD") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVE,DBF_ULONG) { prompt("Max. elements in VALE") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVF,DBF_ULONG) { prompt("Max. elements in VALF") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVG,DBF_ULONG) { prompt("Max. elements in VALG") - promptgroup("51 - Output A-G") + promptgroup("51 - Output A-G") special(SPC_NOMOD) interest(1) initial("1") } field(NOVH,DBF_ULONG) { prompt("Max. elements in VAlH") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVI,DBF_ULONG) { prompt("Max. elements in VALI") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVJ,DBF_ULONG) { prompt("Max. elements in VALJ") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVK,DBF_ULONG) { prompt("Max. elements in VALK") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVL,DBF_ULONG) { prompt("Max. elements in VALL") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVM,DBF_ULONG) { prompt("Max. elements in VALM") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVN,DBF_ULONG) { prompt("Max. elements in VALN") - promptgroup("52 - Output H-N") + promptgroup("52 - Output H-N") special(SPC_NOMOD) interest(1) initial("1") } field(NOVO,DBF_ULONG) { prompt("Max. elements in VALO") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVP,DBF_ULONG) { prompt("Max. elements in VALP") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVQ,DBF_ULONG) { prompt("Max. elements in VALQ") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVR,DBF_ULONG) { prompt("Max. elements in VALR") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVS,DBF_ULONG) { prompt("Max. elements in VALS") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVT,DBF_ULONG) { prompt("Max. elements in VALT") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") } field(NOVU,DBF_ULONG) { prompt("Max. elements in VALU") - promptgroup("53 - Output O-U") + promptgroup("53 - Output O-U") special(SPC_NOMOD) interest(1) initial("1") diff --git a/src/std/rec/aaiRecord.dbd b/src/std/rec/aaiRecord.dbd index fa7fff87a..06ab7f7b8 100644 --- a/src/std/rec/aaiRecord.dbd +++ b/src/std/rec/aaiRecord.dbd @@ -3,13 +3,12 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* menu(aaiPOST) { - choice(aaiPOST_Always,"Always") - choice(aaiPOST_OnChange,"On Change") + choice(aaiPOST_Always,"Always") + choice(aaiPOST_OnChange,"On Change") } recordtype(aai) { include "dbCommon.dbd" @@ -25,44 +24,44 @@ recordtype(aai) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) @@ -79,7 +78,7 @@ recordtype(aai) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -89,27 +88,27 @@ recordtype(aai) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(MPST,DBF_MENU) { - prompt("Post Value Monitors") - promptgroup("80 - Display") - interest(1) - menu(aaiPOST) + prompt("Post Value Monitors") + promptgroup("80 - Display") + interest(1) + menu(aaiPOST) } field(APST,DBF_MENU) { - prompt("Post Archive Monitors") - promptgroup("80 - Display") - interest(1) - menu(aaiPOST) - } + prompt("Post Archive Monitors") + promptgroup("80 - Display") + interest(1) + menu(aaiPOST) + } field(HASH,DBF_ULONG) { prompt("Hash of OnChange data.") interest(3) diff --git a/src/std/rec/aaoRecord.dbd b/src/std/rec/aaoRecord.dbd index 0a05c1365..57d842f4f 100644 --- a/src/std/rec/aaoRecord.dbd +++ b/src/std/rec/aaoRecord.dbd @@ -3,13 +3,12 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* menu(aaoPOST) { - choice(aaoPOST_Always,"Always") - choice(aaoPOST_OnChange,"On Change") + choice(aaoPOST_Always,"Always") + choice(aaoPOST_OnChange,"On Change") } recordtype(aao) { include "dbCommon.dbd" @@ -25,44 +24,44 @@ recordtype(aao) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) @@ -79,7 +78,7 @@ recordtype(aao) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -89,27 +88,27 @@ recordtype(aao) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(MPST,DBF_MENU) { - prompt("Post Value Monitors") - promptgroup("80 - Display") - interest(1) - menu(aaoPOST) + prompt("Post Value Monitors") + promptgroup("80 - Display") + interest(1) + menu(aaoPOST) } field(APST,DBF_MENU) { - prompt("Post Archive Monitors") - promptgroup("80 - Display") - interest(1) - menu(aaoPOST) - } + prompt("Post Archive Monitors") + promptgroup("80 - Display") + interest(1) + menu(aaoPOST) + } field(HASH,DBF_ULONG) { prompt("Hash of OnChange data.") interest(3) diff --git a/src/std/rec/aiRecord.dbd.pod b/src/std/rec/aiRecord.dbd.pod index 110aa4e7e..2973ec831 100644 --- a/src/std/rec/aiRecord.dbd.pod +++ b/src/std/rec/aiRecord.dbd.pod @@ -230,7 +230,7 @@ monitoring functionality. prompt("Display Precision") promptgroup("80 - Display") interest(1) - prop(YES) + prop(YES) } field(LINR,DBF_MENU) { prompt("Linearization") @@ -259,19 +259,19 @@ monitoring functionality. promptgroup("80 - Display") interest(1) size(16) - prop(YES) + prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") promptgroup("80 - Display") interest(1) - prop(YES) + prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") promptgroup("80 - Display") interest(1) - prop(YES) + prop(YES) } field(AOFF,DBF_DOUBLE) { prompt("Adjustment Offset") @@ -296,35 +296,35 @@ monitoring functionality. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(LLSV,DBF_MENU) { @@ -332,7 +332,7 @@ monitoring functionality. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(HSV,DBF_MENU) { @@ -340,7 +340,7 @@ monitoring functionality. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(LSV,DBF_MENU) { @@ -348,7 +348,7 @@ monitoring functionality. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(HYST,DBF_DOUBLE) { diff --git a/src/std/rec/aoRecord.dbd.pod b/src/std/rec/aoRecord.dbd.pod index b7d62575d..41467dcd3 100644 --- a/src/std/rec/aoRecord.dbd.pod +++ b/src/std/rec/aoRecord.dbd.pod @@ -311,7 +311,7 @@ information on these fields. prompt("Display Precision") promptgroup("80 - Display") interest(1) - prop(YES) + prop(YES) } field(LINR,DBF_MENU) { prompt("Linearization") @@ -340,7 +340,7 @@ information on these fields. promptgroup("80 - Display") interest(1) size(16) - prop(YES) + prop(YES) } field(ROFF,DBF_ULONG) { prompt("Raw Offset") @@ -365,26 +365,26 @@ information on these fields. promptgroup("30 - Action") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(DRVL,DBF_DOUBLE) { prompt("Drive Low Limit") promptgroup("30 - Action") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") promptgroup("80 - Display") interest(1) - prop(YES) + prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") promptgroup("80 - Display") interest(1) - prop(YES) + prop(YES) } field(AOFF,DBF_DOUBLE) { prompt("Adjustment Offset") @@ -403,35 +403,35 @@ information on these fields. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(LLSV,DBF_MENU) { @@ -439,7 +439,7 @@ information on these fields. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(HSV,DBF_MENU) { @@ -447,7 +447,7 @@ information on these fields. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(LSV,DBF_MENU) { @@ -455,7 +455,7 @@ information on these fields. promptgroup("70 - Alarm") pp(TRUE) interest(1) - prop(YES) + prop(YES) menu(menuAlarmSevr) } field(HYST,DBF_DOUBLE) { diff --git a/src/std/rec/biRecord.dbd b/src/std/rec/biRecord.dbd index 3ecd088b4..fb3588fb1 100644 --- a/src/std/rec/biRecord.dbd +++ b/src/std/rec/biRecord.dbd @@ -3,47 +3,46 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(bi) { include "dbCommon.dbd" field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(VAL,DBF_ENUM) { prompt("Current Value") - promptgroup("40 - Input") + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(ZSV,DBF_MENU) { prompt("Zero Error Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(OSV,DBF_MENU) { prompt("One Error Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Svr") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ZNAM,DBF_STRING) { prompt("Zero Name") - promptgroup("80 - Display") + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -51,7 +50,7 @@ recordtype(bi) { } field(ONAM,DBF_STRING) { prompt("One Name") - promptgroup("80 - Display") + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -83,7 +82,7 @@ recordtype(bi) { } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_ULONG) { @@ -91,7 +90,7 @@ recordtype(bi) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -101,7 +100,7 @@ recordtype(bi) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/boRecord.dbd b/src/std/rec/boRecord.dbd index 1f627447c..fd002c368 100644 --- a/src/std/rec/boRecord.dbd +++ b/src/std/rec/boRecord.dbd @@ -3,42 +3,41 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(bo) { include "dbCommon.dbd" field(VAL,DBF_ENUM) { prompt("Current Value") - promptgroup("50 - Output") + promptgroup("50 - Output") asl(ASL0) pp(TRUE) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(HIGH,DBF_DOUBLE) { prompt("Seconds to Hold High") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) } field(ZNAM,DBF_STRING) { prompt("Zero Name") - promptgroup("80 - Display") + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -46,7 +45,7 @@ recordtype(bo) { } field(ONAM,DBF_STRING) { prompt("One Name") - promptgroup("80 - Display") + promptgroup("80 - Display") pp(TRUE) interest(1) size(26) @@ -80,21 +79,21 @@ recordtype(bo) { } field(ZSV,DBF_MENU) { prompt("Zero Error Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(OSV,DBF_MENU) { prompt("One Error Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Sevr") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) @@ -120,12 +119,12 @@ recordtype(bo) { } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -135,19 +134,19 @@ recordtype(bo) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID outpt action") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_USHORT) { prompt("INVALID output value") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) } } diff --git a/src/std/rec/calcRecord.dbd b/src/std/rec/calcRecord.dbd index d4ade27e6..e7eb0eee3 100644 --- a/src/std/rec/calcRecord.dbd +++ b/src/std/rec/calcRecord.dbd @@ -10,12 +10,12 @@ recordtype(calc) { include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Result") - promptgroup("50 - Output") - asl(ASL0) + promptgroup("50 - Output") + asl(ASL0) } field(CALC,DBF_STRING) { prompt("Calculation") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_CALC) pp(TRUE) size(80) @@ -23,120 +23,120 @@ recordtype(calc) { } field(INPA,DBF_INLINK) { prompt("Input A") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Rng") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -144,7 +144,7 @@ recordtype(calc) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -152,7 +152,7 @@ recordtype(calc) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -160,35 +160,35 @@ recordtype(calc) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) menu(menuAlarmSevr) } - field(AFTC, DBF_DOUBLE) { - prompt("Alarm Filter Time Constant") - promptgroup("70 - Alarm") - interest(1) - } - field(AFVL, DBF_DOUBLE) { - prompt("Alarm Filter Value") - special(SPC_NOMOD) - interest(3) - } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + special(SPC_NOMOD) + interest(3) + } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/calcoutRecord.dbd b/src/std/rec/calcoutRecord.dbd index fecf19112..5bf2e54de 100644 --- a/src/std/rec/calcoutRecord.dbd +++ b/src/std/rec/calcoutRecord.dbd @@ -34,7 +34,7 @@ recordtype(calcout) { } field(VAL,DBF_DOUBLE) { prompt("Result") - promptgroup("50 - Output") + promptgroup("50 - Output") asl(ASL0) } field(PVAL,DBF_DOUBLE) { @@ -42,7 +42,7 @@ recordtype(calcout) { } field(CALC,DBF_STRING) { prompt("Calculation") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_CALC) pp(TRUE) size(80) @@ -55,79 +55,79 @@ recordtype(calcout) { field(INPA,DBF_INLINK) { prompt("Input A") special(SPC_MOD) - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") special(SPC_MOD) - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") special(SPC_MOD) - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") special(SPC_MOD) - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") special(SPC_MOD) - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") special(SPC_MOD) - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") special(SPC_MOD) - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") special(SPC_MOD) - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") special(SPC_MOD) - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") special(SPC_MOD) - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") special(SPC_MOD) - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") special(SPC_MOD) - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") special(SPC_MOD) - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(INAV,DBF_MENU) { @@ -222,13 +222,13 @@ recordtype(calcout) { } field(OOPT,DBF_MENU) { prompt("Output Execute Opt") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) menu(calcoutOOPT) } field(ODLY,DBF_DOUBLE) { prompt("Output Execute Delay") - promptgroup("50 - Output") + promptgroup("50 - Output") asl(ASL0) interest(1) } @@ -239,13 +239,13 @@ recordtype(calcout) { } field(DOPT,DBF_MENU) { prompt("Output Data Opt") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) menu(calcoutDOPT) } field(OCAL,DBF_STRING) { prompt("Output Calculation") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_CALC) pp(TRUE) size(80) @@ -257,7 +257,7 @@ recordtype(calcout) { } field(OEVT,DBF_STRING) { prompt("Event To Issue") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_MOD) asl(ASL0) size(40) @@ -271,71 +271,71 @@ recordtype(calcout) { } field(IVOA,DBF_MENU) { prompt("INVALID output action") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_DOUBLE) { prompt("INVALID output value") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Rng") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -343,7 +343,7 @@ recordtype(calcout) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -351,7 +351,7 @@ recordtype(calcout) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -359,7 +359,7 @@ recordtype(calcout) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -367,17 +367,17 @@ recordtype(calcout) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/compressRecord.dbd.pod b/src/std/rec/compressRecord.dbd.pod index 1d9a10ed5..a67e12d3c 100644 --- a/src/std/rec/compressRecord.dbd.pod +++ b/src/std/rec/compressRecord.dbd.pod @@ -60,7 +60,7 @@ recordtype(compress) { } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(RES,DBF_SHORT) { @@ -71,57 +71,57 @@ recordtype(compress) { } field(ALG,DBF_MENU) { prompt("Compression Algorithm") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_RESET) interest(1) menu(compressALG) } field(NSAM,DBF_ULONG) { prompt("Number of Values") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(N,DBF_ULONG) { prompt("N to 1 Compression") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_RESET) interest(1) initial("1") } field(IHIL,DBF_DOUBLE) { prompt("Init High Interest Lim") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) } field(ILIL,DBF_DOUBLE) { prompt("Init Low Interest Lim") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") - interest(1) + prompt("Engineering Units") + promptgroup("80 - Display") + interest(1) size(16) prop(YES) } diff --git a/src/std/rec/dfanoutRecord.dbd b/src/std/rec/dfanoutRecord.dbd index f8bcef5c0..c2eb42a75 100644 --- a/src/std/rec/dfanoutRecord.dbd +++ b/src/std/rec/dfanoutRecord.dbd @@ -3,146 +3,145 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* menu(dfanoutSELM) { - choice(dfanoutSELM_All,"All") - choice(dfanoutSELM_Specified,"Specified") - choice(dfanoutSELM_Mask,"Mask") + choice(dfanoutSELM_All,"All") + choice(dfanoutSELM_Specified,"Specified") + choice(dfanoutSELM_Mask,"Mask") } recordtype(dfanout) { include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Desired Output") - promptgroup("40 - Input") - asl(ASL0) + promptgroup("40 - Input") + asl(ASL0) pp(TRUE) } - field(SELM,DBF_MENU) { - prompt("Select Mechanism") - promptgroup("30 - Action") - interest(1) - menu(dfanoutSELM) - } - field(SELN,DBF_USHORT) { - prompt("Link Selection") - interest(1) - initial("1") - } - field(SELL,DBF_INLINK) { - prompt("Link Selection Loc") - promptgroup("30 - Action") - interest(1) - } + field(SELM,DBF_MENU) { + prompt("Select Mechanism") + promptgroup("30 - Action") + interest(1) + menu(dfanoutSELM) + } + field(SELN,DBF_USHORT) { + prompt("Link Selection") + interest(1) + initial("1") + } + field(SELL,DBF_INLINK) { + prompt("Link Selection Loc") + promptgroup("30 - Action") + interest(1) + } field(OUTA,DBF_OUTLINK) { prompt("Output Spec A") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(OUTB,DBF_OUTLINK) { prompt("Output Spec B") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(OUTC,DBF_OUTLINK) { prompt("Output Spec C") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(OUTD,DBF_OUTLINK) { prompt("Output Spec D") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(OUTE,DBF_OUTLINK) { prompt("Output Spec E") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(OUTF,DBF_OUTLINK) { prompt("Output Spec F") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(OUTG,DBF_OUTLINK) { prompt("Output Spec G") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(OUTH,DBF_OUTLINK) { prompt("Output Spec H") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } - field(PREC,DBF_SHORT) { - prompt("Display Precision") - promptgroup("80 - Display") - interest(1) + field(PREC,DBF_SHORT) { + prompt("Display Precision") + promptgroup("80 - Display") + interest(1) prop(YES) - } + } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -150,7 +149,7 @@ recordtype(dfanout) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -158,7 +157,7 @@ recordtype(dfanout) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -166,7 +165,7 @@ recordtype(dfanout) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -174,17 +173,17 @@ recordtype(dfanout) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(LALM,DBF_DOUBLE) { diff --git a/src/std/rec/eventRecord.dbd b/src/std/rec/eventRecord.dbd index 887362109..348902e4b 100644 --- a/src/std/rec/eventRecord.dbd +++ b/src/std/rec/eventRecord.dbd @@ -3,15 +3,14 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(event) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Event Name To Post") - promptgroup("40 - Input") + promptgroup("40 - Input") special(SPC_MOD) asl(ASL0) size(40) @@ -25,12 +24,12 @@ recordtype(event) { } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_STRING) { @@ -39,7 +38,7 @@ recordtype(event) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -49,7 +48,7 @@ recordtype(event) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/fanoutRecord.dbd b/src/std/rec/fanoutRecord.dbd index 15611a302..40968945c 100644 --- a/src/std/rec/fanoutRecord.dbd +++ b/src/std/rec/fanoutRecord.dbd @@ -20,7 +20,7 @@ recordtype(fanout) { } field(SELM,DBF_MENU) { prompt("Select Mechanism") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) menu(fanoutSELM) } @@ -31,7 +31,7 @@ recordtype(fanout) { } field(SELL,DBF_INLINK) { prompt("Link Selection Loc") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) } field(OFFS,DBF_SHORT) { @@ -46,82 +46,82 @@ recordtype(fanout) { } field(LNK0,DBF_FWDLINK) { prompt("Forward Link 0") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK1,DBF_FWDLINK) { prompt("Forward Link 1") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK2,DBF_FWDLINK) { prompt("Forward Link 2") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK3,DBF_FWDLINK) { prompt("Forward Link 3") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK4,DBF_FWDLINK) { prompt("Forward Link 4") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK5,DBF_FWDLINK) { prompt("Forward Link 5") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK6,DBF_FWDLINK) { prompt("Forward Link 6") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK7,DBF_FWDLINK) { prompt("Forward Link 7") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") interest(1) } field(LNK8,DBF_FWDLINK) { prompt("Forward Link 8") - promptgroup("52 - Output 8-F") + promptgroup("52 - Output 8-F") interest(1) } field(LNK9,DBF_FWDLINK) { prompt("Forward Link 9") - promptgroup("52 - Output 8-F") + promptgroup("52 - Output 8-F") interest(1) } field(LNKA,DBF_FWDLINK) { prompt("Forward Link 10") - promptgroup("52 - Output 8-F") + promptgroup("52 - Output 8-F") interest(1) } field(LNKB,DBF_FWDLINK) { prompt("Forward Link 11") - promptgroup("52 - Output 8-F") + promptgroup("52 - Output 8-F") interest(1) } field(LNKC,DBF_FWDLINK) { prompt("Forward Link 12") - promptgroup("52 - Output 8-F") + promptgroup("52 - Output 8-F") interest(1) } field(LNKD,DBF_FWDLINK) { prompt("Forward Link 13") - promptgroup("52 - Output 8-F") + promptgroup("52 - Output 8-F") interest(1) } field(LNKE,DBF_FWDLINK) { prompt("Forward Link 14") - promptgroup("52 - Output 8-F") + promptgroup("52 - Output 8-F") interest(1) } field(LNKF,DBF_FWDLINK) { prompt("Forward Link 15") - promptgroup("52 - Output 8-F") - interest(1) + promptgroup("52 - Output 8-F") + interest(1) } } diff --git a/src/std/rec/histogramRecord.dbd b/src/std/rec/histogramRecord.dbd index 32c2cf3fb..075400fc6 100644 --- a/src/std/rec/histogramRecord.dbd +++ b/src/std/rec/histogramRecord.dbd @@ -3,9 +3,8 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* menu(histogramCMD) { choice(histogramCMD_Read,"Read") @@ -26,7 +25,7 @@ recordtype(histogram) { } field(NELM,DBF_USHORT) { prompt("Num of Array Elements") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") @@ -40,20 +39,20 @@ recordtype(histogram) { field(CMD,DBF_MENU) { prompt("Collection Control") asl(ASL0) - special(SPC_CALC) + special(SPC_CALC) interest(1) menu(histogramCMD) } field(ULIM,DBF_DOUBLE) { prompt("Upper Signal Limit") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_RESET) interest(1) prop(YES) } field(LLIM,DBF_DOUBLE) { prompt("Lower Signal Limit ") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_RESET) interest(1) prop(YES) @@ -69,13 +68,13 @@ recordtype(histogram) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(SVL,DBF_INLINK) { prompt("Signal Value Location") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(BPTR,DBF_NOACCESS) { @@ -92,7 +91,7 @@ recordtype(histogram) { } field(MDEL,DBF_SHORT) { prompt("Monitor Count Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MCNT,DBF_SHORT) { @@ -102,13 +101,13 @@ recordtype(histogram) { } field(SDEL,DBF_DOUBLE) { prompt("Monitor Seconds Dband") - promptgroup("80 - Display") + promptgroup("80 - Display") special(SPC_RESET) interest(1) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_DOUBLE) { @@ -116,7 +115,7 @@ recordtype(histogram) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -126,19 +125,19 @@ recordtype(histogram) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(HOPR,DBF_ULONG) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_ULONG) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } diff --git a/src/std/rec/longinRecord.dbd b/src/std/rec/longinRecord.dbd index c8c63d270..60eee5000 100644 --- a/src/std/rec/longinRecord.dbd +++ b/src/std/rec/longinRecord.dbd @@ -3,121 +3,120 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(longin) { include "dbCommon.dbd" field(VAL,DBF_LONG) { prompt("Current value") - promptgroup("40 - Input") + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_LONG) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_LONG) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_LONG) { prompt("Hihi Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_LONG) { prompt("Lolo Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_LONG) { prompt("High Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_LONG) { prompt("Low Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HYST,DBF_LONG) { prompt("Alarm Deadband") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) } field(AFTC, DBF_DOUBLE) { - prompt("Alarm Filter Time Constant") - promptgroup("70 - Alarm") - interest(1) + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) } field(AFVL, DBF_DOUBLE) { - prompt("Alarm Filter Value") - special(SPC_NOMOD) - interest(3) + prompt("Alarm Filter Value") + special(SPC_NOMOD) + interest(3) } field(ADEL,DBF_LONG) { prompt("Archive Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_LONG) { prompt("Monitor Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(LALM,DBF_LONG) { @@ -137,7 +136,7 @@ recordtype(longin) { } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_LONG) { @@ -145,7 +144,7 @@ recordtype(longin) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -155,7 +154,7 @@ recordtype(longin) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/longoutRecord.dbd b/src/std/rec/longoutRecord.dbd index 9fcdf2ff5..c3ba0b977 100644 --- a/src/std/rec/longoutRecord.dbd +++ b/src/std/rec/longoutRecord.dbd @@ -3,136 +3,135 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(longout) { include "dbCommon.dbd" field(VAL,DBF_LONG) { prompt("Desired Output") - promptgroup("50 - Output") + promptgroup("50 - Output") asl(ASL0) pp(TRUE) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(DRVH,DBF_LONG) { prompt("Drive High Limit") - promptgroup("30 - Action") + promptgroup("30 - Action") pp(TRUE) interest(1) prop(YES) } field(DRVL,DBF_LONG) { prompt("Drive Low Limit") - promptgroup("30 - Action") + promptgroup("30 - Action") pp(TRUE) interest(1) prop(YES) } field(HOPR,DBF_LONG) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_LONG) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_LONG) { prompt("Hihi Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_LONG) { prompt("Lolo Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_LONG) { prompt("High Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_LONG) { prompt("Low Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HYST,DBF_LONG) { prompt("Alarm Deadband") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_LONG) { prompt("Archive Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_LONG) { prompt("Monitor Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(LALM,DBF_LONG) { @@ -152,12 +151,12 @@ recordtype(longout) { } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -167,19 +166,19 @@ recordtype(longout) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID output action") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_LONG) { prompt("INVALID output value") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) } } diff --git a/src/std/rec/mbbiRecord.dbd b/src/std/rec/mbbiRecord.dbd index d22c287f6..1f5724c92 100644 --- a/src/std/rec/mbbiRecord.dbd +++ b/src/std/rec/mbbiRecord.dbd @@ -10,24 +10,24 @@ recordtype(mbbi) { include "dbCommon.dbd" field(VAL,DBF_ENUM) { prompt("Current Value") - promptgroup("40 - Input") + promptgroup("40 - Input") asl(ASL0) pp(TRUE) } field(NOBT,DBF_USHORT) { prompt("Number of Bits") - promptgroup("40 - Input") + promptgroup("40 - Input") special(SPC_NOMOD) interest(1) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(ZRVL,DBF_ULONG) { prompt("Zero Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -35,7 +35,7 @@ recordtype(mbbi) { } field(ONVL,DBF_ULONG) { prompt("One Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -43,7 +43,7 @@ recordtype(mbbi) { } field(TWVL,DBF_ULONG) { prompt("Two Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -51,7 +51,7 @@ recordtype(mbbi) { } field(THVL,DBF_ULONG) { prompt("Three Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -59,7 +59,7 @@ recordtype(mbbi) { } field(FRVL,DBF_ULONG) { prompt("Four Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -67,7 +67,7 @@ recordtype(mbbi) { } field(FVVL,DBF_ULONG) { prompt("Five Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -75,7 +75,7 @@ recordtype(mbbi) { } field(SXVL,DBF_ULONG) { prompt("Six Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -83,7 +83,7 @@ recordtype(mbbi) { } field(SVVL,DBF_ULONG) { prompt("Seven Value") - promptgroup("41 - Input 0-7") + promptgroup("41 - Input 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -91,7 +91,7 @@ recordtype(mbbi) { } field(EIVL,DBF_ULONG) { prompt("Eight Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -99,7 +99,7 @@ recordtype(mbbi) { } field(NIVL,DBF_ULONG) { prompt("Nine Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -107,7 +107,7 @@ recordtype(mbbi) { } field(TEVL,DBF_ULONG) { prompt("Ten Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -115,7 +115,7 @@ recordtype(mbbi) { } field(ELVL,DBF_ULONG) { prompt("Eleven Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -123,7 +123,7 @@ recordtype(mbbi) { } field(TVVL,DBF_ULONG) { prompt("Twelve Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -131,7 +131,7 @@ recordtype(mbbi) { } field(TTVL,DBF_ULONG) { prompt("Thirteen Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -139,7 +139,7 @@ recordtype(mbbi) { } field(FTVL,DBF_ULONG) { prompt("Fourteen Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -147,7 +147,7 @@ recordtype(mbbi) { } field(FFVL,DBF_ULONG) { prompt("Fifteen Value") - promptgroup("42 - Input 8-15") + promptgroup("42 - Input 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -155,7 +155,7 @@ recordtype(mbbi) { } field(ZRST,DBF_STRING) { prompt("Zero String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -163,7 +163,7 @@ recordtype(mbbi) { } field(ONST,DBF_STRING) { prompt("One String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -171,7 +171,7 @@ recordtype(mbbi) { } field(TWST,DBF_STRING) { prompt("Two String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -179,7 +179,7 @@ recordtype(mbbi) { } field(THST,DBF_STRING) { prompt("Three String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -187,7 +187,7 @@ recordtype(mbbi) { } field(FRST,DBF_STRING) { prompt("Four String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -195,7 +195,7 @@ recordtype(mbbi) { } field(FVST,DBF_STRING) { prompt("Five String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -203,7 +203,7 @@ recordtype(mbbi) { } field(SXST,DBF_STRING) { prompt("Six String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -211,7 +211,7 @@ recordtype(mbbi) { } field(SVST,DBF_STRING) { prompt("Seven String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -219,7 +219,7 @@ recordtype(mbbi) { } field(EIST,DBF_STRING) { prompt("Eight String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -227,7 +227,7 @@ recordtype(mbbi) { } field(NIST,DBF_STRING) { prompt("Nine String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -235,7 +235,7 @@ recordtype(mbbi) { } field(TEST,DBF_STRING) { prompt("Ten String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -243,7 +243,7 @@ recordtype(mbbi) { } field(ELST,DBF_STRING) { prompt("Eleven String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -251,7 +251,7 @@ recordtype(mbbi) { } field(TVST,DBF_STRING) { prompt("Twelve String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -259,7 +259,7 @@ recordtype(mbbi) { } field(TTST,DBF_STRING) { prompt("Thirteen String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -267,7 +267,7 @@ recordtype(mbbi) { } field(FTST,DBF_STRING) { prompt("Fourteen String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -275,7 +275,7 @@ recordtype(mbbi) { } field(FFST,DBF_STRING) { prompt("Fifteen String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -283,136 +283,136 @@ recordtype(mbbi) { } field(ZRSV,DBF_MENU) { prompt("State Zero Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ONSV,DBF_MENU) { prompt("State One Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TWSV,DBF_MENU) { prompt("State Two Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(THSV,DBF_MENU) { prompt("State Three Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FRSV,DBF_MENU) { prompt("State Four Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FVSV,DBF_MENU) { prompt("State Five Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SXSV,DBF_MENU) { prompt("State Six Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SVSV,DBF_MENU) { prompt("State Seven Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(EISV,DBF_MENU) { prompt("State Eight Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(NISV,DBF_MENU) { prompt("State Nine Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TESV,DBF_MENU) { prompt("State Ten Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ELSV,DBF_MENU) { prompt("State Eleven Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TVSV,DBF_MENU) { prompt("State Twelve Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TTSV,DBF_MENU) { prompt("State Thirteen Sevr") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FTSV,DBF_MENU) { prompt("State Fourteen Sevr") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FFSV,DBF_MENU) { prompt("State Fifteen Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } - field(AFTC, DBF_DOUBLE) { - prompt("Alarm Filter Time Constant") - promptgroup("70 - Alarm") - interest(1) - } - field(AFVL, DBF_DOUBLE) { - prompt("Alarm Filter Value") - special(SPC_NOMOD) - interest(3) - } + field(AFTC, DBF_DOUBLE) { + prompt("Alarm Filter Time Constant") + promptgroup("70 - Alarm") + interest(1) + } + field(AFVL, DBF_DOUBLE) { + prompt("Alarm Filter Value") + special(SPC_NOMOD) + interest(3) + } field(UNSV,DBF_MENU) { prompt("Unknown State Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Svr") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) @@ -448,12 +448,12 @@ recordtype(mbbi) { } field(SHFT,DBF_USHORT) { prompt("Shift") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_ULONG) { @@ -461,7 +461,7 @@ recordtype(mbbi) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -471,7 +471,7 @@ recordtype(mbbi) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/mbboRecord.dbd b/src/std/rec/mbboRecord.dbd index e61413f1f..f841ba018 100644 --- a/src/std/rec/mbboRecord.dbd +++ b/src/std/rec/mbboRecord.dbd @@ -10,7 +10,7 @@ recordtype(mbbo) { include "dbCommon.dbd" field(VAL,DBF_ENUM) { prompt("Desired Value") - promptgroup("50 - Output") + promptgroup("50 - Output") special(SPC_DBADDR) asl(ASL0) pp(TRUE) @@ -19,29 +19,29 @@ recordtype(mbbo) { } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(NOBT,DBF_USHORT) { prompt("Number of Bits") - promptgroup("50 - Output") + promptgroup("50 - Output") special(SPC_NOMOD) interest(1) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(ZRVL,DBF_ULONG) { prompt("Zero Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -49,7 +49,7 @@ recordtype(mbbo) { } field(ONVL,DBF_ULONG) { prompt("One Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -57,7 +57,7 @@ recordtype(mbbo) { } field(TWVL,DBF_ULONG) { prompt("Two Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -65,7 +65,7 @@ recordtype(mbbo) { } field(THVL,DBF_ULONG) { prompt("Three Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -73,7 +73,7 @@ recordtype(mbbo) { } field(FRVL,DBF_ULONG) { prompt("Four Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -81,7 +81,7 @@ recordtype(mbbo) { } field(FVVL,DBF_ULONG) { prompt("Five Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -89,7 +89,7 @@ recordtype(mbbo) { } field(SXVL,DBF_ULONG) { prompt("Six Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -97,7 +97,7 @@ recordtype(mbbo) { } field(SVVL,DBF_ULONG) { prompt("Seven Value") - promptgroup("51 - Output 0-7") + promptgroup("51 - Output 0-7") special(SPC_MOD) pp(TRUE) base(HEX) @@ -105,7 +105,7 @@ recordtype(mbbo) { } field(EIVL,DBF_ULONG) { prompt("Eight Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -113,7 +113,7 @@ recordtype(mbbo) { } field(NIVL,DBF_ULONG) { prompt("Nine Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -121,7 +121,7 @@ recordtype(mbbo) { } field(TEVL,DBF_ULONG) { prompt("Ten Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -129,7 +129,7 @@ recordtype(mbbo) { } field(ELVL,DBF_ULONG) { prompt("Eleven Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -137,7 +137,7 @@ recordtype(mbbo) { } field(TVVL,DBF_ULONG) { prompt("Twelve Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -145,7 +145,7 @@ recordtype(mbbo) { } field(TTVL,DBF_ULONG) { prompt("Thirteen Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -153,7 +153,7 @@ recordtype(mbbo) { } field(FTVL,DBF_ULONG) { prompt("Fourteen Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -161,7 +161,7 @@ recordtype(mbbo) { } field(FFVL,DBF_ULONG) { prompt("Fifteen Value") - promptgroup("52 - Output 8-15") + promptgroup("52 - Output 8-15") special(SPC_MOD) pp(TRUE) base(HEX) @@ -169,7 +169,7 @@ recordtype(mbbo) { } field(ZRST,DBF_STRING) { prompt("Zero String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -177,7 +177,7 @@ recordtype(mbbo) { } field(ONST,DBF_STRING) { prompt("One String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -185,7 +185,7 @@ recordtype(mbbo) { } field(TWST,DBF_STRING) { prompt("Two String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -193,7 +193,7 @@ recordtype(mbbo) { } field(THST,DBF_STRING) { prompt("Three String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -201,7 +201,7 @@ recordtype(mbbo) { } field(FRST,DBF_STRING) { prompt("Four String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -209,7 +209,7 @@ recordtype(mbbo) { } field(FVST,DBF_STRING) { prompt("Five String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -217,7 +217,7 @@ recordtype(mbbo) { } field(SXST,DBF_STRING) { prompt("Six String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -225,7 +225,7 @@ recordtype(mbbo) { } field(SVST,DBF_STRING) { prompt("Seven String") - promptgroup("81 - Display 0-7") + promptgroup("81 - Display 0-7") special(SPC_MOD) pp(TRUE) interest(1) @@ -233,7 +233,7 @@ recordtype(mbbo) { } field(EIST,DBF_STRING) { prompt("Eight String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -241,7 +241,7 @@ recordtype(mbbo) { } field(NIST,DBF_STRING) { prompt("Nine String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -249,7 +249,7 @@ recordtype(mbbo) { } field(TEST,DBF_STRING) { prompt("Ten String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -257,7 +257,7 @@ recordtype(mbbo) { } field(ELST,DBF_STRING) { prompt("Eleven String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -265,7 +265,7 @@ recordtype(mbbo) { } field(TVST,DBF_STRING) { prompt("Twelve String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -273,7 +273,7 @@ recordtype(mbbo) { } field(TTST,DBF_STRING) { prompt("Thirteen String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -281,7 +281,7 @@ recordtype(mbbo) { } field(FTST,DBF_STRING) { prompt("Fourteen String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -289,7 +289,7 @@ recordtype(mbbo) { } field(FFST,DBF_STRING) { prompt("Fifteen String") - promptgroup("82 - Display 8-15") + promptgroup("82 - Display 8-15") special(SPC_MOD) pp(TRUE) interest(1) @@ -297,126 +297,126 @@ recordtype(mbbo) { } field(ZRSV,DBF_MENU) { prompt("State Zero Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ONSV,DBF_MENU) { prompt("State One Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TWSV,DBF_MENU) { prompt("State Two Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(THSV,DBF_MENU) { prompt("State Three Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FRSV,DBF_MENU) { prompt("State Four Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FVSV,DBF_MENU) { prompt("State Five Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SXSV,DBF_MENU) { prompt("State Six Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(SVSV,DBF_MENU) { prompt("State Seven Severity") - promptgroup("71 - Alarm 0-7") + promptgroup("71 - Alarm 0-7") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(EISV,DBF_MENU) { prompt("State Eight Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(NISV,DBF_MENU) { prompt("State Nine Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TESV,DBF_MENU) { prompt("State Ten Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(ELSV,DBF_MENU) { prompt("State Eleven Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TVSV,DBF_MENU) { prompt("State Twelve Severity") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(TTSV,DBF_MENU) { prompt("State Thirteen Sevr") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FTSV,DBF_MENU) { prompt("State Fourteen Sevr") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(FFSV,DBF_MENU) { prompt("State Fifteen Sevr") - promptgroup("72 - Alarm 8-15") + promptgroup("72 - Alarm 8-15") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(UNSV,DBF_MENU) { prompt("Unknown State Sevr") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(COSV,DBF_MENU) { prompt("Change of State Sevr") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) @@ -461,17 +461,17 @@ recordtype(mbbo) { } field(SHFT,DBF_USHORT) { prompt("Shift") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -481,19 +481,19 @@ recordtype(mbbo) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID outpt action") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_USHORT) { prompt("INVALID output value") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) } } diff --git a/src/std/rec/permissiveRecord.dbd b/src/std/rec/permissiveRecord.dbd index 560502952..7eb04bf95 100644 --- a/src/std/rec/permissiveRecord.dbd +++ b/src/std/rec/permissiveRecord.dbd @@ -3,23 +3,22 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(permissive) { include "dbCommon.dbd" field(LABL,DBF_STRING) { prompt("Button Label") - promptgroup("80 - Display") + promptgroup("80 - Display") pp(TRUE) interest(1) size(20) } field(VAL,DBF_USHORT) { prompt("Status") - promptgroup("40 - Input") - asl(ASL0) + promptgroup("40 - Input") + asl(ASL0) pp(TRUE) } field(OVAL,DBF_USHORT) { diff --git a/src/std/rec/selRecord.dbd b/src/std/rec/selRecord.dbd index 2f5543e4c..724482704 100644 --- a/src/std/rec/selRecord.dbd +++ b/src/std/rec/selRecord.dbd @@ -3,9 +3,8 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* menu(selSELM) { choice(selSELM_Specified,"Specified") @@ -17,13 +16,13 @@ recordtype(sel) { include "dbCommon.dbd" field(VAL,DBF_DOUBLE) { prompt("Result") - promptgroup("40 - Input") - asl(ASL0) + promptgroup("40 - Input") + asl(ASL0) special(SPC_NOMOD) } field(SELM,DBF_MENU) { prompt("Select Mechanism") - promptgroup("30 - Action") + promptgroup("30 - Action") menu(selSELM) } field(SELN,DBF_USHORT) { @@ -31,124 +30,124 @@ recordtype(sel) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(NVL,DBF_INLINK) { prompt("Index Value Location") - promptgroup("30 - Action") + promptgroup("30 - Action") interest(1) } field(INPA,DBF_INLINK) { prompt("Input A") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Rng") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup("70 - Alarm") - pp(TRUE) + promptgroup("70 - Alarm") + pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -156,7 +155,7 @@ recordtype(sel) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -164,7 +163,7 @@ recordtype(sel) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -172,7 +171,7 @@ recordtype(sel) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -180,17 +179,17 @@ recordtype(sel) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/stateRecord.dbd b/src/std/rec/stateRecord.dbd index 1abb145d7..6e43ddbba 100644 --- a/src/std/rec/stateRecord.dbd +++ b/src/std/rec/stateRecord.dbd @@ -3,15 +3,14 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(state) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Value") - promptgroup("40 - Input") + promptgroup("40 - Input") asl(ASL0) pp(TRUE) size(20) diff --git a/src/std/rec/stringinRecord.dbd b/src/std/rec/stringinRecord.dbd index 9827cc2c1..5b0b76813 100644 --- a/src/std/rec/stringinRecord.dbd +++ b/src/std/rec/stringinRecord.dbd @@ -3,9 +3,8 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* menu(stringinPOST) { choice(stringinPOST_OnChange,"On Change") @@ -15,7 +14,7 @@ recordtype(stringin) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Current Value") - promptgroup("40 - Input") + promptgroup("40 - Input") asl(ASL0) pp(TRUE) size(40) @@ -28,24 +27,24 @@ recordtype(stringin) { } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) menu(stringinPOST) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) menu(stringinPOST) } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SVAL,DBF_STRING) { @@ -55,7 +54,7 @@ recordtype(stringin) { } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -65,7 +64,7 @@ recordtype(stringin) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } diff --git a/src/std/rec/stringoutRecord.dbd b/src/std/rec/stringoutRecord.dbd index 46cb567e0..fe0bae5d0 100644 --- a/src/std/rec/stringoutRecord.dbd +++ b/src/std/rec/stringoutRecord.dbd @@ -3,9 +3,8 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* menu(stringoutPOST) { choice(stringoutPOST_OnChange,"On Change") @@ -15,7 +14,7 @@ recordtype(stringout) { include "dbCommon.dbd" field(VAL,DBF_STRING) { prompt("Current Value") - promptgroup("50 - Output") + promptgroup("50 - Output") asl(ASL0) pp(TRUE) size(40) @@ -28,40 +27,40 @@ recordtype(stringout) { } field(DOL,DBF_INLINK) { prompt("Desired Output Loc") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(OMSL,DBF_MENU) { prompt("Output Mode Select") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) menu(menuOmsl) } field(OUT,DBF_OUTLINK) { prompt("Output Specification") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(1) } field(MPST,DBF_MENU) { prompt("Post Value Monitors") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) menu(stringoutPOST) } field(APST,DBF_MENU) { prompt("Post Archive Monitors") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) menu(stringoutPOST) } field(SIOL,DBF_OUTLINK) { prompt("Sim Output Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -71,19 +70,19 @@ recordtype(stringout) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(IVOA,DBF_MENU) { prompt("INVALID output action") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) menu(menuIvoa) } field(IVOV,DBF_STRING) { prompt("INVALID output value") - promptgroup("50 - Output") + promptgroup("50 - Output") interest(2) size(40) } diff --git a/src/std/rec/subArrayRecord.dbd b/src/std/rec/subArrayRecord.dbd index 8b07ec541..7814a2e48 100644 --- a/src/std/rec/subArrayRecord.dbd +++ b/src/std/rec/subArrayRecord.dbd @@ -3,9 +3,8 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* recordtype(subArray) { include "dbCommon.dbd" @@ -21,57 +20,57 @@ recordtype(subArray) { } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") - interest(1) + promptgroup("80 - Display") + interest(1) prop(YES) } field(MALM,DBF_ULONG) { - prompt("Maximum Elements") - promptgroup("30 - Action") + prompt("Maximum Elements") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup("30 - Action") + promptgroup("30 - Action") pp(TRUE) initial("1") } field(INDX,DBF_ULONG) { prompt("Substring Index") - promptgroup("30 - Action") + promptgroup("30 - Action") pp(TRUE) } field(BUSY,DBF_SHORT) { diff --git a/src/std/rec/subRecord.dbd b/src/std/rec/subRecord.dbd index fb8be7744..48cfc1385 100644 --- a/src/std/rec/subRecord.dbd +++ b/src/std/rec/subRecord.dbd @@ -15,14 +15,14 @@ recordtype(sub) { } field(INAM,DBF_STRING) { prompt("Init Routine Name") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) size(40) } field(SNAM,DBF_STRING) { prompt("Subroutine Name") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_MOD) interest(1) size(40) @@ -37,127 +37,127 @@ recordtype(sub) { } field(INPA,DBF_INLINK) { prompt("Input A") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPB,DBF_INLINK) { prompt("Input B") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPC,DBF_INLINK) { prompt("Input C") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPD,DBF_INLINK) { prompt("Input D") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPE,DBF_INLINK) { prompt("Input E") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPF,DBF_INLINK) { prompt("Input F") - promptgroup("41 - Input A-F") + promptgroup("41 - Input A-F") interest(1) } field(INPG,DBF_INLINK) { prompt("Input G") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPH,DBF_INLINK) { prompt("Input H") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPI,DBF_INLINK) { prompt("Input I") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPJ,DBF_INLINK) { prompt("Input J") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPK,DBF_INLINK) { prompt("Input K") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(INPL,DBF_INLINK) { prompt("Input L") - promptgroup("42 - Input G-L") + promptgroup("42 - Input G-L") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { - prompt("High Operating Range") - promptgroup("80 - Display") + prompt("High Operating Range") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(HIHI,DBF_DOUBLE) { prompt("Hihi Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOLO,DBF_DOUBLE) { prompt("Lolo Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(HIGH,DBF_DOUBLE) { prompt("High Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(LOW,DBF_DOUBLE) { prompt("Low Alarm Limit") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(BRSV,DBF_MENU) { prompt("Bad Return Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) menu(menuAlarmSevr) } field(HHSV,DBF_MENU) { prompt("Hihi Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -165,7 +165,7 @@ recordtype(sub) { } field(LLSV,DBF_MENU) { prompt("Lolo Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -173,7 +173,7 @@ recordtype(sub) { } field(HSV,DBF_MENU) { prompt("High Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -181,7 +181,7 @@ recordtype(sub) { } field(LSV,DBF_MENU) { prompt("Low Severity") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") pp(TRUE) interest(1) prop(YES) @@ -189,17 +189,17 @@ recordtype(sub) { } field(HYST,DBF_DOUBLE) { prompt("Alarm Deadband") - promptgroup("70 - Alarm") + promptgroup("70 - Alarm") interest(1) } field(ADEL,DBF_DOUBLE) { prompt("Archive Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(MDEL,DBF_DOUBLE) { prompt("Monitor Deadband") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) } field(A,DBF_DOUBLE) { diff --git a/src/std/rec/waveformRecord.dbd.pod b/src/std/rec/waveformRecord.dbd.pod index fb65dfd97..db2fa05fb 100644 --- a/src/std/rec/waveformRecord.dbd.pod +++ b/src/std/rec/waveformRecord.dbd.pod @@ -56,50 +56,50 @@ recordtype(waveform) { } field(RARM,DBF_SHORT) { prompt("Rearm the waveform") - promptgroup("30 - Action") + promptgroup("30 - Action") pp(TRUE) interest(1) } field(PREC,DBF_SHORT) { prompt("Display Precision") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(INP,DBF_INLINK) { prompt("Input Specification") - promptgroup("40 - Input") + promptgroup("40 - Input") interest(1) } field(EGU,DBF_STRING) { - prompt("Engineering Units") - promptgroup("80 - Display") + prompt("Engineering Units") + promptgroup("80 - Display") interest(1) size(16) prop(YES) } field(HOPR,DBF_DOUBLE) { prompt("High Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(LOPR,DBF_DOUBLE) { prompt("Low Operating Range") - promptgroup("80 - Display") + promptgroup("80 - Display") interest(1) prop(YES) } field(NELM,DBF_ULONG) { prompt("Number of Elements") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) initial("1") } field(FTVL,DBF_MENU) { prompt("Field Type of Value") - promptgroup("30 - Action") + promptgroup("30 - Action") special(SPC_NOMOD) interest(1) menu(menuFtype) @@ -120,12 +120,12 @@ recordtype(waveform) { } field(SIOL,DBF_INLINK) { prompt("Sim Input Specifctn") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIML,DBF_INLINK) { prompt("Sim Mode Location") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(1) } field(SIMM,DBF_MENU) { @@ -135,22 +135,22 @@ recordtype(waveform) { } field(SIMS,DBF_MENU) { prompt("Sim mode Alarm Svrty") - promptgroup("90 - Simulate") + promptgroup("90 - Simulate") interest(2) menu(menuAlarmSevr) } field(MPST,DBF_MENU) { - prompt("Post Value Monitors") - promptgroup("80 - Display") - interest(1) - menu(waveformPOST) + prompt("Post Value Monitors") + promptgroup("80 - Display") + interest(1) + menu(waveformPOST) } field(APST,DBF_MENU) { - prompt("Post Archive Monitors") - promptgroup("80 - Display") - interest(1) - menu(waveformPOST) - } + prompt("Post Archive Monitors") + promptgroup("80 - Display") + interest(1) + menu(waveformPOST) + } field(HASH,DBF_ULONG) { prompt("Hash of OnChange data.") interest(3) From 77d6609bbd46303b79a1bb1b58dfae63f6428bc7 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 26 Apr 2016 20:19:19 -0400 Subject: [PATCH 021/226] fixup comments --- src/ioc/dbStatic/dbStaticLib.c | 1 - src/libCom/ellLib/ellSort.c | 8 ++++++++ src/libCom/test/epicsEllTest.c | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index 6cbefe61c..166979655 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -1425,7 +1425,6 @@ long dbCreateRecord(DBENTRY *pdbentry,const char *precordName) if((status = dbAllocRecord(pdbentry,precordName))) return(status); pNewRecNode->recordname = dbRecordName(pdbentry); ellInit(&pNewRecNode->infoList); - /* install record node in list in sorted postion */ ellAdd(preclist, &pNewRecNode->node); pdbentry->precnode = pNewRecNode; ppvd = dbPvdAdd(pdbentry->pdbbase,precordType,pNewRecNode); diff --git a/src/libCom/ellLib/ellSort.c b/src/libCom/ellLib/ellSort.c index 89f3f3819..ee5f68ca4 100644 --- a/src/libCom/ellLib/ellSort.c +++ b/src/libCom/ellLib/ellSort.c @@ -1,3 +1,11 @@ +/*************************************************************************\ +* Copyright (c) 2014 Brookhaven Science Assoc., as Operator of Argonne +* National Laboratory. +* Copyright (c) 2016 Michael Davidsaver +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ + /* * Use of mergesort algorithm based on analysis by * http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html diff --git a/src/libCom/test/epicsEllTest.c b/src/libCom/test/epicsEllTest.c index 59a23df0a..78c695466 100644 --- a/src/libCom/test/epicsEllTest.c +++ b/src/libCom/test/epicsEllTest.c @@ -1,4 +1,5 @@ /*************************************************************************\ +* Copyright (c) 2016 Michael Davidsaver * Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as From 1f36670175f6c3431685a8b1edb01548a6c67327 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 27 Apr 2016 09:14:51 +0200 Subject: [PATCH 022/226] dbStatic: remove obsolete GUIGROUPS_GBLSOURCE definition --- src/ioc/dbStatic/dbStaticLib.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index 79ff4ea74..f413fbdd7 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -31,7 +31,6 @@ #include "postfix.h" #define DBFLDTYPES_GBLSOURCE -#define GUIGROUPS_GBLSOURCE #define SPECIAL_GBLSOURCE #define epicsExportSharedSymbols From 55895e6d66dff49b422f773303c9807a21d65648 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 27 Apr 2016 07:58:39 -0400 Subject: [PATCH 023/226] ellSort: comments and redundant asserts --- src/libCom/ellLib/ellSort.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/libCom/ellLib/ellSort.c b/src/libCom/ellLib/ellSort.c index ee5f68ca4..2f8f2748b 100644 --- a/src/libCom/ellLib/ellSort.c +++ b/src/libCom/ellLib/ellSort.c @@ -49,16 +49,11 @@ void ellSortStable(ELLLIST *pList, pListCmp cmp) /* shift previous results to inputs */ ellConcat(&INP, pList); - - assert(ellCount(pList)==0); while(ellCount(&INP)) { ELLNODE *p, *q; - assert(ellCount(&P)==0); - assert(ellCount(&Q)==0); - /* Pull out the next pair of sub-lists */ ellMoveN(&Q, &INP, insize); ellMoveN(&P, &INP, insize); @@ -73,7 +68,7 @@ void ellSortStable(ELLLIST *pList, pListCmp cmp) } } - /* concatinate any remaining to result */ + /* concatenate any remaining to result */ if(ellFirst(&P)) ellConcat(pList, &P); else if(ellFirst(&Q)) From fdda079b8f256de59e6478791e72dd61e1d68aab Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 27 Apr 2016 10:28:01 -0500 Subject: [PATCH 024/226] BSD's finite expects a double; make glibc 2.23 happy --- src/libCom/osi/os/posix/epicsMath.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libCom/osi/os/posix/epicsMath.h b/src/libCom/osi/os/posix/epicsMath.h index 4ed0fdc51..7cd0bb409 100644 --- a/src/libCom/osi/os/posix/epicsMath.h +++ b/src/libCom/osi/os/posix/epicsMath.h @@ -19,7 +19,7 @@ extern "C" { #ifdef isfinite # undef finite -# define finite(x) isfinite(x) +# define finite(x) isfinite((double)x) #endif epicsShareExtern float epicsNAN; From f0f89b4b1c8331988c86660952188250147d0383 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 27 Apr 2016 10:28:57 -0500 Subject: [PATCH 025/226] Fix file paths in comments --- src/libCom/osi/os/Darwin/osdFindSymbol.c | 2 +- src/libCom/osi/os/Linux/osdFindSymbol.c | 2 +- src/libCom/osi/os/solaris/osdFindSymbol.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libCom/osi/os/Darwin/osdFindSymbol.c b/src/libCom/osi/os/Darwin/osdFindSymbol.c index 967c220cd..224c76279 100644 --- a/src/libCom/osi/os/Darwin/osdFindSymbol.c +++ b/src/libCom/osi/os/Darwin/osdFindSymbol.c @@ -4,7 +4,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* osi/os/default/epicsFindSymbol.c */ +/* osi/os/Darwin/epicsFindSymbol.c */ #include diff --git a/src/libCom/osi/os/Linux/osdFindSymbol.c b/src/libCom/osi/os/Linux/osdFindSymbol.c index 967c220cd..443379dff 100644 --- a/src/libCom/osi/os/Linux/osdFindSymbol.c +++ b/src/libCom/osi/os/Linux/osdFindSymbol.c @@ -4,7 +4,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* osi/os/default/epicsFindSymbol.c */ +/* osi/os/Linux/epicsFindSymbol.c */ #include diff --git a/src/libCom/osi/os/solaris/osdFindSymbol.c b/src/libCom/osi/os/solaris/osdFindSymbol.c index 967c220cd..0fad63a42 100644 --- a/src/libCom/osi/os/solaris/osdFindSymbol.c +++ b/src/libCom/osi/os/solaris/osdFindSymbol.c @@ -4,7 +4,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* osi/os/default/epicsFindSymbol.c */ +/* osi/os/solaris/epicsFindSymbol.c */ #include From 2226f3acb9f4e6b153677956008932bda31b0b53 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 27 Apr 2016 12:45:18 -0400 Subject: [PATCH 026/226] libCom/test: don't include epicsTimeZoneTest for vxWorks --- src/libCom/test/Makefile | 2 ++ src/libCom/test/epicsRunLibComTests.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index fadf89066..a0d47270b 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -70,7 +70,9 @@ TESTS += epicsTimeTest TESTPROD_HOST += epicsTimeZoneTest epicsTimeZoneTest_SRCS += epicsTimeZoneTest.c +ifeq ($(OS_CLASS),RTEMS) testHarness_SRCS += epicsTimeZoneTest.cpp +endif TESTS += epicsTimeZoneTest TESTPROD_HOST += epicsThreadTest diff --git a/src/libCom/test/epicsRunLibComTests.c b/src/libCom/test/epicsRunLibComTests.c index 73a491ae6..3b81b15cf 100644 --- a/src/libCom/test/epicsRunLibComTests.c +++ b/src/libCom/test/epicsRunLibComTests.c @@ -34,7 +34,9 @@ int epicsThreadOnceTest(void); int epicsThreadPriorityTest(void); int epicsThreadPrivateTest(void); int epicsTimeTest(void); +#ifdef __rtems__ int epicsTimeZoneTest(void); +#endif int macLibTest(void); int macEnvExpandTest(void); int ringPointerTest(void); @@ -90,7 +92,9 @@ void epicsRunLibComTests(void) runTest(epicsTimeTest); +#ifdef __rtems__ runTest(epicsTimeZoneTest); +#endif runTest(macLibTest); From 24ddcd2524ec19c5e1f50c6a9e04c9b5c1ba74ac Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 27 Apr 2016 12:09:10 -0500 Subject: [PATCH 027/226] Fix epicsTimeZoneTest.cpp => .c and remove conditional --- src/libCom/test/Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index a0d47270b..7f5994c0d 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -70,9 +70,7 @@ TESTS += epicsTimeTest TESTPROD_HOST += epicsTimeZoneTest epicsTimeZoneTest_SRCS += epicsTimeZoneTest.c -ifeq ($(OS_CLASS),RTEMS) -testHarness_SRCS += epicsTimeZoneTest.cpp -endif +rtemsTestHarness_SRCS += epicsTimeZoneTest.c TESTS += epicsTimeZoneTest TESTPROD_HOST += epicsThreadTest From 05c347434b98c569d8db0b62d4c4006d7421c08c Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 028/226] use auto_ptr instead of epics_auto_ptr where applicable --- src/ca/client/ca_client_context.cpp | 4 ++-- src/ca/client/oldAccess.h | 6 ++++-- src/ioc/db/dbCAC.h | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ca/client/ca_client_context.cpp b/src/ca/client/ca_client_context.cpp index 20a6e84c8..a2e5d8ac3 100644 --- a/src/ca/client/ca_client_context.cpp +++ b/src/ca/client/ca_client_context.cpp @@ -159,13 +159,13 @@ ca_client_context::ca_client_context ( bool enablePreemptiveCallback ) : this->localPort = htons ( tmpAddr.ia.sin_port ); } - epics_auto_ptr < CallbackGuard > pCBGuard; + std::auto_ptr < CallbackGuard > pCBGuard; if ( ! enablePreemptiveCallback ) { pCBGuard.reset ( new CallbackGuard ( this->cbMutex ) ); } // multiple steps ensure exception safety - this->pCallbackGuard = pCBGuard; + std::swap(this->pCallbackGuard, pCBGuard); } ca_client_context::~ca_client_context () diff --git a/src/ca/client/oldAccess.h b/src/ca/client/oldAccess.h index 04f551839..875b086fe 100644 --- a/src/ca/client/oldAccess.h +++ b/src/ca/client/oldAccess.h @@ -26,6 +26,8 @@ #ifndef oldAccessh #define oldAccessh +#include + #ifdef epicsExportSharedSymbols # define oldAccessh_restore_epicsExportSharedSymbols # undef epicsExportSharedSymbols @@ -402,8 +404,8 @@ private: epicsEvent ioDone; epicsEvent callbackThreadActivityComplete; epicsThreadId createdByThread; - epics_auto_ptr < CallbackGuard > pCallbackGuard; - epics_auto_ptr < cacContext > pServiceContext; + std::auto_ptr < CallbackGuard > pCallbackGuard; + std::auto_ptr < cacContext > pServiceContext; caExceptionHandler * ca_exception_func; void * ca_exception_arg; caPrintfFunc * pVPrintfFunc; diff --git a/src/ioc/db/dbCAC.h b/src/ioc/db/dbCAC.h index 70d9e205b..7847f0a2b 100644 --- a/src/ioc/db/dbCAC.h +++ b/src/ioc/db/dbCAC.h @@ -36,6 +36,8 @@ #include "stdlib.h" +#include // std::auto_ptr + #include "tsDLList.h" #include "tsFreeList.h" #include "resourceLib.h" @@ -203,7 +205,7 @@ private: epicsMutex & mutex; epicsMutex & cbMutex; cacContextNotify & notify; - epics_auto_ptr < cacContext > pNetContext; + std::auto_ptr < cacContext > pNetContext; char * pStateNotifyCache; bool isolated; From 673cb24fc23a3c0a34266cbed5e5c34899a3e706 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 029/226] replace use of epics_auto_ptr w/ eapt_array add helpers for udpiiu to calculate parameters maxPeriod and nTimers, allowing them to be const. Add SearchArray to hold fixed-size array of auto_ptr. --- src/ca/client/nciu.h | 1 + src/ca/client/udpiiu.cpp | 85 +++++++++++++++++++++++----------------- src/ca/client/udpiiu.h | 17 ++++++-- 3 files changed, 65 insertions(+), 38 deletions(-) diff --git a/src/ca/client/nciu.h b/src/ca/client/nciu.h index 4994465a8..7cba6e82b 100644 --- a/src/ca/client/nciu.h +++ b/src/ca/client/nciu.h @@ -58,6 +58,7 @@ protected: channelNode (); bool isInstalledInServer ( epicsGuard < epicsMutex > & ) const; bool isConnected ( epicsGuard < epicsMutex > & ) const; +public: static unsigned getMaxSearchTimerCount (); private: enum channelState { diff --git a/src/ca/client/udpiiu.cpp b/src/ca/client/udpiiu.cpp index adf2ba949..837a836d9 100644 --- a/src/ca/client/udpiiu.cpp +++ b/src/ca/client/udpiiu.cpp @@ -64,6 +64,52 @@ const udpiiu::pProtoStubUDP udpiiu::udpJumpTableCAC [] = &udpiiu::repeaterAckAction, }; + +static +double getMaxPeriod() +{ + double maxPeriod = maxSearchPeriodDefault; + + if ( envGetConfigParamPtr ( & EPICS_CA_MAX_SEARCH_PERIOD ) ) { + long longStatus = envGetDoubleConfigParam ( + & EPICS_CA_MAX_SEARCH_PERIOD, & maxPeriod ); + if ( ! longStatus ) { + if ( maxPeriod < maxSearchPeriodLowerLimit ) { + epicsPrintf ( "\"%s\" out of range (low)\n", + EPICS_CA_MAX_SEARCH_PERIOD.name ); + maxPeriod = maxSearchPeriodLowerLimit; + epicsPrintf ( "Setting \"%s\" = %f seconds\n", + EPICS_CA_MAX_SEARCH_PERIOD.name, maxPeriod ); + } + } + else { + epicsPrintf ( "EPICS \"%s\" wasnt a real number\n", + EPICS_CA_MAX_SEARCH_PERIOD.name ); + epicsPrintf ( "Setting \"%s\" = %f seconds\n", + EPICS_CA_MAX_SEARCH_PERIOD.name, maxPeriod ); + } + } + + return maxPeriod; +} + +static +unsigned getNTimers(double maxPeriod) +{ + unsigned nTimers = static_cast < unsigned > ( 1.0 + log ( maxPeriod / minRoundTripEstimate ) / log ( 2.0 ) ); + + if ( nTimers > channelNode::getMaxSearchTimerCount () ) { + nTimers = channelNode::getMaxSearchTimerCount (); + epicsPrintf ( "\"%s\" out of range (high)\n", + EPICS_CA_MAX_SEARCH_PERIOD.name ); + epicsPrintf ( "Setting \"%s\" = %f seconds\n", + EPICS_CA_MAX_SEARCH_PERIOD.name, + (1<<(nTimers-1)) * minRoundTripEstimate ); + } + + return nTimers; +} + // // udpiiu::udpiiu () // @@ -85,14 +131,15 @@ udpiiu::udpiiu ( repeaterSubscribeTmr ( m_repeaterTimerNotify, timerQueue, cbMutexIn, ctxNotifyIn ), govTmr ( *this, timerQueue, cacMutexIn ), - maxPeriod ( maxSearchPeriodDefault ), + maxPeriod ( getMaxPeriod() ), rtteMean ( minRoundTripEstimate ), rtteMeanDev ( 0 ), cacRef ( cac ), cbMutex ( cbMutexIn ), cacMutex ( cacMutexIn ), + nTimers ( getNTimers(maxPeriod) ), + ppSearchTmr ( nTimers ), nBytesInXmitBuf ( 0 ), - nTimers ( 0 ), beaconAnomalyTimerIndex ( 0 ), sequenceNumber ( 0 ), lastReceivedSeqNo ( 0 ), @@ -104,45 +151,13 @@ udpiiu::udpiiu ( lastReceivedSeqNoIsValid ( false ) { cacGuard.assertIdenticalMutex ( cacMutex ); - - if ( envGetConfigParamPtr ( & EPICS_CA_MAX_SEARCH_PERIOD ) ) { - long longStatus = envGetDoubleConfigParam ( - & EPICS_CA_MAX_SEARCH_PERIOD, & this->maxPeriod ); - if ( ! longStatus ) { - if ( this->maxPeriod < maxSearchPeriodLowerLimit ) { - epicsPrintf ( "\"%s\" out of range (low)\n", - EPICS_CA_MAX_SEARCH_PERIOD.name ); - this->maxPeriod = maxSearchPeriodLowerLimit; - epicsPrintf ( "Setting \"%s\" = %f seconds\n", - EPICS_CA_MAX_SEARCH_PERIOD.name, this->maxPeriod ); - } - } - else { - epicsPrintf ( "EPICS \"%s\" wasnt a real number\n", - EPICS_CA_MAX_SEARCH_PERIOD.name ); - epicsPrintf ( "Setting \"%s\" = %f seconds\n", - EPICS_CA_MAX_SEARCH_PERIOD.name, this->maxPeriod ); - } - } - double powerOfTwo = log ( this->maxPeriod / minRoundTripEstimate ) / log ( 2.0 ); - this->nTimers = static_cast < unsigned > ( powerOfTwo + 1.0 ); - if ( this->nTimers > channelNode::getMaxSearchTimerCount () ) { - this->nTimers = channelNode::getMaxSearchTimerCount (); - epicsPrintf ( "\"%s\" out of range (high)\n", - EPICS_CA_MAX_SEARCH_PERIOD.name ); - epicsPrintf ( "Setting \"%s\" = %f seconds\n", - EPICS_CA_MAX_SEARCH_PERIOD.name, - (1<<(this->nTimers-1)) * minRoundTripEstimate ); - } - - powerOfTwo = log ( beaconAnomalySearchPeriod / minRoundTripEstimate ) / log ( 2.0 ); + double powerOfTwo = log ( beaconAnomalySearchPeriod / minRoundTripEstimate ) / log ( 2.0 ); this->beaconAnomalyTimerIndex = static_cast < unsigned > ( powerOfTwo + 1.0 ); if ( this->beaconAnomalyTimerIndex >= this->nTimers ) { this->beaconAnomalyTimerIndex = this->nTimers - 1; } - this->ppSearchTmr.reset ( new epics_auto_ptr < class searchTimer > [ this->nTimers ] ); for ( unsigned i = 0; i < this->nTimers; i++ ) { this->ppSearchTmr[i].reset ( new searchTimer ( *this, timerQueue, i, cacMutexIn, diff --git a/src/ca/client/udpiiu.h b/src/ca/client/udpiiu.h index 103547919..595b8daad 100644 --- a/src/ca/client/udpiiu.h +++ b/src/ca/client/udpiiu.h @@ -25,6 +25,8 @@ #ifndef udpiiuh #define udpiiuh +#include + #ifdef epicsExportSharedSymbols # define udpiiuh_accessh_epicsExportSharedSymbols # undef epicsExportSharedSymbols @@ -160,15 +162,24 @@ private: repeaterSubscribeTimer repeaterSubscribeTmr; disconnectGovernorTimer govTmr; tsDLList < SearchDest > _searchDestList; - double maxPeriod; + const double maxPeriod; double rtteMean; double rtteMeanDev; cac & cacRef; epicsMutex & cbMutex; epicsMutex & cacMutex; - epics_auto_ptr < epics_auto_ptr < class searchTimer >, eapt_array > ppSearchTmr; + const unsigned nTimers; + struct SearchArray { + typedef std::auto_ptr value_type; + value_type *arr; + SearchArray(size_t n) : arr(new value_type[n]) {} + ~SearchArray() { delete[] arr; } + value_type& operator[](size_t i) const { return arr[i]; } + private: + SearchArray(const SearchArray&); + SearchArray& operator=(const SearchArray&); + } ppSearchTmr; unsigned nBytesInXmitBuf; - unsigned nTimers; unsigned beaconAnomalyTimerIndex; ca_uint32_t sequenceNumber; ca_uint32_t lastReceivedSeqNo; From 954874dbd665047e2fa16f290724bbf55cfda0e7 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 030/226] drop epicsMemory.h --- src/ca/client/oldAccess.h | 1 - src/ca/client/templateInstances.cpp | 1 - src/ca/client/udpiiu.h | 1 - src/ca/client/virtualCircuit.h | 1 - src/ioc/db/dbCAC.h | 1 - src/ioc/db/dbChannelIO.h | 1 - src/libCom/cppStd/Makefile | 1 - src/libCom/cppStd/epicsMemory.h | 115 ---------------------------- 8 files changed, 122 deletions(-) delete mode 100644 src/libCom/cppStd/epicsMemory.h diff --git a/src/ca/client/oldAccess.h b/src/ca/client/oldAccess.h index 875b086fe..c893eeb68 100644 --- a/src/ca/client/oldAccess.h +++ b/src/ca/client/oldAccess.h @@ -34,7 +34,6 @@ #endif #include "tsFreeList.h" -#include "epicsMemory.h" #include "compilerDependencies.h" #include "osiSock.h" diff --git a/src/ca/client/templateInstances.cpp b/src/ca/client/templateInstances.cpp index dd8b5113e..f83366087 100644 --- a/src/ca/client/templateInstances.cpp +++ b/src/ca/client/templateInstances.cpp @@ -67,7 +67,6 @@ template class tsFreeList < oldSubscription, 1024, epicsMutexNOOP >; template class tsFreeList < putCallback, 1024, epicsMutexNOOP >; template class tsFreeList < repeaterClient, 0x20 >; template class epicsSingleton < localHostName >; -template class epics_auto_ptr < epics_auto_ptr < class searchTimer >, eapt_array >; template unsigned comBuf :: push ( const double * pValue, unsigned nElem ); template unsigned comBuf :: push ( const float * pValue, unsigned nElem ); template unsigned comBuf :: push ( const int * pValue, unsigned nElem ); diff --git a/src/ca/client/udpiiu.h b/src/ca/client/udpiiu.h index 595b8daad..b5ea2f20a 100644 --- a/src/ca/client/udpiiu.h +++ b/src/ca/client/udpiiu.h @@ -34,7 +34,6 @@ #include "osiSock.h" #include "epicsThread.h" -#include "epicsMemory.h" #include "epicsTime.h" #include "tsMinMax.h" #include "tsDLList.h" diff --git a/src/ca/client/virtualCircuit.h b/src/ca/client/virtualCircuit.h index 017b99d0e..4309aac1e 100644 --- a/src/ca/client/virtualCircuit.h +++ b/src/ca/client/virtualCircuit.h @@ -25,7 +25,6 @@ #ifndef virtualCircuith #define virtualCircuith -#include "epicsMemory.h" #include "tsDLList.h" #include "tsMinMax.h" diff --git a/src/ioc/db/dbCAC.h b/src/ioc/db/dbCAC.h index 7847f0a2b..92d6a2689 100644 --- a/src/ioc/db/dbCAC.h +++ b/src/ioc/db/dbCAC.h @@ -43,7 +43,6 @@ #include "resourceLib.h" #include "cacIO.h" #include "compilerDependencies.h" -#include "epicsMemory.h" #ifdef dbCACh_restore_epicsExportSharedSymbols # define epicsExportSharedSymbols diff --git a/src/ioc/db/dbChannelIO.h b/src/ioc/db/dbChannelIO.h index e1b63d760..42c9cb5c9 100644 --- a/src/ioc/db/dbChannelIO.h +++ b/src/ioc/db/dbChannelIO.h @@ -36,7 +36,6 @@ #endif #include "compilerDependencies.h" -#include "epicsMemory.h" #ifdef dbChannelIOh_restore_epicsExportSharedSymbols # define epicsExportSharedSymbols diff --git a/src/libCom/cppStd/Makefile b/src/libCom/cppStd/Makefile index 989b87eb0..782c4da25 100644 --- a/src/libCom/cppStd/Makefile +++ b/src/libCom/cppStd/Makefile @@ -10,5 +10,4 @@ SRC_DIRS += $(LIBCOM)/cppStd INC += epicsAlgorithm.h INC += epicsExcept.h -INC += epicsMemory.h diff --git a/src/libCom/cppStd/epicsMemory.h b/src/libCom/cppStd/epicsMemory.h deleted file mode 100644 index 49c9ebecc..000000000 --- a/src/libCom/cppStd/epicsMemory.h +++ /dev/null @@ -1,115 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ -// epicsMemoryH.h -// Author: Jeff Hill -// Date: March 2001 - -#ifndef epicsMemoryH -#define epicsMemoryH - -enum epics_auto_ptr_type { - eapt_scalar, eapt_array }; - -template < class T, epics_auto_ptr_type PT = eapt_scalar > -class epics_auto_ptr { -public: - typedef T element_type; - explicit epics_auto_ptr ( T * p = 0 ) throw (); - epics_auto_ptr ( epics_auto_ptr & rhs ) throw (); - ~epics_auto_ptr() throw (); - epics_auto_ptr & operator = ( epics_auto_ptr & rhs ) throw (); - T & operator * () const throw (); - T * operator -> () const throw (); - T & operator [] ( unsigned index ) const throw (); - T * get () const throw (); - T * release () throw (); - void reset ( T * p = 0 ) throw (); -private: - T * p; - void destroyTarget () throw (); -}; - -template < class T, epics_auto_ptr_type PT > -inline epics_auto_ptr::epics_auto_ptr ( T *pIn ) throw () : -p ( pIn ) {} - -template < class T, epics_auto_ptr_type PT > -inline epics_auto_ptr:: - epics_auto_ptr ( epics_auto_ptr & ap ) throw () : - p ( ap.release() ) {} - -template < class T, epics_auto_ptr_type PT > -inline void epics_auto_ptr::destroyTarget () throw () -{ - if ( PT == eapt_scalar ) { - delete this->p; - } - else { - delete [] this->p; - } -} - -template < class T, epics_auto_ptr_type PT > -inline epics_auto_ptr::~epics_auto_ptr () throw () -{ - this->destroyTarget (); -} - -template < class T, epics_auto_ptr_type PT > -inline epics_auto_ptr & epics_auto_ptr::operator = - ( epics_auto_ptr & rhs ) throw () -{ - if ( &rhs != this) { - this->destroyTarget (); - this->p = rhs.release (); - } - return *this; -} - -template < class T, epics_auto_ptr_type PT > -inline T & epics_auto_ptr::operator * () const throw() -{ - return * this->p; -} - -template < class T, epics_auto_ptr_type PT > -inline T * epics_auto_ptr::operator -> () const throw () -{ - return this->p; -} - -template < class T, epics_auto_ptr_type PT > -T & epics_auto_ptr::operator [] ( unsigned index ) const throw () -{ - return this->p [ index ]; -} - -template < class T, epics_auto_ptr_type PT > -inline T * epics_auto_ptr::get () const throw () -{ - return this->p; -} - -template < class T, epics_auto_ptr_type PT > -inline T * epics_auto_ptr::release () throw () -{ - T *pTmp = this->p; - this->p = 0; - return pTmp; -} - -template < class T, epics_auto_ptr_type PT > -inline void epics_auto_ptr::reset ( T * pIn ) throw () -{ - this->destroyTarget (); - this->p = pIn; -} - -#endif // ifndef epicsMemoryH From 64c1a28f69a2f6d2f7d021c68b91f69fb6a2ccdc Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 031/226] remove unused locationException.h includes --- src/libCom/cxxTemplates/tsBTree.h | 1 - src/libCom/osi/epicsMessageQueue.h | 2 -- src/libCom/osi/os/default/osdMessageQueue.cpp | 3 +++ 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libCom/cxxTemplates/tsBTree.h b/src/libCom/cxxTemplates/tsBTree.h index 29b7b9c9d..7a7583a57 100644 --- a/src/libCom/cxxTemplates/tsBTree.h +++ b/src/libCom/cxxTemplates/tsBTree.h @@ -11,7 +11,6 @@ #ifndef assert // allow use of epicsAssert.h #include #endif -#include "locationException.h" // // tsBTreeRMRet diff --git a/src/libCom/osi/epicsMessageQueue.h b/src/libCom/osi/epicsMessageQueue.h index 0c18dd545..3137b3cf8 100644 --- a/src/libCom/osi/epicsMessageQueue.h +++ b/src/libCom/osi/epicsMessageQueue.h @@ -28,8 +28,6 @@ typedef struct epicsMessageQueueOSD *epicsMessageQueueId; #ifdef __cplusplus -#include "locationException.h" - class epicsShareClass epicsMessageQueue { public: epicsMessageQueue ( unsigned int capacity, diff --git a/src/libCom/osi/os/default/osdMessageQueue.cpp b/src/libCom/osi/os/default/osdMessageQueue.cpp index 9f589aaf4..ed599d62d 100644 --- a/src/libCom/osi/os/default/osdMessageQueue.cpp +++ b/src/libCom/osi/os/default/osdMessageQueue.cpp @@ -18,6 +18,9 @@ #include #include +#include +#include + #define epicsExportSharedSymbols #include "epicsMessageQueue.h" #include From 2af37d076d76055f655459f498d79ccb80746533 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 032/226] drop unused epicsOnce --- src/libCom/cxxTemplates/Makefile | 2 - src/libCom/cxxTemplates/epicsOnce.cpp | 113 -------------------------- src/libCom/cxxTemplates/epicsOnce.h | 46 ----------- 3 files changed, 161 deletions(-) delete mode 100644 src/libCom/cxxTemplates/epicsOnce.cpp delete mode 100644 src/libCom/cxxTemplates/epicsOnce.h diff --git a/src/libCom/cxxTemplates/Makefile b/src/libCom/cxxTemplates/Makefile index b15464aef..104296358 100644 --- a/src/libCom/cxxTemplates/Makefile +++ b/src/libCom/cxxTemplates/Makefile @@ -16,8 +16,6 @@ INC += tsBTree.h INC += tsFreeList.h INC += epicsSingleton.h INC += epicsGuard.h -INC += epicsOnce.h Com_SRCS += resourceLib.cpp -Com_SRCS += epicsOnce.cpp Com_SRCS += epicsSingletonMutex.cpp diff --git a/src/libCom/cxxTemplates/epicsOnce.cpp b/src/libCom/cxxTemplates/epicsOnce.cpp deleted file mode 100644 index e911314f0..000000000 --- a/src/libCom/cxxTemplates/epicsOnce.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -/* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * - * Author Jeff Hill - * johill@lanl.gov - * 505 665 1831 - */ - -#define epicsExportSharedSymbols -#include "epicsMutex.h" -#include "epicsSingleton.h" -#include "epicsGuard.h" -#include "epicsOnce.h" -#include "tsFreeList.h" - -class epicsOnceImpl : public epicsOnce { -public: - epicsOnceImpl ( epicsOnceNotify & notifyIn ); - void * operator new ( size_t size ); - void operator delete ( void * pCadaver, size_t size ); -private: - epicsSingleton < epicsMutex > :: reference mutexRef; - epicsOnceNotify & notify; - bool onceFlag; - void destroy (); - void once (); - epicsOnceImpl ( epicsOnceImpl & ); // disabled - epicsOnceImpl & operator = ( epicsOnceImpl & ); // disabled - static epicsSingleton < epicsMutex > mutex; - static epicsSingleton < tsFreeList < class epicsOnceImpl, 16 > > freeList; -}; - -#ifdef _MSC_VER -# pragma warning ( push ) -# pragma warning ( disable:4660 ) -#endif - -template class epicsSingleton < epicsMutex >; -template class tsFreeList < class epicsOnceImpl, 16 >; -template class epicsSingleton < tsFreeList < class epicsOnceImpl, 16 > >; - -#ifdef _MSC_VER -# pragma warning ( pop ) -#endif - -epicsSingleton < epicsMutex > epicsOnceImpl::mutex; -epicsSingleton < tsFreeList < class epicsOnceImpl, 16 > > epicsOnceImpl::freeList; - -inline void * epicsOnceImpl::operator new ( size_t size ) -{ - epicsSingleton < tsFreeList < class epicsOnceImpl, 16 > > :: reference ref = - epicsOnceImpl::freeList.getReference (); - return ref->allocate ( size ); -} - -inline void epicsOnceImpl::operator delete ( void *pCadaver, size_t size ) -{ - epicsSingleton < tsFreeList < class epicsOnceImpl, 16 > > :: reference ref = - epicsOnceImpl::freeList.getReference (); - ref->release ( pCadaver, size ); -} - -inline epicsOnceImpl::epicsOnceImpl ( epicsOnceNotify & notifyIn ) : -mutexRef ( epicsOnceImpl::mutex.getReference() ), notify ( notifyIn ), onceFlag ( false ) -{ -} - -void epicsOnceImpl::once () -{ - epicsGuard < epicsMutex > guard ( *this->mutexRef ); - if ( ! this->onceFlag ) { - this->notify.initialize (); - this->onceFlag = true; - } -} - -void epicsOnceImpl::destroy () -{ - delete this; -} - -epicsOnce & epicsOnce::create ( epicsOnceNotify & notifyIn ) -{ - // free list throws exception in no memory situation - return * new epicsOnceImpl ( notifyIn ); -} - -epicsOnce::~epicsOnce () -{ -} - -epicsOnceNotify::~epicsOnceNotify () -{ -} - diff --git a/src/libCom/cxxTemplates/epicsOnce.h b/src/libCom/cxxTemplates/epicsOnce.h deleted file mode 100644 index 28708dc77..000000000 --- a/src/libCom/cxxTemplates/epicsOnce.h +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ -/* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * - * Author Jeff Hill - * johill@lanl.gov - * 505 665 1831 - */ - -#ifndef epicsOnceh -#define epicsOnceh - -#include "shareLib.h" - -class epicsOnceNotify { -public: - epicsShareFunc virtual ~epicsOnceNotify (); - virtual void initialize () = 0; -}; - -class epicsOnce { -public: - epicsShareFunc static epicsOnce & create ( epicsOnceNotify & notifyIn ); - virtual ~epicsOnce (); // use destroy - virtual void once () = 0; // run notifyIn.initialize() once only - virtual void destroy () = 0; // destroy this object -}; - -#endif // epicsOnceh - From d92af8c44d3589984e700abce886eb8cc468330d Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 033/226] remove unused autoPtrDestroy.h --- src/ca/client/autoPtrDestroy.h | 94 ---------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 src/ca/client/autoPtrDestroy.h diff --git a/src/ca/client/autoPtrDestroy.h b/src/ca/client/autoPtrDestroy.h deleted file mode 100644 index ef7360736..000000000 --- a/src/ca/client/autoPtrDestroy.h +++ /dev/null @@ -1,94 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -/* - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, The Regents of the University of California. - * - * - * Author Jeffrey O. Hill - * johill@lanl.gov - * 505 665 1831 - */ - -#ifndef autoPtrDestroyh -#define autoPtrDestroyh - -template < class T > -class autoPtrDestroy { -public: - autoPtrDestroy ( T * ); - ~autoPtrDestroy (); - T & operator * () const; - T * operator -> () const; - autoPtrDestroy & operator = ( T * ); - T * get () const; - T * release (); -private: - T * p; - // not implemented - autoPtrDestroy & operator = ( const autoPtrDestroy & ); - autoPtrDestroy ( const autoPtrDestroy & ); -}; - -template < class T > -inline autoPtrDestroy::autoPtrDestroy ( T *pIn ) : - p ( pIn ) {} - -template < class T > -inline autoPtrDestroy::~autoPtrDestroy () -{ - if ( this->p ) { - this->p->destroy (); - } -} - -template < class T > -inline T & autoPtrDestroy::operator * () const -{ - return * this->p; -} - -template < class T > -inline T * autoPtrDestroy::operator -> () const -{ - return this->p; -} - -template < class T > -inline autoPtrDestroy & autoPtrDestroy::operator = ( T * pIn ) -{ - if ( this->p ) { - this->p->destroy (); - } - this->p = pIn; - return *this; -} - -template < class T > -inline T * autoPtrDestroy::get () const -{ - return this->p; -} - -template < class T > -inline T * autoPtrDestroy::release () -{ - T *pTmp = this->p; - this->p = 0; - return pTmp; -} - -#endif // #ifdef autoPtrDestroyh From afd48be98cdd3a61a549c078fed664091e8e8a57 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 034/226] drop unused tsBTree.h --- src/libCom/cxxTemplates/Makefile | 1 - src/libCom/cxxTemplates/tsBTree.h | 278 ------------------------------ 2 files changed, 279 deletions(-) delete mode 100644 src/libCom/cxxTemplates/tsBTree.h diff --git a/src/libCom/cxxTemplates/Makefile b/src/libCom/cxxTemplates/Makefile index 104296358..c67668f55 100644 --- a/src/libCom/cxxTemplates/Makefile +++ b/src/libCom/cxxTemplates/Makefile @@ -12,7 +12,6 @@ INC += resourceLib.h INC += tsDLList.h INC += tsSLList.h INC += tsMinMax.h -INC += tsBTree.h INC += tsFreeList.h INC += epicsSingleton.h INC += epicsGuard.h diff --git a/src/libCom/cxxTemplates/tsBTree.h b/src/libCom/cxxTemplates/tsBTree.h deleted file mode 100644 index 7a7583a57..000000000 --- a/src/libCom/cxxTemplates/tsBTree.h +++ /dev/null @@ -1,278 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -#ifndef assert // allow use of epicsAssert.h -#include -#endif - -// -// tsBTreeRMRet -// -enum tsbtRR {tsbtrrNotFound, tsbtrrFound}; -template -class tsBTreeRMRet { -public: - tsBTreeRMRet (tsbtRR foundItIn, T *pNewSegIn) : - foundIt(foundItIn), pNewSeg(pNewSegIn) {} - - operator tsbtRR () - { - return this->foundIt; - } - - const tsbtRR foundIt; - T * const pNewSeg; -}; - -template class tsBTree; - -// -// tsBTreeNode -// -template -class tsBTreeNode -{ -friend class tsBTree; -public: - // - // exceptions - // - class invalid_btCmp {}; - - - // - // when someone copies into a class deriving from this - // do _not_ change the node pointers - // - void operator = (tsBTreeNode &) {} - - enum btCmp {btGreater, btLessOrEqual}; - - // - // class T must supply this member function which - // comapres *this with item - // - // returns: - // btGreater *this is greater than item - // btLessOrEqual *this is less than or equal to item - // - // btCmp tsBTreeCompare(const T &item) const; - // - -private: - T *pLeft; - T *pRight; - - // - // run callback for evey item in the B-Treee in sort order - // - static void traverse (T &item, void (T::*pCallBack)()) - { - tsBTreeNode &node = item; - if (node.pLeft) { - tsBTreeNode::traverse (*node.pLeft, pCallBack); - } - (item.*pCallBack)(); - if (node.pRight) { - tsBTreeNode::traverse (*node.pRight, pCallBack); - } - } - - // - // NOTE: - // no change to item.pLeft and item.pRight here - // so that an segment of a tree can be inserted - // - static void insert(T &self, T &item) - { - tsBTreeNode &node = self; - btCmp result = item.tsBTreeCompare(self); - if (result==btLessOrEqual) { - if (node.pLeft) { - tsBTreeNode::insert (*node.pLeft, item); - } - else { - node.pLeft = &item; - } - } - else if(result==btGreater) { - if (node.pRight) { - tsBTreeNode::insert (*node.pRight, item); - } - else { - node.pRight = &item; - } - } - else { - throwWithLocation ( invalid_btCmp () ); - } - } - - // - // remove() - // returns pointer to modified tree and found/not found - // (NULL if this portion of the tree is empty) - // - static tsBTreeRMRet remove(T &self, T &item) - { - tsBTreeNode &node = self; - if (&self == &item) { - if (node.pLeft) { - if (node.pRight) { - tsBTreeNode *pLeftNode = node.pLeft; - T *pR = pLeftNode->pRight; - if (pR) { - tsBTreeNode::insert (*pR, *node.pRight); - } - else { - pLeftNode->pRight = node.pRight; - } - } - return tsBTreeRMRet(tsbtrrFound, node.pLeft); // found it - } - else { - return tsBTreeRMRet(tsbtrrFound, node.pRight); // found it - } - } - - btCmp result = item.tsBTreeCompare(self); - if (result==btLessOrEqual) { - if (node.pLeft) { - tsBTreeRMRet ret = tsBTreeNode::remove(*node.pLeft, item); - if (ret.foundIt==tsbtrrFound) { - node.pLeft= ret.pNewSeg; - return tsBTreeRMRet (tsbtrrFound, &self); // TRUE - found it - } - } - return tsBTreeRMRet(tsbtrrNotFound, 0u); // not found - } - else if(result==btGreater) { - if (node.pRight) { - tsBTreeRMRet ret = tsBTreeNode::remove(*node.pRight, item); - if (ret.foundIt==tsbtrrFound) { - node.pRight = ret.pNewSeg; - return tsBTreeRMRet(tsbtrrFound,&self); // TRUE - found it - } - } - return tsBTreeRMRet(tsbtrrNotFound, 0u); // not found - } - else { - return tsBTreeRMRet(tsbtrrNotFound, 0u); // not found - } - } - // - // verify - // - static unsigned verify(const T &self, const T &item) - { - const tsBTreeNode &node = self; - - if (&self == &item) { - return 1u; // TRUE -item is present - } - btCmp result = item.tsBTreeCompare(self); - if (result==btLessOrEqual) { - if (node.pLeft) { - return tsBTreeNode::verify (*node.pLeft, item); - } - else { - return 0u; // FALSE - not found - } - } - else if(result==btGreater) { - if (node.pRight) { - return tsBTreeNode::verify (*node.pRight, item); - } - else { - return 0u; // FALSE - not found - } - } - else { - return 0u; // FALSE - not found - } - } -}; - -// -// tsBTree -// -template -class tsBTree -{ -public: - tsBTree() : pRoot(0u) {} - -// ~tsBTree() -// { -// this->traverse(T::~T); -// } - - void insert(T &item) - { - tsBTreeNode &node = item; - node.pLeft = 0; - node.pRight = 0; - if (this->pRoot) { - tsBTreeNode::insert(*this->pRoot, item); - } - else { - this->pRoot = &item; - } - } - // - // remove item from the tree - // - // returns true if item was in the tree - // (otherwise FALSE) - // - unsigned remove(T &item) - { - if (this->pRoot) { - tsBTreeRMRet ret = - tsBTreeNode::remove(*this->pRoot, item); - if (ret.foundIt) { - this->pRoot = ret.pNewSeg; - return 1u; // TRUE - found it - } - } - return 0u; // FALSE - not found - } - // - // verify that item is in the tree - // - // returns true if item is in the tree - // (otherwise FALSE) - // - unsigned verify(T &item) const - { - if (this->pRoot) { - return tsBTreeNode::verify(*this->pRoot, item); - } - else { - return 0u; // FALSE - not found - } - } - // - // Call (pT->*pCB) () for each item in the table - // - // where pT is a pointer to type T and pCB is - // a pointer to a memmber function of T with - // no parameters and returning void - // - void traverse(void (T::*pCB)()) - { - if (this->pRoot) { - tsBTreeNode::traverse(*this->pRoot, pCB); - } - } -private: - T *pRoot; -}; - From 17edfd0652262b122873c15c767204528e623da3 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 035/226] use epicsMin/Max instead of tsMin/Max Don't remove tsMinMax.h yet as it appeared in caServerApp template. --- src/ca/client/searchTimer.cpp | 1 - src/ca/client/udpiiu.h | 1 - src/ca/client/virtualCircuit.h | 1 - .../legacy/pcas/example/directoryService/directoryServer.cc | 4 ++-- src/template/base/top/caServerApp/exScalarPV.cc | 4 ++-- src/template/base/top/caServerApp/exServer.h | 2 +- src/template/base/top/caServerApp/exVectorPV.cc | 4 ++-- 7 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/ca/client/searchTimer.cpp b/src/ca/client/searchTimer.cpp index e5a8d1c54..e55e49eab 100644 --- a/src/ca/client/searchTimer.cpp +++ b/src/ca/client/searchTimer.cpp @@ -24,7 +24,6 @@ #define epicsAssertAuthor "Jeff Hill johill@lanl.gov" -#include "tsMinMax.h" #include "envDefs.h" #define epicsExportSharedSymbols diff --git a/src/ca/client/udpiiu.h b/src/ca/client/udpiiu.h index b5ea2f20a..6b41e38ed 100644 --- a/src/ca/client/udpiiu.h +++ b/src/ca/client/udpiiu.h @@ -35,7 +35,6 @@ #include "osiSock.h" #include "epicsThread.h" #include "epicsTime.h" -#include "tsMinMax.h" #include "tsDLList.h" #ifdef udpiiuh_accessh_epicsExportSharedSymbols diff --git a/src/ca/client/virtualCircuit.h b/src/ca/client/virtualCircuit.h index 4309aac1e..d06d87c60 100644 --- a/src/ca/client/virtualCircuit.h +++ b/src/ca/client/virtualCircuit.h @@ -26,7 +26,6 @@ #define virtualCircuith #include "tsDLList.h" -#include "tsMinMax.h" #include "comBuf.h" #include "caServerID.h" diff --git a/src/ca/legacy/pcas/example/directoryService/directoryServer.cc b/src/ca/legacy/pcas/example/directoryService/directoryServer.cc index 45f04b4d6..4d43b0943 100644 --- a/src/ca/legacy/pcas/example/directoryService/directoryServer.cc +++ b/src/ca/legacy/pcas/example/directoryService/directoryServer.cc @@ -13,7 +13,7 @@ // #include "directoryServer.h" -#include "tsMinMax.h" +#include "epicsAlgorithm.h" const pvInfo *pvInfo::pFirst; @@ -128,7 +128,7 @@ pvExistReturn directoryServer::pvExistTest } else { size_t diff = pLastStr-pPVName; - diff = tsMin (diff, sizeof(pvNameBuf)-1); + diff = epicsMin (diff, sizeof(pvNameBuf)-1); memcpy (pvNameBuf, pPVName, diff); pvNameBuf[diff] = '\0'; pLastStr = pvNameBuf; diff --git a/src/template/base/top/caServerApp/exScalarPV.cc b/src/template/base/top/caServerApp/exScalarPV.cc index 0e91d81e9..1b326fa51 100644 --- a/src/template/base/top/caServerApp/exScalarPV.cc +++ b/src/template/base/top/caServerApp/exScalarPV.cc @@ -71,9 +71,9 @@ void exScalarPV::scan() } newValue += (float) ( sin (radians) / 10.0 ); limit = (float) this->info.getHopr (); - newValue = tsMin ( newValue, limit ); + newValue = epicsMin ( newValue, limit ); limit = (float) this->info.getLopr (); - newValue = tsMax ( newValue, limit ); + newValue = epicsMax ( newValue, limit ); *pDD = newValue; aitTimeStamp gddts ( this->currentTime ); pDD->setTimeStamp ( & gddts ); diff --git a/src/template/base/top/caServerApp/exServer.h b/src/template/base/top/caServerApp/exServer.h index 59ba11309..e0615c804 100644 --- a/src/template/base/top/caServerApp/exServer.h +++ b/src/template/base/top/caServerApp/exServer.h @@ -45,7 +45,7 @@ #include "casdef.h" #include "epicsAssert.h" #include "resourceLib.h" -#include "tsMinMax.h" +#include "epicsAlgorithm.h" #ifndef NELEMENTS # define NELEMENTS(A) (sizeof(A)/sizeof(A[0])) diff --git a/src/template/base/top/caServerApp/exVectorPV.cc b/src/template/base/top/caServerApp/exVectorPV.cc index 963b59082..22e642fab 100644 --- a/src/template/base/top/caServerApp/exVectorPV.cc +++ b/src/template/base/top/caServerApp/exVectorPV.cc @@ -135,9 +135,9 @@ void exVectorPV::scan() } newValue += (float) (sin (radians) / 10.0); limit = (float) this->info.getHopr(); - newValue = tsMin (newValue, limit); + newValue = epicsMin (newValue, limit); limit = (float) this->info.getLopr(); - newValue = tsMax (newValue, limit); + newValue = epicsMax (newValue, limit); *(pF++) = newValue; } From a38dccfb1ad6969d2a8a215a71929582c0721899 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 28 Apr 2016 09:20:13 -0400 Subject: [PATCH 036/226] add guard/release typedefs for epicsMutex --- src/libCom/osi/epicsMutex.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libCom/osi/epicsMutex.h b/src/libCom/osi/epicsMutex.h index b24e5ecb8..6d74f9599 100644 --- a/src/libCom/osi/epicsMutex.h +++ b/src/libCom/osi/epicsMutex.h @@ -22,11 +22,14 @@ typedef enum { #ifdef __cplusplus #include "compilerDependencies.h" +#include "epicsGuard.h" #define newEpicsMutex new epicsMutex(__FILE__,__LINE__) class epicsShareClass epicsMutex { public: + typedef epicsGuard guard_t; + typedef epicsGuard release_t; class mutexCreateFailed; /* exception payload */ class invalidMutex; /* exception payload */ epicsMutex (); @@ -44,6 +47,8 @@ private: class epicsShareClass epicsDeadlockDetectMutex { public: + typedef epicsGuard guard_t; + typedef epicsGuard release_t; typedef unsigned hierarchyLevel_t; epicsDeadlockDetectMutex ( unsigned hierarchyLevel_t ); ~epicsDeadlockDetectMutex (); From 054a234c70d34c4d384af5704d481e2fe36c1ff2 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 13:27:47 -0500 Subject: [PATCH 037/226] Parentheses in macro --- src/libCom/osi/os/posix/epicsMath.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libCom/osi/os/posix/epicsMath.h b/src/libCom/osi/os/posix/epicsMath.h index 7cd0bb409..4e558676c 100644 --- a/src/libCom/osi/os/posix/epicsMath.h +++ b/src/libCom/osi/os/posix/epicsMath.h @@ -19,7 +19,7 @@ extern "C" { #ifdef isfinite # undef finite -# define finite(x) isfinite((double)x) +# define finite(x) isfinite((double)(x)) #endif epicsShareExtern float epicsNAN; From ee87aecd6ef16b90c6d545e90b047fadf111b302 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 14:32:21 -0500 Subject: [PATCH 038/226] Always have linker search INSTALL_LIB --- configure/os/CONFIG.Common.UnixCommon | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/os/CONFIG.Common.UnixCommon b/configure/os/CONFIG.Common.UnixCommon index 816744fd8..a8403826b 100644 --- a/configure/os/CONFIG.Common.UnixCommon +++ b/configure/os/CONFIG.Common.UnixCommon @@ -57,7 +57,7 @@ SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS)) \ $(LDLIBS) SHRLIB_DEPLIB_DIRS = $(foreach word, \ - $(sort $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \ + $(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \ $(shell $(FULLPATHNAME) $(word))) SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%) @@ -86,7 +86,7 @@ PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \ $(LDLIBS_SHARED_$(SHARED_LIBRARIES)))) PROD_DEPLIB_DIRS = $(foreach word, \ - $(sort $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \ + $(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \ $(shell $(FULLPATHNAME) $(word))) PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-L%) From b4a8a1ac98288c86ea1dae3419c96ce9db36b1a0 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 18:10:26 -0500 Subject: [PATCH 039/226] Fix dbFreeBase() issue causing segfaults --- src/ioc/dbStatic/dbStaticLib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index f413fbdd7..e52f85af0 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -589,7 +589,7 @@ void dbFreeBase(dbBase *pdbbase) while (pguiGroup) { pguiGroupNext = (dbGuiGroup *)ellNext(&pguiGroup->node); gphDelete(pdbbase->pgpHash, pguiGroup->name, &pdbbase->guiGroupList); - ellDelete(&pdbbase->bptList, &pguiGroup->node); + ellDelete(&pdbbase->guiGroupList, &pguiGroup->node); free(pguiGroup->name); free((void *)pguiGroup); pguiGroup = pguiGroupNext; From 396ff3c484681c2ab4bcfa8b5703d9ea8395243e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 18:49:10 -0500 Subject: [PATCH 040/226] Add EPICS_TARGET_ARCH parameter Set its default value automatically in the generated envData.c --- src/libCom/env/RULES | 5 +++-- src/libCom/env/bldEnvData.pl | 23 +++++++++++++++++------ src/libCom/env/envDefs.h | 1 + 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/libCom/env/RULES b/src/libCom/env/RULES index f63475d25..db7fa7656 100644 --- a/src/libCom/env/RULES +++ b/src/libCom/env/RULES @@ -8,5 +8,6 @@ # This is a Makefile fragment, see src/libCom/Makefile. envData.c: $(LIBCOM)/env/envDefs.h $(LIBCOM)/env/bldEnvData.pl \ - $(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV - $(PERL) $(LIBCOM)/env/bldEnvData.pl $(INSTALL_QUIETLY) $(CONFIG) + $(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV \ + $(wildcard $(CONFIG)/os/CONFIG_SITE_ENV.$(T_A)) + $(PERL) $(LIBCOM)/env/bldEnvData.pl $(INSTALL_QUIETLY) -t $(T_A) $(CONFIG) diff --git a/src/libCom/env/bldEnvData.pl b/src/libCom/env/bldEnvData.pl index 993c36cee..177dcf976 100644 --- a/src/libCom/env/bldEnvData.pl +++ b/src/libCom/env/bldEnvData.pl @@ -26,13 +26,13 @@ use Text::Wrap; my $tool = basename($0); -our ($opt_h, $opt_q); +our ($opt_h, $opt_q, $opt_t); our $opt_o = 'envData.c'; $Getopt::Std::OUTPUT_HELP_VERSION = 1; $Text::Wrap::columns = 75; -&HELP_MESSAGE unless getopts('ho:q') && @ARGV == 1; +&HELP_MESSAGE unless getopts('ho:qt:') && @ARGV == 1; &HELP_MESSAGE if $opt_h; my $config = AbsPath(shift); @@ -53,14 +53,24 @@ while () { close SRC; # Read the values from the CONFIG_ENV and CONFIG_SITE_ENV files -# my $config_env = "$config/CONFIG_ENV"; my $config_site_env = "$config/CONFIG_SITE_ENV"; +my @configs = ($env_defs, $config_env, $config_site_env); my %values; readReleaseFiles($config_env, \%values); readReleaseFiles($config_site_env, \%values); +if ($opt_t) { + my $config_arch_env = "$config/os/CONFIG_SITE_ENV.$opt_t"; + if (-f $config_arch_env) { + push @configs, $config_arch_env; + readReleaseFiles($config_arch_env, \%values); + } + + $values{EPICS_TARGET_ARCH} = $opt_t; +} + # Warn about any vars with no value # my @undefs = grep {!exists $values{$_}} @vars; @@ -73,13 +83,13 @@ print "Generating $opt_o\n" unless $opt_q; open OUT, '>', $opt_o or die "$tool: Cannot create $opt_o: $!\n"; +my $configs = join "\n", map {" * $_"} @configs; + print OUT << "END"; /* Generated file $opt_o * * Created from - * $env_defs - * $config_env - * $config_site_env +$configs */ #include @@ -112,6 +122,7 @@ sub HELP_MESSAGE { " -h Help: Print this message\n", " -q Quiet: Only print errors\n", " -o file Output filename, default is $opt_o\n", + " -t arch Target architecture \$(T_A) name\n", "\n"; exit 1; diff --git a/src/libCom/env/envDefs.h b/src/libCom/env/envDefs.h index dfa911115..cb140c1fe 100644 --- a/src/libCom/env/envDefs.h +++ b/src/libCom/env/envDefs.h @@ -58,6 +58,7 @@ epicsShareExtern const ENV_PARAM EPICS_CAS_SERVER_PORT; epicsShareExtern const ENV_PARAM EPICS_CA_BEACON_PERIOD; /* deprecated */ epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PERIOD; epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PORT; +epicsShareExtern const ENV_PARAM EPICS_TARGET_ARCH; epicsShareExtern const ENV_PARAM EPICS_TIMEZONE; epicsShareExtern const ENV_PARAM EPICS_TS_NTP_INET; epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_PORT; From 230603f4acf03a8cf147e502626e01a87dae66ce Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 18:50:41 -0500 Subject: [PATCH 041/226] Remove ARCH from cdCommands and envPaths files Set it in iocshRegisterCommon() instead. Remove ARCH from iocBoot/ioc/Makefile@Common templates. --- configure/RULES.ioc | 8 ++++++-- src/ioc/misc/iocshRegisterCommon.c | 6 ++++++ src/template/base/top/exampleBoot/ioc/Makefile@Common | 1 - src/template/base/top/iocBoot/ioc/Makefile@Common | 1 - src/tools/convertRelease.pl | 4 +--- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/configure/RULES.ioc b/configure/RULES.ioc index 1024fcb22..da314a406 100644 --- a/configure/RULES.ioc +++ b/configure/RULES.ioc @@ -24,11 +24,15 @@ else clean$(DIVIDER)$(ARCH) clean: endif -cdCommands envPaths dllPath.bat relPaths.sh: \ +cdCommands dllPath.bat relPaths.sh: \ $(wildcard $(TOP)/configure/RELEASE*) \ - $(wildcard $(TOP)/configure/CONFIG_SITE*) $(INSTALL_BIN) + $(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN) $(CONVERTRELEASE) -a $(ARCH) -t $(IOCS_APPL_TOP) $@ +envPaths: $(wildcard $(TOP)/configure/RELEASE*) \ + $(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN) + $(CONVERTRELEASE) -t $(IOCS_APPL_TOP) $@ + realclean: $(RM) cdCommands envPaths dllPath.bat relPaths.sh diff --git a/src/ioc/misc/iocshRegisterCommon.c b/src/ioc/misc/iocshRegisterCommon.c index 0341dfbd6..9e0936e2b 100644 --- a/src/ioc/misc/iocshRegisterCommon.c +++ b/src/ioc/misc/iocshRegisterCommon.c @@ -7,6 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ +#include "envDefs.h" #include "iocsh.h" #include "libComRegister.h" @@ -24,6 +25,11 @@ void iocshRegisterCommon(void) { iocshPpdbbase = &pdbbase; + const char *targetArch = envGetConfigParamPtr(&EPICS_TARGET_ARCH); + + if (targetArch) { + epicsEnvSet("ARCH", targetArch); + } dbStaticIocRegister(); registryIocRegister(); diff --git a/src/template/base/top/exampleBoot/ioc/Makefile@Common b/src/template/base/top/exampleBoot/ioc/Makefile@Common index 64a3e8bf7..e064d7344 100644 --- a/src/template/base/top/exampleBoot/ioc/Makefile@Common +++ b/src/template/base/top/exampleBoot/ioc/Makefile@Common @@ -1,5 +1,4 @@ TOP = ../.. include $(TOP)/configure/CONFIG -ARCH = _ARCH_ TARGETS = envPaths include $(TOP)/configure/RULES.ioc diff --git a/src/template/base/top/iocBoot/ioc/Makefile@Common b/src/template/base/top/iocBoot/ioc/Makefile@Common index 64a3e8bf7..e064d7344 100644 --- a/src/template/base/top/iocBoot/ioc/Makefile@Common +++ b/src/template/base/top/iocBoot/ioc/Makefile@Common @@ -1,5 +1,4 @@ TOP = ../.. include $(TOP)/configure/CONFIG -ARCH = _ARCH_ TARGETS = envPaths include $(TOP)/configure/RULES.ioc diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index abf63c3ec..f4eb3f798 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -134,6 +134,7 @@ sub relPaths { } sub binDirs { + die "Architecture not set (use -a option)\n" unless ($arch); my @includes = grep !m/^ (RULES | TEMPLATE_TOP) $/x, @apps; my @path; foreach my $app (@includes) { @@ -165,7 +166,6 @@ sub cdCommands { my $ioc = $cwd; $ioc =~ s/^.*\///; # iocname is last component of directory name - print OUT "putenv(\"ARCH=$arch\")\n"; print OUT "putenv(\"IOC=$ioc\")\n"; foreach my $app (@includes) { @@ -188,7 +188,6 @@ sub cdCommands { # Include parentheses anyway in case CEXP users want to use this. # sub envPaths { - die "Architecture not set (use -a option)" unless ($arch); my @includes = grep !m/^ (RULES | TEMPLATE_TOP) $/x, @apps; unlink($outfile); @@ -197,7 +196,6 @@ sub envPaths { my $ioc = $cwd; $ioc =~ s/^.*\///; # iocname is last component of directory name - print OUT "epicsEnvSet(\"ARCH\",\"$arch\")\n"; print OUT "epicsEnvSet(\"IOC\",\"$ioc\")\n"; foreach my $app (@includes) { From 0e5dc2a21cc868912f9840a8213b33df99ec0d50 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 18:56:03 -0500 Subject: [PATCH 042/226] More build parameters. Renamed EPICS_TARGET_ARCH to EPICS_BUILD_TARGET_ARCH Added EPICS_BUILD_OS_CLASS and EPICS_BUILD_COMPILER_CLASS --- src/ioc/misc/iocshRegisterCommon.c | 2 +- src/libCom/env/RULES | 3 ++- src/libCom/env/bldEnvData.pl | 11 ++++++++--- src/libCom/env/envDefs.h | 6 ++++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/ioc/misc/iocshRegisterCommon.c b/src/ioc/misc/iocshRegisterCommon.c index 9e0936e2b..4bcd6d816 100644 --- a/src/ioc/misc/iocshRegisterCommon.c +++ b/src/ioc/misc/iocshRegisterCommon.c @@ -25,7 +25,7 @@ void iocshRegisterCommon(void) { iocshPpdbbase = &pdbbase; - const char *targetArch = envGetConfigParamPtr(&EPICS_TARGET_ARCH); + const char *targetArch = envGetConfigParamPtr(&EPICS_BUILD_TARGET_ARCH); if (targetArch) { epicsEnvSet("ARCH", targetArch); diff --git a/src/libCom/env/RULES b/src/libCom/env/RULES index db7fa7656..07f71a5a0 100644 --- a/src/libCom/env/RULES +++ b/src/libCom/env/RULES @@ -10,4 +10,5 @@ envData.c: $(LIBCOM)/env/envDefs.h $(LIBCOM)/env/bldEnvData.pl \ $(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV \ $(wildcard $(CONFIG)/os/CONFIG_SITE_ENV.$(T_A)) - $(PERL) $(LIBCOM)/env/bldEnvData.pl $(INSTALL_QUIETLY) -t $(T_A) $(CONFIG) + $(PERL) $(LIBCOM)/env/bldEnvData.pl $(INSTALL_QUIETLY) -t $(T_A) \ + -c $(CMPLR_CLASS) -s $(OS_CLASS) $(CONFIG) diff --git a/src/libCom/env/bldEnvData.pl b/src/libCom/env/bldEnvData.pl index 177dcf976..daa679b42 100644 --- a/src/libCom/env/bldEnvData.pl +++ b/src/libCom/env/bldEnvData.pl @@ -26,13 +26,13 @@ use Text::Wrap; my $tool = basename($0); -our ($opt_h, $opt_q, $opt_t); +our ($opt_h, $opt_q, $opt_t, $opt_s, $opt_c); our $opt_o = 'envData.c'; $Getopt::Std::OUTPUT_HELP_VERSION = 1; $Text::Wrap::columns = 75; -&HELP_MESSAGE unless getopts('ho:qt:') && @ARGV == 1; +&HELP_MESSAGE unless getopts('ho:qt:s:c:') && @ARGV == 1; &HELP_MESSAGE if $opt_h; my $config = AbsPath(shift); @@ -68,9 +68,12 @@ if ($opt_t) { readReleaseFiles($config_arch_env, \%values); } - $values{EPICS_TARGET_ARCH} = $opt_t; + $values{EPICS_BUILD_TARGET_ARCH} = $opt_t; } +$values{EPICS_BUILD_COMPILER_CLASS} = $opt_c if $opt_c; +$values{EPICS_BUILD_OS_CLASS} = $opt_s if $opt_s; + # Warn about any vars with no value # my @undefs = grep {!exists $values{$_}} @vars; @@ -123,6 +126,8 @@ sub HELP_MESSAGE { " -q Quiet: Only print errors\n", " -o file Output filename, default is $opt_o\n", " -t arch Target architecture \$(T_A) name\n", + " -s os Operating system \$(OS_CLASS)\n", + " -c comp Compiler class \$(CMPLR_CLASS)\n", "\n"; exit 1; diff --git a/src/libCom/env/envDefs.h b/src/libCom/env/envDefs.h index cb140c1fe..437e688e3 100644 --- a/src/libCom/env/envDefs.h +++ b/src/libCom/env/envDefs.h @@ -40,7 +40,7 @@ typedef struct envParam { } ENV_PARAM; /* - * bldEnvData looks for "epicsShareExtern const ENV_PARAM" + * bldEnvData.pl looks for "epicsShareExtern const ENV_PARAM ;" */ epicsShareExtern const ENV_PARAM EPICS_CA_ADDR_LIST; epicsShareExtern const ENV_PARAM EPICS_CA_CONN_TMO; @@ -58,7 +58,9 @@ epicsShareExtern const ENV_PARAM EPICS_CAS_SERVER_PORT; epicsShareExtern const ENV_PARAM EPICS_CA_BEACON_PERIOD; /* deprecated */ epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PERIOD; epicsShareExtern const ENV_PARAM EPICS_CAS_BEACON_PORT; -epicsShareExtern const ENV_PARAM EPICS_TARGET_ARCH; +epicsShareExtern const ENV_PARAM EPICS_BUILD_COMPILER_CLASS; +epicsShareExtern const ENV_PARAM EPICS_BUILD_OS_CLASS; +epicsShareExtern const ENV_PARAM EPICS_BUILD_TARGET_ARCH; epicsShareExtern const ENV_PARAM EPICS_TIMEZONE; epicsShareExtern const ENV_PARAM EPICS_TS_NTP_INET; epicsShareExtern const ENV_PARAM EPICS_IOC_LOG_PORT; From 5a605fa0c3fcc7674c70e6a49ff8a0ee84c4fd4c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 18:58:07 -0500 Subject: [PATCH 043/226] Set various EPICS_VERSION_* environment variables These are set at the same time as the ARCH variable. Had to add EPICS_VERSION_SHORT and EPICS_VERSION_FULL to epicsVersion.h. This uses more uniform names, should we change epicsVersion.h names? We would continue to support the old names in parallel for some time. --- src/ioc/misc/iocshRegisterCommon.c | 15 +++++++++++++++ src/libCom/misc/makeEpicsVersion.pl | 10 +++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/ioc/misc/iocshRegisterCommon.c b/src/ioc/misc/iocshRegisterCommon.c index 4bcd6d816..f5f339f46 100644 --- a/src/ioc/misc/iocshRegisterCommon.c +++ b/src/ioc/misc/iocshRegisterCommon.c @@ -8,6 +8,7 @@ \*************************************************************************/ #include "envDefs.h" +#include "epicsVersion.h" #include "iocsh.h" #include "libComRegister.h" @@ -22,15 +23,29 @@ #include "registryIocRegister.h" #include "rsrvIocRegister.h" +#define quote(v) #v +#define str(v) quote(v) + void iocshRegisterCommon(void) { iocshPpdbbase = &pdbbase; const char *targetArch = envGetConfigParamPtr(&EPICS_BUILD_TARGET_ARCH); + /* This uses a config param so the user can override it */ if (targetArch) { epicsEnvSet("ARCH", targetArch); } + /* Base build version variables */ + epicsEnvSet("EPICS_VERSION_MAJOR", str(EPICS_VERSION)); + epicsEnvSet("EPICS_VERSION_MIDDLE", str(EPICS_REVISION)); + epicsEnvSet("EPICS_VERSION_MINOR", str(EPICS_MODIFICATION)); + epicsEnvSet("EPICS_VERSION_PATCH", str(EPICS_PATCH_LEVEL)); + epicsEnvSet("EPICS_VERSION_SNAPSHOT", EPICS_DEV_SNAPSHOT); + epicsEnvSet("EPICS_VERSION_SITE", EPICS_SITE_VERSION); + epicsEnvSet("EPICS_VERSION_SHORT", EPICS_VERSION_SHORT); + epicsEnvSet("EPICS_VERSION_FULL", EPICS_VERSION_FULL); + dbStaticIocRegister(); registryIocRegister(); dbIocRegister(); diff --git a/src/libCom/misc/makeEpicsVersion.pl b/src/libCom/misc/makeEpicsVersion.pl index 2a720e86d..f7f134f87 100644 --- a/src/libCom/misc/makeEpicsVersion.pl +++ b/src/libCom/misc/makeEpicsVersion.pl @@ -47,8 +47,11 @@ map { die "$tool: Variable missing from $infile" unless defined $_; } $ver, $rev, $mod, $patch, $snapshot, $commit_date; +$commit_date =~ s/^\$\$Date$\$$/\1/; + my $ver_str = "$ver.$rev.$mod"; $ver_str .= ".$patch" if $patch > 0; +my $ver_short = $ver_str; $ver_str .= $snapshot if $snapshot ne ''; $ver_str .= "-$opt_v" if $opt_v; @@ -71,10 +74,15 @@ print $OUT <<"END"; #define EPICS_PATCH_LEVEL $patch #define EPICS_DEV_SNAPSHOT "$snapshot" #define EPICS_SITE_VERSION "$opt_v" + +#define EPICS_VERSION_SHORT "$ver_short" +#define EPICS_VERSION_FULL "$ver_str" #define EPICS_VERSION_STRING "EPICS $ver_str" #define epicsReleaseVersion "EPICS R$ver_str $commit_date" -#define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P)) +#ifndef VERSION_INT +# define VERSION_INT(V,R,M,P) ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P)) +#endif #define EPICS_VERSION_INT VERSION_INT($ver, $rev, $mod, $patch) #endif /* INC_${obase}_H */ From 08fd987c601e15f581fb71c189af70a315936793 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 19:00:37 -0500 Subject: [PATCH 044/226] Perl script clean-up --- src/libCom/env/bldEnvData.pl | 51 ++++++++++++++++++++---------------- src/tools/convertRelease.pl | 4 +-- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/libCom/env/bldEnvData.pl b/src/libCom/env/bldEnvData.pl index daa679b42..a23907dc8 100644 --- a/src/libCom/env/bldEnvData.pl +++ b/src/libCom/env/bldEnvData.pl @@ -52,29 +52,31 @@ while () { } close SRC; -# Read the values from the CONFIG_ENV and CONFIG_SITE_ENV files -my $config_env = "$config/CONFIG_ENV"; -my $config_site_env = "$config/CONFIG_SITE_ENV"; -my @configs = ($env_defs, $config_env, $config_site_env); - -my %values; -readReleaseFiles($config_env, \%values); -readReleaseFiles($config_site_env, \%values); +# A list of configure/CONFIG_* files to read +# +my @configs = ("$config/CONFIG_ENV", "$config/CONFIG_SITE_ENV"); if ($opt_t) { my $config_arch_env = "$config/os/CONFIG_SITE_ENV.$opt_t"; - if (-f $config_arch_env) { - push @configs, $config_arch_env; - readReleaseFiles($config_arch_env, \%values); - } - - $values{EPICS_BUILD_TARGET_ARCH} = $opt_t; + push @configs, $config_arch_env + if -f $config_arch_env; } +my @sources = ($env_defs, @configs); + +# Get values from the config files +# +my (%values, @dummy); +readRelease($_, \%values, \@dummy) foreach @configs; +expandRelease(\%values); + +# Get values from the command-line +# $values{EPICS_BUILD_COMPILER_CLASS} = $opt_c if $opt_c; $values{EPICS_BUILD_OS_CLASS} = $opt_s if $opt_s; +$values{EPICS_BUILD_TARGET_ARCH} = $opt_t if $opt_t; -# Warn about any vars with no value +# Warn about vars with no configured value # my @undefs = grep {!exists $values{$_}} @vars; warn "$tool: No value given for $_\n" foreach @undefs; @@ -86,13 +88,13 @@ print "Generating $opt_o\n" unless $opt_q; open OUT, '>', $opt_o or die "$tool: Cannot create $opt_o: $!\n"; -my $configs = join "\n", map {" * $_"} @configs; +my $sources = join "\n", map {" * $_"} @sources; print OUT << "END"; /* Generated file $opt_o * * Created from -$configs +$sources */ #include @@ -101,18 +103,23 @@ $configs END -# Define all parameters, giving variable name and default value +# Define a default value for each named parameter # foreach my $var (@vars) { - my $default = $values{$var} || ''; - $default =~ s/^"//; - $default =~ s/"$//; + my $default = $values{$var}; + if (defined $default) { + $default =~ s/^"//; + $default =~ s/"$//; + } + else { + $default = ''; + } print OUT "epicsShareDef const ENV_PARAM $var =\n", " {\"$var\", \"$default\"};\n"; } -# Now create a list of all those parameters +# Also provide a list of all defined parameters # print OUT "\n", "epicsShareDef const ENV_PARAM* env_param_list[] = {\n", diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index f4eb3f798..70f38ed57 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -75,7 +75,7 @@ my @apps = ('TOP'); # Records the order of definitions in RELEASE file my $relfile = "$top/configure/RELEASE"; die "Can't find $relfile" unless (-f $relfile); readReleaseFiles($relfile, \%macros, \@apps, $arch); -expandRelease(\%macros, \@apps); +expandRelease(\%macros); # This is a perl switch statement: @@ -221,7 +221,7 @@ sub checkRelease { my @order = (); my $relfile = "$path/configure/RELEASE"; readReleaseFiles($relfile, \%check, \@order, $arch); - expandRelease(\%check, \@order); + expandRelease(\%check); delete $check{TOP}; delete $check{EPICS_HOST_ARCH}; From ba0d5f9443c52b218414468c8b8b16d31864ad74 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 19:03:17 -0500 Subject: [PATCH 045/226] Disallow single-quoted strings in Perl DBD parser --- src/tools/DBD/Base.pm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tools/DBD/Base.pm b/src/tools/DBD/Base.pm index b0388d725..59b8e54bd 100644 --- a/src/tools/DBD/Base.pm +++ b/src/tools/DBD/Base.pm @@ -8,7 +8,7 @@ require Exporter; @ISA = qw(Exporter); @EXPORT = qw(&pushContext &popContext &dieContext &warnContext &is_reserved &identifier &unquote &escapeCcomment &escapeCstring $RXident $RXname - $RXuint $RXint $RXhex $RXoct $RXuintx $RXintx $RXnum $RXdqs $RXsqs $RXstr); + $RXuint $RXint $RXhex $RXoct $RXuintx $RXintx $RXnum $RXdqs $RXstr); our $RXident = qr/ [a-zA-Z] [a-zA-Z0-9_]* /x; @@ -21,8 +21,7 @@ our $RXuintx = qr/ ( $RXhex | $RXoct | $RXuint ) /ox; our $RXintx = qr/ ( $RXhex | $RXoct | $RXint ) /ox; our $RXnum = qr/ -? (?: \d+ | \d* \. \d+ ) (?: [eE] [-+]? \d+ )? /x; our $RXdqs = qr/" (?: [^"] | \\" )* " /x; -our $RXsqs = qr/' (?: [^'] | \\' )* ' /x; -our $RXstr = qr/ ( $RXname | $RXnum | $RXdqs | $RXsqs ) /ox; +our $RXstr = qr/ ( $RXname | $RXnum | $RXdqs ) /ox; our @context; From 496414c88ca115780a8763b41dba6bbac9e75f0b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 23:28:39 -0500 Subject: [PATCH 046/226] Fix for VxWorks 5.5 compiler --- src/ioc/misc/iocshRegisterCommon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ioc/misc/iocshRegisterCommon.c b/src/ioc/misc/iocshRegisterCommon.c index f5f339f46..fefa716b9 100644 --- a/src/ioc/misc/iocshRegisterCommon.c +++ b/src/ioc/misc/iocshRegisterCommon.c @@ -28,8 +28,8 @@ void iocshRegisterCommon(void) { - iocshPpdbbase = &pdbbase; const char *targetArch = envGetConfigParamPtr(&EPICS_BUILD_TARGET_ARCH); + iocshPpdbbase = &pdbbase; /* This uses a config param so the user can override it */ if (targetArch) { From 7ce8e5ea015e6defcd26ca9a2af94f351d597108 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 28 Apr 2016 23:59:39 -0500 Subject: [PATCH 047/226] Fix RTEMS Makefile issue --- src/libCom/test/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index 1a2b256fb..cb3dab0de 100755 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -98,7 +98,7 @@ TESTS += epicsTimeTest TESTPROD_HOST += epicsTimeZoneTest epicsTimeZoneTest_SRCS += epicsTimeZoneTest.c -rtemsTestHarness_SRCS += epicsTimeZoneTest.c +libComTestHarness_SRCS_RTEMS += epicsTimeZoneTest.c TESTS += epicsTimeZoneTest TESTPROD_HOST += epicsThreadTest From 457fb8fa13a061aa513e549395f3624263212e7a Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 29 Apr 2016 11:34:05 +0200 Subject: [PATCH 048/226] Update CONFIG_BASE_VERSION for 3.15.4-pre1 --- configure/CONFIG_BASE_VERSION | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 8933bbf9c..d223ba393 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -29,15 +29,15 @@ EPICS_VERSION = 3 EPICS_REVISION = 15 # EPICS_MODIFICATION must be a number >=0 and <256 -EPICS_MODIFICATION = 3 +EPICS_MODIFICATION = 4 # EPICS_PATCH_LEVEL must be a number (win32 resource file requirement) # Not included if zero EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases -EPICS_DEV_SNAPSHOT=-DEV -#EPICS_DEV_SNAPSHOT=-pre1 +#EPICS_DEV_SNAPSHOT=-DEV +EPICS_DEV_SNAPSHOT=-pre1 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV From 924aa2f93b2044303d5271800bf2fc394bfcd869 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 29 Apr 2016 12:20:35 +0200 Subject: [PATCH 049/226] Set Base version to -pre1-DEV --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index d223ba393..dcba922c0 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -37,8 +37,8 @@ EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases #EPICS_DEV_SNAPSHOT=-DEV -EPICS_DEV_SNAPSHOT=-pre1 -#EPICS_DEV_SNAPSHOT=-pre1-DEV +#EPICS_DEV_SNAPSHOT=-pre1 +EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV #EPICS_DEV_SNAPSHOT=-rc1 From a3d981ad0a1ed61470f88029faae46eb353eb38c Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 1 May 2016 13:30:45 -0400 Subject: [PATCH 050/226] dbLink.c: fix dbGetLink for array of length 1 --- src/ioc/db/dbLink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ioc/db/dbLink.c b/src/ioc/db/dbLink.c index ac9354a3b..2a92ef51f 100644 --- a/src/ioc/db/dbLink.c +++ b/src/ioc/db/dbLink.c @@ -224,6 +224,7 @@ static long dbDbGetValue(struct link *plink, short dbrType, void *pbuffer, return S_db_badDbrtype; if (paddr->no_elements == 1 && (!pnRequest || *pnRequest == 1) + && paddr->special != SPC_DBADDR && paddr->special != SPC_ATTRIBUTE) { ppv_link->getCvt = dbFastGetConvertRoutine[dbfType][dbrType]; status = ppv_link->getCvt(paddr->pfield, pbuffer, paddr); From 26c04844cf0e1a08daeba50f1f996c7a628ab79f Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 1 May 2016 13:30:45 -0400 Subject: [PATCH 051/226] add test for lp:1577108 --- src/std/rec/test/Makefile | 8 ++++ src/std/rec/test/regressArray1.db | 9 ++++ src/std/rec/test/regressTest.c | 73 +++++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 src/std/rec/test/regressArray1.db create mode 100644 src/std/rec/test/regressTest.c diff --git a/src/std/rec/test/Makefile b/src/std/rec/test/Makefile index 834317945..8084b38b5 100644 --- a/src/std/rec/test/Makefile +++ b/src/std/rec/test/Makefile @@ -37,6 +37,14 @@ testHarness_SRCS += analogMonitorTest_registerRecordDeviceDriver.cpp TESTFILES += $(COMMON_DIR)/analogMonitorTest.dbd ../analogMonitorTest.db TESTS += analogMonitorTest +TARGETS += $(COMMON_DIR)/regressTest.dbd +regressTest_DBD += base.dbd +TESTPROD_HOST += regressTest +regressTest_SRCS += regressTest.c +regressTest_SRCS += regressTest_registerRecordDeviceDriver.cpp +TESTFILES += $(COMMON_DIR)/regressTest.dbd ../regressArray1.db +TESTS += regressTest + # epicsRunRecordTests runs all the test programs in a known working order. testHarness_SRCS += epicsRunRecordTests.c diff --git a/src/std/rec/test/regressArray1.db b/src/std/rec/test/regressArray1.db new file mode 100644 index 000000000..a09f3bfba --- /dev/null +++ b/src/std/rec/test/regressArray1.db @@ -0,0 +1,9 @@ +record(waveform, "wf") { + field(FTVL, "DOUBLE") + field(NELM, "1") + field(FLNK, "co") +} +record(calcout, "co") { + field(CALC, "A") + field(INPA, "wf") +} diff --git a/src/std/rec/test/regressTest.c b/src/std/rec/test/regressTest.c new file mode 100644 index 000000000..ccbe53189 --- /dev/null +++ b/src/std/rec/test/regressTest.c @@ -0,0 +1,73 @@ +/*************************************************************************\ +* Copyright (c) 2016 Michael Davidsaver +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. + \*************************************************************************/ + +#include +#include +#include +#include + +#include +#include + +/* + * Test the some identified regressions + */ + +void regressTest_registerRecordDeviceDriver(struct dbBase *); + +/* + * https://bugs.launchpad.net/epics-base/+bug/1577108 + */ +static +void testArrayLength1(void) +{ + waveformRecord *precwf; + calcoutRecord *precco; + double *pbuf; + + testdbPrepare(); + + testdbReadDatabase("regressTest.dbd", NULL, NULL); + + regressTest_registerRecordDeviceDriver(pdbbase); + + testdbReadDatabase("regressArray1.db", NULL, NULL); + + precwf = (waveformRecord*)testdbRecordPtr("wf"); + precco = (calcoutRecord*)testdbRecordPtr("co"); + + eltc(0); + testIocInitOk(); + eltc(1); + + dbScanLock((dbCommon*)precwf); + pbuf = (double*)precwf->bptr; + dbScanUnlock((dbCommon*)precwf); + + testdbPutFieldOk("wf", DBF_DOUBLE, 2.0); + + dbScanLock((dbCommon*)precwf); + testOk(precwf->nord==1, "wf.NORD = %u == 1", (unsigned)precwf->nord); + testOk(pbuf[0]==2.0, "wf.VAL[0] = %f == 2.0", pbuf[0]); + dbScanUnlock((dbCommon*)precwf); + + dbScanLock((dbCommon*)precco); + testOk(precco->a==2.0, "co.A = %f == 2.0", precco->a); + dbScanUnlock((dbCommon*)precco); + + testdbGetFieldEqual("co", DBF_DOUBLE, 2.0); + + testIocShutdownOk(); + + testdbCleanup(); +} + +MAIN(regressTest) +{ + testPlan(5); + testArrayLength1(); + return testDone(); +} From 3c8af4c5712d4991875b1bdf5d9bf955fda7cbb3 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 2 May 2016 11:38:51 -0500 Subject: [PATCH 052/226] Catch bad attribute names/values to prevent a segfault --- src/ioc/db/dbAccess.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index a45aa9b93..6a5ee7d39 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -402,19 +402,29 @@ struct rset * dbGetRset(const struct dbAddr *paddr) } long dbPutAttribute( - const char *recordTypename,const char *name,const char*value) + const char *recordTypename, const char *name, const char *value) { - DBENTRY dbEntry; - DBENTRY *pdbEntry = &dbEntry; - long status=0; + DBENTRY dbEntry; + DBENTRY *pdbEntry = &dbEntry; + long status = 0; - if(!pdbbase) return(S_db_notFound); - dbInitEntry(pdbbase,pdbEntry); - status = dbFindRecordType(pdbEntry,recordTypename); - if(!status) status = dbPutRecordAttribute(pdbEntry,name,value); - dbFinishEntry(pdbEntry); - if(status) errMessage(status,"dbPutAttribute failure"); - return(status); + if (!pdbbase) + return S_db_notFound; + if (!name) { + status = S_db_badField; + goto done; + } + if (!value) + value = ""; + dbInitEntry(pdbbase, pdbEntry); + status = dbFindRecordType(pdbEntry, recordTypename); + if (!status) + status = dbPutRecordAttribute(pdbEntry, name, value); + dbFinishEntry(pdbEntry); +done: + if (status) + errMessage(status, "dbPutAttribute failure"); + return status; } int dbIsValueField(const struct dbFldDes *pdbFldDes) From a1bd644502f61975a49624a8720acc1eaa324970 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 2 May 2016 20:51:11 -0400 Subject: [PATCH 053/226] drop all templateInstances.cpp No longer needed by any targets. --- src/ca/client/Makefile | 1 - src/ca/client/templateInstances.cpp | 88 ------------------- src/ca/legacy/pcas/build/Makefile | 2 - .../legacy/pcas/generic/templateInstances.cpp | 29 ------ src/ioc/db/Makefile | 1 - src/ioc/db/templateInstances.cpp | 46 ---------- 6 files changed, 167 deletions(-) delete mode 100644 src/ca/client/templateInstances.cpp delete mode 100644 src/ca/legacy/pcas/generic/templateInstances.cpp delete mode 100644 src/ioc/db/templateInstances.cpp diff --git a/src/ca/client/Makefile b/src/ca/client/Makefile index fcbc574cf..b6881f473 100644 --- a/src/ca/client/Makefile +++ b/src/ca/client/Makefile @@ -69,7 +69,6 @@ LIBSRCS += comQueSend.cpp LIBSRCS += comBuf.cpp LIBSRCS += hostNameCache.cpp LIBSRCS += msgForMultiplyDefinedPV.cpp -LIBSRCS_vxWorks += templateInstances.cpp LIBRARY=ca diff --git a/src/ca/client/templateInstances.cpp b/src/ca/client/templateInstances.cpp deleted file mode 100644 index f83366087..000000000 --- a/src/ca/client/templateInstances.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -/* - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * - * Author Jeffrey O. Hill - * johill@lanl.gov - * 505 665 1831 - */ - -#define epicsExportSharedSymbols -#include "virtualCircuit.h" -#include "bhe.h" -#include "cac.h" -#include "syncGroup.h" -#include "nciu.h" -#include "udpiiu.h" -#include "oldAccess.h" -#include "msgForMultiplyDefinedPV.h" -#include "repeaterClient.h" -#include "hostNameCache.h" -#include "comBuf.h" - -#ifdef _MSC_VER -# pragma warning ( push ) -# pragma warning ( disable:4660 ) -#endif - -template class resTable < nciu, chronIntId >; -template class chronIntIdResTable < nciu >; -template class resTable < baseNMIU, chronIntId >; -template class chronIntIdResTable < baseNMIU >; -template class resTable < CASG, chronIntId >; -template class chronIntIdResTable < CASG >; -template class resTable < bhe, inetAddrID >; -template class resTable < tcpiiu, caServerID >; -template class tsFreeList < bhe, 0x100 >; -template class tsFreeList < tcpiiu, 32, epicsMutexNOOP >; -template class tsFreeList < netReadNotifyIO, 1024, epicsMutexNOOP >; -template class tsFreeList < netWriteNotifyIO, 1024, epicsMutexNOOP >; -template class tsFreeList < netSubscription, 1024, epicsMutexNOOP >; -template class tsFreeList < CASG, 128, epicsMutexNOOP >; -template class tsFreeList < syncGroupReadNotify, 128, epicsMutexNOOP >; -template class tsFreeList < syncGroupWriteNotify, 128, epicsMutexNOOP >; -template class tsFreeList < comBuf, 0x20 >; -template class tsFreeList < getCallback, 1024, epicsMutexNOOP >; -template class tsFreeList < getCopy, 1024, epicsMutexNOOP >; -template class tsFreeList < msgForMultiplyDefinedPV, 16 >; -template class tsFreeList < nciu, 1024, epicsMutexNOOP>; -template class tsFreeList < oldChannelNotify, 1024, epicsMutexNOOP >; -template class tsFreeList < oldSubscription, 1024, epicsMutexNOOP >; -template class tsFreeList < putCallback, 1024, epicsMutexNOOP >; -template class tsFreeList < repeaterClient, 0x20 >; -template class epicsSingleton < localHostName >; -template unsigned comBuf :: push ( const double * pValue, unsigned nElem ); -template unsigned comBuf :: push ( const float * pValue, unsigned nElem ); -template unsigned comBuf :: push ( const int * pValue, unsigned nElem ); -template unsigned comBuf :: push ( const short * pValue, unsigned nElem ); -template comBuf :: popStatus comBuf :: pop ( unsigned int & returnVal ); -template comBuf :: popStatus comBuf :: pop ( unsigned short & returnVal ); -template comBuf :: popStatus comBuf :: pop ( unsigned char & returnVal ); -template void WireSet ( float const &, unsigned char * ); -template void WireSet ( int const &, unsigned char * ); -template void WireSet ( short const &, unsigned char * ); -template void ca_client_context :: whenThereIsAnExceptionDestroySyncGroupIO - (epicsGuard < epicsMutex > &, syncGroupWriteNotify & ); -template void ca_client_context :: whenThereIsAnExceptionDestroySyncGroupIO - ( epicsGuard < epicsMutex > &, syncGroupReadNotify & ); - - -#ifdef _MSC_VER -# pragma warning ( pop ) -#endif diff --git a/src/ca/legacy/pcas/build/Makefile b/src/ca/legacy/pcas/build/Makefile index 0cb91fbea..707344d02 100644 --- a/src/ca/legacy/pcas/build/Makefile +++ b/src/ca/legacy/pcas/build/Makefile @@ -80,8 +80,6 @@ ifeq ($(VX_GNU_VERSION), 4.1.2) casStreamOS_CXXFLAGS_vxWorks-ppc604 = -O0 endif -LIBSRCS_vxWorks += templateInstances.cpp - LIBRARY = cas cas_LIBS = ca gdd Com cas_SYS_LIBS_WIN32 = ws2_32 diff --git a/src/ca/legacy/pcas/generic/templateInstances.cpp b/src/ca/legacy/pcas/generic/templateInstances.cpp deleted file mode 100644 index e1df222dc..000000000 --- a/src/ca/legacy/pcas/generic/templateInstances.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2008 UChicago Argonne LLC, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -#define epicsExportSharedSymbols -#include "ipIgnoreEntry.h" -#include "casChannelI.h" - -#ifdef _MSC_VER -# pragma warning ( push ) -# pragma warning ( disable:4660 ) -#endif - -template class resTable < ipIgnoreEntry, ipIgnoreEntry >; -template class resTable < casChannelI, chronIntId >; -template class resTable < casEventMaskEntry, stringId >; -template class chronIntIdResTable < casChannelI >; -template class tsFreeList < casMonEvent, 1024, epicsMutexNOOP >; -template class tsFreeList < casMonitor, 1024, epicsMutex >; - - -#ifdef _MSC_VER -# pragma warning ( pop ) -#endif diff --git a/src/ioc/db/Makefile b/src/ioc/db/Makefile index 83cd2ce4a..15680bf60 100644 --- a/src/ioc/db/Makefile +++ b/src/ioc/db/Makefile @@ -85,7 +85,6 @@ dbCore_SRCS += dbChannelIO.cpp dbCore_SRCS += dbSubscriptionIO.cpp dbCore_SRCS += dbPutNotifyBlocker.cpp dbCore_SRCS += dbContextReadNotifyCache.cpp -dbCore_SRCS += templateInstances.cpp dbCore_SRCS += dbIocRegister.c dbCore_SRCS += chfPlugin.c dbCore_SRCS += dbState.c diff --git a/src/ioc/db/templateInstances.cpp b/src/ioc/db/templateInstances.cpp deleted file mode 100644 index 0b4adba57..000000000 --- a/src/ioc/db/templateInstances.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -/* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * - * Author Jeffrey O. Hill - * johill@lanl.gov - * 505 665 1831 - */ - -#define epicsExportSharedSymbols - -#include "dbCAC.h" -#include "dbChannelIO.h" -#include "dbPutNotifyBlocker.h" - -#ifdef _MSC_VER -# pragma warning ( push ) -# pragma warning ( disable:4660 ) -#endif - -template class tsFreeList < dbChannelIO, 256, epicsMutexNOOP >; -template class tsFreeList < dbPutNotifyBlocker, 64, epicsMutexNOOP >; -template class tsFreeList < dbSubscriptionIO, 256, epicsMutexNOOP >; -template class resTable < dbBaseIO, chronIntId >; -template class chronIntIdResTable < dbBaseIO >; - -#ifdef _MSC_VER -# pragma warning ( pop ) -#endif From d67486621999c3a24a0a0c9c09dc298f85371762 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 2 May 2016 20:53:51 -0400 Subject: [PATCH 054/226] epicsGuard.h add typedefs linking guard and release --- src/libCom/cxxTemplates/epicsGuard.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libCom/cxxTemplates/epicsGuard.h b/src/libCom/cxxTemplates/epicsGuard.h index a51411bc6..acb80b084 100644 --- a/src/libCom/cxxTemplates/epicsGuard.h +++ b/src/libCom/cxxTemplates/epicsGuard.h @@ -30,6 +30,7 @@ template < class T > class epicsGuardRelease; template < class T > class epicsGuard { public: + typedef epicsGuardRelease release_t; epicsGuard ( T & ); void assertIdenticalMutex ( const T & ) const; ~epicsGuard (); @@ -46,6 +47,7 @@ private: template < class T > class epicsGuardRelease { public: + typedef epicsGuard guard_t; epicsGuardRelease ( epicsGuard < T > & ); ~epicsGuardRelease (); private: From 67097456e33cac9f33af0673c4ee5daa7fe09272 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 3 May 2016 12:26:40 -0500 Subject: [PATCH 055/226] Add additional RELEASE file checks These checks are important for mixing Debian modules with privately-built applications. --- documentation/RELEASE_NOTES.html | 35 ++++++++++++++++++++++++++++++++ src/tools/convertRelease.pl | 32 +++++++++++++++++++++++++++-- 2 files changed, 65 insertions(+), 2 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 68463ab7e..f4370c22f 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,41 @@ +

Additional RELEASE file checks

+ +

An additional check has been added at build-time for the contents of the +configure/RELEASE file(s), which will mostly only affect users of the Debian +EPICS packages published by NSLS-2. Support modules may share an install path, +but all such modules must be listed adjacent to each other in any RELEASE files +that point to them. For example the following will fail the new checks:

+ +
+AUTOSAVE = /usr/lib/epics
+ASYN = /home/mdavidsaver/asyn
+EPICS_BASE = /usr/lib/epics
+
+ +

giving the compile-time error

+ +
+This application's RELEASE file(s) define
+	EPICS_BASE = /usr/lib/epics
+after but not adjacent to
+	AUTOSAVE = /usr/lib/epics
+Module definitions that share paths must be grouped together.
+Either remove a definition, or move it to a line immediately
+above or below the other(s).
+Any non-module definitions belong in configure/CONFIG_SITE.
+
+ + +

In many cases such as the one above the order of the AUTOSAVE and +ASYN lines can be swapped to let the checks pass, but if the +AUTOSAVE module depended on ASYN and hence had to appear +before it in the list this error indicates that AUTOSAVE should also be +built in its own private area; a shared copy would likely be incompatible with +the version of ASYN built in the home directory.

+

String field buffer overflows

Two buffer overflow bugs that can crash the IOC have been fixed, caused by diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index abf63c3ec..772ce1112 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -217,7 +217,7 @@ sub checkRelease { delete $macros{RULES}; delete $macros{TOP}; delete $macros{TEMPLATE_TOP}; - + while (my ($app, $path) = each %macros) { my %check = (TOP => $path); my @order = (); @@ -240,7 +240,35 @@ sub checkRelease { } } } - print "\n" if ($status); + + my @modules = @apps; + my $app = shift @modules; + my $latest = AbsPath($macros{$app}); + my %paths = ($latest => $app); + foreach $app (@modules) { + my $path = AbsPath($macros{$app}); + if ($path ne $latest && exists $paths{$path}) { + my $prev = $paths{$path}; + print "\n" unless ($status); + print "This application's RELEASE file(s) define\n"; + print "\t$app = $macros{$app}\n"; + print "after but not adjacent to\n\t$prev = $macros{$prev}\n"; + print "both of which resolve to $path\n" + if $path ne $macros{$app} || $path ne $macros{$prev}; + $status = 2; + } + $paths{$path} = $app; + $latest = $path; + } + if ($status == 2) { + print "Module definitions that share paths must be grouped together.\n"; + print "Either remove a definition, or move it to a line immediately\n"; + print "above or below the other(s).\n"; + print "Any non-module definitions belong in configure/CONFIG_SITE.\n"; + $status = 1; + } + + print "\n" if $status; exit $status; } From 3be97865b3cc060400dc5ddaff891a1400c1e885 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 4 May 2016 14:41:51 -0500 Subject: [PATCH 056/226] Warn instead of building cap5 if xsubpp is missing --- src/cap5/Makefile | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/cap5/Makefile b/src/cap5/Makefile index 41c66a51c..f749864c5 100644 --- a/src/cap5/Makefile +++ b/src/cap5/Makefile @@ -21,10 +21,19 @@ ifeq ($(OS_CLASS),Darwin) LOADABLE_SHRLIB_SUFFIX = .$(shell $(PERL) ../perlConfig.pl dlext) endif -PERL_VERSION = $(shell $(PERL) ../perlConfig.pl version) -PERL_ARCHNAME = $(shell $(PERL) ../perlConfig.pl archname) -PERL_ARCHPATH = $(PERL_VERSION)/$(PERL_ARCHNAME) +ifdef T_A + PERL_VERSION = $(shell $(PERL) ../perlConfig.pl version) + PERL_ARCHNAME = $(shell $(PERL) ../perlConfig.pl archname) + PERL_ARCHPATH := $(PERL_VERSION)/$(PERL_ARCHNAME) + EXTUTILS := $(shell $(PERL) ../perlConfig.pl privlib)/ExtUtils + PERLBIN := $(shell $(PERL) ../perlConfig.pl bin) + XSUBPP := $(firstword $(wildcard $(PERLBIN)/xsubpp $(EXTUTILS)/xsubpp)) + +ifeq ($(strip $(XSUBPP)),) + $(warning Perl's xsubpp program was not found.) + $(warning The Perl CA module will not be built.) +else ifeq ($(T_A),$(EPICS_HOST_ARCH)) # No cross-builds (wrong Perl!) ifeq ($(findstring $(OS_CLASS),WIN32 cygwin32),) # Doesn't build on WIN32 LOADABLE_LIBRARY_HOST = Cap5 @@ -42,6 +51,8 @@ ifeq ($(findstring $(OS_CLASS),WIN32 cygwin32),) # Doesn't build on WIN32 HTMLS = CA.html endif endif +endif +endif Cap5_SRCS = Cap5.xs Cap5_LIBS = ca Com @@ -51,10 +62,6 @@ Cap5_CFLAGS = $(shell $(PERL) ../perlConfig.pl ccflags) include $(TOP)/configure/RULES ifdef T_A - EXTUTILS = $(shell $(PERL) ../perlConfig.pl privlib)/ExtUtils - PERLBIN = $(shell $(PERL) ../perlConfig.pl bin) - XSUBPP = $(firstword $(wildcard $(PERLBIN)/xsubpp $(EXTUTILS)/xsubpp)) - %.c: ../%.xs $(RM) $@ $@_new $(PERL) $(XSUBPP) -typemap $(EXTUTILS)/typemap $< > $@_new && $(MV) $@_new $@ From 9b51444fb720d5285ebec1843f83dd7ba12cd4cc Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 4 May 2016 18:15:54 -0500 Subject: [PATCH 057/226] Fix data types and macro name --- src/db/db_field_log.h | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/db/db_field_log.h b/src/db/db_field_log.h index 2012f49f6..9b2661c88 100644 --- a/src/db/db_field_log.h +++ b/src/db/db_field_log.h @@ -3,8 +3,7 @@ * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found +* EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ /* $Revision-Id$ @@ -14,6 +13,8 @@ #ifndef INCLdb_field_logh #define INCLdb_field_logh +#include + #ifdef __cplusplus extern "C" { #endif @@ -25,18 +26,20 @@ extern "C" { * priority task pending on the event queue wakes up). Strings would slow down * events for more reasonable size values. DB fields of native type string * will most likely change infrequently. - * + * + * Strings can be added to the set of types for which updates will be queued + * by defining the macro DB_EVENT_LOG_STRINGS. The code in db_add_event() + * will adjust automatically, it just compares field sizes. */ union native_value{ - short dbf_int; - short dbf_short; - float dbf_float; - short dbf_enum; - char dbf_char; - long dbf_long; - double dbf_double; + epicsInt8 dbf_char; + epicsInt16 dbf_short; + epicsEnum16 dbf_enum; + epicsInt32 dbf_long; + epicsFloat32 dbf_float; + epicsFloat64 dbf_double; #ifdef DB_EVENT_LOG_STRINGS - char dbf_string[MAXSTRINGSIZE]; + char dbf_string[MAX_STRING_SIZE]; #endif }; From e98a6bbafa76600bb6ff5f480851c36828e46726 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 12 May 2016 15:05:18 -0500 Subject: [PATCH 058/226] Make

_NUM_CHOICES not an enum tag Fixes lp:1580972 --- src/tools/DBD/Menu.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tools/DBD/Menu.pm b/src/tools/DBD/Menu.pm index 65bae1526..9c93c6d50 100644 --- a/src/tools/DBD/Menu.pm +++ b/src/tools/DBD/Menu.pm @@ -62,10 +62,11 @@ sub toDeclaration { my @choices = map { sprintf " %-31s /* %s */", @{$_}[0], escapeCcomment(@{$_}[1]); } $this->choices; + my $num = scalar @choices; return "typedef enum {\n" . join(",\n", @choices) . - ",\n ${name}_NUM_CHOICES\n" . - "} $name;\n\n"; + "\n} $name;\n" . + "#define ${name}_NUM_CHOICES $num\n\n"; } sub toDefinition { From 82456f83ee8a05de85b945167e6bd1fddb7d06f9 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 12 May 2016 16:35:54 -0500 Subject: [PATCH 059/226] Fix Menu declaration test --- src/tools/test/Menu.plt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/tools/test/Menu.plt b/src/tools/test/Menu.plt index f8da94b97..1985fdf16 100644 --- a/src/tools/test/Menu.plt +++ b/src/tools/test/Menu.plt @@ -25,8 +25,9 @@ ok !$menu->legal_choice('Choice 3'), 'Third choice not legal'; is_deeply $menu->choice(2), undef, 'Third choice undefined'; like $menu->toDeclaration, qr/ ^ - \s* typedef \s+ enum \s+ { - \s+ ch1 \s+ \/\* [^*]* \*\/, - \s+ ch2 \s+ \/\* [^*]* \*\/, - \s+ test_NUM_CHOICES ,? - \s+ } \s+ test; \s* $ /x, 'C declaration'; + \s* typedef \s+ enum \s+ \{ \s* \n + \s* ch1 \s+ \/\* [^*]* \*\/, \s* \n + \s* ch2 \s+ \/\* [^*]* \*\/ \s* \n + \s* \} \s* test \s* ; \s* \n + \s* \# \s* define \s+ test_NUM_CHOICES \s+ 2 \s* \n + \s* $ /x, 'C declaration'; From 704c748fbd32b69debb12dbae2cb221f4e6dd9d2 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 13 May 2016 09:14:20 -0400 Subject: [PATCH 060/226] Revert "libCom/osi: osiSockDiscoverBroadcastAddresses() finds 127.255.255.255" This reverts commit e805abe971bb864f3f95c341babb6ec4fff1b464. --- src/libCom/osi/os/default/osdNetIntf.c | 44 +++++++++++++++----------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/libCom/osi/os/default/osdNetIntf.c b/src/libCom/osi/os/default/osdNetIntf.c index f36896bea..40ca5e4fd 100644 --- a/src/libCom/osi/os/default/osdNetIntf.c +++ b/src/libCom/osi/os/default/osdNetIntf.c @@ -73,6 +73,21 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses struct ifreq *pifreq; struct ifreq *pnextifreq; osiSockAddrNode *pNewNode; + + if ( pMatchAddr->sa.sa_family == AF_INET ) { + if ( pMatchAddr->ia.sin_addr.s_addr == htonl (INADDR_LOOPBACK) ) { + pNewNode = (osiSockAddrNode *) calloc (1, sizeof (*pNewNode) ); + if ( pNewNode == NULL ) { + errlogPrintf ( "osiSockDiscoverBroadcastAddresses(): no memory available for configuration\n" ); + return; + } + pNewNode->addr.ia.sin_family = AF_INET; + pNewNode->addr.ia.sin_port = htons ( 0 ); + pNewNode->addr.ia.sin_addr.s_addr = htonl (INADDR_LOOPBACK); + ellAdd ( pList, &pNewNode->node ); + return; + } + } /* * use pool so that we avoid using too much stack space @@ -100,7 +115,6 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses for ( pifreq = pIfreqList; pifreq <= pIfreqListEnd; pifreq = pnextifreq ) { uint32_t current_ifreqsize; - struct sockaddr_in if_addr; /* * find the next ifreq @@ -124,7 +138,6 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): interface \"%s\" was not AF_INET\n", pIfreqList->ifr_name) ); continue; } - if_addr = *(struct sockaddr_in *)&pIfreqList->ifr_addr; /* * if it isnt a wildcarded interface then look for @@ -135,7 +148,8 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses continue; } if ( pMatchAddr->ia.sin_addr.s_addr != htonl (INADDR_ANY) ) { - if ( if_addr.sin_addr.s_addr != pMatchAddr->ia.sin_addr.s_addr ) { + struct sockaddr_in *pInetAddr = (struct sockaddr_in *) &pIfreqList->ifr_addr; + if ( pInetAddr->sin_addr.s_addr != pMatchAddr->ia.sin_addr.s_addr ) { ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): net intf \"%s\" didnt match\n", pIfreqList->ifr_name) ); continue; } @@ -156,6 +170,14 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses continue; } + /* + * dont use the loop back interface + */ + if ( pIfreqList->ifr_flags & IFF_LOOPBACK ) { + ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): ignoring loopback interface: \"%s\"\n", pIfreqList->ifr_name) ); + continue; + } + pNewNode = (osiSockAddrNode *) calloc (1, sizeof (*pNewNode) ); if ( pNewNode == NULL ) { errlogPrintf ( "osiSockDiscoverBroadcastAddresses(): no memory available for configuration\n" ); @@ -193,22 +215,6 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses } pNewNode->addr.sa = pIfreqList->ifr_dstaddr; } -#endif -#if defined(__linux__) - /* On Linux, even though the 'lo' interface doesn't set IFF_BROADCAST - * a broadcast route often exists. Assume that sending to 127.255.255.255 - * reaches all local listeners. - * - * $ ip route show table local scope link dev lo - * broadcast 127.0.0.0 proto kernel src 127.0.0.1 - * broadcast 127.255.255.255 proto kernel src 127.0.0.1 - */ - else if ( pIfreqList->ifr_flags & IFF_LOOPBACK && if_addr.sin_addr.s_addr == htonl(INADDR_LOOPBACK) ) { - memset(&pNewNode->addr.ia, 0, sizeof(pNewNode->addr.ia)); - pNewNode->addr.ia.sin_family = AF_INET; - pNewNode->addr.ia.sin_addr.s_addr = htonl(0x7fffffff); - ifDepenDebugPrintf ( ( "assume loopback broadcast addr = %x\n", ntohl ( pNewNode->addr.ia.sin_addr.s_addr ) ) ); - } #endif else { ifDepenDebugPrintf ( ( "osiSockDiscoverBroadcastAddresses(): net intf \"%s\": not point to point or bcast?\n", pIfreqList->ifr_name ) ); From 0f6c997288057cde1fc11b12563bc03c5dbe317e Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 13 May 2016 09:31:26 -0400 Subject: [PATCH 061/226] osdNetIntf: ignore 0.0.0.0 as a broadcast address It seems in some situations Linux (at least) sets IFF_BROADCAST bug leaves the bcast address set to 0.0.0.0. Fixes lp:1581505 --- src/libCom/osi/os/default/osdNetIntf.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libCom/osi/os/default/osdNetIntf.c b/src/libCom/osi/os/default/osdNetIntf.c index 40ca5e4fd..d5726facf 100644 --- a/src/libCom/osi/os/default/osdNetIntf.c +++ b/src/libCom/osi/os/default/osdNetIntf.c @@ -196,14 +196,22 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses * interface. */ if ( pIfreqList->ifr_flags & IFF_BROADCAST ) { + osiSockAddr baddr; status = socket_ioctl (socket, SIOCGIFBRDADDR, pIfreqList); if ( status ) { errlogPrintf ("osiSockDiscoverBroadcastAddresses(): net intf \"%s\": bcast addr fetch fail\n", pIfreqList->ifr_name); free ( pNewNode ); continue; } - pNewNode->addr.sa = pIfreqList->ifr_broadaddr; - ifDepenDebugPrintf ( ( "found broadcast addr = %x\n", ntohl ( pNewNode->addr.ia.sin_addr.s_addr ) ) ); + baddr.sa = pIfreqList->ifr_broadaddr; + if (baddr.ia.sin_family==AF_INET && baddr.ia.sin_addr.s_addr != INADDR_ANY) { + pNewNode->addr.sa = pIfreqList->ifr_broadaddr; + ifDepenDebugPrintf ( ( "found broadcast addr = %x\n", ntohl ( baddr.ia.sin_addr.s_addr ) ) ); + } else { + ifDepenDebugPrintf ( ( "Ignoring broadcast addr = \n", ntohl ( baddr.ia.sin_addr.s_addr ) ) ); + free ( pNewNode ); + continue; + } } #if defined (IFF_POINTOPOINT) else if ( pIfreqList->ifr_flags & IFF_POINTOPOINT ) { From 6db0e13809470ea83a7f6d39c938dd2b66e4e9ff Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 13 May 2016 13:00:48 -0500 Subject: [PATCH 062/226] Added CROSS_COMPILER_RUNTEST_ARCHS --- configure/CONFIG_SITE | 7 +++++++ configure/RULES_BUILD | 4 ++-- documentation/RELEASE_NOTES.html | 12 ++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE index 3063a993f..84301a0f7 100644 --- a/configure/CONFIG_SITE +++ b/configure/CONFIG_SITE @@ -122,6 +122,13 @@ CROSS_COMPILER_TARGET_ARCHS= # CROSS_COMPILER_HOST_ARCHS= +# The 'make runtests' and 'make tapfiles' build targets normally only run +# self-tests for the EPICS_HOST_ARCH architecture. If the host can execute +# the self-test programs for any other cross-built architectures such as +# a -debug architecture, those architectures can be named here. +# +CROSS_COMPILER_RUNTEST_ARCHS= + # Build shared libraries? # must be either YES or NO # NOTE: os/CONFIG.$(EPICS_HOST_ARCH).$(EPICS_HOST_ARCH) files and diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index ad5e76f4f..7b7ac07dc 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -338,7 +338,7 @@ $(MODNAME): %$(MODEXT): %$(EXE) $(LINK.mod) runtests: $(TESTSCRIPTS) -ifeq ($(T_A),$(EPICS_HOST_ARCH)) +ifneq (,$(findstring $(T_A),$(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS))) -$(PERL) -MTest::Harness -e 'runtests @ARGV if @ARGV;' $^ endif @@ -353,7 +353,7 @@ tapfiles: $(TESTSCRIPTS) $(TAPFILES) # A .tap file is the output from running the associated test script %.tap: %.t -ifeq ($(T_A),$(EPICS_HOST_ARCH)) +ifneq (,$(findstring $(T_A),$(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS))) -$(PERL) $< -tap > $@ endif diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index f4370c22f..d6e89cc60 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,18 @@ +

New CONFIG_SITE variable for running self-tests

+ +

The 'make runtests' and 'make tapfiles' build targets normally only run the +self-tests for the main EPICS_HOST_ARCH architecture. If the host is +able to execute self-test programs for other target architectures that are being +built by the host, such as when building a -debug version of the host +architecture for example, the names of those other architectures can be added to +the new CROSS_COMPILER_RUNTEST_ARCHS variable in either the +configure/CONFIG_SITE file or in an appropriate +configure/os/CONFIG_SITE.<host>.Common file to have the test +programs for those targets be run as well.

+

Additional RELEASE file checks

An additional check has been added at build-time for the contents of the From b5a0657adca57556e1a6378a0ac555d76e8193d3 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 13 May 2016 13:30:55 -0500 Subject: [PATCH 063/226] Applied Till's fix for lp:1581212 --- documentation/RELEASE_NOTES.html | 14 ++++++++++++++ src/db/db_access.c | 9 ++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index d6e89cc60..efec011ba 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,20 @@ +

Making IOC ca_get operations atomic

+ +

When a CA client gets data from an IOC record using a compound data type such +as DBR_TIME_DOUBLE the value field is fetched from the database in a +separate call than the other metadata, without keeping the record locked. This +allows some other thread such as a periodic scan thread a chance to interrupt +the get operation and process the record in between. CA monitors have always +been atomic as long as the value data isn't a string or an array, but this race +condition in the CA get path has now been fixed so the record will stay locked +between the two fetch operations.

+ +

This fixes +Launchpad bug #1581212, thanks to Till Strauman and Dehong Zhang.

+

New CONFIG_SITE variable for running self-tests

The 'make runtests' and 'make tapfiles' build targets normally only run the diff --git a/src/db/db_access.c b/src/db/db_access.c index d9d0bc83f..07cce3fec 100644 --- a/src/db/db_access.c +++ b/src/db/db_access.c @@ -32,6 +32,7 @@ #include "dbCommon.h" #include "errMdef.h" #include "recSup.h" +#include "dbLock.h" #include "alarm.h" #define db_accessHFORdb_accessC #include "db_access.h" @@ -182,6 +183,8 @@ int epicsShareAPI db_get_field_and_count( * in the dbAccess.c dbGet() and getOptions() routines. */ + dbScanLock(paddr->precord); + switch(buffer_type) { case(oldDBR_STRING): status = dbGetField(paddr, DBR_STRING, pbuffer, &zero, nRequest, pfl); @@ -820,8 +823,12 @@ int epicsShareAPI db_get_field_and_count( } break; default: - return -1; + status = -1; + break; } + + dbScanUnlock(paddr->precord); + if (status) return -1; return 0; } From 6d35ee9c3c5921ba0094f207b334ea8188b73dc0 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 13 May 2016 13:40:37 -0500 Subject: [PATCH 064/226] Move dbLock.h *after* epicsExportSharedSymbols --- src/db/db_access.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/db/db_access.c b/src/db/db_access.c index 07cce3fec..f60696453 100644 --- a/src/db/db_access.c +++ b/src/db/db_access.c @@ -32,15 +32,16 @@ #include "dbCommon.h" #include "errMdef.h" #include "recSup.h" -#include "dbLock.h" #include "alarm.h" #define db_accessHFORdb_accessC #include "db_access.h" #undef db_accessHFORdb_accessC + #define epicsExportSharedSymbols #include "dbNotify.h" #include "dbAccessDefs.h" #include "dbEvent.h" +#include "dbLock.h" #include "db_access_routines.h" #ifndef NULL From 998c3c1648629aba6debfc3c5178eac083aac7e2 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 16 May 2016 14:55:58 -0500 Subject: [PATCH 065/226] Clean up warnings from gcc 5.2 --- src/libCom/misc/epicsStdlib.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libCom/misc/epicsStdlib.h b/src/libCom/misc/epicsStdlib.h index 2d143cb39..20b7cd26f 100644 --- a/src/libCom/misc/epicsStdlib.h +++ b/src/libCom/misc/epicsStdlib.h @@ -70,12 +70,12 @@ epicsShareFunc int /* These macros return 1 if successful, 0 on failure. * This is analagous to the return value from sscanf() */ -#define epicsScanLong(str, to, base) !epicsParseLong(str, to, base, NULL) -#define epicsScanULong(str, to, base) !epicsParseULong(str, to, base, NULL) -#define epicsScanLLong(str, to, base) !epicsParseLLong(str, to, base, NULL) -#define epicsScanULLong(str, to, base) !epicsParseULLong(str, to, base, NULL) -#define epicsScanFloat(str, to) !epicsParseFloat(str, to, NULL) -#define epicsScanDouble(str, to) !epicsParseDouble(str, to, NULL) +#define epicsScanLong(str, to, base) (!epicsParseLong(str, to, base, NULL)) +#define epicsScanULong(str, to, base) (!epicsParseULong(str, to, base, NULL)) +#define epicsScanLLong(str, to, base) (!epicsParseLLong(str, to, base, NULL)) +#define epicsScanULLong(str, to, base) (!epicsParseULLong(str, to, base, NULL)) +#define epicsScanFloat(str, to) (!epicsParseFloat(str, to, NULL)) +#define epicsScanDouble(str, to) (!epicsParseDouble(str, to, NULL)) #ifdef __cplusplus } From 3c61880d791d775ebe57aa9d9cd91728a33f2d2b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 16 May 2016 16:55:50 -0500 Subject: [PATCH 066/226] Allow some callback slow-ups before failing tests The tests occasionally fail on Windows because the server is busy; this will accept up to 4 slow callbacks without them causing the build to fail. --- src/ioc/db/test/callbackParallelTest.c | 29 +++++++++++++++++++------- src/ioc/db/test/callbackTest.c | 29 +++++++++++++++++++------- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/src/ioc/db/test/callbackParallelTest.c b/src/ioc/db/test/callbackParallelTest.c index 6dda789e3..241dfa960 100644 --- a/src/ioc/db/test/callbackParallelTest.c +++ b/src/ioc/db/test/callbackParallelTest.c @@ -99,7 +99,7 @@ MAIN(callbackParallelTest) myPvt *pcbt[NCALLBACKS]; epicsTimeStamp start; int noCpus = epicsThreadGetCPUs(); - int i, j; + int i, j, slowups, faults; /* Statistics: min/max/sum/sum^2/n for each priority */ double setupError[NUM_CALLBACK_PRIORITIES][5]; double timeError[NUM_CALLBACK_PRIORITIES][5]; @@ -109,7 +109,7 @@ MAIN(callbackParallelTest) for (j = 0; j < 5; j++) setupError[i][j] = timeError[i][j] = defaultError[j]; - testPlan(NCALLBACKS * 2 + 1); + testPlan(4); testDiag("Starting %d parallel callback threads", noCpus); @@ -138,7 +138,7 @@ MAIN(callbackParallelTest) pcbt[NCALLBACKS-1]->delay = TEST_DELAY(NCALLBACKS) + 1.0; pcbt[NCALLBACKS-1]->pass = 0; - testOk1(epicsTimeGetCurrent(&start)==epicsTimeOK); + testOk(epicsTimeGetCurrent(&start)==epicsTimeOK, "Time-of-day clock Ok"); for (i = 0; i < NCALLBACKS ; i++) { callbackRequest(&pcbt[i]->cb1); @@ -147,28 +147,43 @@ MAIN(callbackParallelTest) testDiag("Waiting %.02f sec", pcbt[NCALLBACKS-1]->delay); epicsEventWait(finished); - + slowups = 0; + faults = 0; + for (i = 0; i < NCALLBACKS ; i++) { if(pcbt[i]->resultFail || pcbt[i]->pass!=2) - testFail("pass = %d for delay = %f", pcbt[i]->pass, pcbt[i]->delay); + testDiag("callback setup fault #%d: pass = %d for delay = %.02f", + ++faults, pcbt[i]->pass, pcbt[i]->delay); else { double delta = epicsTimeDiffInSeconds(&pcbt[i]->pass1Time, &start); - testOk(fabs(delta) < 0.05, "callback %.02f setup time |%f| < 0.05", + + if (fabs(delta) >= 0.05) { + slowups++; + testDiag("callback %.02f setup time |%f| >= 0.05 seconds", pcbt[i]->delay, delta); + } updateStats(setupError[i%NUM_CALLBACK_PRIORITIES], delta); } } + testOk(faults == 0, "%d faults during callback setup", faults); + testOk(slowups <= 1, "%d slowups during callback setup", slowups); + slowups = 0; for (i = 0; i < NCALLBACKS ; i++) { double delta, error; + if(pcbt[i]->resultFail || pcbt[i]->pass!=2) continue; delta = epicsTimeDiffInSeconds(&pcbt[i]->pass2Time, &pcbt[i]->pass1Time); error = delta - pcbt[i]->delay; - testOk(fabs(error) < 0.05, "delay %.02f seconds, callback time error |%.04f| < 0.05", + if (fabs(error) >= 0.05) { + slowups++; + testDiag("delay %.02f seconds, delay error |%.04f| >= 0.05", pcbt[i]->delay, error); + } updateStats(timeError[i%NUM_CALLBACK_PRIORITIES], error); } + testOk(slowups < 5, "%d slowups during callbacks", slowups); testDiag("Setup time statistics"); printStats(setupError[0], "LOW"); diff --git a/src/ioc/db/test/callbackTest.c b/src/ioc/db/test/callbackTest.c index d733f99d7..ecf8b642f 100644 --- a/src/ioc/db/test/callbackTest.c +++ b/src/ioc/db/test/callbackTest.c @@ -99,7 +99,7 @@ MAIN(callbackTest) { myPvt *pcbt[NCALLBACKS]; epicsTimeStamp start; - int i, j; + int i, j, slowups, faults; /* Statistics: min/max/sum/sum^2/n for each priority */ double setupError[NUM_CALLBACK_PRIORITIES][5]; double timeError[NUM_CALLBACK_PRIORITIES][5]; @@ -109,7 +109,7 @@ MAIN(callbackTest) for (j = 0; j < 5; j++) setupError[i][j] = timeError[i][j] = defaultError[j]; - testPlan(NCALLBACKS * 2 + 1); + testPlan(4); callbackInit(); epicsThreadSleep(1.0); @@ -135,7 +135,7 @@ MAIN(callbackTest) pcbt[NCALLBACKS-1]->delay = TEST_DELAY(NCALLBACKS) + 1.0; pcbt[NCALLBACKS-1]->pass = 0; - testOk1(epicsTimeGetCurrent(&start)==epicsTimeOK); + testOk(epicsTimeGetCurrent(&start)==epicsTimeOK, "Time-of-day clock Ok"); for (i = 0; i < NCALLBACKS ; i++) { callbackRequest(&pcbt[i]->cb1); @@ -144,28 +144,43 @@ MAIN(callbackTest) testDiag("Waiting %.02f sec", pcbt[NCALLBACKS-1]->delay); epicsEventWait(finished); - + slowups = 0; + faults = 0; + for (i = 0; i < NCALLBACKS ; i++) { if(pcbt[i]->resultFail || pcbt[i]->pass!=2) - testFail("pass = %d for delay = %f", pcbt[i]->pass, pcbt[i]->delay); + testDiag("callback setup fault #%d: pass = %d for delay = %.02f", + ++faults, pcbt[i]->pass, pcbt[i]->delay); else { double delta = epicsTimeDiffInSeconds(&pcbt[i]->pass1Time, &start); - testOk(fabs(delta) < 0.05, "callback %.02f setup time |%f| < 0.05", + + if (fabs(delta) >= 0.05) { + slowups++; + testDiag("callback %.02f setup time |%f| >= 0.05 seconds", pcbt[i]->delay, delta); + } updateStats(setupError[i%NUM_CALLBACK_PRIORITIES], delta); } } + testOk(faults == 0, "%d faults during callback setup", faults); + testOk(slowups <= 1, "%d slowups during callback setup", slowups); + slowups = 0; for (i = 0; i < NCALLBACKS ; i++) { double delta, error; + if(pcbt[i]->resultFail || pcbt[i]->pass!=2) continue; delta = epicsTimeDiffInSeconds(&pcbt[i]->pass2Time, &pcbt[i]->pass1Time); error = delta - pcbt[i]->delay; - testOk(fabs(error) < 0.05, "delay %.02f seconds, callback time error |%.04f| < 0.05", + if (fabs(error) >= 0.05) { + slowups++; + testDiag("delay %.02f seconds, delay error |%.04f| >= 0.05", pcbt[i]->delay, error); + } updateStats(timeError[i%NUM_CALLBACK_PRIORITIES], error); } + testOk(slowups < 5, "%d slowups during callbacks", slowups); testDiag("Setup time statistics"); printStats(setupError[0], "LOW"); From 04a9fdb4e3227ea57538acb4c80fd996044cf674 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 16 May 2016 17:02:34 -0500 Subject: [PATCH 067/226] Clean up warnings from gcc 5.2 --- src/libCom/misc/epicsStdlib.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libCom/misc/epicsStdlib.h b/src/libCom/misc/epicsStdlib.h index 2d143cb39..20b7cd26f 100644 --- a/src/libCom/misc/epicsStdlib.h +++ b/src/libCom/misc/epicsStdlib.h @@ -70,12 +70,12 @@ epicsShareFunc int /* These macros return 1 if successful, 0 on failure. * This is analagous to the return value from sscanf() */ -#define epicsScanLong(str, to, base) !epicsParseLong(str, to, base, NULL) -#define epicsScanULong(str, to, base) !epicsParseULong(str, to, base, NULL) -#define epicsScanLLong(str, to, base) !epicsParseLLong(str, to, base, NULL) -#define epicsScanULLong(str, to, base) !epicsParseULLong(str, to, base, NULL) -#define epicsScanFloat(str, to) !epicsParseFloat(str, to, NULL) -#define epicsScanDouble(str, to) !epicsParseDouble(str, to, NULL) +#define epicsScanLong(str, to, base) (!epicsParseLong(str, to, base, NULL)) +#define epicsScanULong(str, to, base) (!epicsParseULong(str, to, base, NULL)) +#define epicsScanLLong(str, to, base) (!epicsParseLLong(str, to, base, NULL)) +#define epicsScanULLong(str, to, base) (!epicsParseULLong(str, to, base, NULL)) +#define epicsScanFloat(str, to) (!epicsParseFloat(str, to, NULL)) +#define epicsScanDouble(str, to) (!epicsParseDouble(str, to, NULL)) #ifdef __cplusplus } From 3b8fd13152099617dea67432fa9e14c8c21e5810 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 17 May 2016 16:03:27 -0500 Subject: [PATCH 068/226] libCom: NTP Time Provider adjusts to OS tick rate changes Allow the NTP Time provider (used on VxWorks and RTEMS only) to adapt to changes in the OS clock tick rate after the provider has been initialized. Changing the tick rate after iocInit() is not advisable, other software might still misbehave if initialized before an OS tick rate change. Back-ported from the 3.15 branch (commit 12468). --- documentation/RELEASE_NOTES.html | 8 ++++++++ src/libCom/osi/osiNTPTime.c | 21 ++++++++++----------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index efec011ba..7c6692898 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,14 @@ +

NTP Time Provider adjusts to OS tick rate changes

+ +

Dirk Zimoch provided code that allows the NTP Time provider (used on VxWorks +and RTEMS only) to adapt to changes in the OS clock tick rate after the provider +has been initialized. Note that changing the tick rate after iocInit() is not +advisable, and that other software might still misbehave if initialized before +an OS tick rate change. This change was back-ported from the 3.15 branch.

+

Making IOC ca_get operations atomic

When a CA client gets data from an IOC record using a compound data type such diff --git a/src/libCom/osi/osiNTPTime.c b/src/libCom/osi/osiNTPTime.c index d085cca31..909e6f121 100644 --- a/src/libCom/osi/osiNTPTime.c +++ b/src/libCom/osi/osiNTPTime.c @@ -47,8 +47,6 @@ static struct { epicsUInt32 syncTick; epicsTimeStamp clockTime; epicsUInt32 clockTick; - epicsUInt32 nsecsPerTick; - epicsUInt32 ticksPerSecond; epicsUInt32 ticksToSkip; double tickRate; } NTPTimePvt; @@ -90,8 +88,6 @@ static void NTPTime_InitOnce(void *pprio) NTPTimePvt.loopEvent = epicsEventMustCreate(epicsEventEmpty); NTPTimePvt.syncsFailed = 0; NTPTimePvt.lock = epicsMutexCreate(); - NTPTimePvt.ticksPerSecond = osdTickRateGet(); - NTPTimePvt.nsecsPerTick = NSEC_PER_SEC / NTPTimePvt.ticksPerSecond; /* Initialize OS-dependent code */ osdNTPInit(); @@ -100,7 +96,7 @@ static void NTPTime_InitOnce(void *pprio) if (!osdNTPGet(×pecNow)) { NTPTimePvt.syncTick = osdTickGet(); if (timespecNow.tv_sec > POSIX_TIME_AT_EPICS_EPOCH && epicsTimeOK == - epicsTimeFromTimespec(&NTPTimePvt.syncTime, ×pecNow)) { + epicsTimeFromTimespec(&NTPTimePvt.syncTime, ×pecNow)) { NTPTimePvt.clockTick = NTPTimePvt.syncTick; NTPTimePvt.clockTime = NTPTimePvt.syncTime; NTPTimePvt.synchronized = 1; @@ -191,7 +187,7 @@ static void NTPTimeSync(void *dummy) if (diff >= 0.0) { NTPTimePvt.ticksToSkip = 0; } else { /* dont go back in time */ - NTPTimePvt.ticksToSkip = -diff * NTPTimePvt.ticksPerSecond; + NTPTimePvt.ticksToSkip = -diff * osdTickRateGet(); } NTPTimePvt.clockTick = tickNow; NTPTimePvt.clockTime = timeNow; @@ -230,10 +226,12 @@ static int NTPTimeGetCurrent(epicsTimeStamp *pDest) } if (ticksSince) { - epicsUInt32 secsSince = ticksSince / NTPTimePvt.ticksPerSecond; - ticksSince -= secsSince * NTPTimePvt.ticksPerSecond; + epicsUInt32 ticksPerSecond = osdTickRateGet(); + epicsUInt32 nsecsPerTick = NSEC_PER_SEC / ticksPerSecond; + epicsUInt32 secsSince = ticksSince / ticksPerSecond; - NTPTimePvt.clockTime.nsec += ticksSince * NTPTimePvt.nsecsPerTick; + ticksSince -= secsSince * ticksPerSecond; + NTPTimePvt.clockTime.nsec += ticksSince * nsecsPerTick; if (NTPTimePvt.clockTime.nsec >= NSEC_PER_SEC) { secsSince++; NTPTimePvt.clockTime.nsec -= NSEC_PER_SEC; @@ -265,14 +263,15 @@ int NTPTime_Report(int level) } if (level) { char lastSync[32]; + epicsTimeToStrftime(lastSync, sizeof(lastSync), "%Y-%m-%d %H:%M:%S.%06f", &NTPTimePvt.syncTime); printf("Syncronization interval = %.1f seconds\n", NTPTimeSyncInterval); printf("Last synchronized at %s\n", lastSync); - printf("OS tick rate = %u Hz (nominal)\n", - NTPTimePvt.ticksPerSecond); + printf("Current OS tick rate = %u Hz\n", + osdTickRateGet()); printf("Measured tick rate = %.3f Hz\n", NTPTimePvt.tickRate); osdNTPReport(); From 122fb6c731643dd79e3dcb13e41054d58231fcea Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 17 May 2016 19:09:48 -0500 Subject: [PATCH 069/226] New "getenv" device support for string input types --- documentation/RELEASE_NOTES.html | 6 ++ src/std/dev/Makefile | 1 + src/std/dev/devEnviron.c | 128 +++++++++++++++++++++++++++++++ src/std/dev/devSoft.dbd | 3 + src/std/softIoc/softIocExit.db | 18 +++-- 5 files changed, 151 insertions(+), 5 deletions(-) create mode 100644 src/std/dev/devEnviron.c diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index d8ea79fe1..b373881f2 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -15,6 +15,12 @@

Changes made on the 3.15 branch since 3.15.3

+

New string input device support "getenv"

+ +

A new "getenv" device support for both the stringin and lsi (long string +input) record types can be used to read the value of an environment variable +from the IOC at runtime. See base/db/softIocExit.db for sample usage.

+

Build rules and DELAY_INSTALL_LIBS

A new order-only prerequisite build rule has been added to ensure that diff --git a/src/std/dev/Makefile b/src/std/dev/Makefile index 6bdbbd997..8e4e242f9 100644 --- a/src/std/dev/Makefile +++ b/src/std/dev/Makefile @@ -66,6 +66,7 @@ dbRecStd_SRCS += devSoSoftCallback.c dbRecStd_SRCS += devTimestamp.c dbRecStd_SRCS += devStdio.c +dbRecStd_SRCS += devEnviron.c dbRecStd_SRCS += asSubRecordFunctions.c diff --git a/src/std/dev/devEnviron.c b/src/std/dev/devEnviron.c new file mode 100644 index 000000000..9672d6ce5 --- /dev/null +++ b/src/std/dev/devEnviron.c @@ -0,0 +1,128 @@ +/*************************************************************************\ +* Copyright (c) 2016 UChicago Argonne LLC, as Operator of Argonne +* National Laboratory. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ + +/* devEnviron.c */ + +#include +#include + +#include "alarm.h" +#include "dbCommon.h" +#include "devSup.h" +#include "errlog.h" +#include "recGbl.h" +#include "recSup.h" + +#include "lsiRecord.h" +#include "stringinRecord.h" +#include "epicsExport.h" + +/* lsi device support */ + +static long add_lsi(dbCommon *pcommon) { + lsiRecord *prec = (lsiRecord *) pcommon; + + if (prec->inp.type != INST_IO) + return S_dev_badInpType; + + return 0; +} + +static long del_lsi(dbCommon *pcommon) { + return 0; +} + +static struct dsxt dsxtLsiEnviron = { + add_lsi, del_lsi +}; + +static long init_lsi(int pass) +{ + if (pass == 0) + devExtend(&dsxtLsiEnviron); + + return 0; +} + +static long read_lsi(lsiRecord *prec) +{ + const char *val = getenv(prec->inp.value.instio.string); + + if (val) { + strncpy(prec->val, val, prec->sizv); + prec->val[prec->sizv - 1] = 0; + prec->len = strlen(prec->val); + prec->udf = FALSE; + } + else { + prec->val[0] = 0; + prec->len = 1; + prec->udf = TRUE; + recGblSetSevr(prec, UDF_ALARM, prec->udfs); + } + + return 0; +} + +lsidset devLsiEnviron = { + 5, NULL, init_lsi, NULL, NULL, read_lsi +}; +epicsExportAddress(dset, devLsiEnviron); + + +/* stringin device support */ + +static long add_stringin(dbCommon *pcommon) { + stringinRecord *prec = (stringinRecord *) pcommon; + + if (prec->inp.type != INST_IO) + return S_dev_badInpType; + + return 0; +} + +static long del_stringin(dbCommon *pcommon) { + return 0; +} + +static struct dsxt dsxtSiEnviron = { + add_stringin, del_stringin +}; + +static long init_stringin(int pass) +{ + if (pass == 0) + devExtend(&dsxtSiEnviron); + + return 0; +} + +static long read_stringin(stringinRecord *prec) +{ + const char *val = getenv(prec->inp.value.instio.string); + + if (val) { + strncpy(prec->val, val, MAX_STRING_SIZE); + prec->val[MAX_STRING_SIZE - 1] = 0; + prec->udf = FALSE; + } + else { + prec->val[0] = 0; + prec->udf = TRUE; + recGblSetSevr(prec, UDF_ALARM, prec->udfs); + } + + return 0; +} + +static struct { + dset common; + DEVSUPFUN read; +} devSiEnviron = { + {5, NULL, init_stringin, NULL, NULL}, read_stringin +}; +epicsExportAddress(dset, devSiEnviron); diff --git a/src/std/dev/devSoft.dbd b/src/std/dev/devSoft.dbd index d6cb14de9..4a6665612 100644 --- a/src/std/dev/devSoft.dbd +++ b/src/std/dev/devSoft.dbd @@ -58,5 +58,8 @@ device(lso,INST_IO,devLsoStdio,"stdio") device(printf,INST_IO,devPrintfStdio,"stdio") device(stringout,INST_IO,devSoStdio,"stdio") +device(lsi,INST_IO,devLsiEnviron,"getenv") +device(stringin,INST_IO,devSiEnviron,"getenv") + device(bi, INST_IO, devBiDbState, "Db State") device(bo, INST_IO, devBoDbState, "Db State") diff --git a/src/std/softIoc/softIocExit.db b/src/std/softIoc/softIocExit.db index b5c027d70..c530f778a 100644 --- a/src/std/softIoc/softIocExit.db +++ b/src/std/softIoc/softIocExit.db @@ -1,7 +1,15 @@ -# $Revision-Id$ -# +# softIocExit.db + record(sub,"$(IOC):exit") { - field(DESC,"Exit subroutine") - field(SCAN,"Passive") - field(SNAM,"exit") + field(DESC,"Exit subroutine") + field(SCAN,"Passive") + field(SNAM,"exit") +} + +record(stringin,"$(IOC):BaseVersion") { + field(DESC,"EPICS Base Version") + field(DTYP,"getenv") + field(INP,"@EPICS_VERSION_FULL") + field(PINI,"YES") + field(DISP,1) } From 6c9555310ab644f2a2c38fa0bc486a83fdde452d Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 18 May 2016 10:26:04 -0500 Subject: [PATCH 070/226] Update EPICS_TIMEZONE with info for 2016-2021 --- configure/CONFIG_SITE_ENV | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/configure/CONFIG_SITE_ENV b/configure/CONFIG_SITE_ENV index 75bf1a2f8..41ebb09db 100644 --- a/configure/CONFIG_SITE_ENV +++ b/configure/CONFIG_SITE_ENV @@ -30,21 +30,23 @@ # local timezone info for vxWorks and RTEMS IOCs. The format is # :::: # where the start and end are mmddhh - that is month,day,hour -# e.g. for ANL in 2010: EPICS_TIMEZONE=CUS::360:031402:110702 +# e.g. for ANL in 2016: EPICS_TIMEZONE=CUS::360:031302:110602 # -# DST for 2011 US: Mar 13 - Nov 06 +# DST for 2016 US: Mar 13 - Nov 06 # EU: Mar 27 - Oct 30 -# DST for 2012 US: Mar 11 - Nov 04 +# DST for 2017 US: Mar 12 - Nov 05 +# EU: Mar 26 - Oct 29 +# DST for 2018 US: Mar 11 - Nov 04 # EU: Mar 25 - Oct 28 -# DST for 2013 US: Mar 10 - Nov 03 +# DST for 2019 US: Mar 10 - Nov 03 # EU: Mar 31 - Oct 27 -# DST for 2014 US: Mar 09 - Nov 02 -# EU: Mar 30 - Oct 26 -# DST for 2015 US: Mar 08 - Nov 01 +# DST for 2020 US: Mar 08 - Nov 01 # EU: Mar 29 - Oct 25 -# (see: http://www.worldtimezone.org/daylight.html) +# DST for 2021 US: Mar 14 - Nov 07 +# EU: Mar 28 - Oct 31 +# (see: http://www.timeanddate.com/time/dst/2016.html etc. ) # -# These values are for 2011: +# These values are for 2016: EPICS_TIMEZONE=CUS::360:031302:110602 #EPICS_TIMEZONE=MET::-60:032702:103002 From fe887b4f8390138ccfa20f6476f1478490782c81 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 20 May 2016 16:37:06 +0200 Subject: [PATCH 071/226] Update CONFIG_BASE_VERSION for 3.15.4-rc1 --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index dcba922c0..630cbdbd9 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -38,10 +38,10 @@ EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases #EPICS_DEV_SNAPSHOT=-DEV #EPICS_DEV_SNAPSHOT=-pre1 -EPICS_DEV_SNAPSHOT=-pre1-DEV +#EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV -#EPICS_DEV_SNAPSHOT=-rc1 +EPICS_DEV_SNAPSHOT=-rc1 #EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV From 0a5f7f03cb47717afc7b955d2c68ebf1409bb39e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 21 May 2016 04:01:24 +0200 Subject: [PATCH 072/226] config directory --- config/CONFIG | 1 - config/CONFIG.Host.cygwin-x86 | 1 - config/CONFIG.Host.darwin-ppc | 1 - config/CONFIG.Host.darwin-ppcx86 | 1 - config/CONFIG.Host.darwin-x86 | 1 - config/CONFIG.Host.freebsd | 1 - config/CONFIG.Host.freebsd-x86 | 1 - config/CONFIG.Host.freebsd-x86_64 | 1 - config/CONFIG.Host.hpux-parisc | 1 - config/CONFIG.Host.linux-ppc | 1 - config/CONFIG.Host.linux-x86 | 1 - config/CONFIG.Host.linux-x86-debug | 1 - config/CONFIG.Host.linux-x86_64 | 1 - config/CONFIG.Host.linux-x86_64-debug | 1 - config/CONFIG.Host.solaris-sparc | 1 - config/CONFIG.Host.solaris-sparc-debug | 1 - config/CONFIG.Host.solaris-sparc-gnu | 1 - config/CONFIG.Host.solaris-sparc-staticlib | 1 - config/CONFIG.Host.solaris-sparc64 | 1 - config/CONFIG.Host.solaris-sparc64-gnu | 1 - config/CONFIG.Host.sun4-sparc | 1 - config/CONFIG.Host.win32-x86 | 1 - config/CONFIG.Host.win32-x86-borland | 1 - config/CONFIG.Host.win32-x86-cygwin | 1 - config/CONFIG.Host.win32-x86-debug | 1 - config/CONFIG.Host.win32-x86-mingw | 1 - config/CONFIG.Vx | 1 - config/CONFIG.Vx.frc40 | 1 - config/CONFIG.Vx.hkbaja47 | 1 - config/CONFIG.Vx.hkbaja60 | 1 - config/CONFIG.Vx.hkv2f | 1 - config/CONFIG.Vx.mv147 | 1 - config/CONFIG.Vx.mv1604 | 1 - config/CONFIG.Vx.mv162 | 1 - config/CONFIG.Vx.mv162lc | 1 - config/CONFIG.Vx.mv167 | 1 - config/CONFIG.Vx.mv177 | 1 - config/CONFIG.Vx.mv2700 | 1 - config/CONFIG.Vx.ppc603 | 1 - config/CONFIG.Vx.ppc603_long | 1 - config/CONFIG.Vx.ppc604 | 1 - config/CONFIG.Vx.ppc604_long | 1 - config/CONFIG.Vx.vxWorks-486 | 1 - config/CONFIG.Vx.vxWorks-68040 | 1 - config/CONFIG.Vx.vxWorks-68040lc | 1 - config/CONFIG.Vx.vxWorks-68060 | 1 - config/CONFIG.Vx.vxWorks-ppc603 | 1 - config/CONFIG.Vx.vxWorks-ppc603_long | 1 - config/CONFIG.Vx.vxWorks-ppc604 | 1 - config/CONFIG.Vx.vxWorks-ppc604_long | 1 - config/CONFIG_BASE | 1 - config/CONFIG_BASE_VERSION | 1 - config/CONFIG_COMMON | 1 - config/CONFIG_COMPAT | 1 - config/CONFIG_ENV | 1 - config/CONFIG_HOST_ARCH.darwin-ppc | 1 - config/CONFIG_HOST_ARCH.darwin-ppcx86 | 1 - config/CONFIG_HOST_ARCH.darwin-x86 | 1 - config/CONFIG_HOST_ARCH.freebsd-x86_64 | 1 - config/CONFIG_HOST_ARCH.hpux-parisc | 1 - config/CONFIG_HOST_ARCH.hpux-parisc-gnu | 1 - config/CONFIG_HOST_ARCH.linux-ppc | 1 - config/CONFIG_HOST_ARCH.linux-x86 | 1 - config/CONFIG_HOST_ARCH.linux-x86-debug | 1 - config/CONFIG_HOST_ARCH.linux-x86_64 | 1 - config/CONFIG_HOST_ARCH.linux-x86_64-debug | 1 - config/CONFIG_HOST_ARCH.solaris-sparc | 1 - config/CONFIG_HOST_ARCH.solaris-sparc-debug | 1 - config/CONFIG_HOST_ARCH.solaris-sparc-gnu | 1 - config/CONFIG_HOST_ARCH.solaris-sparc-staticlib | 1 - config/CONFIG_HOST_ARCH.solaris-sparc64 | 1 - config/CONFIG_HOST_ARCH.solaris-sparc64-gnu | 1 - config/CONFIG_HOST_ARCH.solaris-x86-gnu | 1 - config/CONFIG_HOST_ARCH.sun4-sparc | 1 - config/CONFIG_HOST_ARCH.win32-x86 | 1 - config/CONFIG_HOST_ARCH.win32-x86-borland | 1 - config/CONFIG_HOST_ARCH.win32-x86-cygwin | 1 - config/CONFIG_HOST_ARCH.win32-x86-debug | 1 - config/CONFIG_HOST_ARCH.win32-x86-mingw | 1 - config/CONFIG_SITE | 1 - config/CONFIG_SITE.Host.Borland | 1 - config/CONFIG_SITE.Host.WIN32 | 1 - config/CONFIG_SITE.Host.darwin-ppc | 1 - config/CONFIG_SITE.Host.darwin-x86 | 1 - config/CONFIG_SITE.Host.hp700 | 1 - config/CONFIG_SITE.Host.hpux-parisc | 1 - config/CONFIG_SITE.Host.hpux-parisc-gnu | 1 - config/CONFIG_SITE.Host.linux-x86 | 1 - config/CONFIG_SITE.Host.solaris | 1 - config/CONFIG_SITE.Host.solaris-sparc | 1 - config/CONFIG_SITE.Host.solaris-sparc-debug | 1 - config/CONFIG_SITE.Host.solaris-sparc-gnu | 1 - config/CONFIG_SITE.Host.solaris-sparc-staticlib | 1 - config/CONFIG_SITE.Host.solaris-sparc64 | 1 - config/CONFIG_SITE.Host.win32-x86 | 1 - config/CONFIG_SITE.Host.win32-x86-borland | 1 - config/CONFIG_SITE.Vx.Linux | 1 - config/CONFIG_SITE.Vx.Linux.mv167 | 1 - config/CONFIG_SITE.Vx.Linux.ppc603 | 1 - config/CONFIG_SITE.Vx.linux-x86 | 1 - config/CONFIG_SITE_ENV | 1 - config/Makefile | 1 - config/RULES.Db | 1 - config/RULES.Host | 1 - config/RULES.Unix | 1 - config/RULES.Vx | 1 - config/RULES_ARCHS | 1 - config/RULES_DIRS | 1 - config/RULES_TOP | 1 - config/tools/munch.pl | 1 - 110 files changed, 110 deletions(-) diff --git a/config/CONFIG b/config/CONFIG index 0139f6b34..2cf2269f1 100644 --- a/config/CONFIG +++ b/config/CONFIG @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # # The developer may edit this file. # assume T_A is the host arch if not specified diff --git a/config/CONFIG.Host.cygwin-x86 b/config/CONFIG.Host.cygwin-x86 index 6182d7b04..8e94b2401 100644 --- a/config/CONFIG.Host.cygwin-x86 +++ b/config/CONFIG.Host.cygwin-x86 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # cygwin-x86 is the new name for cygwin32 -include $(EPICS_BASE)/config/CONFIG.Host.cygwin32 diff --git a/config/CONFIG.Host.darwin-ppc b/config/CONFIG.Host.darwin-ppc index c1bc50bd7..644eb6626 100644 --- a/config/CONFIG.Host.darwin-ppc +++ b/config/CONFIG.Host.darwin-ppc @@ -7,6 +7,5 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.Darwin diff --git a/config/CONFIG.Host.darwin-ppcx86 b/config/CONFIG.Host.darwin-ppcx86 index 4ffe1d5d5..eb830f8cb 100644 --- a/config/CONFIG.Host.darwin-ppcx86 +++ b/config/CONFIG.Host.darwin-ppcx86 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.Darwin OP_SYS_CFLAGS += "-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" diff --git a/config/CONFIG.Host.darwin-x86 b/config/CONFIG.Host.darwin-x86 index c1bc50bd7..644eb6626 100644 --- a/config/CONFIG.Host.darwin-x86 +++ b/config/CONFIG.Host.darwin-x86 @@ -7,6 +7,5 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.Darwin diff --git a/config/CONFIG.Host.freebsd b/config/CONFIG.Host.freebsd index 322516cc1..592554f31 100644 --- a/config/CONFIG.Host.freebsd +++ b/config/CONFIG.Host.freebsd @@ -6,7 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. # Sites may override these definitions in CONFIG_SITE.Host.freebsd diff --git a/config/CONFIG.Host.freebsd-x86 b/config/CONFIG.Host.freebsd-x86 index 0b7cd4575..2ab2359da 100644 --- a/config/CONFIG.Host.freebsd-x86 +++ b/config/CONFIG.Host.freebsd-x86 @@ -6,7 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ ARCH_CLASS = x86 diff --git a/config/CONFIG.Host.freebsd-x86_64 b/config/CONFIG.Host.freebsd-x86_64 index fb8242dd8..e81369455 100644 --- a/config/CONFIG.Host.freebsd-x86_64 +++ b/config/CONFIG.Host.freebsd-x86_64 @@ -6,7 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ ARCH_CLASS = x86_64 diff --git a/config/CONFIG.Host.hpux-parisc b/config/CONFIG.Host.hpux-parisc index 1ceca9ecd..e9b5ac8cb 100644 --- a/config/CONFIG.Host.hpux-parisc +++ b/config/CONFIG.Host.hpux-parisc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # hpux-parisc is the new name for hp700 -include $(EPICS_BASE)/config/CONFIG.Host.hp700 diff --git a/config/CONFIG.Host.linux-ppc b/config/CONFIG.Host.linux-ppc index 3a032829b..b89684e94 100644 --- a/config/CONFIG.Host.linux-ppc +++ b/config/CONFIG.Host.linux-ppc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.Linux diff --git a/config/CONFIG.Host.linux-x86 b/config/CONFIG.Host.linux-x86 index bb0602a27..24a385723 100644 --- a/config/CONFIG.Host.linux-x86 +++ b/config/CONFIG.Host.linux-x86 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # linux-x86 is the new name for linux -include $(EPICS_BASE)/config/CONFIG.Host.Linux diff --git a/config/CONFIG.Host.linux-x86-debug b/config/CONFIG.Host.linux-x86-debug index 24b6132d7..35acbd84e 100644 --- a/config/CONFIG.Host.linux-x86-debug +++ b/config/CONFIG.Host.linux-x86-debug @@ -7,6 +7,5 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.Linux diff --git a/config/CONFIG.Host.linux-x86_64 b/config/CONFIG.Host.linux-x86_64 index c1611bd5c..b5afd7ebc 100644 --- a/config/CONFIG.Host.linux-x86_64 +++ b/config/CONFIG.Host.linux-x86_64 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.Linux diff --git a/config/CONFIG.Host.linux-x86_64-debug b/config/CONFIG.Host.linux-x86_64-debug index a1639be8b..18a5c2267 100644 --- a/config/CONFIG.Host.linux-x86_64-debug +++ b/config/CONFIG.Host.linux-x86_64-debug @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.linux-x86_64 diff --git a/config/CONFIG.Host.solaris-sparc b/config/CONFIG.Host.solaris-sparc index 7d134fe05..51fc3b17b 100644 --- a/config/CONFIG.Host.solaris-sparc +++ b/config/CONFIG.Host.solaris-sparc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG.Host.solaris diff --git a/config/CONFIG.Host.solaris-sparc-debug b/config/CONFIG.Host.solaris-sparc-debug index ae6620b45..8a604d4b9 100644 --- a/config/CONFIG.Host.solaris-sparc-debug +++ b/config/CONFIG.Host.solaris-sparc-debug @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG.Host.solaris diff --git a/config/CONFIG.Host.solaris-sparc-gnu b/config/CONFIG.Host.solaris-sparc-gnu index 4b7da58cf..6c3b8981f 100644 --- a/config/CONFIG.Host.solaris-sparc-gnu +++ b/config/CONFIG.Host.solaris-sparc-gnu @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG.Host.solarisGnu diff --git a/config/CONFIG.Host.solaris-sparc-staticlib b/config/CONFIG.Host.solaris-sparc-staticlib index ae6620b45..8a604d4b9 100644 --- a/config/CONFIG.Host.solaris-sparc-staticlib +++ b/config/CONFIG.Host.solaris-sparc-staticlib @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG.Host.solaris diff --git a/config/CONFIG.Host.solaris-sparc64 b/config/CONFIG.Host.solaris-sparc64 index 80994c808..e3a019f26 100644 --- a/config/CONFIG.Host.solaris-sparc64 +++ b/config/CONFIG.Host.solaris-sparc64 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG.Host.solaris diff --git a/config/CONFIG.Host.solaris-sparc64-gnu b/config/CONFIG.Host.solaris-sparc64-gnu index ee9433d81..baf224ec1 100644 --- a/config/CONFIG.Host.solaris-sparc64-gnu +++ b/config/CONFIG.Host.solaris-sparc64-gnu @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG.Host.solarisGnu diff --git a/config/CONFIG.Host.sun4-sparc b/config/CONFIG.Host.sun4-sparc index 61f76aa54..da7ff6fa1 100644 --- a/config/CONFIG.Host.sun4-sparc +++ b/config/CONFIG.Host.sun4-sparc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # sun4-sparc is the new name for sun4 -include $(EPICS_BASE)/config/CONFIG.Host.sun4 diff --git a/config/CONFIG.Host.win32-x86 b/config/CONFIG.Host.win32-x86 index b9262ac7f..ebe2ebd0b 100644 --- a/config/CONFIG.Host.win32-x86 +++ b/config/CONFIG.Host.win32-x86 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # win32-x86 is the new name for WIN32 -include $(EPICS_BASE)/config/CONFIG.Host.WIN32 diff --git a/config/CONFIG.Host.win32-x86-borland b/config/CONFIG.Host.win32-x86-borland index 68ca2c37e..8de1aec31 100644 --- a/config/CONFIG.Host.win32-x86-borland +++ b/config/CONFIG.Host.win32-x86-borland @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # win32-x86-borland is the new name for Borland -include $(EPICS_BASE)/config/CONFIG.Host.Borland diff --git a/config/CONFIG.Host.win32-x86-cygwin b/config/CONFIG.Host.win32-x86-cygwin index 8b74b7bbc..7acdb5f8d 100644 --- a/config/CONFIG.Host.win32-x86-cygwin +++ b/config/CONFIG.Host.win32-x86-cygwin @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. # Sites may override these definitions in CONFIG_SITE.Host.win32-x86-cygwin diff --git a/config/CONFIG.Host.win32-x86-debug b/config/CONFIG.Host.win32-x86-debug index 5c580f5d0..464fdd62e 100644 --- a/config/CONFIG.Host.win32-x86-debug +++ b/config/CONFIG.Host.win32-x86-debug @@ -7,6 +7,5 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG.Host.WIN32 diff --git a/config/CONFIG.Host.win32-x86-mingw b/config/CONFIG.Host.win32-x86-mingw index 93f6724a6..1ed728b90 100644 --- a/config/CONFIG.Host.win32-x86-mingw +++ b/config/CONFIG.Host.win32-x86-mingw @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. # Sites may override these definitions in CONFIG_SITE.Host.win32-x86-mingw diff --git a/config/CONFIG.Vx b/config/CONFIG.Vx index 127c97e42..703df619a 100644 --- a/config/CONFIG.Vx +++ b/config/CONFIG.Vx @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file contains definitions for Vx builds diff --git a/config/CONFIG.Vx.frc40 b/config/CONFIG.Vx.frc40 index b93d8516e..a0fbe2a64 100644 --- a/config/CONFIG.Vx.frc40 +++ b/config/CONFIG.Vx.frc40 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.hkbaja47 b/config/CONFIG.Vx.hkbaja47 index 9a10ac5d7..739605f58 100644 --- a/config/CONFIG.Vx.hkbaja47 +++ b/config/CONFIG.Vx.hkbaja47 @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.hkbaja60 b/config/CONFIG.Vx.hkbaja60 index 8300419a1..56d2a9454 100644 --- a/config/CONFIG.Vx.hkbaja60 +++ b/config/CONFIG.Vx.hkbaja60 @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.hkv2f b/config/CONFIG.Vx.hkv2f index f85dbb080..b20d3dc3f 100644 --- a/config/CONFIG.Vx.hkv2f +++ b/config/CONFIG.Vx.hkv2f @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.mv147 b/config/CONFIG.Vx.mv147 index 1373f6735..d05b0a8dd 100644 --- a/config/CONFIG.Vx.mv147 +++ b/config/CONFIG.Vx.mv147 @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.mv1604 b/config/CONFIG.Vx.mv1604 index 19a88926c..aa1d1cdd6 100644 --- a/config/CONFIG.Vx.mv1604 +++ b/config/CONFIG.Vx.mv1604 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.mv162 b/config/CONFIG.Vx.mv162 index 60a6bed35..51e5659fa 100644 --- a/config/CONFIG.Vx.mv162 +++ b/config/CONFIG.Vx.mv162 @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.mv162lc b/config/CONFIG.Vx.mv162lc index 6fcbb213c..42f5b0fd3 100644 --- a/config/CONFIG.Vx.mv162lc +++ b/config/CONFIG.Vx.mv162lc @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.mv167 b/config/CONFIG.Vx.mv167 index 60a6bed35..51e5659fa 100644 --- a/config/CONFIG.Vx.mv167 +++ b/config/CONFIG.Vx.mv167 @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.mv177 b/config/CONFIG.Vx.mv177 index 6680f15b8..6bf2b5a7e 100644 --- a/config/CONFIG.Vx.mv177 +++ b/config/CONFIG.Vx.mv177 @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.mv2700 b/config/CONFIG.Vx.mv2700 index afab18df1..8633464b0 100644 --- a/config/CONFIG.Vx.mv2700 +++ b/config/CONFIG.Vx.mv2700 @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.ppc603 b/config/CONFIG.Vx.ppc603 index 760d54ab9..2fa194c63 100644 --- a/config/CONFIG.Vx.ppc603 +++ b/config/CONFIG.Vx.ppc603 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.ppc603_long b/config/CONFIG.Vx.ppc603_long index b21ab100b..f81b996d6 100644 --- a/config/CONFIG.Vx.ppc603_long +++ b/config/CONFIG.Vx.ppc603_long @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.ppc604 b/config/CONFIG.Vx.ppc604 index 54960b260..bc2ec5b53 100644 --- a/config/CONFIG.Vx.ppc604 +++ b/config/CONFIG.Vx.ppc604 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.ppc604_long b/config/CONFIG.Vx.ppc604_long index b4aa165a5..c0b98074a 100644 --- a/config/CONFIG.Vx.ppc604_long +++ b/config/CONFIG.Vx.ppc604_long @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file is maintained by the EPICS community. diff --git a/config/CONFIG.Vx.vxWorks-486 b/config/CONFIG.Vx.vxWorks-486 index 0d1b98cd6..102a11d58 100644 --- a/config/CONFIG.Vx.vxWorks-486 +++ b/config/CONFIG.Vx.vxWorks-486 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-486 is the new R3.14 name for pc486 include $(EPICS_BASE)/config/CONFIG.Vx.pc486 diff --git a/config/CONFIG.Vx.vxWorks-68040 b/config/CONFIG.Vx.vxWorks-68040 index 427fb5da6..f43e532bc 100644 --- a/config/CONFIG.Vx.vxWorks-68040 +++ b/config/CONFIG.Vx.vxWorks-68040 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-68040 is the new R3.14 name for mv167 include $(EPICS_BASE)/config/CONFIG.Vx.mv167 diff --git a/config/CONFIG.Vx.vxWorks-68040lc b/config/CONFIG.Vx.vxWorks-68040lc index 70152fb8b..fe4ee01b4 100644 --- a/config/CONFIG.Vx.vxWorks-68040lc +++ b/config/CONFIG.Vx.vxWorks-68040lc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-68040lc is the new R3.14 name for mv162lc include $(EPICS_BASE)/config/CONFIG.Vx.mv162lc diff --git a/config/CONFIG.Vx.vxWorks-68060 b/config/CONFIG.Vx.vxWorks-68060 index 3a2586f93..0624c9c34 100644 --- a/config/CONFIG.Vx.vxWorks-68060 +++ b/config/CONFIG.Vx.vxWorks-68060 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-68060 is the new R3.14 name for mv177 include $(EPICS_BASE)/config/CONFIG.Vx.mv177 diff --git a/config/CONFIG.Vx.vxWorks-ppc603 b/config/CONFIG.Vx.vxWorks-ppc603 index f171f3fe3..6f9267ee6 100644 --- a/config/CONFIG.Vx.vxWorks-ppc603 +++ b/config/CONFIG.Vx.vxWorks-ppc603 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-ppc603 is the new R3.14 name for ppc603 include $(EPICS_BASE)/config/CONFIG.Vx.ppc603 diff --git a/config/CONFIG.Vx.vxWorks-ppc603_long b/config/CONFIG.Vx.vxWorks-ppc603_long index b9c1de016..12759fec7 100644 --- a/config/CONFIG.Vx.vxWorks-ppc603_long +++ b/config/CONFIG.Vx.vxWorks-ppc603_long @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-ppc603 is the new R3.14 name for ppc603 include $(EPICS_BASE)/config/CONFIG.Vx.ppc603_long diff --git a/config/CONFIG.Vx.vxWorks-ppc604 b/config/CONFIG.Vx.vxWorks-ppc604 index e05b5de7a..dc8d66a78 100644 --- a/config/CONFIG.Vx.vxWorks-ppc604 +++ b/config/CONFIG.Vx.vxWorks-ppc604 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-ppc604 is the new R3.14 name for ppc604 include $(EPICS_BASE)/config/CONFIG.Vx.ppc604 diff --git a/config/CONFIG.Vx.vxWorks-ppc604_long b/config/CONFIG.Vx.vxWorks-ppc604_long index 3b5e5f9d9..b62cfa415 100644 --- a/config/CONFIG.Vx.vxWorks-ppc604_long +++ b/config/CONFIG.Vx.vxWorks-ppc604_long @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # vxWorks-ppc604 is the new R3.14 name for ppc604 include $(EPICS_BASE)/config/CONFIG.Vx.ppc604_long diff --git a/config/CONFIG_BASE b/config/CONFIG_BASE index 8818ac0e4..af273499c 100644 --- a/config/CONFIG_BASE +++ b/config/CONFIG_BASE @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # # the order of following list is important diff --git a/config/CONFIG_BASE_VERSION b/config/CONFIG_BASE_VERSION index 1c3114fdb..942488156 100644 --- a/config/CONFIG_BASE_VERSION +++ b/config/CONFIG_BASE_VERSION @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # # EPICS Version information now comes from configure... diff --git a/config/CONFIG_COMMON b/config/CONFIG_COMMON index 57e4a388e..0b31e840c 100644 --- a/config/CONFIG_COMMON +++ b/config/CONFIG_COMMON @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # # CONFIG_COMMON - Another EPICS BASE config file # by Matthew Needes and Mike Bordua diff --git a/config/CONFIG_COMPAT b/config/CONFIG_COMPAT index 0c3a76753..c0ca5808b 100644 --- a/config/CONFIG_COMPAT +++ b/config/CONFIG_COMPAT @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # # Convert old HOST_ARCH environment variable diff --git a/config/CONFIG_ENV b/config/CONFIG_ENV index ae59f6ab2..2fc96eeb3 100644 --- a/config/CONFIG_ENV +++ b/config/CONFIG_ENV @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # Author: Andrew Johnson # Date: 20 April 1995 # diff --git a/config/CONFIG_HOST_ARCH.darwin-ppc b/config/CONFIG_HOST_ARCH.darwin-ppc index da6376422..aee3f034d 100644 --- a/config/CONFIG_HOST_ARCH.darwin-ppc +++ b/config/CONFIG_HOST_ARCH.darwin-ppc @@ -7,6 +7,5 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Darwin diff --git a/config/CONFIG_HOST_ARCH.darwin-ppcx86 b/config/CONFIG_HOST_ARCH.darwin-ppcx86 index da6376422..aee3f034d 100644 --- a/config/CONFIG_HOST_ARCH.darwin-ppcx86 +++ b/config/CONFIG_HOST_ARCH.darwin-ppcx86 @@ -7,6 +7,5 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Darwin diff --git a/config/CONFIG_HOST_ARCH.darwin-x86 b/config/CONFIG_HOST_ARCH.darwin-x86 index da6376422..aee3f034d 100644 --- a/config/CONFIG_HOST_ARCH.darwin-x86 +++ b/config/CONFIG_HOST_ARCH.darwin-x86 @@ -7,6 +7,5 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Darwin diff --git a/config/CONFIG_HOST_ARCH.freebsd-x86_64 b/config/CONFIG_HOST_ARCH.freebsd-x86_64 index 20f5c30fa..732363648 100644 --- a/config/CONFIG_HOST_ARCH.freebsd-x86_64 +++ b/config/CONFIG_HOST_ARCH.freebsd-x86_64 @@ -6,6 +6,5 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon diff --git a/config/CONFIG_HOST_ARCH.hpux-parisc b/config/CONFIG_HOST_ARCH.hpux-parisc index cbc4570f4..89952381a 100644 --- a/config/CONFIG_HOST_ARCH.hpux-parisc +++ b/config/CONFIG_HOST_ARCH.hpux-parisc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # hpux-parisc is the new name for hp700 -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.hp700 diff --git a/config/CONFIG_HOST_ARCH.hpux-parisc-gnu b/config/CONFIG_HOST_ARCH.hpux-parisc-gnu index cbc4570f4..89952381a 100644 --- a/config/CONFIG_HOST_ARCH.hpux-parisc-gnu +++ b/config/CONFIG_HOST_ARCH.hpux-parisc-gnu @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # hpux-parisc is the new name for hp700 -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.hp700 diff --git a/config/CONFIG_HOST_ARCH.linux-ppc b/config/CONFIG_HOST_ARCH.linux-ppc index aa7eb0768..d4c9c7d2b 100644 --- a/config/CONFIG_HOST_ARCH.linux-ppc +++ b/config/CONFIG_HOST_ARCH.linux-ppc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Linux diff --git a/config/CONFIG_HOST_ARCH.linux-x86 b/config/CONFIG_HOST_ARCH.linux-x86 index aa4e8b121..604a3aa2f 100644 --- a/config/CONFIG_HOST_ARCH.linux-x86 +++ b/config/CONFIG_HOST_ARCH.linux-x86 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # linux-x86 is the new name for linux -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Linux diff --git a/config/CONFIG_HOST_ARCH.linux-x86-debug b/config/CONFIG_HOST_ARCH.linux-x86-debug index 6590176aa..060b41a2b 100644 --- a/config/CONFIG_HOST_ARCH.linux-x86-debug +++ b/config/CONFIG_HOST_ARCH.linux-x86-debug @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # linux-x86 is the new name for linux -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Linux diff --git a/config/CONFIG_HOST_ARCH.linux-x86_64 b/config/CONFIG_HOST_ARCH.linux-x86_64 index 7765965ab..58f06741c 100644 --- a/config/CONFIG_HOST_ARCH.linux-x86_64 +++ b/config/CONFIG_HOST_ARCH.linux-x86_64 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # Include definitions common to all Unix archs include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon diff --git a/config/CONFIG_HOST_ARCH.linux-x86_64-debug b/config/CONFIG_HOST_ARCH.linux-x86_64-debug index 4bcae5d69..6a35314c7 100644 --- a/config/CONFIG_HOST_ARCH.linux-x86_64-debug +++ b/config/CONFIG_HOST_ARCH.linux-x86_64-debug @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # Include definitions common to all Unix archs include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.linux-x86_64 diff --git a/config/CONFIG_HOST_ARCH.solaris-sparc b/config/CONFIG_HOST_ARCH.solaris-sparc index 5c0325729..1ca631272 100644 --- a/config/CONFIG_HOST_ARCH.solaris-sparc +++ b/config/CONFIG_HOST_ARCH.solaris-sparc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris diff --git a/config/CONFIG_HOST_ARCH.solaris-sparc-debug b/config/CONFIG_HOST_ARCH.solaris-sparc-debug index 33cbb313a..06e26fac8 100644 --- a/config/CONFIG_HOST_ARCH.solaris-sparc-debug +++ b/config/CONFIG_HOST_ARCH.solaris-sparc-debug @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris diff --git a/config/CONFIG_HOST_ARCH.solaris-sparc-gnu b/config/CONFIG_HOST_ARCH.solaris-sparc-gnu index aeca8f2d0..290117c02 100644 --- a/config/CONFIG_HOST_ARCH.solaris-sparc-gnu +++ b/config/CONFIG_HOST_ARCH.solaris-sparc-gnu @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solarisGnu diff --git a/config/CONFIG_HOST_ARCH.solaris-sparc-staticlib b/config/CONFIG_HOST_ARCH.solaris-sparc-staticlib index 839567ebc..222180acf 100644 --- a/config/CONFIG_HOST_ARCH.solaris-sparc-staticlib +++ b/config/CONFIG_HOST_ARCH.solaris-sparc-staticlib @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris diff --git a/config/CONFIG_HOST_ARCH.solaris-sparc64 b/config/CONFIG_HOST_ARCH.solaris-sparc64 index 5c0325729..1ca631272 100644 --- a/config/CONFIG_HOST_ARCH.solaris-sparc64 +++ b/config/CONFIG_HOST_ARCH.solaris-sparc64 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solaris diff --git a/config/CONFIG_HOST_ARCH.solaris-sparc64-gnu b/config/CONFIG_HOST_ARCH.solaris-sparc64-gnu index aeca8f2d0..290117c02 100644 --- a/config/CONFIG_HOST_ARCH.solaris-sparc64-gnu +++ b/config/CONFIG_HOST_ARCH.solaris-sparc64-gnu @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solarisGnu diff --git a/config/CONFIG_HOST_ARCH.solaris-x86-gnu b/config/CONFIG_HOST_ARCH.solaris-x86-gnu index 80fcb967f..1f913b59f 100644 --- a/config/CONFIG_HOST_ARCH.solaris-x86-gnu +++ b/config/CONFIG_HOST_ARCH.solaris-x86-gnu @@ -1,4 +1,3 @@ -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.solarisGnu diff --git a/config/CONFIG_HOST_ARCH.sun4-sparc b/config/CONFIG_HOST_ARCH.sun4-sparc index db5cb289a..85701d949 100644 --- a/config/CONFIG_HOST_ARCH.sun4-sparc +++ b/config/CONFIG_HOST_ARCH.sun4-sparc @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # sun4-sparc is the new name for sun4 -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.sun4 diff --git a/config/CONFIG_HOST_ARCH.win32-x86 b/config/CONFIG_HOST_ARCH.win32-x86 index 7dbabc2b9..d8b20541c 100644 --- a/config/CONFIG_HOST_ARCH.win32-x86 +++ b/config/CONFIG_HOST_ARCH.win32-x86 @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # win32-x86 is the new name for WIN32 -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.WIN32 diff --git a/config/CONFIG_HOST_ARCH.win32-x86-borland b/config/CONFIG_HOST_ARCH.win32-x86-borland index 962d4d1ce..8d7e1fc02 100644 --- a/config/CONFIG_HOST_ARCH.win32-x86-borland +++ b/config/CONFIG_HOST_ARCH.win32-x86-borland @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # win32-x86-borland is the new name for Borland -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Borland diff --git a/config/CONFIG_HOST_ARCH.win32-x86-cygwin b/config/CONFIG_HOST_ARCH.win32-x86-cygwin index bac8ebf36..555ef98ec 100644 --- a/config/CONFIG_HOST_ARCH.win32-x86-cygwin +++ b/config/CONFIG_HOST_ARCH.win32-x86-cygwin @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # Override values in CONFIG_SITE_HOST_ARCH.win32-x86-cygwin diff --git a/config/CONFIG_HOST_ARCH.win32-x86-debug b/config/CONFIG_HOST_ARCH.win32-x86-debug index 67404edac..e95ef0486 100644 --- a/config/CONFIG_HOST_ARCH.win32-x86-debug +++ b/config/CONFIG_HOST_ARCH.win32-x86-debug @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.WIN32 diff --git a/config/CONFIG_HOST_ARCH.win32-x86-mingw b/config/CONFIG_HOST_ARCH.win32-x86-mingw index 473f566de..6306f00c9 100644 --- a/config/CONFIG_HOST_ARCH.win32-x86-mingw +++ b/config/CONFIG_HOST_ARCH.win32-x86-mingw @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # Override values in CONFIG_SITE_HOST_ARCH.win32-x86-mingw diff --git a/config/CONFIG_SITE b/config/CONFIG_SITE index 15ca204cf..2321af7d4 100644 --- a/config/CONFIG_SITE +++ b/config/CONFIG_SITE @@ -1,5 +1,4 @@ # -# $Revision-Id$ # # CONFIG_SITE - EPICS BASE config file # by Matthew Needes and Mike Bordua diff --git a/config/CONFIG_SITE.Host.Borland b/config/CONFIG_SITE.Host.Borland index 3e8c51348..17e1b4030 100644 --- a/config/CONFIG_SITE.Host.Borland +++ b/config/CONFIG_SITE.Host.Borland @@ -1,5 +1,4 @@ # -# $Revision-Id$ # # Site Specific Configuration Information # Only the local epics system manager should modify this file diff --git a/config/CONFIG_SITE.Host.WIN32 b/config/CONFIG_SITE.Host.WIN32 index c838b2ccb..a20df39de 100644 --- a/config/CONFIG_SITE.Host.WIN32 +++ b/config/CONFIG_SITE.Host.WIN32 @@ -1,5 +1,4 @@ # -# $Revision-Id$ # # Site Specific Configuration Information # Only the local epics system manager should modify this file diff --git a/config/CONFIG_SITE.Host.darwin-ppc b/config/CONFIG_SITE.Host.darwin-ppc index bb35ceee9..03349703a 100644 --- a/config/CONFIG_SITE.Host.darwin-ppc +++ b/config/CONFIG_SITE.Host.darwin-ppc @@ -1,4 +1,3 @@ -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_SITE.Host.Darwin diff --git a/config/CONFIG_SITE.Host.darwin-x86 b/config/CONFIG_SITE.Host.darwin-x86 index bb35ceee9..03349703a 100644 --- a/config/CONFIG_SITE.Host.darwin-x86 +++ b/config/CONFIG_SITE.Host.darwin-x86 @@ -1,4 +1,3 @@ -# $Revision-Id$ -include $(EPICS_BASE)/config/CONFIG_SITE.Host.Darwin diff --git a/config/CONFIG_SITE.Host.hp700 b/config/CONFIG_SITE.Host.hp700 index 32e323b8f..d14df7b61 100644 --- a/config/CONFIG_SITE.Host.hp700 +++ b/config/CONFIG_SITE.Host.hp700 @@ -1,5 +1,4 @@ # -# $Revision-Id$ # # Site Specific Configuration Information # Only the local epics system manager should modify this file diff --git a/config/CONFIG_SITE.Host.hpux-parisc b/config/CONFIG_SITE.Host.hpux-parisc index c6d0dceb1..57953e044 100644 --- a/config/CONFIG_SITE.Host.hpux-parisc +++ b/config/CONFIG_SITE.Host.hpux-parisc @@ -1,4 +1,3 @@ -# $Revision-Id$ # hpux-parisc is the new name for hp700 -include $(EPICS_BASE)/config/CONFIG_SITE.Host.hp700 diff --git a/config/CONFIG_SITE.Host.hpux-parisc-gnu b/config/CONFIG_SITE.Host.hpux-parisc-gnu index 32e323b8f..d14df7b61 100644 --- a/config/CONFIG_SITE.Host.hpux-parisc-gnu +++ b/config/CONFIG_SITE.Host.hpux-parisc-gnu @@ -1,5 +1,4 @@ # -# $Revision-Id$ # # Site Specific Configuration Information # Only the local epics system manager should modify this file diff --git a/config/CONFIG_SITE.Host.linux-x86 b/config/CONFIG_SITE.Host.linux-x86 index ba23407dc..ab39ddc72 100644 --- a/config/CONFIG_SITE.Host.linux-x86 +++ b/config/CONFIG_SITE.Host.linux-x86 @@ -1,4 +1,3 @@ -# $Revision-Id$ # linux-x86 is the new name for linux -include $(EPICS_BASE)/config/CONFIG_SITE.Host.Linux diff --git a/config/CONFIG_SITE.Host.solaris b/config/CONFIG_SITE.Host.solaris index 8626753be..d77b33fc5 100644 --- a/config/CONFIG_SITE.Host.solaris +++ b/config/CONFIG_SITE.Host.solaris @@ -1,5 +1,4 @@ # -# $Revision-Id$ # # Site Specific Configuration Information # Only the local epics system manager should modify this file diff --git a/config/CONFIG_SITE.Host.solaris-sparc b/config/CONFIG_SITE.Host.solaris-sparc index 662550e26..030ddf6c0 100644 --- a/config/CONFIG_SITE.Host.solaris-sparc +++ b/config/CONFIG_SITE.Host.solaris-sparc @@ -1,4 +1,3 @@ -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris diff --git a/config/CONFIG_SITE.Host.solaris-sparc-debug b/config/CONFIG_SITE.Host.solaris-sparc-debug index 662550e26..030ddf6c0 100644 --- a/config/CONFIG_SITE.Host.solaris-sparc-debug +++ b/config/CONFIG_SITE.Host.solaris-sparc-debug @@ -1,4 +1,3 @@ -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris diff --git a/config/CONFIG_SITE.Host.solaris-sparc-gnu b/config/CONFIG_SITE.Host.solaris-sparc-gnu index 662550e26..030ddf6c0 100644 --- a/config/CONFIG_SITE.Host.solaris-sparc-gnu +++ b/config/CONFIG_SITE.Host.solaris-sparc-gnu @@ -1,4 +1,3 @@ -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris diff --git a/config/CONFIG_SITE.Host.solaris-sparc-staticlib b/config/CONFIG_SITE.Host.solaris-sparc-staticlib index 662550e26..030ddf6c0 100644 --- a/config/CONFIG_SITE.Host.solaris-sparc-staticlib +++ b/config/CONFIG_SITE.Host.solaris-sparc-staticlib @@ -1,4 +1,3 @@ -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris diff --git a/config/CONFIG_SITE.Host.solaris-sparc64 b/config/CONFIG_SITE.Host.solaris-sparc64 index 662550e26..030ddf6c0 100644 --- a/config/CONFIG_SITE.Host.solaris-sparc64 +++ b/config/CONFIG_SITE.Host.solaris-sparc64 @@ -1,4 +1,3 @@ -# $Revision-Id$ # solaris-sparc is the new name for solaris -include $(EPICS_BASE)/config/CONFIG_SITE.Host.solaris diff --git a/config/CONFIG_SITE.Host.win32-x86 b/config/CONFIG_SITE.Host.win32-x86 index 1a1b1dd93..2c1346aab 100644 --- a/config/CONFIG_SITE.Host.win32-x86 +++ b/config/CONFIG_SITE.Host.win32-x86 @@ -1,4 +1,3 @@ -# $Revision-Id$ # win32-x86 is the new name for WIN32 -include $(EPICS_BASE)/config/CONFIG_SITE.Host.WIN32 diff --git a/config/CONFIG_SITE.Host.win32-x86-borland b/config/CONFIG_SITE.Host.win32-x86-borland index 370de9af7..29f23f600 100644 --- a/config/CONFIG_SITE.Host.win32-x86-borland +++ b/config/CONFIG_SITE.Host.win32-x86-borland @@ -1,4 +1,3 @@ -# $Revision-Id$ # win32-x86-borland is the new name for Borland -include $(EPICS_BASE)/config/CONFIG_SITE.Host.Borland diff --git a/config/CONFIG_SITE.Vx.Linux b/config/CONFIG_SITE.Vx.Linux index 6e5466a09..9af542c37 100644 --- a/config/CONFIG_SITE.Vx.Linux +++ b/config/CONFIG_SITE.Vx.Linux @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file contains overrides for Vx builds diff --git a/config/CONFIG_SITE.Vx.Linux.mv167 b/config/CONFIG_SITE.Vx.Linux.mv167 index 1b8ac5251..15cf441ff 100644 --- a/config/CONFIG_SITE.Vx.Linux.mv167 +++ b/config/CONFIG_SITE.Vx.Linux.mv167 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file contains overrides for Vx builds diff --git a/config/CONFIG_SITE.Vx.Linux.ppc603 b/config/CONFIG_SITE.Vx.Linux.ppc603 index 55854a133..4ce176406 100644 --- a/config/CONFIG_SITE.Vx.Linux.ppc603 +++ b/config/CONFIG_SITE.Vx.Linux.ppc603 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file contains overrides for Vx builds diff --git a/config/CONFIG_SITE.Vx.linux-x86 b/config/CONFIG_SITE.Vx.linux-x86 index 20fb8fb6f..a05a3e056 100644 --- a/config/CONFIG_SITE.Vx.linux-x86 +++ b/config/CONFIG_SITE.Vx.linux-x86 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file contains overrides for Vx builds diff --git a/config/CONFIG_SITE_ENV b/config/CONFIG_SITE_ENV index adeb44186..c247edc9c 100644 --- a/config/CONFIG_SITE_ENV +++ b/config/CONFIG_SITE_ENV @@ -1,4 +1,3 @@ -# $Revision-Id$ # Author: Andrew Johnson # Date: 1 May 1995 # diff --git a/config/Makefile b/config/Makefile index d487456fd..9c4683bed 100644 --- a/config/Makefile +++ b/config/Makefile @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # TOP=.. diff --git a/config/RULES.Db b/config/RULES.Db index bf8b63751..b4946c7aa 100644 --- a/config/RULES.Db +++ b/config/RULES.Db @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # Rules for making things related to databases # diff --git a/config/RULES.Host b/config/RULES.Host index be4687fb2..ffb23f0e7 100644 --- a/config/RULES.Host +++ b/config/RULES.Host @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # Rules for making things specified in Makefile.Host # Some rules for filename-massage are system specific diff --git a/config/RULES.Unix b/config/RULES.Unix index 29843c730..1e3a01456 100644 --- a/config/RULES.Unix +++ b/config/RULES.Unix @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ INCREC +=$(RECTYPES) $(MENUS) INSTALL_PROD = $(PROD:%= $(INSTALL_BIN)/%) diff --git a/config/RULES.Vx b/config/RULES.Vx index c39255ea7..0904542a8 100644 --- a/config/RULES.Vx +++ b/config/RULES.Vx @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ ifneq ($(strip $(LIBOBJS_$(ARCH_CLASS))),) LIBOBJS+=$(subst -nil-,,$(LIBOBJS_$(ARCH_CLASS))) diff --git a/config/RULES_ARCHS b/config/RULES_ARCHS index 793793832..e7d0da9ed 100644 --- a/config/RULES_ARCHS +++ b/config/RULES_ARCHS @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # # EPICS RULES_ARCH # by Matthew Needes and Mike Bordua and Janet Anderson and Jeff Hill diff --git a/config/RULES_DIRS b/config/RULES_DIRS index 0d99d1594..e2506fc8c 100644 --- a/config/RULES_DIRS +++ b/config/RULES_DIRS @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # diff --git a/config/RULES_TOP b/config/RULES_TOP index be9dab2d0..893cbca21 100644 --- a/config/RULES_TOP +++ b/config/RULES_TOP @@ -8,7 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ # include $(TOP)/config/RULES_DIRS diff --git a/config/tools/munch.pl b/config/tools/munch.pl index e39226233..2f67c4fe2 100755 --- a/config/tools/munch.pl +++ b/config/tools/munch.pl @@ -11,7 +11,6 @@ eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*- #************************************************************************* # Creates a ctdt.c file of c++ static constructors and destructors. -# $Revision-Id$ @ctorlist = (); @dtorlist = (); From 89c8c78564d1dd56af647876ad1d217e08e040e7 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 21 May 2016 04:27:03 +0200 Subject: [PATCH 073/226] Removed Revision-Id from configure; still one Date --- configure/CONFIG | 2 -- configure/CONFIG.gnuCommon | 2 +- configure/CONFIG_ADDONS | 1 - configure/CONFIG_APP_INCLUDE | 3 --- configure/CONFIG_BASE_VERSION | 2 -- configure/CONFIG_COMMON | 2 -- configure/CONFIG_ENV | 1 - configure/CONFIG_FILE_TYPE | 1 - configure/CONFIG_SITE | 3 +-- configure/CONFIG_SITE_ENV | 1 - configure/Makefile | 3 --- configure/RULES | 1 - configure/RULES_ARCHS | 3 --- configure/RULES_BUILD | 1 - configure/RULES_DIRS | 4 ---- configure/RULES_FILE_TYPE | 3 --- configure/RULES_JAVA | 3 --- configure/RULES_OCTAVE | 4 +--- configure/RULES_TARGET | 2 -- configure/RULES_TOP | 3 --- configure/os/CONFIG.Common.RTEMS | 1 - configure/os/CONFIG.Common.RTEMS-beatnik | 1 - configure/os/CONFIG.Common.RTEMS-gen68360 | 1 - configure/os/CONFIG.Common.RTEMS-mcp750 | 1 - configure/os/CONFIG.Common.RTEMS-mvme167 | 1 - configure/os/CONFIG.Common.RTEMS-mvme2100 | 1 - configure/os/CONFIG.Common.RTEMS-mvme3100 | 1 - configure/os/CONFIG.Common.RTEMS-mvme5500 | 1 - configure/os/CONFIG.Common.RTEMS-pc386 | 1 - configure/os/CONFIG.Common.RTEMS-psim | 1 - configure/os/CONFIG.Common.RTEMS-uC5282 | 1 - configure/os/CONFIG.Common.UnixCommon | 2 -- configure/os/CONFIG.Common.cygwin-x86 | 1 - configure/os/CONFIG.Common.cygwin-x86_64 | 1 - configure/os/CONFIG.Common.darwin-ppc | 1 - configure/os/CONFIG.Common.darwin-ppcx86 | 1 - configure/os/CONFIG.Common.darwin-x86 | 1 - configure/os/CONFIG.Common.freebsd-x86 | 1 - configure/os/CONFIG.Common.freebsd-x86_64 | 1 - configure/os/CONFIG.Common.freebsdCommon | 1 - configure/os/CONFIG.Common.ios-arm | 1 - configure/os/CONFIG.Common.ios-x86 | 1 - configure/os/CONFIG.Common.iosCommon | 1 - configure/os/CONFIG.Common.linux-386 | 1 - configure/os/CONFIG.Common.linux-486 | 3 --- configure/os/CONFIG.Common.linux-586 | 3 --- configure/os/CONFIG.Common.linux-686 | 3 --- configure/os/CONFIG.Common.linux-arm-debug | 3 --- configure/os/CONFIG.Common.linux-arm_eb | 2 -- configure/os/CONFIG.Common.linux-arm_el | 2 -- configure/os/CONFIG.Common.linux-athlon | 3 --- configure/os/CONFIG.Common.linux-ppc | 2 -- configure/os/CONFIG.Common.linux-ppc64 | 3 --- configure/os/CONFIG.Common.linux-x86 | 3 --- configure/os/CONFIG.Common.linux-x86-borland | 3 --- configure/os/CONFIG.Common.linux-x86-debug | 3 --- configure/os/CONFIG.Common.linux-x86_64 | 3 --- configure/os/CONFIG.Common.linux-x86_64-debug | 3 --- configure/os/CONFIG.Common.linux-xscale_be | 2 -- configure/os/CONFIG.Common.linuxCommon | 3 --- configure/os/CONFIG.Common.solaris-sparc | 3 --- configure/os/CONFIG.Common.solaris-sparc-debug | 3 --- configure/os/CONFIG.Common.solaris-sparc-gnu | 3 --- configure/os/CONFIG.Common.solaris-sparc64 | 3 --- configure/os/CONFIG.Common.solaris-sparc64-gnu | 3 --- configure/os/CONFIG.Common.solaris-x86 | 3 --- configure/os/CONFIG.Common.solaris-x86-gnu | 3 --- configure/os/CONFIG.Common.solaris-x86_64 | 3 --- configure/os/CONFIG.Common.solaris-x86_64-gnu | 3 --- configure/os/CONFIG.Common.vxWorks-486 | 3 --- configure/os/CONFIG.Common.vxWorks-486-debug | 3 --- configure/os/CONFIG.Common.vxWorks-68040 | 3 --- configure/os/CONFIG.Common.vxWorks-68040-debug | 3 --- configure/os/CONFIG.Common.vxWorks-68040lc | 3 --- configure/os/CONFIG.Common.vxWorks-68040lc-debug | 3 --- configure/os/CONFIG.Common.vxWorks-68060 | 3 --- configure/os/CONFIG.Common.vxWorks-68060-debug | 3 --- configure/os/CONFIG.Common.vxWorks-mpc8540 | 3 --- configure/os/CONFIG.Common.vxWorks-mpc8540-debug | 3 --- configure/os/CONFIG.Common.vxWorks-mpc8548 | 3 --- configure/os/CONFIG.Common.vxWorks-mpc8548-debug | 3 --- configure/os/CONFIG.Common.vxWorks-pentium | 3 --- configure/os/CONFIG.Common.vxWorks-pentium-debug | 3 --- configure/os/CONFIG.Common.vxWorks-ppc32 | 2 -- configure/os/CONFIG.Common.vxWorks-ppc32-debug | 3 --- configure/os/CONFIG.Common.vxWorks-ppc32sf | 2 -- configure/os/CONFIG.Common.vxWorks-ppc32sf-debug | 3 --- configure/os/CONFIG.Common.vxWorks-ppc603 | 2 -- configure/os/CONFIG.Common.vxWorks-ppc603-debug | 3 --- configure/os/CONFIG.Common.vxWorks-ppc603_long | 2 -- configure/os/CONFIG.Common.vxWorks-ppc603_long-debug | 3 --- configure/os/CONFIG.Common.vxWorks-ppc604 | 2 -- configure/os/CONFIG.Common.vxWorks-ppc604-debug | 3 --- configure/os/CONFIG.Common.vxWorks-ppc604_altivec | 2 -- configure/os/CONFIG.Common.vxWorks-ppc604_altivec-debug | 3 --- configure/os/CONFIG.Common.vxWorks-ppc604_long | 2 -- configure/os/CONFIG.Common.vxWorks-ppc604_long-debug | 3 --- configure/os/CONFIG.Common.vxWorksCommon | 3 --- configure/os/CONFIG.Common.win32-x86-cygwin | 3 --- configure/os/CONFIG.Common.win32-x86-mingw | 3 --- configure/os/CONFIG.Common.windows-x64-mingw | 3 --- configure/os/CONFIG.UnixCommon.Common | 3 --- configure/os/CONFIG.aix-ppc-gnu.Common | 3 --- configure/os/CONFIG.aix-ppc-gnu.aix-ppc-gnu | 1 - configure/os/CONFIG.aix-ppc.Common | 2 -- configure/os/CONFIG.cygwin-x86.Common | 3 --- configure/os/CONFIG.cygwin-x86.cygwin-x86 | 2 -- configure/os/CONFIG.cygwin-x86.cygwin-x86-debug | 3 --- configure/os/CONFIG.cygwin-x86_64.Common | 3 --- configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 | 2 -- configure/os/CONFIG.darwin-ppc.Common | 3 --- configure/os/CONFIG.darwin-ppc.darwin-ppc-debug | 3 --- configure/os/CONFIG.darwin-ppcx86.Common | 3 --- configure/os/CONFIG.darwin-x86.Common | 3 --- configure/os/CONFIG.darwin-x86.darwin-x86-debug | 3 --- configure/os/CONFIG.darwinCommon.darwinCommon | 3 --- configure/os/CONFIG.freebsd-x86.Common | 3 --- configure/os/CONFIG.freebsd-x86.freebsd-x86 | 1 - configure/os/CONFIG.freebsd-x86_64.Common | 3 --- configure/os/CONFIG.freebsd-x86_64.freebsd-x86_64 | 1 - configure/os/CONFIG.linux-arm-debug.Common | 3 --- configure/os/CONFIG.linux-arm-debug.linux-arm-debug | 3 --- configure/os/CONFIG.linux-arm.Common | 2 -- configure/os/CONFIG.linux-arm.linux-arm | 2 -- configure/os/CONFIG.linux-arm.linux-arm-debug | 3 --- configure/os/CONFIG.linux-ppc.Common | 2 -- configure/os/CONFIG.linux-ppc.linux-ppc | 1 - configure/os/CONFIG.linux-ppc64.Common | 3 --- configure/os/CONFIG.linux-ppc64.linux-ppc64 | 2 -- configure/os/CONFIG.linux-x86-borland.Common | 3 --- configure/os/CONFIG.linux-x86-borland.linux-x86-borland | 2 -- configure/os/CONFIG.linux-x86-debug.Common | 3 --- configure/os/CONFIG.linux-x86-debug.linux-x86-debug | 3 --- configure/os/CONFIG.linux-x86.Common | 3 --- configure/os/CONFIG.linux-x86.linux-x86 | 2 -- configure/os/CONFIG.linux-x86.linux-x86-debug | 3 --- configure/os/CONFIG.linux-x86_64-debug.Common | 3 --- configure/os/CONFIG.linux-x86_64-debug.linux-x86_64-debug | 3 --- configure/os/CONFIG.linux-x86_64.Common | 3 --- configure/os/CONFIG.linux-x86_64.linux-x86_64 | 2 -- configure/os/CONFIG.linux-x86_64.linux-x86_64-debug | 3 --- configure/os/CONFIG.solaris-sparc-debug.Common | 3 --- configure/os/CONFIG.solaris-sparc-debug.solaris-sparc-debug | 3 --- configure/os/CONFIG.solaris-sparc-gnu.Common | 3 --- configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu | 3 --- configure/os/CONFIG.solaris-sparc.Common | 3 --- configure/os/CONFIG.solaris-sparc.solaris-sparc | 3 --- configure/os/CONFIG.solaris-sparc.solaris-sparc-debug | 3 --- configure/os/CONFIG.solaris-sparc.solaris-sparc-gnu | 3 --- configure/os/CONFIG.solaris-sparc.solaris-sparc64 | 3 --- configure/os/CONFIG.solaris-sparc.solaris-sparc64-gnu | 3 --- configure/os/CONFIG.solaris-sparc64-gnu.Common | 3 --- configure/os/CONFIG.solaris-sparc64-gnu.solaris-sparc64-gnu | 3 --- configure/os/CONFIG.solaris-sparc64.Common | 3 --- configure/os/CONFIG.solaris-sparc64.solaris-sparc64 | 3 --- configure/os/CONFIG.solaris-sparc64.solaris-sparc64-debug | 3 --- configure/os/CONFIG.solaris-x86-gnu.Common | 3 --- configure/os/CONFIG.solaris-x86-gnu.solaris-x86-gnu | 3 --- configure/os/CONFIG.solaris-x86.Common | 3 --- configure/os/CONFIG.solaris-x86.solaris-x86 | 3 --- configure/os/CONFIG.solaris-x86.solaris-x86-debug | 3 --- configure/os/CONFIG.solaris-x86.solaris-x86_64 | 3 --- configure/os/CONFIG.solaris-x86_64-gnu.Common | 3 --- configure/os/CONFIG.solaris-x86_64-gnu.solaris-x86_64-gnu | 3 --- configure/os/CONFIG.solaris-x86_64.Common | 3 --- configure/os/CONFIG.solaris-x86_64.solaris-x86_64 | 3 --- configure/os/CONFIG.solaris-x86_64.solaris-x86_64-debug | 3 --- configure/os/CONFIG.solarisCommon.solarisCommon | 3 --- configure/os/CONFIG.win32-x86-borland.Common | 3 --- configure/os/CONFIG.win32-x86-borland.win32-x86-borland | 3 --- configure/os/CONFIG.win32-x86-cygwin.Common | 3 --- configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin | 2 -- configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin-debug | 3 --- configure/os/CONFIG.win32-x86-debug.Common | 3 --- configure/os/CONFIG.win32-x86-debug.win32-x86-debug | 3 --- configure/os/CONFIG.win32-x86-mingw.Common | 3 --- configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw | 2 -- configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw-debug | 3 --- configure/os/CONFIG.win32-x86-static.Common | 3 --- configure/os/CONFIG.win32-x86-static.win32-x86-static | 3 --- configure/os/CONFIG.win32-x86.Common | 3 --- configure/os/CONFIG.win32-x86.win32-x86 | 3 --- configure/os/CONFIG.win32-x86.win32-x86-debug | 3 --- configure/os/CONFIG.win32-x86.win32-x86-static | 3 --- configure/os/CONFIG.win32-x86.windows-x64 | 3 --- configure/os/CONFIG.windows-x64-debug.Common | 3 --- configure/os/CONFIG.windows-x64-debug.windows-x64-debug | 3 --- configure/os/CONFIG.windows-x64-mingw.Common | 3 --- configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw | 3 --- configure/os/CONFIG.windows-x64-static.Common | 3 --- configure/os/CONFIG.windows-x64-static.windows-x64-static | 3 --- configure/os/CONFIG.windows-x64.Common | 3 --- configure/os/CONFIG.windows-x64.windows-x64 | 3 --- configure/os/CONFIG.windows-x64.windows-x64-debug | 3 --- configure/os/CONFIG.windows-x64.windows-x64-static | 3 --- configure/os/CONFIG_COMPAT | 2 -- configure/os/CONFIG_SITE.Common.RTEMS | 2 -- configure/os/CONFIG_SITE.Common.cygwin-x86 | 2 -- configure/os/CONFIG_SITE.Common.cygwin-x86_64 | 2 -- configure/os/CONFIG_SITE.Common.darwin-ppc | 3 --- configure/os/CONFIG_SITE.Common.darwin-ppcx86 | 3 --- configure/os/CONFIG_SITE.Common.darwin-x86 | 3 --- configure/os/CONFIG_SITE.Common.ios-arm | 2 -- configure/os/CONFIG_SITE.Common.ios-x86 | 2 -- configure/os/CONFIG_SITE.Common.iosCommon | 2 -- configure/os/CONFIG_SITE.Common.linux-arm | 2 -- configure/os/CONFIG_SITE.Common.linux-cris | 2 -- configure/os/CONFIG_SITE.Common.linux-x86 | 2 -- configure/os/CONFIG_SITE.Common.linux-x86_64 | 2 -- configure/os/CONFIG_SITE.Common.linux-xscale_be | 2 -- configure/os/CONFIG_SITE.Common.solaris-sparc | 2 -- configure/os/CONFIG_SITE.Common.solaris-sparc-gnu | 2 -- configure/os/CONFIG_SITE.Common.solaris-sparc64 | 2 -- configure/os/CONFIG_SITE.Common.solaris-sparc64-gnu | 2 -- configure/os/CONFIG_SITE.Common.solaris-x86 | 2 -- configure/os/CONFIG_SITE.Common.solaris-x86-gnu | 2 -- configure/os/CONFIG_SITE.Common.solaris-x86_64 | 2 -- configure/os/CONFIG_SITE.Common.solaris-x86_64-gnu | 2 -- configure/os/CONFIG_SITE.Common.vxWorks-mpc8540 | 1 - configure/os/CONFIG_SITE.Common.vxWorks-mpc8548 | 1 - configure/os/CONFIG_SITE.Common.vxWorks-ppc603 | 1 - configure/os/CONFIG_SITE.Common.vxWorks-ppc603_long | 1 - configure/os/CONFIG_SITE.Common.vxWorks-ppc604 | 1 - configure/os/CONFIG_SITE.Common.vxWorks-ppc604_altivec | 1 - configure/os/CONFIG_SITE.Common.vxWorks-ppc604_long | 1 - configure/os/CONFIG_SITE.Common.win32-x86-cygwin | 2 -- configure/os/CONFIG_SITE.Common.win32-x86-mingw | 2 -- configure/os/CONFIG_SITE.cygwin-x86.Common | 3 --- configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 | 3 --- configure/os/CONFIG_SITE.darwin-ppc.Common | 3 --- configure/os/CONFIG_SITE.darwin-ppcx86.Common | 3 --- configure/os/CONFIG_SITE.darwin-x86.Common | 3 --- configure/os/CONFIG_SITE.darwinCommon.darwinCommon | 3 --- configure/os/CONFIG_SITE.linux-arm-debug.linux-arm-debug | 2 -- configure/os/CONFIG_SITE.linux-arm.linux-arm | 2 -- configure/os/CONFIG_SITE.linux-x86-borland.Common | 3 --- configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug | 2 -- configure/os/CONFIG_SITE.linux-x86.Common | 3 --- configure/os/CONFIG_SITE.linux-x86.UnixCommon | 1 - configure/os/CONFIG_SITE.linux-x86.linux-arm | 2 -- configure/os/CONFIG_SITE.linux-x86.linux-arm-debug | 2 -- configure/os/CONFIG_SITE.linux-x86.linux-arm_eb | 2 -- configure/os/CONFIG_SITE.linux-x86.linux-arm_el | 2 -- configure/os/CONFIG_SITE.linux-x86.linux-x86 | 2 -- configure/os/CONFIG_SITE.linux-x86.solaris-sparc | 3 --- configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 | 2 -- configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603 | 1 - configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603_long | 1 - configure/os/CONFIG_SITE.linux-x86.vxWorksCommon | 1 - .../os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug | 2 -- configure/os/CONFIG_SITE.linux-x86_64.Common | 3 --- configure/os/CONFIG_SITE.linux-x86_64.UnixCommon | 2 -- configure/os/CONFIG_SITE.linux-x86_64.linux-arm | 2 -- configure/os/CONFIG_SITE.linux-x86_64.linux-arm-debug | 2 -- configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 | 2 -- configure/os/CONFIG_SITE.linux-x86_64.vxWorks-68040 | 2 -- configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603 | 1 - configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603_long | 1 - configure/os/CONFIG_SITE.solaris-sparc.Common | 2 -- configure/os/CONFIG_SITE.win32-x86-borland.Common | 2 -- configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw | 2 -- configure/os/CONFIG_SITE.win32-x86.Common | 2 -- configure/os/CONFIG_SITE.win32-x86.win32-x86 | 1 - configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw | 2 -- 264 files changed, 3 insertions(+), 626 deletions(-) diff --git a/configure/CONFIG b/configure/CONFIG index cf7d638fd..24efbff86 100644 --- a/configure/CONFIG +++ b/configure/CONFIG @@ -6,8 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ # # Common build definitions diff --git a/configure/CONFIG.gnuCommon b/configure/CONFIG.gnuCommon index f0548024e..7aac818b9 100644 --- a/configure/CONFIG.gnuCommon +++ b/configure/CONFIG.gnuCommon @@ -7,7 +7,7 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -#-------------------------------------------------- + # GNU compiler defaults GNU = YES diff --git a/configure/CONFIG_ADDONS b/configure/CONFIG_ADDONS index 61ce7d380..10fc7c918 100644 --- a/configure/CONFIG_ADDONS +++ b/configure/CONFIG_ADDONS @@ -6,7 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # check for add-on CFLAGS and CXXFLAGS # diff --git a/configure/CONFIG_APP_INCLUDE b/configure/CONFIG_APP_INCLUDE index d8cefde31..77b3551c4 100644 --- a/configure/CONFIG_APP_INCLUDE +++ b/configure/CONFIG_APP_INCLUDE @@ -6,9 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# export TOP diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 77601e929..48337964d 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -7,8 +7,6 @@ # in the file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ -# # EPICS Version information # # Only the person making an official EPICS release should make changes in diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index 839c94283..50268b108 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -7,8 +7,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ -# # CONFIG_COMMON # # This file is to be maintained by the community. diff --git a/configure/CONFIG_ENV b/configure/CONFIG_ENV index 5fe70eab1..173dceaca 100644 --- a/configure/CONFIG_ENV +++ b/configure/CONFIG_ENV @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # Author: Andrew Johnson # Date: 20 April 1995 # diff --git a/configure/CONFIG_FILE_TYPE b/configure/CONFIG_FILE_TYPE index 0501e1949..df21eae0b 100644 --- a/configure/CONFIG_FILE_TYPE +++ b/configure/CONFIG_FILE_TYPE @@ -6,7 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # Macros and rules to create a new installation file type # diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE index 84301a0f7..a49cc76f2 100644 --- a/configure/CONFIG_SITE +++ b/configure/CONFIG_SITE @@ -6,8 +6,7 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ + # # CONFIG_SITE - Global site configuration file # diff --git a/configure/CONFIG_SITE_ENV b/configure/CONFIG_SITE_ENV index 41ebb09db..9605b29bb 100644 --- a/configure/CONFIG_SITE_ENV +++ b/configure/CONFIG_SITE_ENV @@ -6,7 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # Author: Andrew Johnson # Date: 1 May 1995 # diff --git a/configure/Makefile b/configure/Makefile index 333b801d6..a9a0747ff 100644 --- a/configure/Makefile +++ b/configure/Makefile @@ -7,9 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# TOP=.. diff --git a/configure/RULES b/configure/RULES index 74b33fdd9..bdc895a4d 100644 --- a/configure/RULES +++ b/configure/RULES @@ -7,7 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ ifndef T_A diff --git a/configure/RULES_ARCHS b/configure/RULES_ARCHS index 5dd343ff6..016869d1c 100644 --- a/configure/RULES_ARCHS +++ b/configure/RULES_ARCHS @@ -6,9 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# all: install diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 7b7ac07dc..80494cb84 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -6,7 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # # Rules for making things specified in Makefile # diff --git a/configure/RULES_DIRS b/configure/RULES_DIRS index 55e2ab562..7ed122072 100644 --- a/configure/RULES_DIRS +++ b/configure/RULES_DIRS @@ -6,10 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# - ARCHS += $(BUILD_ARCHS) ACTIONS += inc build install buildInstall clean realclean archclean diff --git a/configure/RULES_FILE_TYPE b/configure/RULES_FILE_TYPE index e4d459a0b..df2a30f04 100644 --- a/configure/RULES_FILE_TYPE +++ b/configure/RULES_FILE_TYPE @@ -6,9 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# # Include /configure/RULES_BUILD from tops defined in RELEASE* files # diff --git a/configure/RULES_JAVA b/configure/RULES_JAVA index 9b05f424f..9aa57500f 100644 --- a/configure/RULES_JAVA +++ b/configure/RULES_JAVA @@ -7,9 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -# - ifeq ($(BUILD_CLASS),HOST) diff --git a/configure/RULES_OCTAVE b/configure/RULES_OCTAVE index 149944be0..bd433dfc5 100644 --- a/configure/RULES_OCTAVE +++ b/configure/RULES_OCTAVE @@ -7,9 +7,7 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ -# -#------------------------------------------------------- + # Octave definitions and rules ifeq ($(findstring Host,$(VALID_BUILDS)),Host) diff --git a/configure/RULES_TARGET b/configure/RULES_TARGET index a073fafa8..fc5aa64f3 100644 --- a/configure/RULES_TARGET +++ b/configure/RULES_TARGET @@ -8,8 +8,6 @@ # in file LICENSE that is included with this distribution. #************************************************************************* # -# $Revision-Id$ -# # RULES_TARGET # # This file is to be maintained by the community. diff --git a/configure/RULES_TOP b/configure/RULES_TOP index 1898f591e..6d86564fb 100644 --- a/configure/RULES_TOP +++ b/configure/RULES_TOP @@ -6,9 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# include $(CONFIG)/RULES_DIRS diff --git a/configure/os/CONFIG.Common.RTEMS b/configure/os/CONFIG.Common.RTEMS index 9e6a1ad41..8425a9820 100644 --- a/configure/os/CONFIG.Common.RTEMS +++ b/configure/os/CONFIG.Common.RTEMS @@ -1,7 +1,6 @@ # # This file contains definitions for RTEMS builds # -# $Revision-Id$ # Author: W. Eric Norum # University of Saskatchewan # eric.norum@usask.ca diff --git a/configure/os/CONFIG.Common.RTEMS-beatnik b/configure/os/CONFIG.Common.RTEMS-beatnik index 714bb3782..00080e7fd 100644 --- a/configure/os/CONFIG.Common.RTEMS-beatnik +++ b/configure/os/CONFIG.Common.RTEMS-beatnik @@ -1,6 +1,5 @@ # # CONFIG.Common.RTEMS-beatnik -# $Revision-Id$ # Author: Dayle Kotturi # # All RTEMS targets use the same Makefile fragment diff --git a/configure/os/CONFIG.Common.RTEMS-gen68360 b/configure/os/CONFIG.Common.RTEMS-gen68360 index 3db935e9f..a6663afc2 100644 --- a/configure/os/CONFIG.Common.RTEMS-gen68360 +++ b/configure/os/CONFIG.Common.RTEMS-gen68360 @@ -1,5 +1,4 @@ # -# $Revision-Id$ # Author: W. Eric Norum # Canadian Light Source # eric@cls.usask.ca diff --git a/configure/os/CONFIG.Common.RTEMS-mcp750 b/configure/os/CONFIG.Common.RTEMS-mcp750 index 4d662a7e3..d834ad9ec 100644 --- a/configure/os/CONFIG.Common.RTEMS-mcp750 +++ b/configure/os/CONFIG.Common.RTEMS-mcp750 @@ -1,5 +1,4 @@ # -# $Revision-Id$ # Author: W. Eric Norum # Canadian Light Source # eric@cls.usask.ca diff --git a/configure/os/CONFIG.Common.RTEMS-mvme167 b/configure/os/CONFIG.Common.RTEMS-mvme167 index 3db935e9f..a6663afc2 100644 --- a/configure/os/CONFIG.Common.RTEMS-mvme167 +++ b/configure/os/CONFIG.Common.RTEMS-mvme167 @@ -1,5 +1,4 @@ # -# $Revision-Id$ # Author: W. Eric Norum # Canadian Light Source # eric@cls.usask.ca diff --git a/configure/os/CONFIG.Common.RTEMS-mvme2100 b/configure/os/CONFIG.Common.RTEMS-mvme2100 index aac3650fd..687af2374 100644 --- a/configure/os/CONFIG.Common.RTEMS-mvme2100 +++ b/configure/os/CONFIG.Common.RTEMS-mvme2100 @@ -1,6 +1,5 @@ # # CONFIG.Common.RTEMS-mvme2100 -# $Revision-Id$ # Author: W. Eric Norum # # All RTEMS targets use the same Makefile fragment diff --git a/configure/os/CONFIG.Common.RTEMS-mvme3100 b/configure/os/CONFIG.Common.RTEMS-mvme3100 index 5ee0757e5..cd9416ce7 100644 --- a/configure/os/CONFIG.Common.RTEMS-mvme3100 +++ b/configure/os/CONFIG.Common.RTEMS-mvme3100 @@ -1,6 +1,5 @@ # # CONFIG.Common.RTEMS-mvme3100 -# $Revision-Id$ # Author: W. Eric Norum # # All RTEMS targets use the same Makefile fragment diff --git a/configure/os/CONFIG.Common.RTEMS-mvme5500 b/configure/os/CONFIG.Common.RTEMS-mvme5500 index 39be35635..0c05b76a8 100644 --- a/configure/os/CONFIG.Common.RTEMS-mvme5500 +++ b/configure/os/CONFIG.Common.RTEMS-mvme5500 @@ -1,6 +1,5 @@ # # CONFIG.Common.RTEMS-mvme5500 -# $Revision-Id$ # Author: W. Eric Norum # # All RTEMS targets use the same Makefile fragment diff --git a/configure/os/CONFIG.Common.RTEMS-pc386 b/configure/os/CONFIG.Common.RTEMS-pc386 index 2b20b974a..b3150cc66 100644 --- a/configure/os/CONFIG.Common.RTEMS-pc386 +++ b/configure/os/CONFIG.Common.RTEMS-pc386 @@ -1,5 +1,4 @@ # -# $Revision-Id$ # Author: W. Eric Norum # Canadian Light Source # eric@cls.usask.ca diff --git a/configure/os/CONFIG.Common.RTEMS-psim b/configure/os/CONFIG.Common.RTEMS-psim index df0cb3687..230d72e1f 100644 --- a/configure/os/CONFIG.Common.RTEMS-psim +++ b/configure/os/CONFIG.Common.RTEMS-psim @@ -1,5 +1,4 @@ # -# $Revision-Id$ # Author: W. Eric Norum # University of Saskatchewan # eric.norum@usask.ca diff --git a/configure/os/CONFIG.Common.RTEMS-uC5282 b/configure/os/CONFIG.Common.RTEMS-uC5282 index 7dbc9d8fd..9c6a58d33 100644 --- a/configure/os/CONFIG.Common.RTEMS-uC5282 +++ b/configure/os/CONFIG.Common.RTEMS-uC5282 @@ -1,5 +1,4 @@ # -# $Revision-Id$ # Author: W. Eric Norum # Canadian Light Source # eric@cls.usask.ca diff --git a/configure/os/CONFIG.Common.UnixCommon b/configure/os/CONFIG.Common.UnixCommon index fa37e9b29..ce3414c6b 100644 --- a/configure/os/CONFIG.Common.UnixCommon +++ b/configure/os/CONFIG.Common.UnixCommon @@ -1,7 +1,5 @@ # CONFIG.Common.UnixCommon # -# $Revision-Id$ -# # Contains definitions common to all Unix target archs # # This file is maintained by the build community. diff --git a/configure/os/CONFIG.Common.cygwin-x86 b/configure/os/CONFIG.Common.cygwin-x86 index a0f542f3f..9ef6c4123 100644 --- a/configure/os/CONFIG.Common.cygwin-x86 +++ b/configure/os/CONFIG.Common.cygwin-x86 @@ -1,6 +1,5 @@ # CONFIG.Common.cygwin-x86 # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for cygwin-x86 target builds diff --git a/configure/os/CONFIG.Common.cygwin-x86_64 b/configure/os/CONFIG.Common.cygwin-x86_64 index 380e686be..aa78d75eb 100644 --- a/configure/os/CONFIG.Common.cygwin-x86_64 +++ b/configure/os/CONFIG.Common.cygwin-x86_64 @@ -1,6 +1,5 @@ # CONFIG.Common.cygwin-x86_64 # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for cygwin-x86_64 target builds diff --git a/configure/os/CONFIG.Common.darwin-ppc b/configure/os/CONFIG.Common.darwin-ppc index 18a8ee4f4..7ac704314 100644 --- a/configure/os/CONFIG.Common.darwin-ppc +++ b/configure/os/CONFIG.Common.darwin-ppc @@ -1,6 +1,5 @@ # CONFIG.Common.darwin-ppc # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for darwin-ppc target builds diff --git a/configure/os/CONFIG.Common.darwin-ppcx86 b/configure/os/CONFIG.Common.darwin-ppcx86 index 94236e2ef..12107944f 100644 --- a/configure/os/CONFIG.Common.darwin-ppcx86 +++ b/configure/os/CONFIG.Common.darwin-ppcx86 @@ -1,6 +1,5 @@ # CONFIG.Common.darwin-ppcx86 # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for Darwin universal PowerPC + x86 target builds diff --git a/configure/os/CONFIG.Common.darwin-x86 b/configure/os/CONFIG.Common.darwin-x86 index f20de7607..89650ea7d 100644 --- a/configure/os/CONFIG.Common.darwin-x86 +++ b/configure/os/CONFIG.Common.darwin-x86 @@ -1,6 +1,5 @@ # CONFIG.Common.darwin-x86 # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for darwin-x86 target builds diff --git a/configure/os/CONFIG.Common.freebsd-x86 b/configure/os/CONFIG.Common.freebsd-x86 index bf4945390..f0f18851f 100644 --- a/configure/os/CONFIG.Common.freebsd-x86 +++ b/configure/os/CONFIG.Common.freebsd-x86 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file is maintained by the build community. # diff --git a/configure/os/CONFIG.Common.freebsd-x86_64 b/configure/os/CONFIG.Common.freebsd-x86_64 index 92b99bd8e..f10be1058 100644 --- a/configure/os/CONFIG.Common.freebsd-x86_64 +++ b/configure/os/CONFIG.Common.freebsd-x86_64 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file is maintained by the build community. # diff --git a/configure/os/CONFIG.Common.freebsdCommon b/configure/os/CONFIG.Common.freebsdCommon index 0eafd7511..36796b758 100644 --- a/configure/os/CONFIG.Common.freebsdCommon +++ b/configure/os/CONFIG.Common.freebsdCommon @@ -1,4 +1,3 @@ -# $Revision-Id$ # # This file is maintained by the build community. # diff --git a/configure/os/CONFIG.Common.ios-arm b/configure/os/CONFIG.Common.ios-arm index cc297b627..acca27d8c 100644 --- a/configure/os/CONFIG.Common.ios-arm +++ b/configure/os/CONFIG.Common.ios-arm @@ -1,6 +1,5 @@ # CONFIG.Common.ios-arm # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for ios-arm target builds diff --git a/configure/os/CONFIG.Common.ios-x86 b/configure/os/CONFIG.Common.ios-x86 index a8175a34e..6031629c5 100644 --- a/configure/os/CONFIG.Common.ios-x86 +++ b/configure/os/CONFIG.Common.ios-x86 @@ -1,6 +1,5 @@ # CONFIG.Common.ios-x86 # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for ios-x86 target builds diff --git a/configure/os/CONFIG.Common.iosCommon b/configure/os/CONFIG.Common.iosCommon index 90a5e49dd..29a86f193 100644 --- a/configure/os/CONFIG.Common.iosCommon +++ b/configure/os/CONFIG.Common.iosCommon @@ -1,6 +1,5 @@ # CONFIG.Common.iosCommon # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for all Apple iOS builds diff --git a/configure/os/CONFIG.Common.linux-386 b/configure/os/CONFIG.Common.linux-386 index 5d01a0fbf..28f2b421b 100644 --- a/configure/os/CONFIG.Common.linux-386 +++ b/configure/os/CONFIG.Common.linux-386 @@ -1,6 +1,5 @@ # CONFIG.Common.linux-386 # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for linux-386 target builds diff --git a/configure/os/CONFIG.Common.linux-486 b/configure/os/CONFIG.Common.linux-486 index 6a39e52db..b4184220b 100644 --- a/configure/os/CONFIG.Common.linux-486 +++ b/configure/os/CONFIG.Common.linux-486 @@ -1,8 +1,5 @@ # CONFIG.Common.linux-486 # -# $Id -# This file is maintained by the build community. -# # Definitions for linux-486 target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-486 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-586 b/configure/os/CONFIG.Common.linux-586 index f6cc20612..58b9fd5a8 100644 --- a/configure/os/CONFIG.Common.linux-586 +++ b/configure/os/CONFIG.Common.linux-586 @@ -1,8 +1,5 @@ # CONFIG.Common.linux-586 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-586 target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-586 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-686 b/configure/os/CONFIG.Common.linux-686 index d275d7e3c..d07f7e03f 100644 --- a/configure/os/CONFIG.Common.linux-686 +++ b/configure/os/CONFIG.Common.linux-686 @@ -1,8 +1,5 @@ # CONFIG.Common.linux-686 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-686 target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-686 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-arm-debug b/configure/os/CONFIG.Common.linux-arm-debug index 3f4b40102..c2a0e99eb 100644 --- a/configure/os/CONFIG.Common.linux-arm-debug +++ b/configure/os/CONFIG.Common.linux-arm-debug @@ -1,8 +1,5 @@ # CONFIG.Common.linux-arm-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-arm with debug compiler flags # Override these settings in CONFIG_SITE.Common.linux-arm-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-arm_eb b/configure/os/CONFIG.Common.linux-arm_eb index c02f6392e..69a255020 100644 --- a/configure/os/CONFIG.Common.linux-arm_eb +++ b/configure/os/CONFIG.Common.linux-arm_eb @@ -1,7 +1,5 @@ # CONFIG.Common.linux-arm_eb # -# This file is maintained by the build community. -# # Definitions for linux-arm_eb (big endian) target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-arm_eb #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-arm_el b/configure/os/CONFIG.Common.linux-arm_el index e076f92ad..40701b616 100644 --- a/configure/os/CONFIG.Common.linux-arm_el +++ b/configure/os/CONFIG.Common.linux-arm_el @@ -1,7 +1,5 @@ # CONFIG.Common.linux-arm_el # -# This file is maintained by the build community. -# # Definitions for linux-arm_el (little endian) target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-arm_el #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-athlon b/configure/os/CONFIG.Common.linux-athlon index e392d27cc..69f20a81d 100644 --- a/configure/os/CONFIG.Common.linux-athlon +++ b/configure/os/CONFIG.Common.linux-athlon @@ -1,8 +1,5 @@ # CONFIG.Common.linux-athlon # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-athlon target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-athlon #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-ppc b/configure/os/CONFIG.Common.linux-ppc index 5fb9d9fb3..8eddca06e 100644 --- a/configure/os/CONFIG.Common.linux-ppc +++ b/configure/os/CONFIG.Common.linux-ppc @@ -1,7 +1,5 @@ # CONFIG.Common.linux-ppc # -# This file is maintained by the build community. -# # Definitions for linux-ppc target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-ppc #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-ppc64 b/configure/os/CONFIG.Common.linux-ppc64 index b2a1c8280..b2c754bad 100644 --- a/configure/os/CONFIG.Common.linux-ppc64 +++ b/configure/os/CONFIG.Common.linux-ppc64 @@ -1,8 +1,5 @@ # CONFIG.Common.linux-ppc64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-ppc64 target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-ppc64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-x86 b/configure/os/CONFIG.Common.linux-x86 index f5157dc13..85bccd730 100644 --- a/configure/os/CONFIG.Common.linux-x86 +++ b/configure/os/CONFIG.Common.linux-x86 @@ -1,8 +1,5 @@ # CONFIG.Common.linux-x86 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86 target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-x86 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-x86-borland b/configure/os/CONFIG.Common.linux-x86-borland index d4635eb86..652ff1c48 100644 --- a/configure/os/CONFIG.Common.linux-x86-borland +++ b/configure/os/CONFIG.Common.linux-x86-borland @@ -1,8 +1,5 @@ # CONFIG.Common.linux-x86-borland # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86 target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-x86-borland #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-x86-debug b/configure/os/CONFIG.Common.linux-x86-debug index 9435e2f65..1a7eb09d6 100644 --- a/configure/os/CONFIG.Common.linux-x86-debug +++ b/configure/os/CONFIG.Common.linux-x86-debug @@ -1,8 +1,5 @@ # CONFIG.Common.linux-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86 with debug compiler flags # Sites may override these definitions in CONFIG_SITE.Common.linux-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-x86_64 b/configure/os/CONFIG.Common.linux-x86_64 index e798de23f..0057b723e 100644 --- a/configure/os/CONFIG.Common.linux-x86_64 +++ b/configure/os/CONFIG.Common.linux-x86_64 @@ -1,8 +1,5 @@ # CONFIG.Common.linux-x86_64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86_64 target builds # Sites may override these definitions in CONFIG_SITE.Common.linux-x86_64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-x86_64-debug b/configure/os/CONFIG.Common.linux-x86_64-debug index e3145e0f3..b0a382b52 100644 --- a/configure/os/CONFIG.Common.linux-x86_64-debug +++ b/configure/os/CONFIG.Common.linux-x86_64-debug @@ -1,8 +1,5 @@ # CONFIG.Common.linux-x86_64-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86_64 with debug compiler flags # Sites may override these definitions in CONFIG_SITE.Common.linux-x86_64-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.linux-xscale_be b/configure/os/CONFIG.Common.linux-xscale_be index f5c9ea8ee..8597aa208 100644 --- a/configure/os/CONFIG.Common.linux-xscale_be +++ b/configure/os/CONFIG.Common.linux-xscale_be @@ -1,7 +1,5 @@ # CONFIG.Common.linux-xscale_be # -# This file is maintained by the build community. -# # Definitions for linux-xscale_be (big-endian) target builds. # This target has been tested with the MOXA UC-7408-LX Plus. diff --git a/configure/os/CONFIG.Common.linuxCommon b/configure/os/CONFIG.Common.linuxCommon index faee4a7b2..dc6979b68 100644 --- a/configure/os/CONFIG.Common.linuxCommon +++ b/configure/os/CONFIG.Common.linuxCommon @@ -1,8 +1,5 @@ # CONFIG.Common.linuxCommon # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux target builds # Sites may override these definitions in CONFIG_SITE.Common.linuxCommon #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-sparc b/configure/os/CONFIG.Common.solaris-sparc index 6f43ae4fa..f521d2270 100644 --- a/configure/os/CONFIG.Common.solaris-sparc +++ b/configure/os/CONFIG.Common.solaris-sparc @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-sparc # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-sparc-debug b/configure/os/CONFIG.Common.solaris-sparc-debug index 5d6a554ae..d2d58f33e 100644 --- a/configure/os/CONFIG.Common.solaris-sparc-debug +++ b/configure/os/CONFIG.Common.solaris-sparc-debug @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-sparc-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc with debug compiler flags # Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-sparc-gnu b/configure/os/CONFIG.Common.solaris-sparc-gnu index e1b7e4b28..b40714a04 100644 --- a/configure/os/CONFIG.Common.solaris-sparc-gnu +++ b/configure/os/CONFIG.Common.solaris-sparc-gnu @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-sparc-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc gnu compiler target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-sparc64 b/configure/os/CONFIG.Common.solaris-sparc64 index 399e9e29a..f6da3be3f 100644 --- a/configure/os/CONFIG.Common.solaris-sparc64 +++ b/configure/os/CONFIG.Common.solaris-sparc64 @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-sparc64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc64 compiler target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-sparc64-gnu b/configure/os/CONFIG.Common.solaris-sparc64-gnu index 9e65f7c33..d82f91273 100644 --- a/configure/os/CONFIG.Common.solaris-sparc64-gnu +++ b/configure/os/CONFIG.Common.solaris-sparc64-gnu @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-sparc64-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc64 gnu compiler target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc64-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-x86 b/configure/os/CONFIG.Common.solaris-x86 index 6dc67fb5d..323fd942b 100644 --- a/configure/os/CONFIG.Common.solaris-x86 +++ b/configure/os/CONFIG.Common.solaris-x86 @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-x86 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-x86 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-x86-gnu b/configure/os/CONFIG.Common.solaris-x86-gnu index 25a63edbe..a1fc34081 100644 --- a/configure/os/CONFIG.Common.solaris-x86-gnu +++ b/configure/os/CONFIG.Common.solaris-x86-gnu @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-x86-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 gnu compiler target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-x86-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-x86_64 b/configure/os/CONFIG.Common.solaris-x86_64 index c6c6fa996..509fc8e7c 100644 --- a/configure/os/CONFIG.Common.solaris-x86_64 +++ b/configure/os/CONFIG.Common.solaris-x86_64 @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-x86_64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86_64 compiler target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-x86_64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.solaris-x86_64-gnu b/configure/os/CONFIG.Common.solaris-x86_64-gnu index 39b2f27ad..5bae0cee9 100644 --- a/configure/os/CONFIG.Common.solaris-x86_64-gnu +++ b/configure/os/CONFIG.Common.solaris-x86_64-gnu @@ -1,8 +1,5 @@ # CONFIG.Common.solaris-x86_64-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86_64 gnu compiler target archs # Sites may override these definitions in CONFIG_SITE.Common.solaris-x86_64-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-486 b/configure/os/CONFIG.Common.vxWorks-486 index b048a2be4..eaf66581a 100644 --- a/configure/os/CONFIG.Common.vxWorks-486 +++ b/configure/os/CONFIG.Common.vxWorks-486 @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-486 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-486 target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-486 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-486-debug b/configure/os/CONFIG.Common.vxWorks-486-debug index ad0fc1b6f..3caefe1e5 100644 --- a/configure/os/CONFIG.Common.vxWorks-486-debug +++ b/configure/os/CONFIG.Common.vxWorks-486-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-486-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-486-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-486-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-68040 b/configure/os/CONFIG.Common.vxWorks-68040 index 025b3d87d..a41c74647 100644 --- a/configure/os/CONFIG.Common.vxWorks-68040 +++ b/configure/os/CONFIG.Common.vxWorks-68040 @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-68040 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-68040 target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-68040-debug b/configure/os/CONFIG.Common.vxWorks-68040-debug index dc864deef..c30a49730 100644 --- a/configure/os/CONFIG.Common.vxWorks-68040-debug +++ b/configure/os/CONFIG.Common.vxWorks-68040-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-68040-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-68040-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-68040lc b/configure/os/CONFIG.Common.vxWorks-68040lc index ce26bca4d..9df4abd51 100644 --- a/configure/os/CONFIG.Common.vxWorks-68040lc +++ b/configure/os/CONFIG.Common.vxWorks-68040lc @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-68040lc # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-68040lc target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040lc #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-68040lc-debug b/configure/os/CONFIG.Common.vxWorks-68040lc-debug index a3478b714..149b01dcd 100644 --- a/configure/os/CONFIG.Common.vxWorks-68040lc-debug +++ b/configure/os/CONFIG.Common.vxWorks-68040lc-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-68040lc-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-68040lc-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040lc-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-68060 b/configure/os/CONFIG.Common.vxWorks-68060 index 25cd88cd2..312ab61bd 100644 --- a/configure/os/CONFIG.Common.vxWorks-68060 +++ b/configure/os/CONFIG.Common.vxWorks-68060 @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-68060 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-68060 target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68060 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-68060-debug b/configure/os/CONFIG.Common.vxWorks-68060-debug index 8c9b79728..282538457 100644 --- a/configure/os/CONFIG.Common.vxWorks-68060-debug +++ b/configure/os/CONFIG.Common.vxWorks-68060-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-68060-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-68060-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68060-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-mpc8540 b/configure/os/CONFIG.Common.vxWorks-mpc8540 index 2b684417b..451145bde 100644 --- a/configure/os/CONFIG.Common.vxWorks-mpc8540 +++ b/configure/os/CONFIG.Common.vxWorks-mpc8540 @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-mpc8540 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-mpc8540 target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-mpc8540-debug b/configure/os/CONFIG.Common.vxWorks-mpc8540-debug index 2f87b5365..800478729 100644 --- a/configure/os/CONFIG.Common.vxWorks-mpc8540-debug +++ b/configure/os/CONFIG.Common.vxWorks-mpc8540-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-mpc8540-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-mpc8540-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-mpc8548 b/configure/os/CONFIG.Common.vxWorks-mpc8548 index 1dd6a1c3b..d7a759136 100644 --- a/configure/os/CONFIG.Common.vxWorks-mpc8548 +++ b/configure/os/CONFIG.Common.vxWorks-mpc8548 @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-mpc8548 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-mpc8548 target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548 #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-mpc8548-debug b/configure/os/CONFIG.Common.vxWorks-mpc8548-debug index d258a16e8..37ae1fa35 100644 --- a/configure/os/CONFIG.Common.vxWorks-mpc8548-debug +++ b/configure/os/CONFIG.Common.vxWorks-mpc8548-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-mpc8548-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-mpc8548-debug targets. # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-pentium b/configure/os/CONFIG.Common.vxWorks-pentium index abec33c6a..9aee09ca8 100644 --- a/configure/os/CONFIG.Common.vxWorks-pentium +++ b/configure/os/CONFIG.Common.vxWorks-pentium @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-pentium # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-pentium target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-pentium #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-pentium-debug b/configure/os/CONFIG.Common.vxWorks-pentium-debug index c1e40efb9..f01fe4ce2 100644 --- a/configure/os/CONFIG.Common.vxWorks-pentium-debug +++ b/configure/os/CONFIG.Common.vxWorks-pentium-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-pentium-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-pentium-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-pentium-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-ppc32 b/configure/os/CONFIG.Common.vxWorks-ppc32 index a8508758b..4e208b59b 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc32 +++ b/configure/os/CONFIG.Common.vxWorks-ppc32 @@ -1,9 +1,7 @@ -# $Revision-Id$ # # Definitions for vxWorks-ppc603 targets with >32MB of RAM # Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc603_long # -# This file is maintained by the EPICS build community. #------------------------------------------------------- # Include definitions common to all vxWorks target archs diff --git a/configure/os/CONFIG.Common.vxWorks-ppc32-debug b/configure/os/CONFIG.Common.vxWorks-ppc32-debug index bb46c7aba..5c7907f25 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc32-debug +++ b/configure/os/CONFIG.Common.vxWorks-ppc32-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-ppc32-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-ppc32-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc32-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-ppc32sf b/configure/os/CONFIG.Common.vxWorks-ppc32sf index 0c1dccd84..26e0cc218 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc32sf +++ b/configure/os/CONFIG.Common.vxWorks-ppc32sf @@ -1,9 +1,7 @@ -# $Revision-Id$ # # Definitions for vxWorks-ppc32sf targets # Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc32sf # -# This file is maintained by the EPICS build community. #------------------------------------------------------- # Inherit the settings from vxWorks-ppc32 diff --git a/configure/os/CONFIG.Common.vxWorks-ppc32sf-debug b/configure/os/CONFIG.Common.vxWorks-ppc32sf-debug index dd2a350bb..e8d5aea3f 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc32sf-debug +++ b/configure/os/CONFIG.Common.vxWorks-ppc32sf-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-ppc32sf-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-ppc32sf-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc32sf-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-ppc603 b/configure/os/CONFIG.Common.vxWorks-ppc603 index 020c3ec24..3b0e73b3d 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc603 +++ b/configure/os/CONFIG.Common.vxWorks-ppc603 @@ -1,9 +1,7 @@ -# $Revision-Id$ # # Definitions for vxWorks-ppc603 targets: PPC603 and PMC8240 CPUs # Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc603 # -# This file is maintained by the EPICS build community. #------------------------------------------------------- # Include definitions common to all vxWorks target archs diff --git a/configure/os/CONFIG.Common.vxWorks-ppc603-debug b/configure/os/CONFIG.Common.vxWorks-ppc603-debug index 6a11c5489..0e4157955 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc603-debug +++ b/configure/os/CONFIG.Common.vxWorks-ppc603-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-ppc603-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-ppc603-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc603-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-ppc603_long b/configure/os/CONFIG.Common.vxWorks-ppc603_long index 71a9374dd..4a61eef14 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc603_long +++ b/configure/os/CONFIG.Common.vxWorks-ppc603_long @@ -1,9 +1,7 @@ -# $Revision-Id$ # # Definitions for vxWorks-ppc603 targets with >32MB of RAM # Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc603_long # -# This file is maintained by the EPICS build community. #------------------------------------------------------- # Inherit the settings from vxWorks-ppc603 diff --git a/configure/os/CONFIG.Common.vxWorks-ppc603_long-debug b/configure/os/CONFIG.Common.vxWorks-ppc603_long-debug index 20d60a43a..7eab4376f 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc603_long-debug +++ b/configure/os/CONFIG.Common.vxWorks-ppc603_long-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-ppc603_long-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-ppc603_long-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc603_long-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604 b/configure/os/CONFIG.Common.vxWorks-ppc604 index 7bb94300f..45115a876 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604 +++ b/configure/os/CONFIG.Common.vxWorks-ppc604 @@ -1,9 +1,7 @@ -# $Revision-Id$ # # Definitions for vxWorks-ppc604 targets: PPC604, MPC7xx and MPC74xx CPUs # Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc604 # -# This file is maintained by the EPICS build community. #------------------------------------------------------- # Include definitions common to all vxWorks target archs diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604-debug b/configure/os/CONFIG.Common.vxWorks-ppc604-debug index b476071c4..ac66b68aa 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604-debug +++ b/configure/os/CONFIG.Common.vxWorks-ppc604-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-ppc604-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-ppc604-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc604-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604_altivec b/configure/os/CONFIG.Common.vxWorks-ppc604_altivec index 540b4528a..d0becf2f7 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604_altivec +++ b/configure/os/CONFIG.Common.vxWorks-ppc604_altivec @@ -1,9 +1,7 @@ -# $Revision-Id$ # # Definitions for vxWorks-ppc604 targets with an Altivec and >32MB of RAM. # Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc604_altivec # -# This file is maintained by the EPICS build community. #------------------------------------------------------- # Inherit the settings from vxWorks-ppc604_long diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604_altivec-debug b/configure/os/CONFIG.Common.vxWorks-ppc604_altivec-debug index 0a74858fd..b7e1307a5 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604_altivec-debug +++ b/configure/os/CONFIG.Common.vxWorks-ppc604_altivec-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-ppc604_altivec-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-ppc604_altivec-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc604_altivec-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604_long b/configure/os/CONFIG.Common.vxWorks-ppc604_long index 41261381f..a90cc897b 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604_long +++ b/configure/os/CONFIG.Common.vxWorks-ppc604_long @@ -1,9 +1,7 @@ -# $Revision-Id$ # # Definitions for vxWorks-ppc604 targets with >32MB of RAM # Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc604_long # -# This file is maintained by the EPICS build community. #------------------------------------------------------- # Inherit the settings from vxWorks-ppc604 diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604_long-debug b/configure/os/CONFIG.Common.vxWorks-ppc604_long-debug index 7831bb8b5..fa6bfe8f8 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604_long-debug +++ b/configure/os/CONFIG.Common.vxWorks-ppc604_long-debug @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorks-ppc604_long-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks-ppc604_long-debug target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc604_long-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.vxWorksCommon b/configure/os/CONFIG.Common.vxWorksCommon index ee6efa934..0696e3e22 100644 --- a/configure/os/CONFIG.Common.vxWorksCommon +++ b/configure/os/CONFIG.Common.vxWorksCommon @@ -1,8 +1,5 @@ # CONFIG.Common.vxWorksCommon # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for vxWorks target archs # Sites may override these definitions in CONFIG_SITE.Common.vxWorksCommon # or CONFIG_SITE..vxWorksCommon diff --git a/configure/os/CONFIG.Common.win32-x86-cygwin b/configure/os/CONFIG.Common.win32-x86-cygwin index 5e63bf399..4a1447994 100644 --- a/configure/os/CONFIG.Common.win32-x86-cygwin +++ b/configure/os/CONFIG.Common.win32-x86-cygwin @@ -1,8 +1,5 @@ # CONFIG.Common.win32-x86-cygwin # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for cygwin-x86 target builds # Sites may override these definitions in CONFIG_SITE.Common.win32-x86-cygwin #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.win32-x86-mingw b/configure/os/CONFIG.Common.win32-x86-mingw index 7ff9b5fe5..a8390e6ef 100644 --- a/configure/os/CONFIG.Common.win32-x86-mingw +++ b/configure/os/CONFIG.Common.win32-x86-mingw @@ -1,8 +1,5 @@ # CONFIG.Common.win32-x86-mingw # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-mingw target builds # Sites may override these definitions in CONFIG_SITE.Common.win32-x86-mingw #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.windows-x64-mingw b/configure/os/CONFIG.Common.windows-x64-mingw index b2943af16..c2623bd39 100644 --- a/configure/os/CONFIG.Common.windows-x64-mingw +++ b/configure/os/CONFIG.Common.windows-x64-mingw @@ -1,8 +1,5 @@ # CONFIG.Common.windows-x64-mingw # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64-mingw target builds # Sites may override these definitions in CONFIG_SITE.Common.windows-x64-mingw #------------------------------------------------------- diff --git a/configure/os/CONFIG.UnixCommon.Common b/configure/os/CONFIG.UnixCommon.Common index 13044f914..906c7079d 100644 --- a/configure/os/CONFIG.UnixCommon.Common +++ b/configure/os/CONFIG.UnixCommon.Common @@ -1,8 +1,5 @@ # CONFIG.UnixCommon.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions common to unix hosts # Sites may override these definitions in CONFIG_SITE.UnixCommon.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.aix-ppc-gnu.Common b/configure/os/CONFIG.aix-ppc-gnu.Common index 3364a14c0..fee4ba0a4 100644 --- a/configure/os/CONFIG.aix-ppc-gnu.Common +++ b/configure/os/CONFIG.aix-ppc-gnu.Common @@ -1,8 +1,5 @@ # CONFIG.aix-ppc-gnu.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for aix-ppc gnu compiler host builds # Sites may override these definitions in CONFIG_SITE.aix-ppc-gnu.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.aix-ppc-gnu.aix-ppc-gnu b/configure/os/CONFIG.aix-ppc-gnu.aix-ppc-gnu index 989bda8ff..a8b8f4c3c 100644 --- a/configure/os/CONFIG.aix-ppc-gnu.aix-ppc-gnu +++ b/configure/os/CONFIG.aix-ppc-gnu.aix-ppc-gnu @@ -1,6 +1,5 @@ # CONFIG.aix-ppc-gnu.aix-ppc-gnu # -# # Definitions for aix-ppc-gnu host - aix-ppc-gnu target builds # Sites may override these definitions in CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.aix-ppc.Common b/configure/os/CONFIG.aix-ppc.Common index d791599e1..67833777b 100644 --- a/configure/os/CONFIG.aix-ppc.Common +++ b/configure/os/CONFIG.aix-ppc.Common @@ -1,7 +1,5 @@ # CONFIG.aix-ppc.Common # -# This file is maintained by the build community. -# # Definitions for aix-ppc host builds # Sites may override these definitions in CONFIG_SITE.aix-ppc.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.cygwin-x86.Common b/configure/os/CONFIG.cygwin-x86.Common index d0e59a618..1fffc7b4c 100644 --- a/configure/os/CONFIG.cygwin-x86.Common +++ b/configure/os/CONFIG.cygwin-x86.Common @@ -1,8 +1,5 @@ # CONFIG.cygwin-x86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for cygwin-x86 host archs # Sites may override these definitions in CONFIG_SITE.cygwin-x86.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.cygwin-x86.cygwin-x86 b/configure/os/CONFIG.cygwin-x86.cygwin-x86 index 37f365249..965a524aa 100644 --- a/configure/os/CONFIG.cygwin-x86.cygwin-x86 +++ b/configure/os/CONFIG.cygwin-x86.cygwin-x86 @@ -1,7 +1,5 @@ # CONFIG.cygwin-x86.cygwin-x86 # -# $Revision-Id$ -# # Definitions for cygwin-x86 host - cygwin-x86 target builds # Sites may override these definitions in CONFIG_SITE.cygwin-x86.cygwin-x86 #------------------------------------------------------- diff --git a/configure/os/CONFIG.cygwin-x86.cygwin-x86-debug b/configure/os/CONFIG.cygwin-x86.cygwin-x86-debug index 67f380a9d..d51734542 100644 --- a/configure/os/CONFIG.cygwin-x86.cygwin-x86-debug +++ b/configure/os/CONFIG.cygwin-x86.cygwin-x86-debug @@ -1,8 +1,5 @@ # CONFIG.cygwin-x86.cygwin-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for cygwin-x86 host - cygwin-x86-debug target build # Sites may override these definitions in CONFIG_SITE.cygwin-x86.cygwin-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.cygwin-x86_64.Common b/configure/os/CONFIG.cygwin-x86_64.Common index ff6c3e2c8..06c2fc0d3 100644 --- a/configure/os/CONFIG.cygwin-x86_64.Common +++ b/configure/os/CONFIG.cygwin-x86_64.Common @@ -1,8 +1,5 @@ # CONFIG.cygwin-x86_64.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for cygwin-x86_64 host archs # Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 b/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 index 20a52a6d8..3a52fdd72 100644 --- a/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 +++ b/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 @@ -1,7 +1,5 @@ # CONFIG.cygwin-x86_64.cygwin-x86_64 # -# $Revision-Id$ -# # Definitions for cygwin-x86_64 host - cygwin-x86_64 target builds # Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.cygwin-x86_64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.darwin-ppc.Common b/configure/os/CONFIG.darwin-ppc.Common index 925d381f2..ac176878f 100644 --- a/configure/os/CONFIG.darwin-ppc.Common +++ b/configure/os/CONFIG.darwin-ppc.Common @@ -1,8 +1,5 @@ # CONFIG.darwin-ppc.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for darwin-ppc host builds # Sites may override these definitions in CONFIG_SITE.darwin-ppc.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.darwin-ppc.darwin-ppc-debug b/configure/os/CONFIG.darwin-ppc.darwin-ppc-debug index 47ad7f818..985052031 100644 --- a/configure/os/CONFIG.darwin-ppc.darwin-ppc-debug +++ b/configure/os/CONFIG.darwin-ppc.darwin-ppc-debug @@ -1,8 +1,5 @@ # CONFIG.darwin-ppc.darwin-ppc-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for darwin-ppc host - darwin-ppc-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.darwin-ppc.darwin-ppc-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.darwin-ppcx86.Common b/configure/os/CONFIG.darwin-ppcx86.Common index f4155c76d..749835ced 100644 --- a/configure/os/CONFIG.darwin-ppcx86.Common +++ b/configure/os/CONFIG.darwin-ppcx86.Common @@ -1,8 +1,5 @@ # CONFIG.darwin-ppcx86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for Darwin universal PowerPC + x86 host builds # Sites may override these definitions in CONFIG_SITE.darwin-ppcx86.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.darwin-x86.Common b/configure/os/CONFIG.darwin-x86.Common index 1e02a0b2b..e779f7dc1 100644 --- a/configure/os/CONFIG.darwin-x86.Common +++ b/configure/os/CONFIG.darwin-x86.Common @@ -1,8 +1,5 @@ # CONFIG.darwin-x86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for darwin-x86 host builds # Sites may override these definitions in CONFIG_SITE.darwin-x86.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.darwin-x86.darwin-x86-debug b/configure/os/CONFIG.darwin-x86.darwin-x86-debug index 9a551540a..3bf4db63f 100644 --- a/configure/os/CONFIG.darwin-x86.darwin-x86-debug +++ b/configure/os/CONFIG.darwin-x86.darwin-x86-debug @@ -1,8 +1,5 @@ # CONFIG.darwin-x86.darwin-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for darwin-x86 host - darwin-x86-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.darwin-x86.darwin-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.darwinCommon.darwinCommon b/configure/os/CONFIG.darwinCommon.darwinCommon index 82b9b4344..32d9aa1fd 100644 --- a/configure/os/CONFIG.darwinCommon.darwinCommon +++ b/configure/os/CONFIG.darwinCommon.darwinCommon @@ -1,8 +1,5 @@ # CONFIG.darwinCommon.darwinCommon # -# $Revision-Id$ -# This file is maintained by the build community. -# # Common definitions for darwin builds # Sites may override these definitions in CONFIG_SITE.darwinCommon.darwinCommon #------------------------------------------------------- diff --git a/configure/os/CONFIG.freebsd-x86.Common b/configure/os/CONFIG.freebsd-x86.Common index d9b2ff892..1bd10de2d 100644 --- a/configure/os/CONFIG.freebsd-x86.Common +++ b/configure/os/CONFIG.freebsd-x86.Common @@ -1,6 +1,3 @@ -# $Revision-Id$ -# -# This file is maintained by the build community. # # Definitions for freebsd host builds # Sites may override these definitions in CONFIG_SITE.freebsd-x86.Common diff --git a/configure/os/CONFIG.freebsd-x86.freebsd-x86 b/configure/os/CONFIG.freebsd-x86.freebsd-x86 index b70c48388..b5e2bcff4 100644 --- a/configure/os/CONFIG.freebsd-x86.freebsd-x86 +++ b/configure/os/CONFIG.freebsd-x86.freebsd-x86 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Definitions for freebsd-x86 host - freebsd-x86 target builds # Sites may override these definitions in CONFIG_SITE.freebsd-x86.freebsd-x86 diff --git a/configure/os/CONFIG.freebsd-x86_64.Common b/configure/os/CONFIG.freebsd-x86_64.Common index 9e3ecac5c..397bf12f6 100644 --- a/configure/os/CONFIG.freebsd-x86_64.Common +++ b/configure/os/CONFIG.freebsd-x86_64.Common @@ -1,6 +1,3 @@ -# $Revision-Id$ -# -# This file is maintained by the build community. # # Definitions for freebsd host builds # Sites may override these definitions in CONFIG_SITE.freebsd-x86_64.Common diff --git a/configure/os/CONFIG.freebsd-x86_64.freebsd-x86_64 b/configure/os/CONFIG.freebsd-x86_64.freebsd-x86_64 index dde69899a..dcc8888ce 100644 --- a/configure/os/CONFIG.freebsd-x86_64.freebsd-x86_64 +++ b/configure/os/CONFIG.freebsd-x86_64.freebsd-x86_64 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Definitions for freebsd-x86_64 host - freebsd-x86_64 target builds # Sites may override these definitions in CONFIG_SITE.freebsd-x86_64.freebsd-x86_64 diff --git a/configure/os/CONFIG.linux-arm-debug.Common b/configure/os/CONFIG.linux-arm-debug.Common index 16ea60420..66dd0c89e 100644 --- a/configure/os/CONFIG.linux-arm-debug.Common +++ b/configure/os/CONFIG.linux-arm-debug.Common @@ -1,8 +1,5 @@ # CONFIG.linux-arm-debug.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-arm-debug host builds # Override these settings in CONFIG_SITE.linux-arm-debug.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-arm-debug.linux-arm-debug b/configure/os/CONFIG.linux-arm-debug.linux-arm-debug index 2567008aa..6e38378ee 100644 --- a/configure/os/CONFIG.linux-arm-debug.linux-arm-debug +++ b/configure/os/CONFIG.linux-arm-debug.linux-arm-debug @@ -1,8 +1,5 @@ # CONFIG.linux-arm-debug.linux-arm-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-arm-debug host and target build # Override these settings in CONFIG_SITE.linux-arm-debug.linux-arm-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-arm.Common b/configure/os/CONFIG.linux-arm.Common index 788f594d7..9ad637827 100644 --- a/configure/os/CONFIG.linux-arm.Common +++ b/configure/os/CONFIG.linux-arm.Common @@ -1,7 +1,5 @@ # CONFIG.linux-arm.Common # -# $Revision-Id$ -# # Definitions for linux-arm host builds # Sites may override these definitions in CONFIG_SITE.linux-arm.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-arm.linux-arm b/configure/os/CONFIG.linux-arm.linux-arm index e52660f14..2e7687d0a 100644 --- a/configure/os/CONFIG.linux-arm.linux-arm +++ b/configure/os/CONFIG.linux-arm.linux-arm @@ -1,7 +1,5 @@ # CONFIG.linux-arm.linux-arm # -# $Revision-Id$ -# # Definitions for native linux-arm builds # Sites may override these definitions in CONFIG_SITE.linux-arm.linux-arm #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-arm.linux-arm-debug b/configure/os/CONFIG.linux-arm.linux-arm-debug index d6e86be18..0fb2fca27 100644 --- a/configure/os/CONFIG.linux-arm.linux-arm-debug +++ b/configure/os/CONFIG.linux-arm.linux-arm-debug @@ -1,8 +1,5 @@ # CONFIG.linux-arm.linux-arm-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-arm host - linux-arm-debug target build # Override these settings in CONFIG_SITE.linux-arm.linux-arm-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-ppc.Common b/configure/os/CONFIG.linux-ppc.Common index f93334210..377a25f08 100644 --- a/configure/os/CONFIG.linux-ppc.Common +++ b/configure/os/CONFIG.linux-ppc.Common @@ -1,7 +1,5 @@ # CONFIG.linux-ppc.Common # -# This file is maintained by the build community. -# # Definitions for linux-ppc host builds # Sites may override these definitions in CONFIG_SITE.linux-ppc.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-ppc.linux-ppc b/configure/os/CONFIG.linux-ppc.linux-ppc index 3c437df59..5010d1bc3 100644 --- a/configure/os/CONFIG.linux-ppc.linux-ppc +++ b/configure/os/CONFIG.linux-ppc.linux-ppc @@ -1,6 +1,5 @@ # CONFIG.linux-ppc.linux-ppc # -# # Definitions for linux-ppc host - linux-ppc target builds # Sites may override these definitions in CONFIG_SITE.linux-ppc.linux-ppc #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-ppc64.Common b/configure/os/CONFIG.linux-ppc64.Common index 6d1977184..516cc4ffe 100644 --- a/configure/os/CONFIG.linux-ppc64.Common +++ b/configure/os/CONFIG.linux-ppc64.Common @@ -1,8 +1,5 @@ # CONFIG.linux-ppc64.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-ppc64 host builds # Sites may override these definitions in CONFIG_SITE.linux-ppc64.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-ppc64.linux-ppc64 b/configure/os/CONFIG.linux-ppc64.linux-ppc64 index a866f5a74..cfd00a88f 100644 --- a/configure/os/CONFIG.linux-ppc64.linux-ppc64 +++ b/configure/os/CONFIG.linux-ppc64.linux-ppc64 @@ -1,7 +1,5 @@ # CONFIG.linux-ppc64.linux-ppc64 # -# $Revision-Id$ -# # Definitions for linux-ppc64 host - linux-ppc64 target builds # Sites may override these definitions in CONFIG_SITE.linux-ppc64.linux-ppc64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86-borland.Common b/configure/os/CONFIG.linux-x86-borland.Common index 82f30bcbf..c004172e6 100644 --- a/configure/os/CONFIG.linux-x86-borland.Common +++ b/configure/os/CONFIG.linux-x86-borland.Common @@ -1,8 +1,5 @@ # CONFIG.linux-x86-borland.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86-borland host builds # Sites may override these definitions in CONFIG_SITE.linux-x86-borland.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86-borland.linux-x86-borland b/configure/os/CONFIG.linux-x86-borland.linux-x86-borland index c58be3c74..e7a7e3cdb 100644 --- a/configure/os/CONFIG.linux-x86-borland.linux-x86-borland +++ b/configure/os/CONFIG.linux-x86-borland.linux-x86-borland @@ -1,7 +1,5 @@ # CONFIG.linux-x86-borland.linux-x86-borland # -# $Revision-Id$ -# # Definitions for linux-x86-borland host - linux-x86-borland target builds # Sites may override these definitions in CONFIG_SITE.linux-x86-borland.linux-x86-borland #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86-debug.Common b/configure/os/CONFIG.linux-x86-debug.Common index b16b70287..800edb394 100644 --- a/configure/os/CONFIG.linux-x86-debug.Common +++ b/configure/os/CONFIG.linux-x86-debug.Common @@ -1,8 +1,5 @@ # CONFIG.linux-x86-debug.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86 debug with debug compiler flags # Sites may override these definitions in CONFIG_SITE.linux-x86-debug.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86-debug.linux-x86-debug b/configure/os/CONFIG.linux-x86-debug.linux-x86-debug index 0b0e0f4e8..737a116f3 100644 --- a/configure/os/CONFIG.linux-x86-debug.linux-x86-debug +++ b/configure/os/CONFIG.linux-x86-debug.linux-x86-debug @@ -1,8 +1,5 @@ # CONFIG.linux-x86-debug.linux-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86 host - linux-x86 target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.linux-x86-debug.linux-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86.Common b/configure/os/CONFIG.linux-x86.Common index f6d94061f..bfaf967ca 100644 --- a/configure/os/CONFIG.linux-x86.Common +++ b/configure/os/CONFIG.linux-x86.Common @@ -1,8 +1,5 @@ # CONFIG.linux-x86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86 host builds # Sites may override these definitions in CONFIG_SITE.linux-x86.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86.linux-x86 b/configure/os/CONFIG.linux-x86.linux-x86 index 6414b5ab0..f6a79241a 100644 --- a/configure/os/CONFIG.linux-x86.linux-x86 +++ b/configure/os/CONFIG.linux-x86.linux-x86 @@ -1,7 +1,5 @@ # CONFIG.linux-x86.linux-x86 # -# $Revision-Id$ -# # Definitions for linux-x86 host - linux-x86 target builds # Sites may override these definitions in CONFIG_SITE.linux-x86.linux-x86 #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86.linux-x86-debug b/configure/os/CONFIG.linux-x86.linux-x86-debug index 17b4f176e..dc71572d3 100644 --- a/configure/os/CONFIG.linux-x86.linux-x86-debug +++ b/configure/os/CONFIG.linux-x86.linux-x86-debug @@ -1,8 +1,5 @@ # CONFIG.linux-x86.linux-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86 host - linux-x86-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.linux-x86.linux-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86_64-debug.Common b/configure/os/CONFIG.linux-x86_64-debug.Common index da7348ad1..70bdf4e4b 100644 --- a/configure/os/CONFIG.linux-x86_64-debug.Common +++ b/configure/os/CONFIG.linux-x86_64-debug.Common @@ -1,8 +1,5 @@ # CONFIG.linux-x86_64-debug.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86_64 debug with debug compiler flags # Sites may override these definitions in CONFIG_SITE.linux-x86_64-debug.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86_64-debug.linux-x86_64-debug b/configure/os/CONFIG.linux-x86_64-debug.linux-x86_64-debug index 8a935237d..6f7980235 100644 --- a/configure/os/CONFIG.linux-x86_64-debug.linux-x86_64-debug +++ b/configure/os/CONFIG.linux-x86_64-debug.linux-x86_64-debug @@ -1,8 +1,5 @@ # CONFIG.linux-x86_64-debug.linux-x86_64-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86_64 host - linux-x86_64 target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86_64.Common b/configure/os/CONFIG.linux-x86_64.Common index 23c105c46..2a751b38c 100644 --- a/configure/os/CONFIG.linux-x86_64.Common +++ b/configure/os/CONFIG.linux-x86_64.Common @@ -1,8 +1,5 @@ # CONFIG.linux-x86_64.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86_64 host builds # Sites may override these definitions in CONFIG_SITE.linux-x86_64.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86_64.linux-x86_64 b/configure/os/CONFIG.linux-x86_64.linux-x86_64 index 34e4a2eef..4466a7edb 100644 --- a/configure/os/CONFIG.linux-x86_64.linux-x86_64 +++ b/configure/os/CONFIG.linux-x86_64.linux-x86_64 @@ -1,7 +1,5 @@ # CONFIG.linux-x86_64.linux-x86_64 # -# $Revision-Id$ -# # Definitions for linux-x86_64 host - linux-x86_64 target builds # Sites may override these definitions in CONFIG_SITE.linux-x86_64.linux-x86_64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.linux-x86_64.linux-x86_64-debug b/configure/os/CONFIG.linux-x86_64.linux-x86_64-debug index 220b1d2de..8c804ee08 100644 --- a/configure/os/CONFIG.linux-x86_64.linux-x86_64-debug +++ b/configure/os/CONFIG.linux-x86_64.linux-x86_64-debug @@ -1,8 +1,5 @@ # CONFIG.linux-x86_64.linux-x86_64-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for linux-x86_64 host - linux-x86_64-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.linux-x86_64.linux-x86_64-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc-debug.Common b/configure/os/CONFIG.solaris-sparc-debug.Common index d148a238f..256a72118 100644 --- a/configure/os/CONFIG.solaris-sparc-debug.Common +++ b/configure/os/CONFIG.solaris-sparc-debug.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc-debug.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc debug with debug compiler flags # Sites may override these definitions in CONFIG_SITE.solaris-sparc-debug.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc-debug.solaris-sparc-debug b/configure/os/CONFIG.solaris-sparc-debug.solaris-sparc-debug index c2c309174..9510bc6fa 100644 --- a/configure/os/CONFIG.solaris-sparc-debug.solaris-sparc-debug +++ b/configure/os/CONFIG.solaris-sparc-debug.solaris-sparc-debug @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc-debug.solaris-sparc-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc host - solaris-sparc target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc-gnu.Common b/configure/os/CONFIG.solaris-sparc-gnu.Common index d8dd3d0d5..1ec37610f 100644 --- a/configure/os/CONFIG.solaris-sparc-gnu.Common +++ b/configure/os/CONFIG.solaris-sparc-gnu.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc-gnu.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc gnu compiler host builds # Sites may override these definitions in CONFIG_SITE.solaris-sparc-gnu.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu b/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu index ebdc042a8..03476b833 100644 --- a/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu +++ b/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc-gnu.solaris-sparc-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc gnu compiler host - solaris-sparc gnu compiler target builds # Sites may override these definitions in CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc.Common b/configure/os/CONFIG.solaris-sparc.Common index 73208c3b8..3c5fb044d 100644 --- a/configure/os/CONFIG.solaris-sparc.Common +++ b/configure/os/CONFIG.solaris-sparc.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc host archs # Sites may override these definitions in CONFIG_SITE.solaris-sparc.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc.solaris-sparc b/configure/os/CONFIG.solaris-sparc.solaris-sparc index 99b08ef3c..de625aed1 100644 --- a/configure/os/CONFIG.solaris-sparc.solaris-sparc +++ b/configure/os/CONFIG.solaris-sparc.solaris-sparc @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc.solaris-sparc # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc host - solaris-sparc target build # Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc.solaris-sparc-debug b/configure/os/CONFIG.solaris-sparc.solaris-sparc-debug index 433b4aea4..5578bcd66 100644 --- a/configure/os/CONFIG.solaris-sparc.solaris-sparc-debug +++ b/configure/os/CONFIG.solaris-sparc.solaris-sparc-debug @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc.solaris-sparc-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc host - solaris-sparc-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc.solaris-sparc-gnu b/configure/os/CONFIG.solaris-sparc.solaris-sparc-gnu index 0b886af65..423d3dc4b 100644 --- a/configure/os/CONFIG.solaris-sparc.solaris-sparc-gnu +++ b/configure/os/CONFIG.solaris-sparc.solaris-sparc-gnu @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc.solaris-sparc-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc host - solaris-sparc-gnu target build with gnu compiler # Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc.solaris-sparc64 b/configure/os/CONFIG.solaris-sparc.solaris-sparc64 index 7c0929786..06c9ffa17 100644 --- a/configure/os/CONFIG.solaris-sparc.solaris-sparc64 +++ b/configure/os/CONFIG.solaris-sparc.solaris-sparc64 @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc.solaris-sparc64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc host - solaris-sparc64 target build with Sun compiler # Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc.solaris-sparc64-gnu b/configure/os/CONFIG.solaris-sparc.solaris-sparc64-gnu index 4a4b1352c..12c33de2b 100644 --- a/configure/os/CONFIG.solaris-sparc.solaris-sparc64-gnu +++ b/configure/os/CONFIG.solaris-sparc.solaris-sparc64-gnu @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc.solaris-sparc64-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc host - solaris-sparc64-gnu target build with gnu compiler # Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc64-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc64-gnu.Common b/configure/os/CONFIG.solaris-sparc64-gnu.Common index 7e004f5c0..a8e281af2 100644 --- a/configure/os/CONFIG.solaris-sparc64-gnu.Common +++ b/configure/os/CONFIG.solaris-sparc64-gnu.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc64-gnu.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc64 gnu compiler host builds # Sites may override these definitions in CONFIG_SITE.solaris-sparc64-gnu.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc64-gnu.solaris-sparc64-gnu b/configure/os/CONFIG.solaris-sparc64-gnu.solaris-sparc64-gnu index 26a30d1a2..cbc921cd1 100644 --- a/configure/os/CONFIG.solaris-sparc64-gnu.solaris-sparc64-gnu +++ b/configure/os/CONFIG.solaris-sparc64-gnu.solaris-sparc64-gnu @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc64-gnu.solaris-sparc64-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc64 gnu compiler host - solaris-sparc64 gnu compiler target builds # Sites may override these definitions in CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc64.Common b/configure/os/CONFIG.solaris-sparc64.Common index e62d51750..f87e58156 100644 --- a/configure/os/CONFIG.solaris-sparc64.Common +++ b/configure/os/CONFIG.solaris-sparc64.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc64.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc64 Sun compiler host builds # Sites may override these definitions in CONFIG_SITE.solaris-sparc64.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc64.solaris-sparc64 b/configure/os/CONFIG.solaris-sparc64.solaris-sparc64 index 451ecde08..b862a3153 100644 --- a/configure/os/CONFIG.solaris-sparc64.solaris-sparc64 +++ b/configure/os/CONFIG.solaris-sparc64.solaris-sparc64 @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc64.solaris-sparc64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc64 compiler host - solaris-sparc64 compiler target builds # Sites may override these definitions in CONFIG_SITE.solaris-sparc64.solaris-sparc64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-sparc64.solaris-sparc64-debug b/configure/os/CONFIG.solaris-sparc64.solaris-sparc64-debug index ca32026e1..edbb733fc 100644 --- a/configure/os/CONFIG.solaris-sparc64.solaris-sparc64-debug +++ b/configure/os/CONFIG.solaris-sparc64.solaris-sparc64-debug @@ -1,8 +1,5 @@ # CONFIG.solaris-sparc64.solaris-sparc64-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-sparc64 host - solaris-sparc64-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.solaris-sparc64.solaris-sparc64-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86-gnu.Common b/configure/os/CONFIG.solaris-x86-gnu.Common index d6c0749dc..e8111548f 100644 --- a/configure/os/CONFIG.solaris-x86-gnu.Common +++ b/configure/os/CONFIG.solaris-x86-gnu.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-x86-gnu.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 gnu compiler host builds # Sites may override these definitions in CONFIG_SITE.solaris-x86-gnu.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86-gnu.solaris-x86-gnu b/configure/os/CONFIG.solaris-x86-gnu.solaris-x86-gnu index 208c596a0..1c2c43826 100644 --- a/configure/os/CONFIG.solaris-x86-gnu.solaris-x86-gnu +++ b/configure/os/CONFIG.solaris-x86-gnu.solaris-x86-gnu @@ -1,8 +1,5 @@ # CONFIG.solaris-x86-gnu.solaris-x86-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 gnu compiler host - solaris-x86 gnu compiler target builds # Sites may override these definitions in CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86.Common b/configure/os/CONFIG.solaris-x86.Common index faea62005..9ae62e5ef 100644 --- a/configure/os/CONFIG.solaris-x86.Common +++ b/configure/os/CONFIG.solaris-x86.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-x86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 host builds # Sites may override these definitions in CONFIG_SITE.solaris-x86.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86.solaris-x86 b/configure/os/CONFIG.solaris-x86.solaris-x86 index 7a815235e..2e4bb23e2 100644 --- a/configure/os/CONFIG.solaris-x86.solaris-x86 +++ b/configure/os/CONFIG.solaris-x86.solaris-x86 @@ -1,8 +1,5 @@ # CONFIG.solaris-x86.solaris-x86 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 host - solaris-x86 target builds # Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86 #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86.solaris-x86-debug b/configure/os/CONFIG.solaris-x86.solaris-x86-debug index 5840ce2c7..505080310 100644 --- a/configure/os/CONFIG.solaris-x86.solaris-x86-debug +++ b/configure/os/CONFIG.solaris-x86.solaris-x86-debug @@ -1,8 +1,5 @@ # CONFIG.solaris-x86.solaris-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 host - solaris-x86-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86.solaris-x86_64 b/configure/os/CONFIG.solaris-x86.solaris-x86_64 index 8fb45c39b..e1ef93afe 100644 --- a/configure/os/CONFIG.solaris-x86.solaris-x86_64 +++ b/configure/os/CONFIG.solaris-x86.solaris-x86_64 @@ -1,8 +1,5 @@ # CONFIG.solaris-x86.solaris-x86_64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86 host - solaris-x86_64 target build with Sun compiler # Sites may override these definitions in CONFIG_SITE.solaris-x86.solaris-x86_64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86_64-gnu.Common b/configure/os/CONFIG.solaris-x86_64-gnu.Common index 180f9d03e..9c0296d3d 100644 --- a/configure/os/CONFIG.solaris-x86_64-gnu.Common +++ b/configure/os/CONFIG.solaris-x86_64-gnu.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-x86_64-gnu.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86_64 gnu compiler host builds # Sites may override these definitions in CONFIG_SITE.solaris-sparc64-gnu.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86_64-gnu.solaris-x86_64-gnu b/configure/os/CONFIG.solaris-x86_64-gnu.solaris-x86_64-gnu index 8e1f4789f..8ff61b8a8 100644 --- a/configure/os/CONFIG.solaris-x86_64-gnu.solaris-x86_64-gnu +++ b/configure/os/CONFIG.solaris-x86_64-gnu.solaris-x86_64-gnu @@ -1,8 +1,5 @@ # CONFIG.solaris-x86_64-gnu.solaris-x86_64-gnu # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86_64 gnu compiler host - solaris-sx86_64 gnu compiler target builds # Sites may override these definitions in CONFIG_SITE.solaris-x86_64-gnu.solaris-x86_64-gnu #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86_64.Common b/configure/os/CONFIG.solaris-x86_64.Common index 6d650f660..a8b6c17ec 100644 --- a/configure/os/CONFIG.solaris-x86_64.Common +++ b/configure/os/CONFIG.solaris-x86_64.Common @@ -1,8 +1,5 @@ # CONFIG.solaris-x86_64.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86_64 Sun compiler host builds # Sites may override these definitions in CONFIG_SITE.solaris-x86_64.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86_64.solaris-x86_64 b/configure/os/CONFIG.solaris-x86_64.solaris-x86_64 index 21deb353d..7e2111e76 100644 --- a/configure/os/CONFIG.solaris-x86_64.solaris-x86_64 +++ b/configure/os/CONFIG.solaris-x86_64.solaris-x86_64 @@ -1,8 +1,5 @@ # CONFIG.solaris-x86_64.solaris-x86_64 # -# $Id -# This file is maintained by the build community. -# # Definitions for solaris-x86_64 Sun compiler host - solaris-x86_64 Sun compiler target builds # Sites may override these definitions in CONFIG_SITE.solaris-x86_64.solaris-x86_64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.solaris-x86_64.solaris-x86_64-debug b/configure/os/CONFIG.solaris-x86_64.solaris-x86_64-debug index c3e5dbd5f..fb375157d 100644 --- a/configure/os/CONFIG.solaris-x86_64.solaris-x86_64-debug +++ b/configure/os/CONFIG.solaris-x86_64.solaris-x86_64-debug @@ -1,8 +1,5 @@ # CONFIG.solaris-x86_64.solaris-x86_64-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris-x86_64 host - solaris-x86_64-debug target build with debug compiler flags # Sites may override these definitions in CONFIG_SITE.solaris-x86_64.solaris-x86_64-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.solarisCommon.solarisCommon b/configure/os/CONFIG.solarisCommon.solarisCommon index 21c90f32c..bf8acbdc0 100644 --- a/configure/os/CONFIG.solarisCommon.solarisCommon +++ b/configure/os/CONFIG.solarisCommon.solarisCommon @@ -1,8 +1,5 @@ # CONFIG.solarisCommon.solarisCommon # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for solaris host - solaris target build # Sites may override these definitions in CONFIG_SITE.solarisCommon.solarisCommon #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-borland.Common b/configure/os/CONFIG.win32-x86-borland.Common index ce3bbcc34..36f08e15d 100644 --- a/configure/os/CONFIG.win32-x86-borland.Common +++ b/configure/os/CONFIG.win32-x86-borland.Common @@ -1,8 +1,5 @@ # CONFIG.win32-x86-borland.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-borland host archs # Sites may override these definitions in CONFIG_SITE.win32-x86-borland.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-borland.win32-x86-borland b/configure/os/CONFIG.win32-x86-borland.win32-x86-borland index 9500fc949..a25dc37b3 100644 --- a/configure/os/CONFIG.win32-x86-borland.win32-x86-borland +++ b/configure/os/CONFIG.win32-x86-borland.win32-x86-borland @@ -1,8 +1,5 @@ # CONFIG.win32-x86-borland.win32-x86-borland # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-borland target arch when host arch is win32-x86-borland # Sites may override these definitions in CONFIG_SITE.win32-x86-borland.win32-x86-borland #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-cygwin.Common b/configure/os/CONFIG.win32-x86-cygwin.Common index 2593ed8d2..b7ad5992a 100644 --- a/configure/os/CONFIG.win32-x86-cygwin.Common +++ b/configure/os/CONFIG.win32-x86-cygwin.Common @@ -1,8 +1,5 @@ # CONFIG.win32-x86-cygwin.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-cygwin host archs # Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin b/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin index aa29f4d7a..d0ad5a15d 100644 --- a/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin +++ b/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin @@ -1,7 +1,5 @@ # CONFIG.win32-x86-cygwin.win32-x86-cygwin # -# $Revision-Id$ -# # Definitions for win32-x86-cygwin host - win32-x86-cygwin target builds # Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin-debug b/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin-debug index a0125a25a..f789ff1c5 100644 --- a/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin-debug +++ b/configure/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin-debug @@ -1,8 +1,5 @@ # CONFIG.win32-x86-cygwin.win32-x86-cygwin-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-cygwin compiler host - win32-x86-cygwin debug compiler target builds # Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-debug.Common b/configure/os/CONFIG.win32-x86-debug.Common index 5c3376e9e..9a394bf59 100644 --- a/configure/os/CONFIG.win32-x86-debug.Common +++ b/configure/os/CONFIG.win32-x86-debug.Common @@ -1,8 +1,5 @@ # CONFIG.win32-x86-debug.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86 debug with debug compiler flags # Sites may override these definitions in CONFIG_SITE.win32-x86-debug.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-debug.win32-x86-debug b/configure/os/CONFIG.win32-x86-debug.win32-x86-debug index 92f025c49..f568cd148 100644 --- a/configure/os/CONFIG.win32-x86-debug.win32-x86-debug +++ b/configure/os/CONFIG.win32-x86-debug.win32-x86-debug @@ -1,8 +1,5 @@ # CONFIG.win32-x86-debug.win32-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86 debug compiler host - win32-x86 debug compiler target builds # Sites may override these definitions in CONFIG_SITE.win32-x86-debug.win32-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-mingw.Common b/configure/os/CONFIG.win32-x86-mingw.Common index e8698832c..bbdfdaee2 100644 --- a/configure/os/CONFIG.win32-x86-mingw.Common +++ b/configure/os/CONFIG.win32-x86-mingw.Common @@ -1,8 +1,5 @@ # CONFIG.win32-x86-mingw.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-cygwin host archs # Sites may override these definitions in CONFIG_SITE.win32-x86-mingw.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw index c101376c8..1ea8b9c30 100644 --- a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw +++ b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw @@ -1,7 +1,5 @@ # CONFIG.win32-x86-mingw.win32-x86-mingw # -# $Revision-Id$ -# # Definitions for win32-x86-mingw host - win32-x86-mingw target builds # Sites may override these definitions in CONFIG_SITE.win32-x86-mingw.win32-x86-mingw #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw-debug b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw-debug index 304eec53a..33148a819 100644 --- a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw-debug +++ b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw-debug @@ -1,8 +1,5 @@ # CONFIG.win32-x86-mingw.win32-x86-mingw-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-mingw compiler host - win32-x86-mingw debug compiler target builds # Sites may override these definitions in CONFIG_SITE.win32-x86-mingw.win32-x86-mingw-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-static.Common b/configure/os/CONFIG.win32-x86-static.Common index 7c4508ca6..d302e4614 100644 --- a/configure/os/CONFIG.win32-x86-static.Common +++ b/configure/os/CONFIG.win32-x86-static.Common @@ -1,8 +1,5 @@ # CONFIG.win32-x86-static.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-static host archs # Sites may override these definitions in CONFIG_SITE.win32-x86-static.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86-static.win32-x86-static b/configure/os/CONFIG.win32-x86-static.win32-x86-static index 0bb18a6d0..105c69698 100644 --- a/configure/os/CONFIG.win32-x86-static.win32-x86-static +++ b/configure/os/CONFIG.win32-x86-static.win32-x86-static @@ -1,8 +1,5 @@ # CONFIG.win32-x86-static.win32-x86.static # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-static target archs when host arch is win32-x86-static # Sites may override these definitions in CONFIG_SITE.win32-x86-static.win32-x86-static #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86.Common b/configure/os/CONFIG.win32-x86.Common index 7102a0dac..a20709481 100644 --- a/configure/os/CONFIG.win32-x86.Common +++ b/configure/os/CONFIG.win32-x86.Common @@ -1,8 +1,5 @@ # CONFIG.win32-x86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86 host archs # Sites may override these definitions in CONFIG_SITE.win32-x86.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index ed6839de7..4bd9b6710 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -1,8 +1,5 @@ # CONFIG.win32-x86.win32-x86 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86 target archs when host arch is win32-x86 # Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86 #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86.win32-x86-debug b/configure/os/CONFIG.win32-x86.win32-x86-debug index ed6e79654..90507e406 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86-debug +++ b/configure/os/CONFIG.win32-x86.win32-x86-debug @@ -1,8 +1,5 @@ # CONFIG.win32-x86.win32-x86-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86 host - win32-x86-debug target build # Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86.win32-x86-static b/configure/os/CONFIG.win32-x86.win32-x86-static index a23431744..d7513aa42 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86-static +++ b/configure/os/CONFIG.win32-x86.win32-x86-static @@ -1,8 +1,5 @@ # CONFIG.win32-x86.win32-x86-static # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for win32-x86-static target archs when host arch is win32-x86 # Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-static #------------------------------------------------------- diff --git a/configure/os/CONFIG.win32-x86.windows-x64 b/configure/os/CONFIG.win32-x86.windows-x64 index ff12735f9..09bba85f4 100644 --- a/configure/os/CONFIG.win32-x86.windows-x64 +++ b/configure/os/CONFIG.win32-x86.windows-x64 @@ -1,8 +1,5 @@ # CONFIG.win-x86.windows-x64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64 target archs when host arch is win32-x86 # Sites may override these definitions in CONFIG_SITE.win32-x86.windows-x64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64-debug.Common b/configure/os/CONFIG.windows-x64-debug.Common index e030eb265..5598ff4b5 100644 --- a/configure/os/CONFIG.windows-x64-debug.Common +++ b/configure/os/CONFIG.windows-x64-debug.Common @@ -1,8 +1,5 @@ # CONFIG.windows-x64-debug.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64 debug with debug compiler flags # Sites may override these definitions in CONFIG_SITE.windows-x64-debug.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64-debug.windows-x64-debug b/configure/os/CONFIG.windows-x64-debug.windows-x64-debug index d15b9a3aa..0a2c88d4f 100644 --- a/configure/os/CONFIG.windows-x64-debug.windows-x64-debug +++ b/configure/os/CONFIG.windows-x64-debug.windows-x64-debug @@ -1,8 +1,5 @@ # CONFIG.windows-x64-debug.windows-x64-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64 debug compiler host - windows-x64 debug compiler target builds # Sites may override these definitions in CONFIG_SITE.windows-x64-debug.windows-x64-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64-mingw.Common b/configure/os/CONFIG.windows-x64-mingw.Common index c467a3a51..812168480 100644 --- a/configure/os/CONFIG.windows-x64-mingw.Common +++ b/configure/os/CONFIG.windows-x64-mingw.Common @@ -1,8 +1,5 @@ # CONFIG.windows-x64-mingw.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64-mingw host archs # Sites may override these definitions in CONFIG_SITE.windows-x64-mingw.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw b/configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw index 9e42784aa..d8e49637e 100644 --- a/configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw +++ b/configure/os/CONFIG.windows-x64-mingw.windows-x64-mingw @@ -1,8 +1,5 @@ # CONFIG.windows-x64-mingw.windows-x64-mingw # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64-mingw target archs # Sites may override these definitions in CONFIG_SITE.windows-x64-mingw.windows-x64-mingw #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64-static.Common b/configure/os/CONFIG.windows-x64-static.Common index be61abad0..05ec5528d 100644 --- a/configure/os/CONFIG.windows-x64-static.Common +++ b/configure/os/CONFIG.windows-x64-static.Common @@ -1,8 +1,5 @@ # CONFIG.windows-x64-static.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64-static host archs # Sites may override these definitions in CONFIG_SITE.windows-x64-static.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64-static.windows-x64-static b/configure/os/CONFIG.windows-x64-static.windows-x64-static index e5e152411..fb33b8650 100644 --- a/configure/os/CONFIG.windows-x64-static.windows-x64-static +++ b/configure/os/CONFIG.windows-x64-static.windows-x64-static @@ -1,8 +1,5 @@ # CONFIG.windows-x64-static.windows-x64-static # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64-static target archs when host arch is windows-x64-static # Sites may override these definitions in CONFIG_SITE.windows-x64-static.windows-x64-static #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64.Common b/configure/os/CONFIG.windows-x64.Common index 252b46436..9415c9433 100644 --- a/configure/os/CONFIG.windows-x64.Common +++ b/configure/os/CONFIG.windows-x64.Common @@ -1,8 +1,5 @@ # CONFIG.windows-x64.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64 host archs # Sites may override these definitions in CONFIG_SITE.windows-x64.Common #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64.windows-x64 b/configure/os/CONFIG.windows-x64.windows-x64 index f9144718f..e7ffda5a9 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64 +++ b/configure/os/CONFIG.windows-x64.windows-x64 @@ -1,8 +1,5 @@ # CONFIG.windows-x64.windows-x64 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64 target archs when host arch is windows-x64 # Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64 #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64.windows-x64-debug b/configure/os/CONFIG.windows-x64.windows-x64-debug index d9f675aac..dc9162a82 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64-debug +++ b/configure/os/CONFIG.windows-x64.windows-x64-debug @@ -1,8 +1,5 @@ # CONFIG.windows-x64.windows-x64-debug # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64 compiler host - windows-x64 debug compiler target builds # Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64-debug #------------------------------------------------------- diff --git a/configure/os/CONFIG.windows-x64.windows-x64-static b/configure/os/CONFIG.windows-x64.windows-x64-static index 8a6fd20f9..27387c351 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64-static +++ b/configure/os/CONFIG.windows-x64.windows-x64-static @@ -1,8 +1,5 @@ # CONFIG.windows-x86.windows-x86-static # -# $Revision-Id$ -# This file is maintained by the build community. -# # Definitions for windows-x64-static target archs when host arch is windows-x64 # Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64-static #------------------------------------------------------- diff --git a/configure/os/CONFIG_COMPAT b/configure/os/CONFIG_COMPAT index 525be75d4..f0816aee0 100644 --- a/configure/os/CONFIG_COMPAT +++ b/configure/os/CONFIG_COMPAT @@ -1,7 +1,5 @@ # CONFIG_COMPAT # -# $Revision-Id$ -# # Convert old HOST_ARCH environment variable to # new EPICS_HOST_ARCH environment variable #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.RTEMS b/configure/os/CONFIG_SITE.Common.RTEMS index d2cccea67..0b5d227ee 100644 --- a/configure/os/CONFIG_SITE.Common.RTEMS +++ b/configure/os/CONFIG_SITE.Common.RTEMS @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.RTEMS # -# $Revision-Id$ -# # Site-specific information for all RTEMS targets #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.cygwin-x86 b/configure/os/CONFIG_SITE.Common.cygwin-x86 index 43a30401d..a18404d41 100644 --- a/configure/os/CONFIG_SITE.Common.cygwin-x86 +++ b/configure/os/CONFIG_SITE.Common.cygwin-x86 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.cygwin-x86 # -# $Revision-Id$ -# # Site Specific definitions for cygwin-x86 target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.cygwin-x86_64 b/configure/os/CONFIG_SITE.Common.cygwin-x86_64 index 3950526d1..77ab2e963 100644 --- a/configure/os/CONFIG_SITE.Common.cygwin-x86_64 +++ b/configure/os/CONFIG_SITE.Common.cygwin-x86_64 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.cygwin-x86_64 # -# $Revision-Id$ -# # Site Specific definitions for cygwin-x86_64 target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.darwin-ppc b/configure/os/CONFIG_SITE.Common.darwin-ppc index 659ac782d..a2550147f 100644 --- a/configure/os/CONFIG_SITE.Common.darwin-ppc +++ b/configure/os/CONFIG_SITE.Common.darwin-ppc @@ -1,8 +1,5 @@ # CONFIG_SITE.Common.darwin-ppc # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for darwin-ppc target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.darwin-ppcx86 b/configure/os/CONFIG_SITE.Common.darwin-ppcx86 index e4c32e968..2191d54f8 100644 --- a/configure/os/CONFIG_SITE.Common.darwin-ppcx86 +++ b/configure/os/CONFIG_SITE.Common.darwin-ppcx86 @@ -1,8 +1,5 @@ # CONFIG_SITE.Common.darwin-ppcx86 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for darwin-ppcx86 target builds #---------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.darwin-x86 b/configure/os/CONFIG_SITE.Common.darwin-x86 index 9d9686071..8ccde555b 100644 --- a/configure/os/CONFIG_SITE.Common.darwin-x86 +++ b/configure/os/CONFIG_SITE.Common.darwin-x86 @@ -1,8 +1,5 @@ # CONFIG_SITE.Common.darwin-x86 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for darwin-x86 target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.ios-arm b/configure/os/CONFIG_SITE.Common.ios-arm index 1262b4372..f406007d1 100644 --- a/configure/os/CONFIG_SITE.Common.ios-arm +++ b/configure/os/CONFIG_SITE.Common.ios-arm @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.ios-arm # -# $Revision-Id$ -# # Site-specific settings for ios-arm target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.ios-x86 b/configure/os/CONFIG_SITE.Common.ios-x86 index 8c59187c7..e97c8b778 100644 --- a/configure/os/CONFIG_SITE.Common.ios-x86 +++ b/configure/os/CONFIG_SITE.Common.ios-x86 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.ios-x86 # -# $Revision-Id$ -# # Site-specific settings for ios-x86 target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.iosCommon b/configure/os/CONFIG_SITE.Common.iosCommon index a964c5bca..573d855ae 100644 --- a/configure/os/CONFIG_SITE.Common.iosCommon +++ b/configure/os/CONFIG_SITE.Common.iosCommon @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.iosCommon # -# $Revision-Id$ -# # Site-specific settings for Apple iOS builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.linux-arm b/configure/os/CONFIG_SITE.Common.linux-arm index 0e78404cc..556ac6f09 100644 --- a/configure/os/CONFIG_SITE.Common.linux-arm +++ b/configure/os/CONFIG_SITE.Common.linux-arm @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.linux-arm # -# $Revision-Id$ -# # Site Specific definitions for all linux-arm targets #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.linux-cris b/configure/os/CONFIG_SITE.Common.linux-cris index c748c1368..b17cb0ee5 100644 --- a/configure/os/CONFIG_SITE.Common.linux-cris +++ b/configure/os/CONFIG_SITE.Common.linux-cris @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.linux-cris # -# $Revision-Id$ -# # Site Specific definitions for linux-cris target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.linux-x86 b/configure/os/CONFIG_SITE.Common.linux-x86 index 9e7262cce..6c3a8308a 100644 --- a/configure/os/CONFIG_SITE.Common.linux-x86 +++ b/configure/os/CONFIG_SITE.Common.linux-x86 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.linux-x86 # -# $Revision-Id$ -# # Site Specific definitions for linux-x86 target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.linux-x86_64 b/configure/os/CONFIG_SITE.Common.linux-x86_64 index ddc90d570..a9d139464 100644 --- a/configure/os/CONFIG_SITE.Common.linux-x86_64 +++ b/configure/os/CONFIG_SITE.Common.linux-x86_64 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.linux-x86_64 # -# $Revision-Id$ -# # Site Specific definitions for linux-x86_64 target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.linux-xscale_be b/configure/os/CONFIG_SITE.Common.linux-xscale_be index 226aebac6..69efd6ffa 100644 --- a/configure/os/CONFIG_SITE.Common.linux-xscale_be +++ b/configure/os/CONFIG_SITE.Common.linux-xscale_be @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.linux-xscale_be # -# $Revision-Id$ -# # Site specific definitions for linux-xscale_be target builds. #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.Common.solaris-sparc b/configure/os/CONFIG_SITE.Common.solaris-sparc index 851254203..e8a6c875a 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-sparc +++ b/configure/os/CONFIG_SITE.Common.solaris-sparc @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-sparc # -# $Revision-Id$ -# # Site Specific definitions for solaris-sparc target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.solaris-sparc-gnu b/configure/os/CONFIG_SITE.Common.solaris-sparc-gnu index 782275437..6e9c00f65 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-sparc-gnu +++ b/configure/os/CONFIG_SITE.Common.solaris-sparc-gnu @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-sparc-gnu # -# $Revision-Id$ -# # Site Specific definitions for solaris-sparc-gnu target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.solaris-sparc64 b/configure/os/CONFIG_SITE.Common.solaris-sparc64 index 3af199b04..5a6bf8d82 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-sparc64 +++ b/configure/os/CONFIG_SITE.Common.solaris-sparc64 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-sparc64 # -# $Revision-Id$ -# # Site Specific definitions for solaris-sparc64 target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.solaris-sparc64-gnu b/configure/os/CONFIG_SITE.Common.solaris-sparc64-gnu index 5b52b8507..d7e1d726d 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-sparc64-gnu +++ b/configure/os/CONFIG_SITE.Common.solaris-sparc64-gnu @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-sparc64-gnu # -# $Revision-Id$ -# # Site Specific definitions for solaris-sparc64-gnu target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.solaris-x86 b/configure/os/CONFIG_SITE.Common.solaris-x86 index 2a972d9cb..77bb8d45c 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-x86 +++ b/configure/os/CONFIG_SITE.Common.solaris-x86 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-x86 # -# $Revision-Id$ -# # Site Specific definitions for solaris-x86 targets # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.solaris-x86-gnu b/configure/os/CONFIG_SITE.Common.solaris-x86-gnu index 2f6b3b7cd..0f93f0f18 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-x86-gnu +++ b/configure/os/CONFIG_SITE.Common.solaris-x86-gnu @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-x86-gnu # -# $Revision-Id$ -# # Site Specific definitions for solaris-x86-gnu target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.solaris-x86_64 b/configure/os/CONFIG_SITE.Common.solaris-x86_64 index ce173608d..e54ec4f94 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-x86_64 +++ b/configure/os/CONFIG_SITE.Common.solaris-x86_64 @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-x86_64 # -# $Revision-Id$ -# # Site Specific definitions for solaris-x86_64 target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.solaris-x86_64-gnu b/configure/os/CONFIG_SITE.Common.solaris-x86_64-gnu index f1f72c980..2b13215fb 100644 --- a/configure/os/CONFIG_SITE.Common.solaris-x86_64-gnu +++ b/configure/os/CONFIG_SITE.Common.solaris-x86_64-gnu @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.solaris-x86_64-gnu # -# $Revision-Id$ -# # Site Specific definitions for solaris-x86_64-gnu target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-mpc8540 b/configure/os/CONFIG_SITE.Common.vxWorks-mpc8540 index d742df3fe..ea9d9651e 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorks-mpc8540 +++ b/configure/os/CONFIG_SITE.Common.vxWorks-mpc8540 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site Specific definitions for the vxWorks-mpc8540 target # diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-mpc8548 b/configure/os/CONFIG_SITE.Common.vxWorks-mpc8548 index da8671436..6f84ac0a8 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorks-mpc8548 +++ b/configure/os/CONFIG_SITE.Common.vxWorks-mpc8548 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site Specific definitions for the vxWorks-mpc8548 target # diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-ppc603 b/configure/os/CONFIG_SITE.Common.vxWorks-ppc603 index 6a5d91fe0..aa59245c2 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorks-ppc603 +++ b/configure/os/CONFIG_SITE.Common.vxWorks-ppc603 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site Specific definitions for the vxWorks-ppc603 target # diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-ppc603_long b/configure/os/CONFIG_SITE.Common.vxWorks-ppc603_long index 554647566..1e18ad1e9 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorks-ppc603_long +++ b/configure/os/CONFIG_SITE.Common.vxWorks-ppc603_long @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site Specific definitions for the vxWorks-ppc603_long target # diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-ppc604 b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604 index c92b532ed..5b89bb342 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorks-ppc604 +++ b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site Specific definitions for the vxWorks-ppc604 target # diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_altivec b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_altivec index 437e4ddc9..6790a8955 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_altivec +++ b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_altivec @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site Specific definitions for the vxWorks-ppc604_altivec target # diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_long b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_long index be404fcfb..74a581b31 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_long +++ b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604_long @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site Specific definitions for the vxWorks-ppc604_long target # diff --git a/configure/os/CONFIG_SITE.Common.win32-x86-cygwin b/configure/os/CONFIG_SITE.Common.win32-x86-cygwin index 766a5dc31..03cb47b51 100644 --- a/configure/os/CONFIG_SITE.Common.win32-x86-cygwin +++ b/configure/os/CONFIG_SITE.Common.win32-x86-cygwin @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.win32-x86-cygwin # -# $Revision-Id$ -# # Site Specific definitions for win32-x86-cygwin target # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.Common.win32-x86-mingw b/configure/os/CONFIG_SITE.Common.win32-x86-mingw index 39f219b19..ba19ac65a 100644 --- a/configure/os/CONFIG_SITE.Common.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.Common.win32-x86-mingw @@ -1,7 +1,5 @@ # CONFIG_SITE.Common.win32-x86-mingw # -# $Revision-Id$ -# # Site Specific definitions for win32-x86-mingw target # If readline is available uncomment the following line diff --git a/configure/os/CONFIG_SITE.cygwin-x86.Common b/configure/os/CONFIG_SITE.cygwin-x86.Common index b99ac8e85..be04aa08e 100644 --- a/configure/os/CONFIG_SITE.cygwin-x86.Common +++ b/configure/os/CONFIG_SITE.cygwin-x86.Common @@ -1,8 +1,5 @@ # CONFIG_SITE.cygwin-x86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for cygwin-x86 host builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 b/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 index 97e3cb1f3..3125c7a64 100644 --- a/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 +++ b/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 @@ -1,8 +1,5 @@ # CONFIG_SITE.cygwin-x86.cygwin-x86 # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for cygwin-x86 host - cygwin-x86 target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.darwin-ppc.Common b/configure/os/CONFIG_SITE.darwin-ppc.Common index b02dddc06..05417e1f9 100644 --- a/configure/os/CONFIG_SITE.darwin-ppc.Common +++ b/configure/os/CONFIG_SITE.darwin-ppc.Common @@ -1,7 +1,4 @@ # CONFIG_SITE.darwin-ppc.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for darwin-ppc host builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.darwin-ppcx86.Common b/configure/os/CONFIG_SITE.darwin-ppcx86.Common index 79330e215..42bd00531 100644 --- a/configure/os/CONFIG_SITE.darwin-ppcx86.Common +++ b/configure/os/CONFIG_SITE.darwin-ppcx86.Common @@ -1,7 +1,4 @@ # CONFIG_SITE.darwin-ppcx86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for darwin-ppcx86 host builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.darwin-x86.Common b/configure/os/CONFIG_SITE.darwin-x86.Common index 53757afce..8a894104f 100644 --- a/configure/os/CONFIG_SITE.darwin-x86.Common +++ b/configure/os/CONFIG_SITE.darwin-x86.Common @@ -1,8 +1,5 @@ # CONFIG_SITE.darwin-x86.Common # -# This file is maintained by the build community. -# -# $Revision-Id$ # Site override definitions for darwin-x86 host builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.darwinCommon.darwinCommon b/configure/os/CONFIG_SITE.darwinCommon.darwinCommon index e1690ba09..edef3938a 100644 --- a/configure/os/CONFIG_SITE.darwinCommon.darwinCommon +++ b/configure/os/CONFIG_SITE.darwinCommon.darwinCommon @@ -1,8 +1,5 @@ # CONFIG_SITE.darwinCommon.darwinCommon # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site specific definitions for darwin builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-arm-debug.linux-arm-debug b/configure/os/CONFIG_SITE.linux-arm-debug.linux-arm-debug index fc4a9f2a9..972f7d6c8 100644 --- a/configure/os/CONFIG_SITE.linux-arm-debug.linux-arm-debug +++ b/configure/os/CONFIG_SITE.linux-arm-debug.linux-arm-debug @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-arm-debug.linux-arm-debug # -# $Revision-Id$ -# # Site specific overrides for linux-arm-debug host and target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-arm.linux-arm b/configure/os/CONFIG_SITE.linux-arm.linux-arm index a8cc0ff9f..a5e56eaa1 100644 --- a/configure/os/CONFIG_SITE.linux-arm.linux-arm +++ b/configure/os/CONFIG_SITE.linux-arm.linux-arm @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-arm.linux-arm # -# $Revision-Id$ -# # Site specific definitions for native linux-arm builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86-borland.Common b/configure/os/CONFIG_SITE.linux-x86-borland.Common index 1e801e6a5..5701f50c9 100644 --- a/configure/os/CONFIG_SITE.linux-x86-borland.Common +++ b/configure/os/CONFIG_SITE.linux-x86-borland.Common @@ -1,8 +1,5 @@ # CONFIG_SITE.linux-x86-borland.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for linux-x86-borland host builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug b/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug index 7e6cd3768..b3fccda81 100644 --- a/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug +++ b/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86-debug.linux-x86-debug # -# $Revision-Id$ -# # Site specific overrides for linux-x86-debug host and target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.Common b/configure/os/CONFIG_SITE.linux-x86.Common index f5a3e910b..dc29e8f0d 100644 --- a/configure/os/CONFIG_SITE.linux-x86.Common +++ b/configure/os/CONFIG_SITE.linux-x86.Common @@ -1,8 +1,5 @@ # CONFIG_SITE.linux-x86.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for linux-x86 host builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.UnixCommon b/configure/os/CONFIG_SITE.linux-x86.UnixCommon index c7c9b9c35..fcf81cb14 100644 --- a/configure/os/CONFIG_SITE.linux-x86.UnixCommon +++ b/configure/os/CONFIG_SITE.linux-x86.UnixCommon @@ -1,5 +1,4 @@ # -# $Revision-Id$ # # Site Specific Configuration Information # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm b/configure/os/CONFIG_SITE.linux-x86.linux-arm index 528c9bc6c..1dadb9172 100644 --- a/configure/os/CONFIG_SITE.linux-x86.linux-arm +++ b/configure/os/CONFIG_SITE.linux-x86.linux-arm @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86.linux-arm # -# $Revision-Id$ -# # Site specific definitions for linux-x86 host - linux-arm target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm-debug b/configure/os/CONFIG_SITE.linux-x86.linux-arm-debug index 461c44290..57aff03b7 100644 --- a/configure/os/CONFIG_SITE.linux-x86.linux-arm-debug +++ b/configure/os/CONFIG_SITE.linux-x86.linux-arm-debug @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86.linux-arm-debug # -# $Revision-Id$ -# # Site specific settings for linux-x86 host - linux-arm-debug target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm_eb b/configure/os/CONFIG_SITE.linux-x86.linux-arm_eb index 18309ae7f..0bc2a4e5a 100644 --- a/configure/os/CONFIG_SITE.linux-x86.linux-arm_eb +++ b/configure/os/CONFIG_SITE.linux-x86.linux-arm_eb @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86.linux-arm_eb # -# $Revision-Id$ -# # Site specific definitions for linux-x86 host - linux-arm_eb target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm_el b/configure/os/CONFIG_SITE.linux-x86.linux-arm_el index 3195c0c5b..b82bc13bf 100644 --- a/configure/os/CONFIG_SITE.linux-x86.linux-arm_el +++ b/configure/os/CONFIG_SITE.linux-x86.linux-arm_el @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86.linux-arm_el # -# $Revision-Id$ -# # Site specific definitions for linux-x86 host - linux-arm_el target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-x86 b/configure/os/CONFIG_SITE.linux-x86.linux-x86 index b7090cf6b..d359d174f 100644 --- a/configure/os/CONFIG_SITE.linux-x86.linux-x86 +++ b/configure/os/CONFIG_SITE.linux-x86.linux-x86 @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86.linux-x86 # -# $Revision-Id$ -# # Site specific definitions for linux-x86 host - linux-x86 target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.solaris-sparc b/configure/os/CONFIG_SITE.linux-x86.solaris-sparc index 7bd401330..156c748bd 100644 --- a/configure/os/CONFIG_SITE.linux-x86.solaris-sparc +++ b/configure/os/CONFIG_SITE.linux-x86.solaris-sparc @@ -1,8 +1,5 @@ # CONFIG_SITE.linux-x86.solaris-sparc # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site specific definitions for linux-x86 host - solaris-sparc target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 b/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 index 95ff59130..4515d8b4c 100644 --- a/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86.vxWorks-68040 # -# $Revision-Id$ -# # Site specific definitions for linux-x86 host - vxWorks-68040 target builds # Only the local epics system manager should modify this file #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603 b/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603 index 5c68d52eb..de1f98c35 100644 --- a/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603 +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site-specific definitions for linux-x86 builds of vxWorks-ppc603 # diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603_long b/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603_long index 9109e98d1..4cc5c6e81 100644 --- a/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603_long +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorks-ppc603_long @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site-specific definitions for linux-x86 builds of vxWorks-ppc603_long # diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorksCommon b/configure/os/CONFIG_SITE.linux-x86.vxWorksCommon index 3fce09ec5..4c7d044f5 100644 --- a/configure/os/CONFIG_SITE.linux-x86.vxWorksCommon +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorksCommon @@ -1,6 +1,5 @@ # CONFIG_SITE.linux-x86.vxWorksCommon # -# $Revision-Id$ # This file is maintained by the build community. # # Definitions for linux-x86 host - vxWorks target builds diff --git a/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug b/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug index 3685bc811..8ff68471a 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug +++ b/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug # -# $Revision-Id$ -# # Site specific overrides for linux-x86_64 host and target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86_64.Common b/configure/os/CONFIG_SITE.linux-x86_64.Common index 3604f4d90..244e163b4 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.Common +++ b/configure/os/CONFIG_SITE.linux-x86_64.Common @@ -1,8 +1,5 @@ # CONFIG_SITE.linux-x86_64.Common # -# $Revision-Id$ -# This file is maintained by the build community. -# # Site override definitions for linux-x86_64 host builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86_64.UnixCommon b/configure/os/CONFIG_SITE.linux-x86_64.UnixCommon index 811e698ae..fa67bd3b8 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.UnixCommon +++ b/configure/os/CONFIG_SITE.linux-x86_64.UnixCommon @@ -1,6 +1,4 @@ # CONFIG_SITE.linux-x86_64.UnixCommon -$ -# $Revision-Id$ # # Site Specific configure override definitions # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.linux-x86_64.linux-arm b/configure/os/CONFIG_SITE.linux-x86_64.linux-arm index 95d64e108..9fcf3452a 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.linux-arm +++ b/configure/os/CONFIG_SITE.linux-x86_64.linux-arm @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86_64.linux-arm # -# $Revision-Id$ -# # Site specific settings for linux-x86_64 host - linux-arm target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86_64.linux-arm-debug b/configure/os/CONFIG_SITE.linux-x86_64.linux-arm-debug index 98e644671..4f1e89a1b 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.linux-arm-debug +++ b/configure/os/CONFIG_SITE.linux-x86_64.linux-arm-debug @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86_64.linux-arm-debug # -# $Revision-Id$ -# # Site specific settings for linux-x86_64 host - linux-arm-debug target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 b/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 index 8fccd7612..7a19d0dfe 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 +++ b/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86_64.linux-x86_64 # -# $Revision-Id$ -# # Site specific definitions for linux-x86_64 host - linux-x86_64 target builds #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-68040 b/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-68040 index 4773d8d2b..63ca76f2d 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-68040 +++ b/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-68040 @@ -1,7 +1,5 @@ # CONFIG_SITE.linux-x86_64.vxWorks-68040 # -# $Revision-Id$ -# # Site specific definitions for linux-x86_64 host - vxWorks-68040 target builds # Only the local epics system manager should modify this file #------------------------------------------------------- diff --git a/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603 b/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603 index cc05608cf..dfcc96f42 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603 +++ b/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603 @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site-specific definitions for linux-x86_64 builds of vxWorks-ppc603 # diff --git a/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603_long b/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603_long index 2346ece4e..729bb80d4 100644 --- a/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603_long +++ b/configure/os/CONFIG_SITE.linux-x86_64.vxWorks-ppc603_long @@ -1,4 +1,3 @@ -# $Revision-Id$ # # Site-specific definitions for linux-x86 builds of vxWorks-ppc603_long # diff --git a/configure/os/CONFIG_SITE.solaris-sparc.Common b/configure/os/CONFIG_SITE.solaris-sparc.Common index a7398dbcf..eaa42044c 100644 --- a/configure/os/CONFIG_SITE.solaris-sparc.Common +++ b/configure/os/CONFIG_SITE.solaris-sparc.Common @@ -1,7 +1,5 @@ # CONFIG_SITE.solaris-sparc.Common # -# $Revision-Id$ -# # Site specific override definitions for solaris-sparc host builds # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.win32-x86-borland.Common b/configure/os/CONFIG_SITE.win32-x86-borland.Common index d2e09a242..37f497cf6 100644 --- a/configure/os/CONFIG_SITE.win32-x86-borland.Common +++ b/configure/os/CONFIG_SITE.win32-x86-borland.Common @@ -1,7 +1,5 @@ # CONFIG_SITE.win32-x86-borland.Common # -# $Revision-Id$ -# # Site specific definitions for win32-x86-borland host # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw index 9022b8e2b..1f0e83d61 100644 --- a/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw @@ -1,7 +1,5 @@ # CONFIG_SITE.win32-x86-mingw.win32-x86-mingw # -# $Revision-Id$ -# # Site Specific definitions for win32-x86-mingw target # The MinGW bin directory must be in your path. diff --git a/configure/os/CONFIG_SITE.win32-x86.Common b/configure/os/CONFIG_SITE.win32-x86.Common index 9bcd14d2d..9141333d0 100644 --- a/configure/os/CONFIG_SITE.win32-x86.Common +++ b/configure/os/CONFIG_SITE.win32-x86.Common @@ -1,7 +1,5 @@ # CONFIG_SITE.win32-x86.Common # -# $Revision-Id$ -# # Site specific definitions for win32-x86 host # Only the local epics system manager should modify this file diff --git a/configure/os/CONFIG_SITE.win32-x86.win32-x86 b/configure/os/CONFIG_SITE.win32-x86.win32-x86 index 84f6870b8..165480409 100644 --- a/configure/os/CONFIG_SITE.win32-x86.win32-x86 +++ b/configure/os/CONFIG_SITE.win32-x86.win32-x86 @@ -1,4 +1,3 @@ -# $Revision-Id$ # If you have Visual C++ 6.0, uncomment the following override lines # This will to eliminate warnings about unknown options /GL, /LTCG, and /w44355. diff --git a/configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw b/configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw index bdb8c995e..63b559769 100644 --- a/configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw +++ b/configure/os/CONFIG_SITE.windows-x64-mingw.windows-x64-mingw @@ -1,7 +1,5 @@ # CONFIG_SITE.windows-x64-mingw.windows-x64-mingw # -# $Revision-Id$ -# # Site Specific definitions for windows-x64-mingw target # Only the local epics system manager should modify this file From a66d56f5cf223dc90d1170d512f0caf3d2e15f99 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 21 May 2016 04:28:49 +0200 Subject: [PATCH 074/226] startup dir --- startup/EpicsHostArch.pl | 1 - startup/cygwin.bat | 1 - startup/win32.bat | 1 - 3 files changed, 3 deletions(-) diff --git a/startup/EpicsHostArch.pl b/startup/EpicsHostArch.pl index e6babf6d3..09f7ffddd 100755 --- a/startup/EpicsHostArch.pl +++ b/startup/EpicsHostArch.pl @@ -9,7 +9,6 @@ eval 'exec perl -S $0 ${1+"$@"}' # -*- Mode: perl -*- # in file LICENSE that is included with this distribution. #************************************************************************* -# $Revision-Id$ # Returns the Epics host architecture suitable # for assigning to the EPICS_HOST_ARCH variable diff --git a/startup/cygwin.bat b/startup/cygwin.bat index 2d3a1567e..ff75b5335 100755 --- a/startup/cygwin.bat +++ b/startup/cygwin.bat @@ -8,7 +8,6 @@ REM EPICS BASE Versions 3.13.7 REM and higher are distributed subject to a Software License Agreement found REM in file LICENSE that is included with this distribution. REM ************************************************************************* -REM $Revision-Id$ REM REM Site-specific EPICS environment settings REM diff --git a/startup/win32.bat b/startup/win32.bat index 5c0448fe8..af9155dd7 100644 --- a/startup/win32.bat +++ b/startup/win32.bat @@ -8,7 +8,6 @@ REM EPICS BASE Versions 3.13.7 REM and higher are distributed subject to a Software License Agreement found REM in file LICENSE that is included with this distribution. REM ************************************************************************* -REM $Revision-Id$ REM REM Site-specific EPICS environment settings REM From 1218e3db915f2762c7735cfa34ed254713b5c6fc Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 21 May 2016 04:36:49 +0200 Subject: [PATCH 075/226] documentation dir; Added Release note --- documentation/README.darwin.html | 4 +--- documentation/RELEASE_NOTES.html | 5 +++++ documentation/ReleaseChecklist.html | 6 ------ 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/documentation/README.darwin.html b/documentation/README.darwin.html index 68e86171b..cbc290178 100644 --- a/documentation/README.darwin.html +++ b/documentation/README.darwin.html @@ -179,8 +179,6 @@ runAppleScript(const char *format, ...) [pool release]; return ret; } -

-
-$Revision-Id$ +
diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 7c6692898..7b6322d0a 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,11 @@ +

Bazaar keywords such as 'Revision-Id' removed

+ +

In preparation for moving to git in place of the Bazaar revision control +system we have removed all the keywords from the Base source code.

+

NTP Time Provider adjusts to OS tick rate changes

Dirk Zimoch provided code that allows the NTP Time provider (used on VxWorks diff --git a/documentation/ReleaseChecklist.html b/documentation/ReleaseChecklist.html index 51e8c6ed3..28f695ae5 100644 --- a/documentation/ReleaseChecklist.html +++ b/documentation/ReleaseChecklist.html @@ -32,12 +32,6 @@

EPICS Base Release Procedures & Checklist

-
-

$Date$
- $Authors$
- $Revision-Id$

-
-

This document describes the procedures and provides a checklist of tasks that should be performed when creating new releases of EPICS Base.

From c03d3eb69a768b9ee401fdc920f38a472a2d5ef3 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sun, 22 May 2016 05:41:50 +0200 Subject: [PATCH 076/226] Removed commit date from CONFIG_BASE_VERSION --- configure/CONFIG_BASE_VERSION | 2 +- src/libCom/misc/makeEpicsVersion.pl | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 48337964d..6449b2940 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -56,9 +56,9 @@ EPICS_SHORT_VERSION=$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)$(EP EPICS_VERSION_NUMBER=$(EPICS_SHORT_VERSION)$(EPICS_DEV_SNAPSHOT)$(EPICS_SITE_VSTRING) EPICS_VERSION_STRING="EPICS Version $(EPICS_VERSION_NUMBER)" -COMMIT_DATE="\$$Date$$" # Provide these in case anyone is still using the old names EPICS_CVS_SNAPSHOT=$(EPICS_DEV_SNAPSHOT) +COMMIT_DATE="-no-date-" CVS_DATE=$(COMMIT_DATE) CVS_TAG="-no-tags-" diff --git a/src/libCom/misc/makeEpicsVersion.pl b/src/libCom/misc/makeEpicsVersion.pl index 62dea3d5e..8486fb56e 100644 --- a/src/libCom/misc/makeEpicsVersion.pl +++ b/src/libCom/misc/makeEpicsVersion.pl @@ -10,7 +10,7 @@ use strict; -my ($ver, $rev, $mod, $patch, $snapshot, $commit_date); +my ($ver, $rev, $mod, $patch, $snapshot); my ($infile, $outdir, $site_ver) = @ARGV; @@ -30,13 +30,12 @@ while (<$VARS>) { if (m/^EPICS_MODIFICATION\s*=\s*(\d+)/) { $mod = $1; } if (m/^EPICS_PATCH_LEVEL\s*=\s*(\d+)/) { $patch = $1; } if (m/^EPICS_DEV_SNAPSHOT\s*=\s*([-\w]*)/) { $snapshot = $1; } - if (m/^COMMIT_DATE\s*=\s*"\\(.*)"/) { $commit_date = $1; } } close $VARS; map { die "Variable missing from $infile" unless defined $_; -} $ver, $rev, $mod, $patch, $snapshot, $commit_date; +} $ver, $rev, $mod, $patch, $snapshot; my $ver_str = "$ver.$rev.$mod"; $ver_str .= ".$patch" if $patch > 0; @@ -62,7 +61,7 @@ print $OUT <<"END_OUTPUT"; #define EPICS_DEV_SNAPSHOT "$snapshot" #define EPICS_SITE_VERSION "$site_ver" #define EPICS_VERSION_STRING "EPICS $ver_str" -#define epicsReleaseVersion "EPICS R$ver_str $commit_date" +#define epicsReleaseVersion "EPICS R$ver_str" /* The following names are deprecated, use the equivalent name above */ #define EPICS_UPDATE_LEVEL EPICS_PATCH_LEVEL From f4a16a1e1e197cb4963f12b3a46b8de6b79d9e3f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sun, 22 May 2016 05:43:09 +0200 Subject: [PATCH 077/226] Remaining Revision-Id keywords in source --- Makefile | 3 --- src/Makefile | 3 --- src/RTEMS/Makefile | 3 --- src/RTEMS/base/epicsRtemsInitHookPost.c | 1 - src/RTEMS/base/epicsRtemsInitHookPre.c | 1 - src/RTEMS/base/epicsRtemsInitHooks.h | 1 - src/RTEMS/base/rtems_config.c | 1 - src/RTEMS/base/rtems_init.c | 1 - src/RTEMS/base/rtems_netconfig.c | 1 - src/RTEMS/base/rtems_util.c | 1 - src/as/asDbLib.h | 4 +--- src/as/ascheck.c | 3 +-- src/bpt/cvtTable.h | 2 +- src/bpt/makeBpt.c | 2 +- src/ca/CAref.html | 2 -- src/cas/README | 3 --- src/cas/example/directoryService/vxEntry.cc | 1 - src/cas/generic/beaconAnomalyGovernor.cc | 2 -- src/cas/generic/beaconAnomalyGovernor.h | 2 -- src/cas/generic/beaconTimer.cc | 2 -- src/cas/generic/beaconTimer.h | 2 -- src/cas/generic/caHdrLargeArray.h | 2 -- src/cas/generic/caNetAddr.cc | 2 -- src/cas/generic/caServer.cc | 2 -- src/cas/generic/caServerI.cc | 5 +---- src/cas/generic/casAsyncIOI.cc | 2 -- src/cas/generic/casAsyncIOI.h | 2 -- src/cas/generic/casAsyncPVAttachIO.cc | 2 -- src/cas/generic/casAsyncPVAttachIOI.cpp | 2 -- src/cas/generic/casAsyncPVAttachIOI.h | 2 -- src/cas/generic/casAsyncPVExistIO.cc | 2 -- src/cas/generic/casAsyncPVExistIOI.cpp | 2 -- src/cas/generic/casAsyncPVExistIOI.h | 2 -- src/cas/generic/casAsyncReadIO.cc | 2 -- src/cas/generic/casAsyncReadIOI.cc | 2 -- src/cas/generic/casAsyncReadIOI.h | 2 -- src/cas/generic/casAsyncWriteIO.cc | 2 -- src/cas/generic/casAsyncWriteIOI.cpp | 2 -- src/cas/generic/casAsyncWriteIOI.h | 2 -- src/cas/generic/casBufferFactory.cpp | 2 -- src/cas/generic/casChannel.cc | 2 -- src/cas/generic/casChannelI.cc | 2 -- src/cas/generic/casChannelI.h | 2 -- src/cas/generic/casCoreClient.cc | 2 -- src/cas/generic/casCoreClient.h | 2 -- src/cas/generic/casCtx.h | 4 ---- src/cas/generic/casDGClient.cc | 2 -- src/cas/generic/casDGClient.h | 2 -- src/cas/generic/casEvent.h | 3 --- src/cas/generic/casEventMask.cc | 2 -- src/cas/generic/casEventMask.h | 2 -- src/cas/generic/casEventRegistry.h | 5 ----- src/cas/generic/casEventSys.cc | 2 -- src/cas/generic/casEventSys.h | 4 ---- src/cas/generic/casMonEvent.cc | 2 -- src/cas/generic/casMonEvent.h | 3 --- src/cas/generic/casMonitor.cc | 2 -- src/cas/generic/casMonitor.h | 4 ---- src/cas/generic/casPV.cc | 2 -- src/cas/generic/casPVI.cc | 2 -- src/cas/generic/casPVI.h | 3 --- src/cas/generic/chanIntfForPV.cc | 2 -- src/cas/generic/chanIntfForPV.h | 3 --- src/cas/generic/channelDestroyEvent.cpp | 2 -- src/cas/generic/channelDestroyEvent.h | 2 -- src/cas/generic/clientBufMemoryManager.cpp | 3 --- src/cas/generic/inBuf.cc | 2 -- src/cas/generic/ioBlocked.h | 2 -- src/cas/generic/mt/ioBlocked.cc | 1 - src/cas/generic/outBuf.cc | 2 -- src/cas/generic/pvAttachReturn.cc | 3 --- src/cas/generic/pvExistReturn.cc | 3 --- src/cas/generic/st/casDGEvWakeup.h | 5 ----- src/cas/generic/st/casDGIOWakeup.h | 4 ---- src/cas/generic/st/casDGIntfOS.cc | 1 - src/cas/generic/st/casDGIntfOS.h | 4 ---- src/cas/generic/st/casIntfOS.cc | 4 ---- src/cas/generic/st/casIntfOS.h | 5 ----- src/cas/generic/st/casOSD.h | 4 ---- src/cas/generic/st/casStreamOS.cc | 1 - src/cas/generic/st/casStreamOS.h | 4 ---- src/cas/generic/st/ioBlocked.cc | 1 - src/cas/io/bsdSocket/caServerIO.cc | 3 --- src/cas/io/bsdSocket/caServerIO.h | 5 ----- src/cas/io/bsdSocket/casDGIntfIO.h | 4 ---- src/cas/io/bsdSocket/casIOD.h | 3 --- src/cas/io/bsdSocket/casIntfIO.h | 4 ---- src/cas/io/bsdSocket/casStreamIO.h | 4 ---- src/cas/io/bsdSocket/ipIgnoreEntry.cpp | 2 -- src/cas/io/bsdSocket/ipIgnoreEntry.h | 5 ----- src/db/callback.h | 1 - src/db/cvtBpt.c | 1 - src/db/dbAccess.c | 1 - src/db/dbAccessDefs.h | 1 - src/db/dbBkpt.c | 1 - src/db/dbBkpt.h | 1 - src/db/dbCAC.h | 10 --------- src/db/dbCa.c | 4 +--- src/db/dbChannelIO.cpp | 10 --------- src/db/dbChannelIO.h | 10 --------- src/db/dbContext.cpp | 10 --------- src/db/dbContextReadNotifyCache.cpp | 1 - src/db/dbEvent.c | 2 +- src/db/dbEvent.h | 2 -- src/db/dbFastLinkConv.c | 1 - src/db/dbNotify.c | 1 - src/db/dbPutNotifyBlocker.cpp | 10 --------- src/db/dbPutNotifyBlocker.h | 10 --------- src/db/dbScan.h | 3 +-- src/db/dbSubscriptionIO.cpp | 10 --------- src/db/dbTest.c | 1 - src/db/db_access.c | 2 -- src/db/db_access_routines.h | 1 - src/db/db_field_log.h | 2 +- src/db/db_test.c | 1 - src/db/initHooks.c | 1 - src/db/initHooks.h | 1 - src/db/recGbl.c | 2 -- src/db/templateInstances.cpp | 10 --------- src/db/test/callbackTest.c | 1 - src/dbStatic/alarm.h | 1 - src/dbStatic/alarmString.h | 1 - src/dbStatic/dbBase.h | 3 +-- src/dbStatic/dbFldTypes.h | 3 +-- src/dbStatic/dbLexRoutines.c | 1 - src/dbStatic/dbStaticLib.c | 1 - src/dbStatic/dbStaticLib.h | 3 +-- src/dbStatic/devSup.h | 1 - src/dbStatic/drvSup.h | 1 - src/dbStatic/guigroup.h | 2 +- src/dbStatic/link.h | 1 - src/dbStatic/special.h | 1 - src/dev/softDev/devAaiSoft.c | 2 +- src/dev/softDev/devAaoSoft.c | 2 +- src/dev/softDev/devAiSoft.c | 3 +-- src/dev/softDev/devAiSoftRaw.c | 3 +-- src/dev/softDev/devAoSoft.c | 1 - src/dev/softDev/devAoSoftRaw.c | 1 - src/dev/softDev/devBiSoft.c | 3 +-- src/dev/softDev/devBiSoftRaw.c | 3 +-- src/dev/softDev/devBoSoft.c | 2 -- src/dev/softDev/devBoSoftRaw.c | 2 -- src/dev/softDev/devEventSoft.c | 3 +-- src/dev/softDev/devGeneralTime.c | 1 - src/dev/softDev/devHistogramSoft.c | 1 - src/dev/softDev/devLiSoft.c | 3 +-- src/dev/softDev/devLoSoft.c | 1 - src/dev/softDev/devMbbiDirectSoft.c | 3 +-- src/dev/softDev/devMbbiDirectSoftRaw.c | 3 +-- src/dev/softDev/devMbbiSoft.c | 3 +-- src/dev/softDev/devMbbiSoftRaw.c | 3 +-- src/dev/softDev/devMbboDirectSoft.c | 1 - src/dev/softDev/devMbboDirectSoftRaw.c | 1 - src/dev/softDev/devMbboSoft.c | 1 - src/dev/softDev/devMbboSoftRaw.c | 1 - src/dev/softDev/devSASoft.c | 3 +-- src/dev/softDev/devSiSoft.c | 3 +-- src/dev/softDev/devSoSoft.c | 1 - src/dev/softDev/devSoSoftCallback.c | 1 - src/dev/softDev/devSoStdio.c | 2 -- src/dev/softDev/devSoft.dbd | 2 ++ src/dev/softDev/devTimestamp.c | 1 - src/dev/softDev/devWfSoft.c | 3 +-- src/dev/testDev/devHistogramTestAsyn.c | 1 - src/dev/testDev/devTestAsyn.c | 1 - src/dev/testDev/devTestAsyn.dbd | 2 +- src/gdd/README | 2 -- src/gdd/aitConvert.cc | 2 -- src/gdd/aitConvert.h | 3 --- src/gdd/aitGen.c | 3 --- src/gdd/aitHelpers.cc | 3 --- src/gdd/aitHelpers.h | 3 --- src/gdd/aitTypes.c | 3 --- src/gdd/aitTypes.h | 3 --- src/gdd/dbMapper.cc | 3 --- src/gdd/dbMapper.h | 3 --- src/gdd/gdd.cc | 3 --- src/gdd/gdd.h | 3 --- src/gdd/gddAppDefs.cc | 3 --- src/gdd/gddAppFuncTable.h | 2 -- src/gdd/gddAppTable.cc | 3 --- src/gdd/gddAppTable.h | 3 --- src/gdd/gddArray.cc | 2 -- src/gdd/gddArray.h | 2 -- src/gdd/gddContainer.cc | 4 +--- src/gdd/gddContainer.h | 2 -- src/gdd/gddContainerI.h | 3 --- src/gdd/gddErrorCodes.cc | 3 --- src/gdd/gddErrorCodes.h | 3 --- src/gdd/gddI.h | 3 --- src/gdd/gddNewDel.cc | 3 --- src/gdd/gddNewDel.h | 3 --- src/gdd/gddTest.cc | 3 --- src/gdd/gddUtils.cc | 3 --- src/gdd/gddUtils.h | 3 --- src/gdd/gddUtilsI.h | 3 --- src/gdd/gddref.html | 21 +++++++------------ src/gdd/gddref2.html | 21 +++++++------------ src/gdd/genApps.cc | 3 --- src/libCom/bucketLib/bucketLib.h | 2 -- src/libCom/calc/calcPerform.c | 1 - src/libCom/calc/postfix.c | 3 +-- src/libCom/cppStd/epicsExcept.h | 1 - src/libCom/cvtFast/cvtFast.c | 1 - src/libCom/cvtFast/cvtFast.h | 2 +- src/libCom/cxxTemplates/epicsGuard.h | 3 --- src/libCom/cxxTemplates/epicsOnce.cpp | 10 --------- src/libCom/cxxTemplates/epicsOnce.h | 10 --------- src/libCom/cxxTemplates/epicsSingleton.h | 3 --- .../cxxTemplates/epicsSingletonBase.cpp | 3 --- .../cxxTemplates/epicsSingletonMutex.cpp | 3 --- src/libCom/cxxTemplates/resourceLib.cpp | 8 ------- src/libCom/cxxTemplates/resourceLib.h | 2 -- src/libCom/cxxTemplates/tsDLList.h | 2 -- src/libCom/cxxTemplates/tsFreeList.h | 9 +------- src/libCom/cxxTemplates/tsSLList.h | 2 -- src/libCom/ellLib/ellLib.c | 3 +-- src/libCom/ellLib/ellLib.h | 3 +-- src/libCom/env/envDefs.h | 2 +- src/libCom/env/envSubr.c | 2 +- src/libCom/error/errMdef.h | 1 - src/libCom/error/errSymLib.c | 4 ++-- src/libCom/error/error.h | 1 - src/libCom/fdmgr/fdManager.cpp | 2 -- src/libCom/fdmgr/fdManager.h | 2 -- src/libCom/fdmgr/fdmgr.cpp | 1 - src/libCom/fdmgr/fdmgr.h | 2 -- src/libCom/freeList/freeList.h | 4 +--- src/libCom/freeList/freeList.html | 9 -------- src/libCom/freeList/freeListLib.c | 2 -- src/libCom/gpHash/gpHash.h | 1 - src/libCom/gpHash/gpHash.html | 9 -------- src/libCom/gpHash/gpHashLib.c | 1 - src/libCom/macLib/macCore.c | 3 +-- src/libCom/macLib/macEnv.c | 3 +-- src/libCom/macLib/macLib.h | 3 +-- src/libCom/macLib/macLibNOTES | 2 -- src/libCom/macLib/macUtil.c | 3 +-- src/libCom/misc/cantProceed.c | 1 - src/libCom/misc/dbDefs.h | 3 +-- src/libCom/misc/epicsString.c | 1 - src/libCom/misc/epicsString.h | 1 - src/libCom/misc/epicsTypes.h | 1 - src/libCom/misc/epicsUnitTest.c | 2 +- src/libCom/misc/epicsUnitTest.h | 2 +- src/libCom/misc/ipAddrToAsciiAsynchronous.cpp | 9 -------- src/libCom/misc/ipAddrToAsciiAsynchronous.h | 10 --------- src/libCom/misc/locationException.h | 2 -- src/libCom/misc/testMain.h | 1 - src/libCom/misc/unixFileName.h | 2 -- src/libCom/osi/devLib.h | 1 - src/libCom/osi/devLibVME.c | 3 --- src/libCom/osi/devLibVME.h | 1 - src/libCom/osi/devLibVMEImpl.h | 1 - src/libCom/osi/epicsAssert.h | 1 - src/libCom/osi/epicsMessageQueue.cpp | 2 -- src/libCom/osi/epicsMessageQueue.h | 2 -- src/libCom/osi/epicsMutex.cpp | 2 +- src/libCom/osi/epicsThread.cpp | 2 -- src/libCom/osi/os/Darwin/osdEnv.c | 2 -- src/libCom/osi/os/Darwin/osdSock.h | 2 -- src/libCom/osi/os/Darwin/osdSockAddrReuse.cpp | 2 -- src/libCom/osi/os/Darwin/osdTime.h | 2 -- src/libCom/osi/os/Darwin/osiFileName.h | 2 -- src/libCom/osi/os/Linux/osdTime.h | 2 -- src/libCom/osi/os/Linux/osiFileName.h | 2 -- src/libCom/osi/os/Linux/osiUnistd.h | 10 --------- src/libCom/osi/os/RTEMS/devLibVMEOSD.c | 1 - src/libCom/osi/os/RTEMS/osdEvent.c | 1 - src/libCom/osi/os/RTEMS/osdEvent.h | 1 - src/libCom/osi/os/RTEMS/osdInterrupt.c | 1 - src/libCom/osi/os/RTEMS/osdMessageQueue.c | 2 -- src/libCom/osi/os/RTEMS/osdMessageQueue.h | 2 -- src/libCom/osi/os/RTEMS/osdMutex.c | 1 - src/libCom/osi/os/RTEMS/osdMutex.h | 1 - src/libCom/osi/os/RTEMS/osdProcess.c | 2 -- src/libCom/osi/os/RTEMS/osdSock.h | 1 - src/libCom/osi/os/RTEMS/osdThread.c | 1 - src/libCom/osi/os/RTEMS/osdTime.cpp | 2 -- src/libCom/osi/os/RTEMS/osdTime.h | 5 ----- src/libCom/osi/os/RTEMS/osdVME.h | 1 - src/libCom/osi/os/RTEMS/osiFileName.h | 1 - src/libCom/osi/os/RTEMS/osiUnistd.h | 10 --------- .../WIN32/epicsSocketConvertErrnoToString.cpp | 4 ---- src/libCom/osi/os/WIN32/epicsTempFile.cpp | 1 - src/libCom/osi/os/WIN32/osdEvent.c | 1 - src/libCom/osi/os/WIN32/osdEvent.h | 1 - src/libCom/osi/os/WIN32/osdMutex.c | 1 - src/libCom/osi/os/WIN32/osdMutex.h | 1 - src/libCom/osi/os/WIN32/osdNetIntf.c | 2 -- src/libCom/osi/os/WIN32/osdProcess.c | 2 -- src/libCom/osi/os/WIN32/osdSock.c | 2 -- src/libCom/osi/os/WIN32/osdSockAddrReuse.cpp | 1 - src/libCom/osi/os/WIN32/osdThread.c | 4 ---- src/libCom/osi/os/WIN32/osdTime.cpp | 3 --- src/libCom/osi/os/WIN32/osdTime.h | 2 -- src/libCom/osi/os/WIN32/osiFileName.h | 1 - src/libCom/osi/os/WIN32/osiUnistd.h | 10 --------- src/libCom/osi/os/WIN32/systemCallIntMech.cpp | 1 - src/libCom/osi/os/cygwin32/devLibVMEOSD.c | 2 -- .../osi/os/cygwin32/osdSockAddrReuse.cpp | 1 - src/libCom/osi/os/cygwin32/osiFileName.h | 2 -- .../osi/os/cygwin32/systemCallIntMech.cpp | 1 - src/libCom/osi/os/default/devLibVMEOSD.c | 2 -- src/libCom/osi/os/default/epicsReadline.c | 1 - .../epicsSocketConvertErrnoToString.cpp | 1 - src/libCom/osi/os/default/osdAssert.c | 1 - src/libCom/osi/os/default/osdEnv.c | 2 -- src/libCom/osi/os/default/osdMessageQueue.cpp | 2 -- src/libCom/osi/os/default/osdNetIntf.c | 1 - src/libCom/osi/os/default/osdVME.h | 1 - src/libCom/osi/os/default/osdWireFormat.h | 7 ------- src/libCom/osi/os/freebsd/osdTime.h | 2 -- src/libCom/osi/os/freebsd/osiFileName.h | 2 -- src/libCom/osi/os/freebsd/osiUnistd.h | 10 --------- src/libCom/osi/os/iOS/osdEnv.c | 3 --- src/libCom/osi/os/iOS/osdSock.h | 2 -- src/libCom/osi/os/iOS/osdSockAddrReuse.cpp | 1 - src/libCom/osi/os/iOS/osdTime.h | 2 -- src/libCom/osi/os/iOS/osiFileName.h | 2 -- src/libCom/osi/os/posix/osdProcess.c | 2 -- src/libCom/osi/os/posix/osdSock.c | 1 - src/libCom/osi/os/posix/osdSockAddrReuse.cpp | 1 - src/libCom/osi/os/posix/osdTime.h | 2 -- src/libCom/osi/os/posix/osiUnistd.h | 10 --------- src/libCom/osi/os/posix/systemCallIntMech.cpp | 1 - src/libCom/osi/os/vxWorks/camacLib.h | 2 -- src/libCom/osi/os/vxWorks/devLibVMEOSD.c | 2 -- src/libCom/osi/os/vxWorks/epicsDynLink.c | 3 +-- src/libCom/osi/os/vxWorks/logMsgToErrlog.cpp | 2 -- src/libCom/osi/os/vxWorks/module_types.h | 1 - src/libCom/osi/os/vxWorks/osdEnv.c | 2 -- src/libCom/osi/os/vxWorks/osdMessageQueue.cpp | 2 -- src/libCom/osi/os/vxWorks/osdMessageQueue.h | 2 -- src/libCom/osi/os/vxWorks/osdProcess.c | 2 -- src/libCom/osi/os/vxWorks/osdVME.h | 1 - src/libCom/osi/os/vxWorks/osiFileName.h | 2 -- src/libCom/osi/os/vxWorks/task_params.h | 1 - src/libCom/osi/os/vxWorks/veclist.c | 19 ----------------- src/libCom/osi/osiPoolStatus.h | 2 -- src/libCom/osi/osiProcess.h | 2 -- src/libCom/osi/osiSock.c | 2 -- src/libCom/osi/osiSock.h | 2 -- src/libCom/osi/osiWireFormat.h | 7 ------- src/libCom/taskwd/taskwd.h | 2 -- src/libCom/test/epicsCalcTest.cpp | 1 - src/libCom/test/epicsMessageQueueTest.cpp | 2 -- src/libCom/test/epicsStringTest.c | 3 +-- src/libCom/test/epicsThreadOnceTest.c | 1 - src/libCom/test/epicsThreadPrivateTest.cpp | 1 - src/libCom/test/epicsTimerTest.cpp | 2 -- src/libCom/test/epicsUnitTestTest.c | 2 +- src/libCom/test/macEnvExpandTest.c | 3 --- src/libCom/test/macLibTest.c | 3 --- src/libCom/test/taskwdTest.c | 1 - src/libCom/timer/epicsTimer.cpp | 2 -- src/libCom/timer/timer.cpp | 2 -- src/libCom/timer/timerPrivate.h | 2 -- src/libCom/timer/timerQueue.cpp | 1 - src/libCom/timer/timerQueueActive.cpp | 2 -- src/libCom/timer/timerQueueActiveMgr.cpp | 2 -- src/libCom/timer/timerQueuePassive.cpp | 1 - src/libCom/tsDefs/tsDefs.c | 3 --- src/libCom/tsDefs/tsDefs.h | 1 - src/makeBaseApp/makeBaseApp.pl | 1 - src/makeBaseApp/top/caServerApp/vxEntry.cc | 2 -- src/makeBaseExt/makeBaseExt.pl | 1 - src/makeBaseExt/top/Makefile | 2 +- src/makeBaseExt/top/configure/Makefile | 2 +- src/makeBaseExt/top/configure/RULES | 2 +- src/makeBaseExt/top/configure/RULES_DIRS | 2 +- src/makeBaseExt/top/configure/RULES_IDL | 2 +- src/makeBaseExt/top/configure/RULES_PYTHON | 2 +- src/makeBaseExt/top/configure/RULES_TOP | 2 +- ...CONFIG.win32-x86-borland.win32-x86-borland | 2 -- .../configure/os/CONFIG_SITE.Common.Common | 2 -- .../os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu | 2 -- .../configure/os/CONFIG_SITE.aix-ppc.aix-ppc | 2 -- .../os/CONFIG_SITE.cygwin-x86.cygwin-x86 | 2 -- .../os/CONFIG_SITE.darwin-ppc.darwin-ppc | 2 -- .../CONFIG_SITE.darwin-ppcx86.darwin-ppcx86 | 2 -- .../os/CONFIG_SITE.darwin-x86.darwin-x86 | 2 -- .../CONFIG_SITE.freebsd-x86_64.freebsd-x86_64 | 2 -- ...ONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu | 2 -- .../os/CONFIG_SITE.hpux-parisc.hpux-parisc | 2 -- .../os/CONFIG_SITE.interix-x86.interix-x86 | 2 -- .../os/CONFIG_SITE.linux-ppc.linux-ppc | 2 -- ...G_SITE.linux-x86-borland.linux-x86-borland | 2 -- ...ONFIG_SITE.linux-x86-debug.linux-x86-debug | 2 -- .../os/CONFIG_SITE.linux-x86.linux-athlon | 3 --- .../os/CONFIG_SITE.linux-x86.linux-x86 | 2 -- ...SITE.linux-x86_64-debug.linux-x86_64-debug | 2 -- .../os/CONFIG_SITE.linux-x86_64.linux-x86_64 | 2 -- ...TE.solaris-sparc-debug.solaris-sparc-debug | 3 --- ...G_SITE.solaris-sparc-gnu.solaris-sparc-gnu | 2 -- .../CONFIG_SITE.solaris-sparc.solaris-sparc | 2 -- ...TE.solaris-sparc64-gnu.solaris-sparc64-gnu | 3 --- ...ONFIG_SITE.solaris-sparc64.solaris-sparc64 | 2 -- ...G_SITE.solaris-x86-debug.solaris-x86-debug | 2 -- ...ONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu | 2 -- .../os/CONFIG_SITE.solaris-x86.solaris-x86 | 2 -- .../CONFIG_SITE.solaris-x86_64.solaris-x86_64 | 2 -- ...G_SITE.win32-x86-borland.win32-x86-borland | 2 -- ...FIG_SITE.win32-x86-cygwin.win32-x86-cygwin | 3 --- ...ONFIG_SITE.win32-x86-debug.win32-x86-debug | 3 --- ...ONFIG_SITE.win32-x86-mingw.win32-x86-mingw | 3 --- .../os/CONFIG_SITE.windows-x64.windows-x64 | 2 -- src/makeBaseExt/top/src/Makefile | 2 -- src/misc/base.dbd | 1 - src/misc/epicsRelease.c | 2 -- src/misc/iocInit.c | 1 - src/rec/aSubRecord.c | 3 +-- src/rec/aiRecord.c | 1 - src/rec/aoRecord.c | 1 - src/rec/biRecord.c | 2 -- src/rec/boRecord.c | 2 -- src/rec/calcRecord.c | 2 -- src/rec/compressRecord.c | 1 - src/rec/dfanoutRecord.c | 2 -- src/rec/eventRecord.c | 2 -- src/rec/fanoutRecord.c | 1 - src/rec/histogramRecord.c | 2 -- src/rec/longinRecord.c | 2 -- src/rec/longoutRecord.c | 1 - src/rec/mbbiDirectRecord.c | 2 -- src/rec/mbbiRecord.c | 1 - src/rec/mbboDirectRecord.c | 2 -- src/rec/mbboRecord.c | 2 -- src/rec/permissiveRecord.c | 2 -- src/rec/selRecord.c | 2 -- src/rec/seqRecord.c | 2 -- src/rec/stateRecord.c | 2 -- src/rec/stringinRecord.c | 2 -- src/rec/stringoutRecord.c | 2 -- src/rec/subArrayRecord.c | 2 -- src/rec/subRecord.c | 2 -- src/rec/waveformRecord.c | 2 -- src/rsrv/caservertask.c | 3 --- src/rsrv/online_notify.c | 2 -- src/rsrv/rsrv.h | 2 -- src/softIoc/softIocExit.db | 2 +- src/softIoc/softMain.cpp | 2 -- src/tools/EPICS/Copy.pm | 2 -- src/tools/EPICS/Path.pm | 2 -- src/tools/EPICS/Release.pm | 2 -- src/tools/convertRelease.pl | 2 -- src/tools/cvsclean.pl | 2 -- src/tools/dos2unix.pl | 1 - src/tools/expandVars.pl | 2 -- src/tools/filterWarnings.pl | 1 - src/tools/fullPathName.pl | 2 -- src/tools/makeIncludeDbd.pl | 2 -- src/tools/munch.pl | 1 - src/toolsComm/flex/README | 2 -- src/toolsComm/flex/ccl.c | 5 ----- src/toolsComm/flex/dfa.c | 5 ----- src/toolsComm/flex/ecs.c | 5 ----- src/toolsComm/flex/flex.html | 9 -------- src/toolsComm/flex/flex.skel | 4 +--- src/toolsComm/flex/flex.skel.static | 4 +--- src/toolsComm/flex/flexdef.h | 2 -- src/toolsComm/flex/flexdoc.html | 9 -------- src/toolsComm/flex/gen.c | 5 ----- src/toolsComm/flex/libmain.c | 2 -- src/toolsComm/flex/main.c | 9 -------- src/toolsComm/flex/misc.c | 5 ----- src/toolsComm/flex/nfa.c | 5 ----- src/toolsComm/flex/parse.y | 5 ----- src/toolsComm/flex/scan.c | 4 +--- src/toolsComm/flex/sym.c | 5 ----- src/toolsComm/flex/tblcmp.c | 5 ----- src/toolsComm/flex/yylex.c | 4 ---- src/util/ca_test.c | 5 +---- src/util/ca_test.h | 2 +- src/util/ca_test_main.c | 2 +- src/util/iocLogServer.c | 1 - 476 files changed, 82 insertions(+), 1177 deletions(-) diff --git a/Makefile b/Makefile index 649403dc5..aaae60fc7 100644 --- a/Makefile +++ b/Makefile @@ -7,9 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# TOP = . include $(TOP)/configure/CONFIG diff --git a/src/Makefile b/src/Makefile index 5e2c660ae..9c75bd79b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -6,9 +6,6 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# TOP = .. include $(TOP)/configure/CONFIG diff --git a/src/RTEMS/Makefile b/src/RTEMS/Makefile index db0cca944..d43a78bbd 100644 --- a/src/RTEMS/Makefile +++ b/src/RTEMS/Makefile @@ -7,9 +7,6 @@ # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -# -# $Revision-Id$ -# TOP = ../.. diff --git a/src/RTEMS/base/epicsRtemsInitHookPost.c b/src/RTEMS/base/epicsRtemsInitHookPost.c index da2fbeab4..f589eb9cf 100644 --- a/src/RTEMS/base/epicsRtemsInitHookPost.c +++ b/src/RTEMS/base/epicsRtemsInitHookPost.c @@ -8,7 +8,6 @@ /* * Dummy version -- use if application does not provide its own version - * $Revision-Id$ */ #include "epicsRtemsInitHooks.h" diff --git a/src/RTEMS/base/epicsRtemsInitHookPre.c b/src/RTEMS/base/epicsRtemsInitHookPre.c index 357952007..08efe1fe2 100644 --- a/src/RTEMS/base/epicsRtemsInitHookPre.c +++ b/src/RTEMS/base/epicsRtemsInitHookPre.c @@ -8,7 +8,6 @@ /* * Dummy version -- use if application does not provide its own version - * $Revision-Id$ */ #include "epicsRtemsInitHooks.h" diff --git a/src/RTEMS/base/epicsRtemsInitHooks.h b/src/RTEMS/base/epicsRtemsInitHooks.h index fac577a06..b7f09c100 100644 --- a/src/RTEMS/base/epicsRtemsInitHooks.h +++ b/src/RTEMS/base/epicsRtemsInitHooks.h @@ -8,7 +8,6 @@ /* * Hooks into RTEMS startup code - * $Revision-Id$ */ #include #include diff --git a/src/RTEMS/base/rtems_config.c b/src/RTEMS/base/rtems_config.c index ff5fb8128..147c08b10 100644 --- a/src/RTEMS/base/rtems_config.c +++ b/src/RTEMS/base/rtems_config.c @@ -6,7 +6,6 @@ \*************************************************************************/ /* * RTEMS configuration for EPICS - * $Revision-Id$ * Author: W. Eric Norum * norume@aps.anl.gov * (630) 252-4793 diff --git a/src/RTEMS/base/rtems_init.c b/src/RTEMS/base/rtems_init.c index 5030b0818..dd136b755 100644 --- a/src/RTEMS/base/rtems_init.c +++ b/src/RTEMS/base/rtems_init.c @@ -6,7 +6,6 @@ \*************************************************************************/ /* * RTEMS startup task for EPICS - * $Revision-Id$ * Author: W. Eric Norum * eric.norum@usask.ca * (306) 966-5394 diff --git a/src/RTEMS/base/rtems_netconfig.c b/src/RTEMS/base/rtems_netconfig.c index 910961153..832a6646b 100644 --- a/src/RTEMS/base/rtems_netconfig.c +++ b/src/RTEMS/base/rtems_netconfig.c @@ -5,7 +5,6 @@ \*************************************************************************/ /* * RTEMS network configuration for EPICS - * $Revision-Id$ * Author: W. Eric Norum * eric.norum@usask.ca * (306) 966-5394 diff --git a/src/RTEMS/base/rtems_util.c b/src/RTEMS/base/rtems_util.c index 82e405027..ca64f9650 100644 --- a/src/RTEMS/base/rtems_util.c +++ b/src/RTEMS/base/rtems_util.c @@ -6,7 +6,6 @@ \*************************************************************************/ /* * RTEMS utilitiy routines for EPICS - * $Revision-Id$ * Author: W. Eric Norum * eric@cls.usask.ca * (306) 966-6055 diff --git a/src/as/asDbLib.h b/src/as/asDbLib.h index f209a9028..686f40512 100644 --- a/src/as/asDbLib.h +++ b/src/as/asDbLib.h @@ -7,10 +7,8 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* share/epicsH/dbAsLib.h */ -/* $Revision-Id$ */ /* Author: Marty Kraimer Date: 02-23-94*/ - + #ifndef INCdbAsLibh #define INCdbAsLibh diff --git a/src/as/ascheck.c b/src/as/ascheck.c index 666a1a9ae..3b4b7004c 100644 --- a/src/as/ascheck.c +++ b/src/as/ascheck.c @@ -8,9 +8,8 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* Author: Marty Kraimer Date: 03-24-94 */ - + #include #include #include diff --git a/src/bpt/cvtTable.h b/src/bpt/cvtTable.h index e407732af..c94701083 100644 --- a/src/bpt/cvtTable.h +++ b/src/bpt/cvtTable.h @@ -7,7 +7,7 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * Breakpoint Tables * * Author: Marty Kraimer diff --git a/src/bpt/makeBpt.c b/src/bpt/makeBpt.c index bdf03ffe1..712c7095b 100644 --- a/src/bpt/makeBpt.c +++ b/src/bpt/makeBpt.c @@ -7,7 +7,7 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * Author: Marty Kraimer * Date: 9/28/95 * Replacement for old bldCvtTable diff --git a/src/ca/CAref.html b/src/ca/CAref.html index 1857ea734..91bc6bed2 100644 --- a/src/ca/CAref.html +++ b/src/ca/CAref.html @@ -51,8 +51,6 @@ width="88"> Valid HTML 4.01!

-

Modified on -$Date$


Table of Contents

diff --git a/src/cas/README b/src/cas/README index cf44c0513..b016c6737 100644 --- a/src/cas/README +++ b/src/cas/README @@ -1,6 +1,3 @@ - -$Revision-Id$ - README file for the EPICS Channel Access Server Author Jeff Hill johill@lanl.gov diff --git a/src/cas/example/directoryService/vxEntry.cc b/src/cas/example/directoryService/vxEntry.cc index 2cbf68e3a..1cb240723 100644 --- a/src/cas/example/directoryService/vxEntry.cc +++ b/src/cas/example/directoryService/vxEntry.cc @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ // -// $Revision-Id$ // Author: Jeff HIll (LANL) // diff --git a/src/cas/generic/beaconAnomalyGovernor.cc b/src/cas/generic/beaconAnomalyGovernor.cc index e0a4f4cf4..df22e5301 100644 --- a/src/cas/generic/beaconAnomalyGovernor.cc +++ b/src/cas/generic/beaconAnomalyGovernor.cc @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/beaconAnomalyGovernor.h b/src/cas/generic/beaconAnomalyGovernor.h index 6d063c5ee..cb520b6f1 100644 --- a/src/cas/generic/beaconAnomalyGovernor.h +++ b/src/cas/generic/beaconAnomalyGovernor.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/beaconTimer.cc b/src/cas/generic/beaconTimer.cc index b4fe82689..71124fac6 100644 --- a/src/cas/generic/beaconTimer.cc +++ b/src/cas/generic/beaconTimer.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/beaconTimer.h b/src/cas/generic/beaconTimer.h index bb516a9af..7b6a5654c 100644 --- a/src/cas/generic/beaconTimer.h +++ b/src/cas/generic/beaconTimer.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/caHdrLargeArray.h b/src/cas/generic/caHdrLargeArray.h index feae270e6..89b0d6d4b 100644 --- a/src/cas/generic/caHdrLargeArray.h +++ b/src/cas/generic/caHdrLargeArray.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/caNetAddr.cc b/src/cas/generic/caNetAddr.cc index 94476d4da..fc24b4c35 100644 --- a/src/cas/generic/caNetAddr.cc +++ b/src/cas/generic/caNetAddr.cc @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ // // Author: Jeffrey O. Hill // johill@lanl.gov diff --git a/src/cas/generic/caServer.cc b/src/cas/generic/caServer.cc index c4d91558d..f992eb56d 100644 --- a/src/cas/generic/caServer.cc +++ b/src/cas/generic/caServer.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/caServerI.cc b/src/cas/generic/caServerI.cc index af7ece1eb..2d5340217 100644 --- a/src/cas/generic/caServerI.cc +++ b/src/cas/generic/caServerI.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 @@ -35,8 +33,7 @@ // include a version string for POSIX systems static const char pVersionCAS[] = "@(#) " EPICS_VERSION_STRING - ", CA Portable Server Library " - "$Date$"; + ", CA Portable Server Library "; caServerI::caServerI ( caServer & tool ) : adapter (tool), diff --git a/src/cas/generic/casAsyncIOI.cc b/src/cas/generic/casAsyncIOI.cc index 7c79a28f8..e90247a6a 100644 --- a/src/cas/generic/casAsyncIOI.cc +++ b/src/cas/generic/casAsyncIOI.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncIOI.h b/src/cas/generic/casAsyncIOI.h index 9bdabde9f..24a48512d 100644 --- a/src/cas/generic/casAsyncIOI.h +++ b/src/cas/generic/casAsyncIOI.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncPVAttachIO.cc b/src/cas/generic/casAsyncPVAttachIO.cc index 09ff6976a..0098c13ba 100644 --- a/src/cas/generic/casAsyncPVAttachIO.cc +++ b/src/cas/generic/casAsyncPVAttachIO.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncPVAttachIOI.cpp b/src/cas/generic/casAsyncPVAttachIOI.cpp index 728de843d..1543c74cb 100644 --- a/src/cas/generic/casAsyncPVAttachIOI.cpp +++ b/src/cas/generic/casAsyncPVAttachIOI.cpp @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncPVAttachIOI.h b/src/cas/generic/casAsyncPVAttachIOI.h index a73871f6d..d8c5d5943 100644 --- a/src/cas/generic/casAsyncPVAttachIOI.h +++ b/src/cas/generic/casAsyncPVAttachIOI.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncPVExistIO.cc b/src/cas/generic/casAsyncPVExistIO.cc index 517121d1c..34f827b34 100644 --- a/src/cas/generic/casAsyncPVExistIO.cc +++ b/src/cas/generic/casAsyncPVExistIO.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncPVExistIOI.cpp b/src/cas/generic/casAsyncPVExistIOI.cpp index 9b6808bd1..f03a9deb6 100644 --- a/src/cas/generic/casAsyncPVExistIOI.cpp +++ b/src/cas/generic/casAsyncPVExistIOI.cpp @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncPVExistIOI.h b/src/cas/generic/casAsyncPVExistIOI.h index 6712d619e..d436c23cb 100644 --- a/src/cas/generic/casAsyncPVExistIOI.h +++ b/src/cas/generic/casAsyncPVExistIOI.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncReadIO.cc b/src/cas/generic/casAsyncReadIO.cc index a9ca5ee2a..e235e3ebe 100644 --- a/src/cas/generic/casAsyncReadIO.cc +++ b/src/cas/generic/casAsyncReadIO.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncReadIOI.cc b/src/cas/generic/casAsyncReadIOI.cc index 45248d31d..4bf01b546 100644 --- a/src/cas/generic/casAsyncReadIOI.cc +++ b/src/cas/generic/casAsyncReadIOI.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncReadIOI.h b/src/cas/generic/casAsyncReadIOI.h index a1ce60ce4..6f8b7d6c5 100644 --- a/src/cas/generic/casAsyncReadIOI.h +++ b/src/cas/generic/casAsyncReadIOI.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncWriteIO.cc b/src/cas/generic/casAsyncWriteIO.cc index abd0bb965..0366eb59b 100644 --- a/src/cas/generic/casAsyncWriteIO.cc +++ b/src/cas/generic/casAsyncWriteIO.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncWriteIOI.cpp b/src/cas/generic/casAsyncWriteIOI.cpp index 2d505679f..0b8c0a2cd 100644 --- a/src/cas/generic/casAsyncWriteIOI.cpp +++ b/src/cas/generic/casAsyncWriteIOI.cpp @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casAsyncWriteIOI.h b/src/cas/generic/casAsyncWriteIOI.h index f9ad3aa28..86b9c4add 100644 --- a/src/cas/generic/casAsyncWriteIOI.h +++ b/src/cas/generic/casAsyncWriteIOI.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casBufferFactory.cpp b/src/cas/generic/casBufferFactory.cpp index 41d4ca742..9f311a091 100644 --- a/src/cas/generic/casBufferFactory.cpp +++ b/src/cas/generic/casBufferFactory.cpp @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casChannel.cc b/src/cas/generic/casChannel.cc index 3ea176ca3..640bde595 100644 --- a/src/cas/generic/casChannel.cc +++ b/src/cas/generic/casChannel.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casChannelI.cc b/src/cas/generic/casChannelI.cc index a44ef6f40..588f67d78 100644 --- a/src/cas/generic/casChannelI.cc +++ b/src/cas/generic/casChannelI.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casChannelI.h b/src/cas/generic/casChannelI.h index 76eec5e7f..2c72e88e4 100644 --- a/src/cas/generic/casChannelI.h +++ b/src/cas/generic/casChannelI.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casCoreClient.cc b/src/cas/generic/casCoreClient.cc index a1514a1df..9c384776e 100644 --- a/src/cas/generic/casCoreClient.cc +++ b/src/cas/generic/casCoreClient.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casCoreClient.h b/src/cas/generic/casCoreClient.h index aad5e0030..f19f282a9 100644 --- a/src/cas/generic/casCoreClient.h +++ b/src/cas/generic/casCoreClient.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casCtx.h b/src/cas/generic/casCtx.h index a505299c0..706376e77 100644 --- a/src/cas/generic/casCtx.h +++ b/src/cas/generic/casCtx.h @@ -1,5 +1,3 @@ - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -10,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casDGClient.cc b/src/cas/generic/casDGClient.cc index c87a7b6d8..bf9037288 100644 --- a/src/cas/generic/casDGClient.cc +++ b/src/cas/generic/casDGClient.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casDGClient.h b/src/cas/generic/casDGClient.h index 334af2043..cac093380 100644 --- a/src/cas/generic/casDGClient.h +++ b/src/cas/generic/casDGClient.h @@ -1,5 +1,3 @@ - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. diff --git a/src/cas/generic/casEvent.h b/src/cas/generic/casEvent.h index a4ba0424c..efe62b5b7 100644 --- a/src/cas/generic/casEvent.h +++ b/src/cas/generic/casEvent.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casEventMask.cc b/src/cas/generic/casEventMask.cc index 062d41043..a72ced06d 100644 --- a/src/cas/generic/casEventMask.cc +++ b/src/cas/generic/casEventMask.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casEventMask.h b/src/cas/generic/casEventMask.h index 27d805f6b..d166ca918 100644 --- a/src/cas/generic/casEventMask.h +++ b/src/cas/generic/casEventMask.h @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casEventRegistry.h b/src/cas/generic/casEventRegistry.h index 12c3a62e4..c10f982e3 100644 --- a/src/cas/generic/casEventRegistry.h +++ b/src/cas/generic/casEventRegistry.h @@ -1,6 +1,3 @@ - - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -11,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casEventSys.cc b/src/cas/generic/casEventSys.cc index 46a75a051..8783f36f3 100644 --- a/src/cas/generic/casEventSys.cc +++ b/src/cas/generic/casEventSys.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casEventSys.h b/src/cas/generic/casEventSys.h index bde07f2f8..d194eedc0 100644 --- a/src/cas/generic/casEventSys.h +++ b/src/cas/generic/casEventSys.h @@ -1,5 +1,3 @@ - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -10,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casMonEvent.cc b/src/cas/generic/casMonEvent.cc index d405b6cd9..a4a930821 100644 --- a/src/cas/generic/casMonEvent.cc +++ b/src/cas/generic/casMonEvent.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casMonEvent.h b/src/cas/generic/casMonEvent.h index 686d27ed3..f66ea2554 100644 --- a/src/cas/generic/casMonEvent.h +++ b/src/cas/generic/casMonEvent.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casMonitor.cc b/src/cas/generic/casMonitor.cc index 41d78396c..c6ab11e05 100644 --- a/src/cas/generic/casMonitor.cc +++ b/src/cas/generic/casMonitor.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casMonitor.h b/src/cas/generic/casMonitor.h index 558f4db1a..336787d0a 100644 --- a/src/cas/generic/casMonitor.h +++ b/src/cas/generic/casMonitor.h @@ -1,5 +1,3 @@ - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -10,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casPV.cc b/src/cas/generic/casPV.cc index 33d21d08e..317200121 100644 --- a/src/cas/generic/casPV.cc +++ b/src/cas/generic/casPV.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casPVI.cc b/src/cas/generic/casPVI.cc index b8f6a2fa1..7f1b1a024 100644 --- a/src/cas/generic/casPVI.cc +++ b/src/cas/generic/casPVI.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/casPVI.h b/src/cas/generic/casPVI.h index 1939144db..feea79d23 100644 --- a/src/cas/generic/casPVI.h +++ b/src/cas/generic/casPVI.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/chanIntfForPV.cc b/src/cas/generic/chanIntfForPV.cc index 2ea2da606..4c983df60 100644 --- a/src/cas/generic/chanIntfForPV.cc +++ b/src/cas/generic/chanIntfForPV.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/chanIntfForPV.h b/src/cas/generic/chanIntfForPV.h index 48ca89bb3..f12fdcd18 100644 --- a/src/cas/generic/chanIntfForPV.h +++ b/src/cas/generic/chanIntfForPV.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/channelDestroyEvent.cpp b/src/cas/generic/channelDestroyEvent.cpp index 6256e75b3..33c64938a 100644 --- a/src/cas/generic/channelDestroyEvent.cpp +++ b/src/cas/generic/channelDestroyEvent.cpp @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/channelDestroyEvent.h b/src/cas/generic/channelDestroyEvent.h index 7c8b5821c..17b32f72a 100644 --- a/src/cas/generic/channelDestroyEvent.h +++ b/src/cas/generic/channelDestroyEvent.h @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/clientBufMemoryManager.cpp b/src/cas/generic/clientBufMemoryManager.cpp index bde66a28c..2f5fc128b 100644 --- a/src/cas/generic/clientBufMemoryManager.cpp +++ b/src/cas/generic/clientBufMemoryManager.cpp @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/inBuf.cc b/src/cas/generic/inBuf.cc index bd3b0e0a4..4bdc0fed4 100644 --- a/src/cas/generic/inBuf.cc +++ b/src/cas/generic/inBuf.cc @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/ioBlocked.h b/src/cas/generic/ioBlocked.h index 51429f8ce..000292eaf 100644 --- a/src/cas/generic/ioBlocked.h +++ b/src/cas/generic/ioBlocked.h @@ -9,8 +9,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/mt/ioBlocked.cc b/src/cas/generic/mt/ioBlocked.cc index 7d43af575..974d113e2 100644 --- a/src/cas/generic/mt/ioBlocked.cc +++ b/src/cas/generic/mt/ioBlocked.cc @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ // -// $Revision-Id$ // Author: Jeff Hill // This file implements a IO blocked list NOOP for multi-threaded systems // diff --git a/src/cas/generic/outBuf.cc b/src/cas/generic/outBuf.cc index 54ba5eb16..8fb0a17da 100644 --- a/src/cas/generic/outBuf.cc +++ b/src/cas/generic/outBuf.cc @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/cas/generic/pvAttachReturn.cc b/src/cas/generic/pvAttachReturn.cc index 11167ea1b..0b70fef8c 100644 --- a/src/cas/generic/pvAttachReturn.cc +++ b/src/cas/generic/pvAttachReturn.cc @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ // // Author: Jeffrey O. Hill // johill@lanl.gov diff --git a/src/cas/generic/pvExistReturn.cc b/src/cas/generic/pvExistReturn.cc index 8d200eb0b..46fd7eb65 100644 --- a/src/cas/generic/pvExistReturn.cc +++ b/src/cas/generic/pvExistReturn.cc @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ // // Author: Jeffrey O. Hill // johill@lanl.gov diff --git a/src/cas/generic/st/casDGEvWakeup.h b/src/cas/generic/st/casDGEvWakeup.h index ff41d6b62..9676bad1c 100644 --- a/src/cas/generic/st/casDGEvWakeup.h +++ b/src/cas/generic/st/casDGEvWakeup.h @@ -1,5 +1,3 @@ - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef casDGEvWakeuph #define casDGEvWakeuph diff --git a/src/cas/generic/st/casDGIOWakeup.h b/src/cas/generic/st/casDGIOWakeup.h index d9ffb8f79..0f71ce607 100644 --- a/src/cas/generic/st/casDGIOWakeup.h +++ b/src/cas/generic/st/casDGIOWakeup.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -8,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef casDGIOWakeuph #define casDGIOWakeuph diff --git a/src/cas/generic/st/casDGIntfOS.cc b/src/cas/generic/st/casDGIntfOS.cc index 92e26ff4e..0ce4258d1 100644 --- a/src/cas/generic/st/casDGIntfOS.cc +++ b/src/cas/generic/st/casDGIntfOS.cc @@ -9,7 +9,6 @@ // // casDGIntfOS.cc -// $Revision-Id$ // #include "fdManager.h" diff --git a/src/cas/generic/st/casDGIntfOS.h b/src/cas/generic/st/casDGIntfOS.h index 4919daa46..38d4b46ac 100644 --- a/src/cas/generic/st/casDGIntfOS.h +++ b/src/cas/generic/st/casDGIntfOS.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -8,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef casDGIntfOSh #define casDGIntfOSh diff --git a/src/cas/generic/st/casIntfOS.cc b/src/cas/generic/st/casIntfOS.cc index 4f86db965..87d24a0a4 100644 --- a/src/cas/generic/st/casIntfOS.cc +++ b/src/cas/generic/st/casIntfOS.cc @@ -9,11 +9,7 @@ \*************************************************************************/ /* - * * casIntfOS.cc - * $Revision-Id$ - * - * */ #include "fdManager.h" diff --git a/src/cas/generic/st/casIntfOS.h b/src/cas/generic/st/casIntfOS.h index 68c21bded..40d077bb0 100644 --- a/src/cas/generic/st/casIntfOS.h +++ b/src/cas/generic/st/casIntfOS.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,12 +8,8 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ // -// $Revision-Id$ -// // casOSD.h - Channel Access Server OS dependent wrapper // -// -// #ifndef casIntfOSh #define casIntfOSh diff --git a/src/cas/generic/st/casOSD.h b/src/cas/generic/st/casOSD.h index 980c7b560..0fb8baf46 100644 --- a/src/cas/generic/st/casOSD.h +++ b/src/cas/generic/st/casOSD.h @@ -8,12 +8,8 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ // -// $Revision-Id$ -// // casOSD.h - Channel Access Server OS dependent wrapper // -// -// #ifndef includeCASOSDH #define includeCASOSDH diff --git a/src/cas/generic/st/casStreamOS.cc b/src/cas/generic/st/casStreamOS.cc index e1fedb38a..1b6c4e2c2 100644 --- a/src/cas/generic/st/casStreamOS.cc +++ b/src/cas/generic/st/casStreamOS.cc @@ -8,7 +8,6 @@ \*************************************************************************/ // // casStreamOS.cc -// $Revision-Id$ // // TO DO: // o armRecv() and armSend() should return bad status when diff --git a/src/cas/generic/st/casStreamOS.h b/src/cas/generic/st/casStreamOS.h index 294cfcb5e..7d0612c18 100644 --- a/src/cas/generic/st/casStreamOS.h +++ b/src/cas/generic/st/casStreamOS.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -8,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef casStreamOSh #define casStreamOSh diff --git a/src/cas/generic/st/ioBlocked.cc b/src/cas/generic/st/ioBlocked.cc index b05f0ba26..4d5856f6a 100644 --- a/src/cas/generic/st/ioBlocked.cc +++ b/src/cas/generic/st/ioBlocked.cc @@ -9,7 +9,6 @@ \*************************************************************************/ // -// $Revision-Id$ // Author Jeff Hill // // IO Blocked list class diff --git a/src/cas/io/bsdSocket/caServerIO.cc b/src/cas/io/bsdSocket/caServerIO.cc index 3213d7521..c5adf314d 100644 --- a/src/cas/io/bsdSocket/caServerIO.cc +++ b/src/cas/io/bsdSocket/caServerIO.cc @@ -7,11 +7,8 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ // -// $Revision-Id$ -// // verify connection state prior to doing anything in this file // -// #include diff --git a/src/cas/io/bsdSocket/caServerIO.h b/src/cas/io/bsdSocket/caServerIO.h index b24afb5f8..2a46df213 100644 --- a/src/cas/io/bsdSocket/caServerIO.h +++ b/src/cas/io/bsdSocket/caServerIO.h @@ -1,5 +1,3 @@ - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef caServerIOh #define caServerIOh diff --git a/src/cas/io/bsdSocket/casDGIntfIO.h b/src/cas/io/bsdSocket/casDGIntfIO.h index 370bfe1d1..f84190cab 100644 --- a/src/cas/io/bsdSocket/casDGIntfIO.h +++ b/src/cas/io/bsdSocket/casDGIntfIO.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -8,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef casDGIntfIOh #define casDGIntfIOh diff --git a/src/cas/io/bsdSocket/casIOD.h b/src/cas/io/bsdSocket/casIOD.h index 2940874fd..318efb81b 100644 --- a/src/cas/io/bsdSocket/casIOD.h +++ b/src/cas/io/bsdSocket/casIOD.h @@ -7,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef includeCASIODH #define includeCASIODH diff --git a/src/cas/io/bsdSocket/casIntfIO.h b/src/cas/io/bsdSocket/casIntfIO.h index 833533d5e..dd9f333b3 100644 --- a/src/cas/io/bsdSocket/casIntfIO.h +++ b/src/cas/io/bsdSocket/casIntfIO.h @@ -1,4 +1,3 @@ - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -8,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef casIntfIOh #define casIntfIOh diff --git a/src/cas/io/bsdSocket/casStreamIO.h b/src/cas/io/bsdSocket/casStreamIO.h index e1ac52580..6d25ea3bf 100644 --- a/src/cas/io/bsdSocket/casStreamIO.h +++ b/src/cas/io/bsdSocket/casStreamIO.h @@ -7,10 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// - #ifndef casStreamIOh #define casStreamIOh diff --git a/src/cas/io/bsdSocket/ipIgnoreEntry.cpp b/src/cas/io/bsdSocket/ipIgnoreEntry.cpp index f40006a71..48fa83bd5 100644 --- a/src/cas/io/bsdSocket/ipIgnoreEntry.cpp +++ b/src/cas/io/bsdSocket/ipIgnoreEntry.cpp @@ -7,8 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ - -// // // Author: Jeffrey O. Hill // johill@lanl.gov diff --git a/src/cas/io/bsdSocket/ipIgnoreEntry.h b/src/cas/io/bsdSocket/ipIgnoreEntry.h index ace835dd7..48452939f 100644 --- a/src/cas/io/bsdSocket/ipIgnoreEntry.h +++ b/src/cas/io/bsdSocket/ipIgnoreEntry.h @@ -1,5 +1,3 @@ - - /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. @@ -9,9 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// -// $Revision-Id$ -// #ifndef ipIgnoreEntryh #define ipIgnoreEntryh diff --git a/src/db/callback.h b/src/db/callback.h index 1b539c13e..735484ac0 100644 --- a/src/db/callback.h +++ b/src/db/callback.h @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* includes for general purpose callback tasks */ /* diff --git a/src/db/cvtBpt.c b/src/db/cvtBpt.c index aec79ca2b..712ab6742 100644 --- a/src/db/cvtBpt.c +++ b/src/db/cvtBpt.c @@ -7,7 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* cvtBpt.c - Convert using breakpoint table * diff --git a/src/db/dbAccess.c b/src/db/dbAccess.c index 871c97d3d..ef27afafb 100644 --- a/src/db/dbAccess.c +++ b/src/db/dbAccess.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbAccess.c */ -/* $Revision-Id$ */ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer diff --git a/src/db/dbAccessDefs.h b/src/db/dbAccessDefs.h index 472ad6bd1..a0f6956c0 100644 --- a/src/db/dbAccessDefs.h +++ b/src/db/dbAccessDefs.h @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbAccessDefs.h */ -/* $Revision-Id$ */ #ifndef INCdbAccessDefsh #define INCdbAccessDefsh diff --git a/src/db/dbBkpt.c b/src/db/dbBkpt.c index f865ba80c..790cfae77 100644 --- a/src/db/dbBkpt.c +++ b/src/db/dbBkpt.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbBkpt.c */ -/* base/src/db $Revision-Id$ */ /* * Author: Matthew Needes * Date: 8-30-93 diff --git a/src/db/dbBkpt.h b/src/db/dbBkpt.h index 05a637244..6b152e71b 100644 --- a/src/db/dbBkpt.h +++ b/src/db/dbBkpt.h @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbBkpt.h */ -/* base/include $Revision-Id$ */ /* * Author: Matthew Needes * Date: 8-30-93 diff --git a/src/db/dbCAC.h b/src/db/dbCAC.h index a0bbc5e1a..e06be4c34 100644 --- a/src/db/dbCAC.h +++ b/src/db/dbCAC.h @@ -8,16 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/db/dbCa.c b/src/db/dbCa.c index 27ed3cb8b..13118eb8b 100644 --- a/src/db/dbCa.c +++ b/src/db/dbCa.c @@ -7,11 +7,9 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 26MAR96 - * */ #include diff --git a/src/db/dbChannelIO.cpp b/src/db/dbChannelIO.cpp index 294c13d71..6e03e79c6 100644 --- a/src/db/dbChannelIO.cpp +++ b/src/db/dbChannelIO.cpp @@ -8,16 +8,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/db/dbChannelIO.h b/src/db/dbChannelIO.h index 54b2e2a3c..ce646be88 100644 --- a/src/db/dbChannelIO.h +++ b/src/db/dbChannelIO.h @@ -9,16 +9,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/db/dbContext.cpp b/src/db/dbContext.cpp index 3ac05dfbc..1c27bd224 100644 --- a/src/db/dbContext.cpp +++ b/src/db/dbContext.cpp @@ -7,16 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/db/dbContextReadNotifyCache.cpp b/src/db/dbContextReadNotifyCache.cpp index 50feff2bf..47868adb3 100644 --- a/src/db/dbContextReadNotifyCache.cpp +++ b/src/db/dbContextReadNotifyCache.cpp @@ -9,7 +9,6 @@ \*************************************************************************/ /* - * $Revision-Id$ * Auther Jeff Hill */ diff --git a/src/db/dbEvent.c b/src/db/dbEvent.c index 3bcca8469..ee1673547 100644 --- a/src/db/dbEvent.c +++ b/src/db/dbEvent.c @@ -8,7 +8,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbEvent.c */ -/* $Revision-Id$ */ + /* routines for scheduling events to lower priority tasks via the RT kernel */ /* * Author: Jeffrey O. Hill diff --git a/src/db/dbEvent.h b/src/db/dbEvent.h index db7186849..b2cc9ad07 100644 --- a/src/db/dbEvent.h +++ b/src/db/dbEvent.h @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author: Jeff Hill * Date: 030393 */ diff --git a/src/db/dbFastLinkConv.c b/src/db/dbFastLinkConv.c index 32d693f92..73416ff9d 100644 --- a/src/db/dbFastLinkConv.c +++ b/src/db/dbFastLinkConv.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbFastLinkConv.c */ -/* base/src/db $Revision-Id$ */ /* * Author: Matthew Needes * Date: 12-9-93 diff --git a/src/db/dbNotify.c b/src/db/dbNotify.c index 7454129dc..7ace0db1c 100644 --- a/src/db/dbNotify.c +++ b/src/db/dbNotify.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* dbNotify.c */ -/* base/src/db $Revision-Id$ */ /* * Author: Marty Kraimer * Date: 03-30-95 diff --git a/src/db/dbPutNotifyBlocker.cpp b/src/db/dbPutNotifyBlocker.cpp index 6c82e4153..83ec04325 100644 --- a/src/db/dbPutNotifyBlocker.cpp +++ b/src/db/dbPutNotifyBlocker.cpp @@ -9,16 +9,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author: * Jeffrey O. Hill * johill@lanl.gov diff --git a/src/db/dbPutNotifyBlocker.h b/src/db/dbPutNotifyBlocker.h index 56d3a37da..82d8e6516 100644 --- a/src/db/dbPutNotifyBlocker.h +++ b/src/db/dbPutNotifyBlocker.h @@ -9,16 +9,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/db/dbScan.h b/src/db/dbScan.h index 5b96b8196..ffdac37d4 100644 --- a/src/db/dbScan.h +++ b/src/db/dbScan.h @@ -6,8 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: Marty Kraimer * Date: 07-17-91 */ diff --git a/src/db/dbSubscriptionIO.cpp b/src/db/dbSubscriptionIO.cpp index 260d26e89..badb84619 100644 --- a/src/db/dbSubscriptionIO.cpp +++ b/src/db/dbSubscriptionIO.cpp @@ -8,16 +8,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/db/dbTest.c b/src/db/dbTest.c index b827465bb..587b1df23 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -7,7 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* database access test subroutines */ #include diff --git a/src/db/db_access.c b/src/db/db_access.c index f60696453..09ed6d719 100644 --- a/src/db/db_access.c +++ b/src/db/db_access.c @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ - /* Interface between old database access and new * * Author: Marty Kraimer diff --git a/src/db/db_access_routines.h b/src/db/db_access_routines.h index a1f445c6f..d85fd80c1 100644 --- a/src/db/db_access_routines.h +++ b/src/db/db_access_routines.h @@ -7,7 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* base/include/db_access_routines.h */ /* This defined routines for old database access. These were broken out of db_access.h so that ca can be build independent of db. diff --git a/src/db/db_field_log.h b/src/db/db_field_log.h index 9b2661c88..26d16adfe 100644 --- a/src/db/db_field_log.h +++ b/src/db/db_field_log.h @@ -6,7 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * Author: Jeffrey O. Hill * Date: 4-1-89 */ diff --git a/src/db/db_test.c b/src/db/db_test.c index 0ad5ad2e2..935b7e6ed 100644 --- a/src/db/db_test.c +++ b/src/db/db_test.c @@ -7,7 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* share/src/db @(#)db_test.c 1.10 2/3/94 */ /* database access subroutines */ /* * Author: Bob Dalesio diff --git a/src/db/initHooks.c b/src/db/initHooks.c index 06925cacd..005332dfa 100644 --- a/src/db/initHooks.c +++ b/src/db/initHooks.c @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* * Authors: Benjamin Franksen (BESY) and Marty Kraimer * Date: 06-01-91 diff --git a/src/db/initHooks.h b/src/db/initHooks.h index f8606e314..ea8e7c8cc 100644 --- a/src/db/initHooks.h +++ b/src/db/initHooks.h @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* * Authors: Benjamin Franksen (BESY) and Marty Kraimer * Date: 06-01-91 diff --git a/src/db/recGbl.c b/src/db/recGbl.c index c0035f067..6d45e7333 100644 --- a/src/db/recGbl.c +++ b/src/db/recGbl.c @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* recGbl.c */ -/* $Revision-Id$ */ - /* * Author: Marty Kraimer * Date: 11-7-90 diff --git a/src/db/templateInstances.cpp b/src/db/templateInstances.cpp index 0b4adba57..2033231ae 100644 --- a/src/db/templateInstances.cpp +++ b/src/db/templateInstances.cpp @@ -9,16 +9,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/db/test/callbackTest.c b/src/db/test/callbackTest.c index af8c1c667..89a0eaf42 100644 --- a/src/db/test/callbackTest.c +++ b/src/db/test/callbackTest.c @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* Author: Marty Kraimer Date: 26JAN2000 */ diff --git a/src/dbStatic/alarm.h b/src/dbStatic/alarm.h index 814da49f3..8aca9fa55 100644 --- a/src/dbStatic/alarm.h +++ b/src/dbStatic/alarm.h @@ -7,7 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* Alarm definitions, must match menuAlarmSevr.dbd and menuAlarmStat.dbd */ -/* $Revision-Id$ */ /* * Authors: Bob Dalesio and Marty Kraimer diff --git a/src/dbStatic/alarmString.h b/src/dbStatic/alarmString.h index 7051f13ff..1fb1d1b62 100644 --- a/src/dbStatic/alarmString.h +++ b/src/dbStatic/alarmString.h @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* String names for alarms */ diff --git a/src/dbStatic/dbBase.h b/src/dbStatic/dbBase.h index 55268ea3a..2d021df58 100644 --- a/src/dbStatic/dbBase.h +++ b/src/dbStatic/dbBase.h @@ -6,8 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Current Author: Marty Kraimer * Date: 03-19-92 */ diff --git a/src/dbStatic/dbFldTypes.h b/src/dbStatic/dbFldTypes.h index 39f17c8ed..0d2b9e1da 100644 --- a/src/dbStatic/dbFldTypes.h +++ b/src/dbStatic/dbFldTypes.h @@ -7,8 +7,7 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: Marty Kraimer * Date: 6-1-90 */ diff --git a/src/dbStatic/dbLexRoutines.c b/src/dbStatic/dbLexRoutines.c index 7fde19399..78a3cc39c 100644 --- a/src/dbStatic/dbLexRoutines.c +++ b/src/dbStatic/dbLexRoutines.c @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* Author: Marty Kraimer Date: 13JUL95*/ diff --git a/src/dbStatic/dbStaticLib.c b/src/dbStatic/dbStaticLib.c index 655a08536..2235bac2f 100644 --- a/src/dbStatic/dbStaticLib.c +++ b/src/dbStatic/dbStaticLib.c @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ #include #include diff --git a/src/dbStatic/dbStaticLib.h b/src/dbStatic/dbStaticLib.h index a6347252b..018fb373f 100644 --- a/src/dbStatic/dbStaticLib.h +++ b/src/dbStatic/dbStaticLib.h @@ -6,8 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: Marty Kraimer * Date: 06-08-93 */ diff --git a/src/dbStatic/devSup.h b/src/dbStatic/devSup.h index 0f2fc339b..bd900cae4 100644 --- a/src/dbStatic/devSup.h +++ b/src/dbStatic/devSup.h @@ -7,7 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devSup.h Device Support */ -/* $Revision-Id$ */ /* * Author: Marty Kraimer * Date: 6-1-90 diff --git a/src/dbStatic/drvSup.h b/src/dbStatic/drvSup.h index 9f743ed6f..5778038e7 100644 --- a/src/dbStatic/drvSup.h +++ b/src/dbStatic/drvSup.h @@ -7,7 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* drvSup.h Driver Support */ -/* share/epicsH $Revision-Id$ */ /* * Author: Marty Kraimer diff --git a/src/dbStatic/guigroup.h b/src/dbStatic/guigroup.h index 5d97a4f8c..3276a9b57 100644 --- a/src/dbStatic/guigroup.h +++ b/src/dbStatic/guigroup.h @@ -8,7 +8,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* these are used in the pmt (prompt) field of the record support ascii files. They represent field groupings for dct tools */ diff --git a/src/dbStatic/link.h b/src/dbStatic/link.h index c9818f6f0..4be4e3548 100644 --- a/src/dbStatic/link.h +++ b/src/dbStatic/link.h @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* link.h */ -/* base/include $Revision-Id$ */ /* * Original Author: Bob Dalesio diff --git a/src/dbStatic/special.h b/src/dbStatic/special.h index ca8c0eaeb..055287a64 100644 --- a/src/dbStatic/special.h +++ b/src/dbStatic/special.h @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* special.h */ -/* share/epicsH $Revision-Id$ */ /* * Author: Marty Kraimer diff --git a/src/dev/softDev/devAaiSoft.c b/src/dev/softDev/devAaiSoft.c index caaaa50ff..586483c92 100644 --- a/src/dev/softDev/devAaiSoft.c +++ b/src/dev/softDev/devAaiSoft.c @@ -7,7 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * devAaiSoft.c - Device Support Routines for soft Waveform Records * * Original Author: Bob Dalesio diff --git a/src/dev/softDev/devAaoSoft.c b/src/dev/softDev/devAaoSoft.c index 61eeb9cdd..6925b1ba1 100644 --- a/src/dev/softDev/devAaoSoft.c +++ b/src/dev/softDev/devAaoSoft.c @@ -7,7 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * devAaoSoft.c - Device Support Routines for soft Waveform Records * * Original Author: Bob Dalesio diff --git a/src/dev/softDev/devAiSoft.c b/src/dev/softDev/devAiSoft.c index 77ee6dbed..2f6445f2b 100644 --- a/src/dev/softDev/devAiSoft.c +++ b/src/dev/softDev/devAiSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 3/6/91 */ diff --git a/src/dev/softDev/devAiSoftRaw.c b/src/dev/softDev/devAiSoftRaw.c index 0cf5e40f0..ee697ff57 100644 --- a/src/dev/softDev/devAiSoftRaw.c +++ b/src/dev/softDev/devAiSoftRaw.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 6-1-90 */ diff --git a/src/dev/softDev/devAoSoft.c b/src/dev/softDev/devAoSoft.c index ce63a57b3..56bd05620 100644 --- a/src/dev/softDev/devAoSoft.c +++ b/src/dev/softDev/devAoSoft.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devAoSoft.c */ -/* base/src/dev $Revision-Id$ */ /* Device Support Routines for soft Analog Output Records*/ /* diff --git a/src/dev/softDev/devAoSoftRaw.c b/src/dev/softDev/devAoSoftRaw.c index 400e8f9a3..05aed035e 100644 --- a/src/dev/softDev/devAoSoftRaw.c +++ b/src/dev/softDev/devAoSoftRaw.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devAoSoftRaw.c */ -/* base/src/dev $Revision-Id$ */ /* Device Support Routines for soft raw Analog Output Records*/ /* diff --git a/src/dev/softDev/devBiSoft.c b/src/dev/softDev/devBiSoft.c index 6c2740693..27e8d7c20 100644 --- a/src/dev/softDev/devBiSoft.c +++ b/src/dev/softDev/devBiSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 6-1-90 */ diff --git a/src/dev/softDev/devBiSoftRaw.c b/src/dev/softDev/devBiSoftRaw.c index 2afef6356..47d2d8007 100644 --- a/src/dev/softDev/devBiSoftRaw.c +++ b/src/dev/softDev/devBiSoftRaw.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 6-1-90 */ diff --git a/src/dev/softDev/devBoSoft.c b/src/dev/softDev/devBoSoft.c index 65bb4f505..ba6ff14a7 100644 --- a/src/dev/softDev/devBoSoft.c +++ b/src/dev/softDev/devBoSoft.c @@ -7,8 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* devBoSoft.c */ -/* base/src/dev $Revision-Id$ */ /* devBoSoft.c - Device Support Routines for Soft Binary Output*/ /* diff --git a/src/dev/softDev/devBoSoftRaw.c b/src/dev/softDev/devBoSoftRaw.c index ef812d51b..df1ba5b4e 100644 --- a/src/dev/softDev/devBoSoftRaw.c +++ b/src/dev/softDev/devBoSoftRaw.c @@ -7,8 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* devBoSoftRaw.c */ -/* base/src/dev $Revision-Id$ */ /* devBoSoftRaw.c - Device Support Routines for SoftRaw Binary Output*/ /* diff --git a/src/dev/softDev/devEventSoft.c b/src/dev/softDev/devEventSoft.c index 167d18df2..a5c8b747d 100644 --- a/src/dev/softDev/devEventSoft.c +++ b/src/dev/softDev/devEventSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: Janet Anderson * Date: 04-21-91 */ diff --git a/src/dev/softDev/devGeneralTime.c b/src/dev/softDev/devGeneralTime.c index c656c85db..13dbc1d78 100644 --- a/src/dev/softDev/devGeneralTime.c +++ b/src/dev/softDev/devGeneralTime.c @@ -3,7 +3,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* * Original Author: Sheng Peng, ORNL / SNS Project * Date: 07/2004 diff --git a/src/dev/softDev/devHistogramSoft.c b/src/dev/softDev/devHistogramSoft.c index f54c0157b..8414cc5bd 100644 --- a/src/dev/softDev/devHistogramSoft.c +++ b/src/dev/softDev/devHistogramSoft.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devHistogramSoft.c */ -/* base/src/dev $Revision-Id$ */ /* * Author: Janet Anderson * Date: 07/02/91 diff --git a/src/dev/softDev/devLiSoft.c b/src/dev/softDev/devLiSoft.c index 11dbedc3f..07c4a1900 100644 --- a/src/dev/softDev/devLiSoft.c +++ b/src/dev/softDev/devLiSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: Janet Anderson * Date: 09-23-91 */ diff --git a/src/dev/softDev/devLoSoft.c b/src/dev/softDev/devLoSoft.c index 67ce941f6..17e6dd800 100644 --- a/src/dev/softDev/devLoSoft.c +++ b/src/dev/softDev/devLoSoft.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devLoSoft.c */ -/* base/src/dev $Revision-Id$ */ /* * Author: Janet Anderson * Date: 09-23-91 diff --git a/src/dev/softDev/devMbbiDirectSoft.c b/src/dev/softDev/devMbbiDirectSoft.c index 8b7816b65..6d10d1a51 100644 --- a/src/dev/softDev/devMbbiDirectSoft.c +++ b/src/dev/softDev/devMbbiDirectSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Matthew Needes * Date: 10-08-93 */ diff --git a/src/dev/softDev/devMbbiDirectSoftRaw.c b/src/dev/softDev/devMbbiDirectSoftRaw.c index df8c08f52..b27210a29 100644 --- a/src/dev/softDev/devMbbiDirectSoftRaw.c +++ b/src/dev/softDev/devMbbiDirectSoftRaw.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Matthew Needes * Date: 10-08-93 */ diff --git a/src/dev/softDev/devMbbiSoft.c b/src/dev/softDev/devMbbiSoft.c index c3b0d28f1..9f084b7fc 100644 --- a/src/dev/softDev/devMbbiSoft.c +++ b/src/dev/softDev/devMbbiSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 6-1-90 */ diff --git a/src/dev/softDev/devMbbiSoftRaw.c b/src/dev/softDev/devMbbiSoftRaw.c index 997201cdb..5b38549c7 100644 --- a/src/dev/softDev/devMbbiSoftRaw.c +++ b/src/dev/softDev/devMbbiSoftRaw.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 6-1-90 */ diff --git a/src/dev/softDev/devMbboDirectSoft.c b/src/dev/softDev/devMbboDirectSoft.c index 1c9edbbab..aa4cf8dc6 100644 --- a/src/dev/softDev/devMbboDirectSoft.c +++ b/src/dev/softDev/devMbboDirectSoft.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devMbboDirectSoft.c */ -/* base/src/dev $Revision-Id$ */ /* * Original Author: Bob Dalesio * Current Author: Matthew Needes diff --git a/src/dev/softDev/devMbboDirectSoftRaw.c b/src/dev/softDev/devMbboDirectSoftRaw.c index bc7601409..602830861 100644 --- a/src/dev/softDev/devMbboDirectSoftRaw.c +++ b/src/dev/softDev/devMbboDirectSoftRaw.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devMbboDirectSoftRaw.c */ -/* base/src/dev $Revision-Id$ */ /* * Author: Janet Anderson * Current Author: Matthew Needes diff --git a/src/dev/softDev/devMbboSoft.c b/src/dev/softDev/devMbboSoft.c index 4335627bb..310603173 100644 --- a/src/dev/softDev/devMbboSoft.c +++ b/src/dev/softDev/devMbboSoft.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devMbboSoft.c */ -/* base/src/dev $Revision-Id$ */ /* * Original Author: Bob Dalesio * Current Author: Marty Kraimer diff --git a/src/dev/softDev/devMbboSoftRaw.c b/src/dev/softDev/devMbboSoftRaw.c index e4e60f11f..ac51a9e14 100644 --- a/src/dev/softDev/devMbboSoftRaw.c +++ b/src/dev/softDev/devMbboSoftRaw.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devMbboSoftRaw.c */ -/* base/src/dev $Revision-Id$ */ /* * Author: Janet Anderson * Date: 3-28-92 diff --git a/src/dev/softDev/devSASoft.c b/src/dev/softDev/devSASoft.c index 6178b6ce7..6c0c876f0 100644 --- a/src/dev/softDev/devSASoft.c +++ b/src/dev/softDev/devSASoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: Carl Lionberger * Date: 9-2-93 */ diff --git a/src/dev/softDev/devSiSoft.c b/src/dev/softDev/devSiSoft.c index 1a64674cf..46877de23 100644 --- a/src/dev/softDev/devSiSoft.c +++ b/src/dev/softDev/devSiSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: Janet Anderson * Date: 04-21-91 */ diff --git a/src/dev/softDev/devSoSoft.c b/src/dev/softDev/devSoSoft.c index ca7a87051..6dda4a765 100644 --- a/src/dev/softDev/devSoSoft.c +++ b/src/dev/softDev/devSoSoft.c @@ -7,7 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* * Author: Janet Anderson * Date: 21APR1991 diff --git a/src/dev/softDev/devSoSoftCallback.c b/src/dev/softDev/devSoSoftCallback.c index a39e14b4d..f6d2c554e 100644 --- a/src/dev/softDev/devSoSoftCallback.c +++ b/src/dev/softDev/devSoSoftCallback.c @@ -7,7 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* * Author: Marty Kraimer * Date: 04NOV2003 diff --git a/src/dev/softDev/devSoStdio.c b/src/dev/softDev/devSoStdio.c index 684dab178..c6831b7c8 100644 --- a/src/dev/softDev/devSoStdio.c +++ b/src/dev/softDev/devSoStdio.c @@ -5,8 +5,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ - #include #include diff --git a/src/dev/softDev/devSoft.dbd b/src/dev/softDev/devSoft.dbd index 763ac47d5..6c077ad3d 100644 --- a/src/dev/softDev/devSoft.dbd +++ b/src/dev/softDev/devSoft.dbd @@ -1,3 +1,5 @@ +# devSoft.dbd + device(aai,CONSTANT,devAaiSoft,"Soft Channel") device(aao,CONSTANT,devAaoSoft,"Soft Channel") device(ai,CONSTANT,devAiSoft,"Soft Channel") diff --git a/src/dev/softDev/devTimestamp.c b/src/dev/softDev/devTimestamp.c index b7e2c7e1a..962d9e467 100644 --- a/src/dev/softDev/devTimestamp.c +++ b/src/dev/softDev/devTimestamp.c @@ -5,7 +5,6 @@ * in the file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* * Device support for EPICS time stamps * diff --git a/src/dev/softDev/devWfSoft.c b/src/dev/softDev/devWfSoft.c index 92bb3c566..42751193e 100644 --- a/src/dev/softDev/devWfSoft.c +++ b/src/dev/softDev/devWfSoft.c @@ -7,8 +7,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Original Authors: Bob Dalesio and Marty Kraimer * Date: 6-1-90 */ diff --git a/src/dev/testDev/devHistogramTestAsyn.c b/src/dev/testDev/devHistogramTestAsyn.c index 7c8650eaa..cd3b461f6 100644 --- a/src/dev/testDev/devHistogramTestAsyn.c +++ b/src/dev/testDev/devHistogramTestAsyn.c @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* devHistogramTestAsyn.c */ -/* base/src/dev $Revision-Id$ */ /* * Author: Janet Anderson * Date: 07/02/91 diff --git a/src/dev/testDev/devTestAsyn.c b/src/dev/testDev/devTestAsyn.c index 4b1d8a5e9..09c946dde 100644 --- a/src/dev/testDev/devTestAsyn.c +++ b/src/dev/testDev/devTestAsyn.c @@ -4,7 +4,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* Device Support for testing asynchronous processing * diff --git a/src/dev/testDev/devTestAsyn.dbd b/src/dev/testDev/devTestAsyn.dbd index 73634dd55..068fef7d0 100644 --- a/src/dev/testDev/devTestAsyn.dbd +++ b/src/dev/testDev/devTestAsyn.dbd @@ -1,4 +1,4 @@ -# $Revision-Id$ +# devTestAsyn.dbd device(ai,CONSTANT,devTestAsyn,"Test Asyn") device(aai,CONSTANT,devTestAsyn,"Test Asyn") diff --git a/src/gdd/README b/src/gdd/README index d7ab4b9c2..4c5dd4094 100644 --- a/src/gdd/README +++ b/src/gdd/README @@ -2,8 +2,6 @@ # Author: Jim Kowalkowski # Date: 2/96 # -# $Revision-Id$ -# Some Notes: diff --git a/src/gdd/aitConvert.cc b/src/gdd/aitConvert.cc index 5839756c2..b2a4e42e3 100644 --- a/src/gdd/aitConvert.cc +++ b/src/gdd/aitConvert.cc @@ -11,8 +11,6 @@ // Author: Jim Kowalkowski // Date: 2/96 // -// $Revision-Id$ -// #define AIT_CONVERT_SOURCE 1 diff --git a/src/gdd/aitConvert.h b/src/gdd/aitConvert.h index 94bbe37f1..135b6c0d9 100644 --- a/src/gdd/aitConvert.h +++ b/src/gdd/aitConvert.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ #include diff --git a/src/gdd/aitGen.c b/src/gdd/aitGen.c index 37861af4e..39f885531 100644 --- a/src/gdd/aitGen.c +++ b/src/gdd/aitGen.c @@ -10,9 +10,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ #include diff --git a/src/gdd/aitHelpers.cc b/src/gdd/aitHelpers.cc index 6fc7f24b9..5d95a899c 100644 --- a/src/gdd/aitHelpers.cc +++ b/src/gdd/aitHelpers.cc @@ -10,9 +10,6 @@ // Author: Jim Kowalkowski // Date: 6/20/96 -// -// $Revision-Id$ -// #include diff --git a/src/gdd/aitHelpers.h b/src/gdd/aitHelpers.h index a24ba4181..340cdcd98 100644 --- a/src/gdd/aitHelpers.h +++ b/src/gdd/aitHelpers.h @@ -13,9 +13,6 @@ /* * Authors: Jeff Hill and Jim Kowalkowski * Date: 6/20/96 - * - * $Revision-Id$ - * */ #include diff --git a/src/gdd/aitTypes.c b/src/gdd/aitTypes.c index 8f3cb179f..35a87ce1e 100644 --- a/src/gdd/aitTypes.c +++ b/src/gdd/aitTypes.c @@ -10,9 +10,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ #include diff --git a/src/gdd/aitTypes.h b/src/gdd/aitTypes.h index b8c1a45c8..135abc3c6 100644 --- a/src/gdd/aitTypes.h +++ b/src/gdd/aitTypes.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ /* This is the file the user sets up for a given architecture */ diff --git a/src/gdd/dbMapper.cc b/src/gdd/dbMapper.cc index b075b34df..c15c26110 100644 --- a/src/gdd/dbMapper.cc +++ b/src/gdd/dbMapper.cc @@ -9,9 +9,6 @@ \*************************************************************************/ // Author: Jim Kowalkowski // Date: 2/96 -// -// $Revision-Id$ -// #define DB_MAPPER_SOURCE 1 diff --git a/src/gdd/dbMapper.h b/src/gdd/dbMapper.h index 7be845612..c059c8386 100644 --- a/src/gdd/dbMapper.h +++ b/src/gdd/dbMapper.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ #include "shareLib.h" diff --git a/src/gdd/gdd.cc b/src/gdd/gdd.cc index a0f38daef..1a84808c6 100644 --- a/src/gdd/gdd.cc +++ b/src/gdd/gdd.cc @@ -9,9 +9,6 @@ \*************************************************************************/ // Author: Jim Kowalkowski // Date: 2/96 -// -// $Revision-Id$ -// #include #include diff --git a/src/gdd/gdd.h b/src/gdd/gdd.h index e05dd3cc8..b713c2204 100644 --- a/src/gdd/gdd.h +++ b/src/gdd/gdd.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ // Still need to handle to network byte order stuff. diff --git a/src/gdd/gddAppDefs.cc b/src/gdd/gddAppDefs.cc index 67b0aea62..2da4058b5 100644 --- a/src/gdd/gddAppDefs.cc +++ b/src/gdd/gddAppDefs.cc @@ -9,9 +9,6 @@ \*************************************************************************/ // Author: Jim Kowalkowski // Date: 2/96 -// -// $Revision-Id$ -// #define epicsExportSharedSymbols #include "gddAppTable.h" diff --git a/src/gdd/gddAppFuncTable.h b/src/gdd/gddAppFuncTable.h index 43a7b24f7..fca158d27 100644 --- a/src/gdd/gddAppFuncTable.h +++ b/src/gdd/gddAppFuncTable.h @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/gdd/gddAppTable.cc b/src/gdd/gddAppTable.cc index c96608914..92b0cacec 100644 --- a/src/gdd/gddAppTable.cc +++ b/src/gdd/gddAppTable.cc @@ -9,9 +9,6 @@ \*************************************************************************/ // Author: Jim Kowalkowski // Date: 2/96 -// -// $Revision-Id$ -// #define epicsExportSharedSymbols #include "gddAppTable.h" diff --git a/src/gdd/gddAppTable.h b/src/gdd/gddAppTable.h index a7b30e7a0..fe67c6577 100644 --- a/src/gdd/gddAppTable.h +++ b/src/gdd/gddAppTable.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ #include "gdd.h" diff --git a/src/gdd/gddArray.cc b/src/gdd/gddArray.cc index cd0e566ff..8c9df0835 100644 --- a/src/gdd/gddArray.cc +++ b/src/gdd/gddArray.cc @@ -13,8 +13,6 @@ // Author: Jim Kowalkowski // Date: 3/97 -// -// $Revision-Id$ #define epicsExportSharedSymbols #include "gdd.h" diff --git a/src/gdd/gddArray.h b/src/gdd/gddArray.h index 8ca9c9017..10d1e4ed0 100644 --- a/src/gdd/gddArray.h +++ b/src/gdd/gddArray.h @@ -14,8 +14,6 @@ * Author: Jim Kowalkowski * Date: 3/97 * - * $Revision-Id$ - * * *********************************************************************** * Adds ability to put array data into a DD, get it out, and adjust it * *********************************************************************** diff --git a/src/gdd/gddContainer.cc b/src/gdd/gddContainer.cc index 77266e1cc..a5bea0298 100644 --- a/src/gdd/gddContainer.cc +++ b/src/gdd/gddContainer.cc @@ -14,9 +14,7 @@ // Author: Jim Kowalkowski // Date: 3/97 -// -// $Revision-Id$ -// + #define epicsExportSharedSymbols #include "gdd.h" diff --git a/src/gdd/gddContainer.h b/src/gdd/gddContainer.h index 070f978d9..7830eb641 100644 --- a/src/gdd/gddContainer.h +++ b/src/gdd/gddContainer.h @@ -13,8 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 3/97 - * - * $Revision-Id$ */ #include "shareLib.h" diff --git a/src/gdd/gddContainerI.h b/src/gdd/gddContainerI.h index 8903ad825..55f306342 100644 --- a/src/gdd/gddContainerI.h +++ b/src/gdd/gddContainerI.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 3/97 - * - * $Revision-Id$ - * */ inline gddContainer::gddContainer(int,int,int,int*) { } diff --git a/src/gdd/gddErrorCodes.cc b/src/gdd/gddErrorCodes.cc index d5e34ffeb..7c20292be 100644 --- a/src/gdd/gddErrorCodes.cc +++ b/src/gdd/gddErrorCodes.cc @@ -10,9 +10,6 @@ // Author: Jim Kowalkowski // Date: 3/97 -// -// $Revision-Id$ -// // -------------------------- Error messages ------------------------- diff --git a/src/gdd/gddErrorCodes.h b/src/gdd/gddErrorCodes.h index af7523a7a..061fbab71 100644 --- a/src/gdd/gddErrorCodes.h +++ b/src/gdd/gddErrorCodes.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ #include "shareLib.h" diff --git a/src/gdd/gddI.h b/src/gdd/gddI.h index 53c82b4ba..e14c66cd2 100644 --- a/src/gdd/gddI.h +++ b/src/gdd/gddI.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 3/97 - * - * $Revision-Id$ - * */ inline void gdd::setData(void* d) { data.Pointer=d; } diff --git a/src/gdd/gddNewDel.cc b/src/gdd/gddNewDel.cc index 6859bec48..4e6f3c05f 100644 --- a/src/gdd/gddNewDel.cc +++ b/src/gdd/gddNewDel.cc @@ -9,9 +9,6 @@ \*************************************************************************/ // Author: Jim Kowalkowski // Date: 2/96 -// -// $Revision-Id$ -// #define epicsExportSharedSymbols #include "gddNewDel.h" diff --git a/src/gdd/gddNewDel.h b/src/gdd/gddNewDel.h index 390ad1f43..541f24d4a 100644 --- a/src/gdd/gddNewDel.h +++ b/src/gdd/gddNewDel.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ // this file if formatted with tab stop = 4 diff --git a/src/gdd/gddTest.cc b/src/gdd/gddTest.cc index 0d6868666..d36014018 100644 --- a/src/gdd/gddTest.cc +++ b/src/gdd/gddTest.cc @@ -9,9 +9,6 @@ \*************************************************************************/ // Author: Jim Kowalkowski // Date: 2/96 -// -// $Revision-Id$ -// #include #define epicsExportSharedSymbols diff --git a/src/gdd/gddUtils.cc b/src/gdd/gddUtils.cc index 3ddab8bfd..b0f5a5a0e 100644 --- a/src/gdd/gddUtils.cc +++ b/src/gdd/gddUtils.cc @@ -10,9 +10,6 @@ // Author: Jim Kowalkowski // Date: 3/97 -// -// $Revision-Id$ -// #include #include diff --git a/src/gdd/gddUtils.h b/src/gdd/gddUtils.h index c486738bc..ef45bf74c 100644 --- a/src/gdd/gddUtils.h +++ b/src/gdd/gddUtils.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 2/96 - * - * $Revision-Id$ - * */ #ifdef vxWorks diff --git a/src/gdd/gddUtilsI.h b/src/gdd/gddUtilsI.h index 59f490b9c..f35755391 100644 --- a/src/gdd/gddUtilsI.h +++ b/src/gdd/gddUtilsI.h @@ -13,9 +13,6 @@ /* * Author: Jim Kowalkowski * Date: 3/97 - * - * $Revision-Id$ - * */ // inline gddBounds::gddBounds(aitIndex c) { start=0; count=c; } diff --git a/src/gdd/gddref.html b/src/gdd/gddref.html index 2a0bf9ba8..80aac6778 100644 --- a/src/gdd/gddref.html +++ b/src/gdd/gddref.html @@ -1,14 +1,9 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ + + GDD Reference Manual -

GDD Reference Manual

+ + +

GDD Reference Manual

gdd
gddAtomic
@@ -511,8 +506,6 @@ methods. Convenience methods so casting can be done from this GDD to any supported ait_xxxxx pointer variable. Same as getRef(...) and get(...) methods. -
Argonne National Laboratory -Copyright -Information
-
Jim Kowalkowski (jbk@aps.anl.gov)
updated 4/12/95 + + diff --git a/src/gdd/gddref2.html b/src/gdd/gddref2.html index 672dfebc7..928696208 100644 --- a/src/gdd/gddref2.html +++ b/src/gdd/gddref2.html @@ -1,14 +1,9 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ + + GDD Reference Manual -

GDD Reference Manual

+ + +

GDD Reference Manual

gdd
gddAtomic
@@ -658,8 +653,6 @@ gdd* to_gdd(void* dbr_data_structure, aitIndex dbr_element_count); int to_dbr(void* dbr_data_structure, gdd* gdd_instance); -
Argonne National Laboratory -Copyright -Information
-
Jim Kowalkowski (jbk@aps.anl.gov)
updated 4/12/95 + + diff --git a/src/gdd/genApps.cc b/src/gdd/genApps.cc index 9657ace3b..c8b934a76 100644 --- a/src/gdd/genApps.cc +++ b/src/gdd/genApps.cc @@ -9,9 +9,6 @@ \*************************************************************************/ // Author: Jim Kowalkowski // Date: 2/96 -// -// $Revision-Id$ -// #define epicsExportSharedSymbols #include "gddAppTable.h" diff --git a/src/libCom/bucketLib/bucketLib.h b/src/libCom/bucketLib/bucketLib.h index e232d706e..60d73b459 100644 --- a/src/libCom/bucketLib/bucketLib.h +++ b/src/libCom/bucketLib/bucketLib.h @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author: Jeffrey O. Hill * hill@luke.lanl.gov * (505) 665 1831 diff --git a/src/libCom/calc/calcPerform.c b/src/libCom/calc/calcPerform.c index e53d860e2..75c7ea40f 100644 --- a/src/libCom/calc/calcPerform.c +++ b/src/libCom/calc/calcPerform.c @@ -6,7 +6,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* * Author: Julie Sander and Bob Dalesio * Date: 07-27-87 diff --git a/src/libCom/calc/postfix.c b/src/libCom/calc/postfix.c index d64d00d85..025cfc975 100644 --- a/src/libCom/calc/postfix.c +++ b/src/libCom/calc/postfix.c @@ -6,8 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Subroutines used to convert an infix expression to a postfix expression * * Original Author: Bob Dalesio diff --git a/src/libCom/cppStd/epicsExcept.h b/src/libCom/cppStd/epicsExcept.h index 50245ecea..e68999735 100644 --- a/src/libCom/cppStd/epicsExcept.h +++ b/src/libCom/cppStd/epicsExcept.h @@ -7,7 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -// $Revision-Id$ // Author: Andrew Johnson & Jeff Hill // Date: December 2000 diff --git a/src/libCom/cvtFast/cvtFast.c b/src/libCom/cvtFast/cvtFast.c index 5fef677a2..2f29dd51f 100644 --- a/src/libCom/cvtFast/cvtFast.c +++ b/src/libCom/cvtFast/cvtFast.c @@ -7,7 +7,6 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$*/ /* Very efficient routines to convert numbers to strings * Author: Bob Dalesio wrote cvtFloatToString (called FF_TO_STR) * Code is same for cvtDoubleToString diff --git a/src/libCom/cvtFast/cvtFast.h b/src/libCom/cvtFast/cvtFast.h index fb1971b96..d2eb86ddf 100644 --- a/src/libCom/cvtFast/cvtFast.h +++ b/src/libCom/cvtFast/cvtFast.h @@ -7,7 +7,7 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * Very efficient routines to convert numbers to strings * * Author: Bob Dalesio wrote cvtFloatToString (called FF_TO_STR) diff --git a/src/libCom/cxxTemplates/epicsGuard.h b/src/libCom/cxxTemplates/epicsGuard.h index a51411bc6..329c8d6e9 100644 --- a/src/libCom/cxxTemplates/epicsGuard.h +++ b/src/libCom/cxxTemplates/epicsGuard.h @@ -16,10 +16,7 @@ #endif /* - * $Revision-Id$ - * * Author: Jeffrey O. Hill - * */ template < class T > class epicsGuardRelease; diff --git a/src/libCom/cxxTemplates/epicsOnce.cpp b/src/libCom/cxxTemplates/epicsOnce.cpp index e911314f0..39c138008 100644 --- a/src/libCom/cxxTemplates/epicsOnce.cpp +++ b/src/libCom/cxxTemplates/epicsOnce.cpp @@ -9,16 +9,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeff Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/libCom/cxxTemplates/epicsOnce.h b/src/libCom/cxxTemplates/epicsOnce.h index 28708dc77..4177fb4b4 100644 --- a/src/libCom/cxxTemplates/epicsOnce.h +++ b/src/libCom/cxxTemplates/epicsOnce.h @@ -8,16 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * - * * Author Jeff Hill * johill@lanl.gov * 505 665 1831 diff --git a/src/libCom/cxxTemplates/epicsSingleton.h b/src/libCom/cxxTemplates/epicsSingleton.h index cece8007c..2c63d3ff7 100644 --- a/src/libCom/cxxTemplates/epicsSingleton.h +++ b/src/libCom/cxxTemplates/epicsSingleton.h @@ -9,10 +9,7 @@ \*************************************************************************/ /* - * $Revision-Id$ - * * Author: Jeffrey O. Hill - * */ #ifndef epicsSingleton_h diff --git a/src/libCom/cxxTemplates/epicsSingletonBase.cpp b/src/libCom/cxxTemplates/epicsSingletonBase.cpp index c7e6e2fca..cd52110ae 100644 --- a/src/libCom/cxxTemplates/epicsSingletonBase.cpp +++ b/src/libCom/cxxTemplates/epicsSingletonBase.cpp @@ -8,10 +8,7 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * Author: Jeffrey O. Hill - * */ #include diff --git a/src/libCom/cxxTemplates/epicsSingletonMutex.cpp b/src/libCom/cxxTemplates/epicsSingletonMutex.cpp index bcf2b17f9..fe4182609 100644 --- a/src/libCom/cxxTemplates/epicsSingletonMutex.cpp +++ b/src/libCom/cxxTemplates/epicsSingletonMutex.cpp @@ -9,10 +9,7 @@ \*************************************************************************/ /* - * $Revision-Id$ - * * Author: Jeff O. Hill - * */ #include diff --git a/src/libCom/cxxTemplates/resourceLib.cpp b/src/libCom/cxxTemplates/resourceLib.cpp index e86f0ed19..f3a9a9993 100644 --- a/src/libCom/cxxTemplates/resourceLib.cpp +++ b/src/libCom/cxxTemplates/resourceLib.cpp @@ -8,14 +8,6 @@ \*************************************************************************/ /* - * $Revision-Id$ - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * * Author: Jeff Hill */ diff --git a/src/libCom/cxxTemplates/resourceLib.h b/src/libCom/cxxTemplates/resourceLib.h index a6a943630..c39b4eb08 100644 --- a/src/libCom/cxxTemplates/resourceLib.h +++ b/src/libCom/cxxTemplates/resourceLib.h @@ -7,8 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * General hash table templates for fast indexing of resources * of any base resource type and any resource identifier type. Fast * indexing is implemented with a hash lookup. The identifier type diff --git a/src/libCom/cxxTemplates/tsDLList.h b/src/libCom/cxxTemplates/tsDLList.h index 96d9dd2fa..a315ecaab 100644 --- a/src/libCom/cxxTemplates/tsDLList.h +++ b/src/libCom/cxxTemplates/tsDLList.h @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * type safe doubly linked list templates * * Author Jeffrey O. Hill diff --git a/src/libCom/cxxTemplates/tsFreeList.h b/src/libCom/cxxTemplates/tsFreeList.h index 70485c5ab..55787ac6b 100644 --- a/src/libCom/cxxTemplates/tsFreeList.h +++ b/src/libCom/cxxTemplates/tsFreeList.h @@ -11,14 +11,7 @@ #ifndef tsFreeList_h #define tsFreeList_h -/* $Revision-Id$ - * - * L O S A L A M O S - * Los Alamos National Laboratory - * Los Alamos, New Mexico 87545 - * - * Copyright, 1986, The Regents of the University of California. - * +/* * Author: Jeff Hill */ diff --git a/src/libCom/cxxTemplates/tsSLList.h b/src/libCom/cxxTemplates/tsSLList.h index 89d46e1ce..174eb7974 100644 --- a/src/libCom/cxxTemplates/tsSLList.h +++ b/src/libCom/cxxTemplates/tsSLList.h @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * type safe singly linked list templates * * Author Jeffrey O. Hill diff --git a/src/libCom/ellLib/ellLib.c b/src/libCom/ellLib/ellLib.c index 12a12ed4c..d4800bd16 100644 --- a/src/libCom/ellLib/ellLib.c +++ b/src/libCom/ellLib/ellLib.c @@ -6,8 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: John Winans (ANL) * Date: 07-02-92 */ diff --git a/src/libCom/ellLib/ellLib.h b/src/libCom/ellLib/ellLib.h index d855a552f..af793ab25 100644 --- a/src/libCom/ellLib/ellLib.h +++ b/src/libCom/ellLib/ellLib.h @@ -6,8 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ - * +/* * Author: John Winans (ANL) * Date: 07-02-92 */ diff --git a/src/libCom/env/envDefs.h b/src/libCom/env/envDefs.h index b2a594f44..d47d4bbdd 100644 --- a/src/libCom/env/envDefs.h +++ b/src/libCom/env/envDefs.h @@ -6,7 +6,7 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * Author: Roger A. Cole * Date: 07-20-91 * diff --git a/src/libCom/env/envSubr.c b/src/libCom/env/envSubr.c index 5bbd83d83..31ce032fc 100644 --- a/src/libCom/env/envSubr.c +++ b/src/libCom/env/envSubr.c @@ -7,7 +7,7 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * Author: Roger A. Cole * Date: 07-20-91 */ diff --git a/src/libCom/error/errMdef.h b/src/libCom/error/errMdef.h index a30650a44..bbc447a5f 100644 --- a/src/libCom/error/errMdef.h +++ b/src/libCom/error/errMdef.h @@ -7,7 +7,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* Error Handling definitions */ -/* $Revision-Id$ */ /* * Author: Marty Kraimer * Date: 6-1-90 diff --git a/src/libCom/error/errSymLib.c b/src/libCom/error/errSymLib.c index f75577b23..84c093c9b 100644 --- a/src/libCom/error/errSymLib.c +++ b/src/libCom/error/errSymLib.c @@ -7,11 +7,11 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ +/* * errSymLib.c * Author: Marty Kraimer * Date: 6-1-90 - * errMessage.c - Handle error messages + * *************************************************************************** * This must ultimately be replaced by a facility that allows remote * nodes access to the error messages. A message handling communication diff --git a/src/libCom/error/error.h b/src/libCom/error/error.h index e951a042d..18cf7eebd 100644 --- a/src/libCom/error/error.h +++ b/src/libCom/error/error.h @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* error.h - errMessage symbol table header */ -/* share/epicsH $Revision-Id$ */ /* * Author: Marty Kraimer diff --git a/src/libCom/fdmgr/fdManager.cpp b/src/libCom/fdmgr/fdManager.cpp index 590de707c..4cc67d360 100644 --- a/src/libCom/fdmgr/fdManager.cpp +++ b/src/libCom/fdmgr/fdManager.cpp @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ // -// $Revision-Id$ -// // File descriptor management C++ class library // (for multiplexing IO in a single threaded environment) // diff --git a/src/libCom/fdmgr/fdManager.h b/src/libCom/fdmgr/fdManager.h index 23ca84587..ff55fec8a 100644 --- a/src/libCom/fdmgr/fdManager.h +++ b/src/libCom/fdmgr/fdManager.h @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * $Revision-Id$ - * * File descriptor management C++ class library * (for multiplexing IO in a single threaded environment) * diff --git a/src/libCom/fdmgr/fdmgr.cpp b/src/libCom/fdmgr/fdmgr.cpp index 2d9245bd3..991cb9c2f 100644 --- a/src/libCom/fdmgr/fdmgr.cpp +++ b/src/libCom/fdmgr/fdmgr.cpp @@ -8,7 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ // -// // File descriptor management C++ class library // (for multiplexing IO in a single threaded environment) // diff --git a/src/libCom/fdmgr/fdmgr.h b/src/libCom/fdmgr/fdmgr.h index 07294c5cc..a227335e7 100644 --- a/src/libCom/fdmgr/fdmgr.h +++ b/src/libCom/fdmgr/fdmgr.h @@ -8,8 +8,6 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ /* fdmgr.h - * - * share/epicsH/$Revision-Id$ * * Header file associated with a file descriptor manager * for use with the UNIX system call select diff --git a/src/libCom/freeList/freeList.h b/src/libCom/freeList/freeList.h index c7ca84efc..77ebfb82e 100644 --- a/src/libCom/freeList/freeList.h +++ b/src/libCom/freeList/freeList.h @@ -7,10 +7,8 @@ * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* share/epicsH/freeList.h */ -/* share/epicsH $Revision-Id$ */ /* Author: Marty Kraimer Date: 04-19-94 */ - + #ifndef INCfreeListh #define INCfreeListh diff --git a/src/libCom/freeList/freeList.html b/src/libCom/freeList/freeList.html index 853cf9d35..97aec0c2c 100644 --- a/src/libCom/freeList/freeList.html +++ b/src/libCom/freeList/freeList.html @@ -1,12 +1,3 @@ -/*************************************************************************\ -* Copyright (c) 2002 The University of Chicago, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/
diff --git a/src/libCom/freeList/freeListLib.c b/src/libCom/freeList/freeListLib.c
index 5e07ba9c3..f17719061 100644
--- a/src/libCom/freeList/freeListLib.c
+++ b/src/libCom/freeList/freeListLib.c
@@ -7,9 +7,7 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /* Author:  Marty Kraimer Date:    04-19-94 */
-
 
 #include 
 #include 
diff --git a/src/libCom/gpHash/gpHash.h b/src/libCom/gpHash/gpHash.h
index 1a2783b64..6823ec7f5 100644
--- a/src/libCom/gpHash/gpHash.h
+++ b/src/libCom/gpHash/gpHash.h
@@ -7,7 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /* Author:  Marty Kraimer Date:    04-07-94 */
 
 /* gph provides a general purpose directory accessed via a hash table*/
diff --git a/src/libCom/gpHash/gpHash.html b/src/libCom/gpHash/gpHash.html
index 658e47f47..29d13defa 100644
--- a/src/libCom/gpHash/gpHash.html
+++ b/src/libCom/gpHash/gpHash.html
@@ -1,12 +1,3 @@
-/*************************************************************************\
-* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
-*     National Laboratory.
-* Copyright (c) 2002 The Regents of the University of California, as
-*     Operator of Los Alamos National Laboratory.
-* EPICS BASE Versions 3.13.7
-* and higher are distributed subject to a Software License Agreement found
-* in file LICENSE that is included with this distribution. 
-\*************************************************************************/
 
 
 
diff --git a/src/libCom/gpHash/gpHashLib.c b/src/libCom/gpHash/gpHashLib.c
index 842f3b4de..a492fd539 100644
--- a/src/libCom/gpHash/gpHashLib.c
+++ b/src/libCom/gpHash/gpHashLib.c
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* Author:  Marty Kraimer Date:    04-07-94 */
 
diff --git a/src/libCom/macLib/macCore.c b/src/libCom/macLib/macCore.c
index da5244dfd..f550ed7dc 100644
--- a/src/libCom/macLib/macCore.c
+++ b/src/libCom/macLib/macCore.c
@@ -6,8 +6,7 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$
- *
+/*
  * Implementation of core macro substitution library (macLib)
  *
  * The implementation is fairly unsophisticated and linked lists are
diff --git a/src/libCom/macLib/macEnv.c b/src/libCom/macLib/macEnv.c
index 766d62473..6ee73d413 100644
--- a/src/libCom/macLib/macEnv.c
+++ b/src/libCom/macLib/macEnv.c
@@ -4,8 +4,7 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$
- *
+/*
  * Macro expansion of environment variables
  */
 
diff --git a/src/libCom/macLib/macLib.h b/src/libCom/macLib/macLib.h
index a99007e9a..388823927 100644
--- a/src/libCom/macLib/macLib.h
+++ b/src/libCom/macLib/macLib.h
@@ -6,8 +6,7 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$
- *
+/*
  * Definitions for macro substitution library (macLib)
  *
  * William Lupton, W. M. Keck Observatory
diff --git a/src/libCom/macLib/macLibNOTES b/src/libCom/macLib/macLibNOTES
index d079a3282..fc3606254 100644
--- a/src/libCom/macLib/macLibNOTES
+++ b/src/libCom/macLib/macLibNOTES
@@ -1,5 +1,3 @@
-# $Revision-Id$
-#
 # Test input file for macTest filter, doubling as notes on usage of the
 # macro library. Some special strings at start of line are supported:
 #
diff --git a/src/libCom/macLib/macUtil.c b/src/libCom/macLib/macUtil.c
index ee7b53f7f..7bf73542e 100644
--- a/src/libCom/macLib/macUtil.c
+++ b/src/libCom/macLib/macUtil.c
@@ -6,8 +6,7 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$
- *
+/*
  * Implementation of utility macro substitution library (macLib)
  *
  * William Lupton, W. M. Keck Observatory
diff --git a/src/libCom/misc/cantProceed.c b/src/libCom/misc/cantProceed.c
index 832622ad0..94b7ccc6f 100644
--- a/src/libCom/misc/cantProceed.c
+++ b/src/libCom/misc/cantProceed.c
@@ -7,7 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* Author:  Marty Kraimer Date:    04JAN99 */
 
diff --git a/src/libCom/misc/dbDefs.h b/src/libCom/misc/dbDefs.h
index 069d55c1a..94e05e8a4 100644
--- a/src/libCom/misc/dbDefs.h
+++ b/src/libCom/misc/dbDefs.h
@@ -6,8 +6,7 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$
- *
+/*
  *      Author:          Marty Kraimer
  *      Date:            6-1-90
  */
diff --git a/src/libCom/misc/epicsString.c b/src/libCom/misc/epicsString.c
index 2ce13be6d..11099d037 100644
--- a/src/libCom/misc/epicsString.c
+++ b/src/libCom/misc/epicsString.c
@@ -7,7 +7,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* Authors: Jun-ichi Odagiri, Marty Kraimer, Eric Norum,
  *          Mark Rivers, Andrew Johnson, Ralph Lange
diff --git a/src/libCom/misc/epicsString.h b/src/libCom/misc/epicsString.h
index c264ebb27..5d53957a1 100644
--- a/src/libCom/misc/epicsString.h
+++ b/src/libCom/misc/epicsString.h
@@ -7,7 +7,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* Authors: Jun-ichi Odagiri, Marty Kraimer, Eric Norum,
  *          Mark Rivers, Andrew Johnson, Ralph Lange
diff --git a/src/libCom/misc/epicsTypes.h b/src/libCom/misc/epicsTypes.h
index 2d554ce1e..0771c111c 100644
--- a/src/libCom/misc/epicsTypes.h
+++ b/src/libCom/misc/epicsTypes.h
@@ -7,7 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$  */
 
 /*
  *      Author:     Jeff Hill  
diff --git a/src/libCom/misc/epicsUnitTest.c b/src/libCom/misc/epicsUnitTest.c
index 730bde7a2..ce41ae56e 100644
--- a/src/libCom/misc/epicsUnitTest.c
+++ b/src/libCom/misc/epicsUnitTest.c
@@ -5,7 +5,7 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-/* $Revision-Id$
+/*
  * Author: Andrew Johnson
  *
  * Unit test module which generates output in the Test Anything Protocol
diff --git a/src/libCom/misc/epicsUnitTest.h b/src/libCom/misc/epicsUnitTest.h
index 47f5cf53a..46ec629a2 100644
--- a/src/libCom/misc/epicsUnitTest.h
+++ b/src/libCom/misc/epicsUnitTest.h
@@ -5,7 +5,7 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-/* $Revision-Id$
+/*
  * Author: Andrew Johnson
  */
 
diff --git a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp
index 4800f3110..09742e8a3 100644
--- a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp
+++ b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp
@@ -9,15 +9,6 @@
 \*************************************************************************/
 
 /*  
- *
- *                              
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *                                  
- *  Copyright, 1986, The Regents of the University of California.
- *                                  
- *           
  *	Author Jeffrey O. Hill
  *	johill@lanl.gov
  */
diff --git a/src/libCom/misc/ipAddrToAsciiAsynchronous.h b/src/libCom/misc/ipAddrToAsciiAsynchronous.h
index 1e7ef6619..f2de879b6 100644
--- a/src/libCom/misc/ipAddrToAsciiAsynchronous.h
+++ b/src/libCom/misc/ipAddrToAsciiAsynchronous.h
@@ -9,16 +9,6 @@
 \*************************************************************************/
 
 /*  
- *  $Revision-Id$
- *
- *                              
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *                                  
- *  Copyright, 1986, The Regents of the University of California.
- *                                  
- *           
  *	Author Jeffrey O. Hill
  *	johill@lanl.gov
  */
diff --git a/src/libCom/misc/locationException.h b/src/libCom/misc/locationException.h
index 4a5a279a9..30b187208 100644
--- a/src/libCom/misc/locationException.h
+++ b/src/libCom/misc/locationException.h
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-//
-// $Revision-Id$
 //
 // Author: Jeff Hill
 //
diff --git a/src/libCom/misc/testMain.h b/src/libCom/misc/testMain.h
index 655503881..4db72c39e 100644
--- a/src/libCom/misc/testMain.h
+++ b/src/libCom/misc/testMain.h
@@ -4,7 +4,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/* $Revision-Id$ */
 
 #ifndef INC_testMain_H
 #define INC_testMain_H
diff --git a/src/libCom/misc/unixFileName.h b/src/libCom/misc/unixFileName.h
index faeed9d8e..36e818c8f 100644
--- a/src/libCom/misc/unixFileName.h
+++ b/src/libCom/misc/unixFileName.h
@@ -10,8 +10,6 @@
 /*
  * unixFileName.h
  * Author: Jeff Hill
- *
- *
  */
 #ifndef unixFileNameH
 #define unixFileNameH
diff --git a/src/libCom/osi/devLib.h b/src/libCom/osi/devLib.h
index b78f94907..729f9b932 100644
--- a/src/libCom/osi/devLib.h
+++ b/src/libCom/osi/devLib.h
@@ -9,7 +9,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 /* devLib.h */
-/* $Revision-Id$ */
 
 /*
  * Original Author: Marty Kraimer
diff --git a/src/libCom/osi/devLibVME.c b/src/libCom/osi/devLibVME.c
index f59de68a7..6c7d93f99 100644
--- a/src/libCom/osi/devLibVME.c
+++ b/src/libCom/osi/devLibVME.c
@@ -9,7 +9,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* devLib.c - support for allocation of common device resources */
-/* $Revision-Id$ */
 
 /*
  *  Original Author: Marty Kraimer
@@ -20,8 +19,6 @@
  * .01  06-14-93    joh needs devAllocInterruptVector() routine
  */
 
-static const char sccsID[] = "@(#) $Revision-Id$";
-
 #include 
 #include 
 #include 
diff --git a/src/libCom/osi/devLibVME.h b/src/libCom/osi/devLibVME.h
index 8e526a139..4fb17f0c2 100644
--- a/src/libCom/osi/devLibVME.h
+++ b/src/libCom/osi/devLibVME.h
@@ -7,7 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* devLib.h */
-/* devLib.h,v 1.1.2.8 2009/07/09 15:27:43 anj Exp */
 
 /*
  * Original Author: Marty Kraimer 
diff --git a/src/libCom/osi/devLibVMEImpl.h b/src/libCom/osi/devLibVMEImpl.h
index e695edeb9..e479d869c 100644
--- a/src/libCom/osi/devLibVMEImpl.h
+++ b/src/libCom/osi/devLibVMEImpl.h
@@ -9,7 +9,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* devLibImpl.h */
-/*  */
 
 /*
  * Original Author: Marty Kraimer 
diff --git a/src/libCom/osi/epicsAssert.h b/src/libCom/osi/epicsAssert.h
index db071d6cb..e90ec9a7b 100644
--- a/src/libCom/osi/epicsAssert.h
+++ b/src/libCom/osi/epicsAssert.h
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /*
  * EPICS assert
  *
diff --git a/src/libCom/osi/epicsMessageQueue.cpp b/src/libCom/osi/epicsMessageQueue.cpp
index e416c46d0..047107566 100644
--- a/src/libCom/osi/epicsMessageQueue.cpp
+++ b/src/libCom/osi/epicsMessageQueue.cpp
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  *              norume@aps.anl.gov
  *              630 252 4793
diff --git a/src/libCom/osi/epicsMessageQueue.h b/src/libCom/osi/epicsMessageQueue.h
index 0c18dd545..b75e640a4 100644
--- a/src/libCom/osi/epicsMessageQueue.h
+++ b/src/libCom/osi/epicsMessageQueue.h
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  *              norume@aps.anl.gov
  *              630 252 4793
diff --git a/src/libCom/osi/epicsMutex.cpp b/src/libCom/osi/epicsMutex.cpp
index d2e421204..ce94b73a0 100644
--- a/src/libCom/osi/epicsMutex.cpp
+++ b/src/libCom/osi/epicsMutex.cpp
@@ -7,7 +7,7 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* epicsMutex.c */
+/* epicsMutex.cpp */
 /*	Author: Marty Kraimer and Jeff Hill	Date: 03APR01	*/
 
 /*
diff --git a/src/libCom/osi/epicsThread.cpp b/src/libCom/osi/epicsThread.cpp
index dcd210d04..a849588f2 100644
--- a/src/libCom/osi/epicsThread.cpp
+++ b/src/libCom/osi/epicsThread.cpp
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 //
-// $Revision-Id$
-//
 // Author: Jeff Hill
 //
 
diff --git a/src/libCom/osi/os/Darwin/osdEnv.c b/src/libCom/osi/os/Darwin/osdEnv.c
index 8287f41bd..bc63ea14f 100644
--- a/src/libCom/osi/os/Darwin/osdEnv.c
+++ b/src/libCom/osi/os/Darwin/osdEnv.c
@@ -6,8 +6,6 @@
 \*************************************************************************/
 /* osdEnv.c */
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  *   Date: May 7, 2001
  *
diff --git a/src/libCom/osi/os/Darwin/osdSock.h b/src/libCom/osi/os/Darwin/osdSock.h
index bff7814e0..961b60663 100644
--- a/src/libCom/osi/os/Darwin/osdSock.h
+++ b/src/libCom/osi/os/Darwin/osdSock.h
@@ -4,8 +4,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/Darwin/osdSockAddrReuse.cpp b/src/libCom/osi/os/Darwin/osdSockAddrReuse.cpp
index a7bb3615c..869514160 100644
--- a/src/libCom/osi/os/Darwin/osdSockAddrReuse.cpp
+++ b/src/libCom/osi/os/Darwin/osdSockAddrReuse.cpp
@@ -1,4 +1,3 @@
-
 /*************************************************************************\
 * Copyright (c) 2002 The University of Chicago, as Operator of Argonne
 *     National Laboratory.
@@ -10,7 +9,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
  * Author: Jeff Hill
  */
 
diff --git a/src/libCom/osi/os/Darwin/osdTime.h b/src/libCom/osi/os/Darwin/osdTime.h
index 3abea1f14..d0c361404 100644
--- a/src/libCom/osi/os/Darwin/osdTime.h
+++ b/src/libCom/osi/os/Darwin/osdTime.h
@@ -4,8 +4,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/Darwin/osiFileName.h b/src/libCom/osi/os/Darwin/osiFileName.h
index 4004e82a4..a78118679 100644
--- a/src/libCom/osi/os/Darwin/osiFileName.h
+++ b/src/libCom/osi/os/Darwin/osiFileName.h
@@ -5,8 +5,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/Linux/osdTime.h b/src/libCom/osi/os/Linux/osdTime.h
index 50788a025..988f8747f 100644
--- a/src/libCom/osi/os/Linux/osdTime.h
+++ b/src/libCom/osi/os/Linux/osdTime.h
@@ -6,8 +6,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/Linux/osiFileName.h b/src/libCom/osi/os/Linux/osiFileName.h
index b79203992..3a6448d54 100644
--- a/src/libCom/osi/os/Linux/osiFileName.h
+++ b/src/libCom/osi/os/Linux/osiFileName.h
@@ -10,8 +10,6 @@
 /*
  * osiFileName.h
  * Author: Jeff Hill
- *
- *
  */
 #ifndef osiFileNameH
 #define osiFileNameH
diff --git a/src/libCom/osi/os/Linux/osiUnistd.h b/src/libCom/osi/os/Linux/osiUnistd.h
index fc58f0b59..336a9a802 100644
--- a/src/libCom/osi/os/Linux/osiUnistd.h
+++ b/src/libCom/osi/os/Linux/osiUnistd.h
@@ -8,16 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*  
- *  $Revision-Id$
- *
- *                              
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *                                  
- *  Copyright, 1986, The Regents of the University of California.
- *                                  
- *           
  *	Author Jeffrey O. Hill
  *	johill@lanl.gov
  *	505 665 1831
diff --git a/src/libCom/osi/os/RTEMS/devLibVMEOSD.c b/src/libCom/osi/os/RTEMS/devLibVMEOSD.c
index dfc5fcaf1..0a96bad1a 100644
--- a/src/libCom/osi/os/RTEMS/devLibVMEOSD.c
+++ b/src/libCom/osi/os/RTEMS/devLibVMEOSD.c
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /*      RTEMS port by Till Straumann, 
  *            3/2002
diff --git a/src/libCom/osi/os/RTEMS/osdEvent.c b/src/libCom/osi/os/RTEMS/osdEvent.c
index 12bbc4733..9caf841ec 100644
--- a/src/libCom/osi/os/RTEMS/osdEvent.c
+++ b/src/libCom/osi/os/RTEMS/osdEvent.c
@@ -6,7 +6,6 @@
 \*************************************************************************/
 /*
  * RTEMS osdEvent.c
- *	$Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osdEvent.h b/src/libCom/osi/os/RTEMS/osdEvent.h
index 506f3d65d..6c53aada7 100644
--- a/src/libCom/osi/os/RTEMS/osdEvent.h
+++ b/src/libCom/osi/os/RTEMS/osdEvent.h
@@ -6,7 +6,6 @@
 \*************************************************************************/
 /*
  * RTEMS osdEvent.h
- *	$Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osdInterrupt.c b/src/libCom/osi/os/RTEMS/osdInterrupt.c
index 8f029112e..88ce664e5 100644
--- a/src/libCom/osi/os/RTEMS/osdInterrupt.c
+++ b/src/libCom/osi/os/RTEMS/osdInterrupt.c
@@ -6,7 +6,6 @@
 \*************************************************************************/
 /*
  * RTEMS osdInterrupt.c
- *	$Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osdMessageQueue.c b/src/libCom/osi/os/RTEMS/osdMessageQueue.c
index 2707df1f4..3551e1e2f 100644
--- a/src/libCom/osi/os/RTEMS/osdMessageQueue.c
+++ b/src/libCom/osi/os/RTEMS/osdMessageQueue.c
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  *              norume@aps.anl.gov
  *              630 252 4793
diff --git a/src/libCom/osi/os/RTEMS/osdMessageQueue.h b/src/libCom/osi/os/RTEMS/osdMessageQueue.h
index c0631b72a..0244a1f0b 100644
--- a/src/libCom/osi/os/RTEMS/osdMessageQueue.h
+++ b/src/libCom/osi/os/RTEMS/osdMessageQueue.h
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  *              norume@aps.anl.gov
  *              630 252 4793
diff --git a/src/libCom/osi/os/RTEMS/osdMutex.c b/src/libCom/osi/os/RTEMS/osdMutex.c
index 2706facfe..fdd52250c 100644
--- a/src/libCom/osi/os/RTEMS/osdMutex.c
+++ b/src/libCom/osi/os/RTEMS/osdMutex.c
@@ -6,7 +6,6 @@
 \*************************************************************************/
 /*
  * RTEMS osdMutex.c
- *	$Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osdMutex.h b/src/libCom/osi/os/RTEMS/osdMutex.h
index edf630f78..7e2ecc77d 100644
--- a/src/libCom/osi/os/RTEMS/osdMutex.h
+++ b/src/libCom/osi/os/RTEMS/osdMutex.h
@@ -6,7 +6,6 @@
 \*************************************************************************/
 /*
  * RTEMS osdMutex.h
- *	$Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osdProcess.c b/src/libCom/osi/os/RTEMS/osdProcess.c
index ce788bf99..2768dbb0d 100644
--- a/src/libCom/osi/os/RTEMS/osdProcess.c
+++ b/src/libCom/osi/os/RTEMS/osdProcess.c
@@ -9,8 +9,6 @@
 \*************************************************************************/
 
 /* 
- * $Revision-Id$
- * 
  * Operating System Dependent Implementation of osiProcess.h
  *
  * Author: Jeff Hill
diff --git a/src/libCom/osi/os/RTEMS/osdSock.h b/src/libCom/osi/os/RTEMS/osdSock.h
index 21a350822..0f69b2a2c 100644
--- a/src/libCom/osi/os/RTEMS/osdSock.h
+++ b/src/libCom/osi/os/RTEMS/osdSock.h
@@ -5,7 +5,6 @@
 \*************************************************************************/
 /*
  * RTEMS osdSock.h
- *	$Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osdThread.c b/src/libCom/osi/os/RTEMS/osdThread.c
index f735671b1..b304026e0 100644
--- a/src/libCom/osi/os/RTEMS/osdThread.c
+++ b/src/libCom/osi/os/RTEMS/osdThread.c
@@ -6,7 +6,6 @@
 \*************************************************************************/
 /*
  * RTEMS osdThread.c
- *      $Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osdTime.cpp b/src/libCom/osi/os/RTEMS/osdTime.cpp
index e71c64a88..e0db34f30 100644
--- a/src/libCom/osi/os/RTEMS/osdTime.cpp
+++ b/src/libCom/osi/os/RTEMS/osdTime.cpp
@@ -6,8 +6,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 /*
- * $Revision-Id$
- *
  * Author: W. Eric Norum
  */
 #define __BSD_VISIBLE 1
diff --git a/src/libCom/osi/os/RTEMS/osdTime.h b/src/libCom/osi/os/RTEMS/osdTime.h
index 5790ec3b6..55e3bc2b0 100644
--- a/src/libCom/osi/os/RTEMS/osdTime.h
+++ b/src/libCom/osi/os/RTEMS/osdTime.h
@@ -7,11 +7,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-/*
- * $Revision-Id$
- *
- */
-
 #ifndef INC_osdTime_H
 #define INC_osdTime_H
 
diff --git a/src/libCom/osi/os/RTEMS/osdVME.h b/src/libCom/osi/os/RTEMS/osdVME.h
index 5e8c5f984..65548abcb 100644
--- a/src/libCom/osi/os/RTEMS/osdVME.h
+++ b/src/libCom/osi/os/RTEMS/osdVME.h
@@ -7,7 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /*
  * OS-dependent VME support
diff --git a/src/libCom/osi/os/RTEMS/osiFileName.h b/src/libCom/osi/os/RTEMS/osiFileName.h
index 5cd57e52c..8c9226898 100644
--- a/src/libCom/osi/os/RTEMS/osiFileName.h
+++ b/src/libCom/osi/os/RTEMS/osiFileName.h
@@ -6,7 +6,6 @@
 \*************************************************************************/
 /*
  * RTEMS osiFileName.h
- *	$Revision-Id$
  *      Author: W. Eric Norum
  *              eric@cls.usask.ca
  *              (306) 966-6055
diff --git a/src/libCom/osi/os/RTEMS/osiUnistd.h b/src/libCom/osi/os/RTEMS/osiUnistd.h
index e5264267c..c0a6e222d 100644
--- a/src/libCom/osi/os/RTEMS/osiUnistd.h
+++ b/src/libCom/osi/os/RTEMS/osiUnistd.h
@@ -8,16 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*  
- *  $Revision-Id$
- *
- *                              
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *                                  
- *  Copyright, 1986, The Regents of the University of California.
- *                                  
- *           
  *	Author Jeffrey O. Hill
  *	johill@lanl.gov
  *	505 665 1831
diff --git a/src/libCom/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp b/src/libCom/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp
index 5ab809cde..3db87ac84 100644
--- a/src/libCom/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp
+++ b/src/libCom/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp
@@ -7,10 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/*
- * $Revision-Id$
- */
-
 #include 
 
 #define epicsExportSharedSymbols
diff --git a/src/libCom/osi/os/WIN32/epicsTempFile.cpp b/src/libCom/osi/os/WIN32/epicsTempFile.cpp
index 486535460..8f6d21971 100644
--- a/src/libCom/osi/os/WIN32/epicsTempFile.cpp
+++ b/src/libCom/osi/os/WIN32/epicsTempFile.cpp
@@ -9,7 +9,6 @@
 \*************************************************************************/
 
 /*
- *  $Revision-Id$
  *  Author: Jeff Hill 
  */
 
diff --git a/src/libCom/osi/os/WIN32/osdEvent.c b/src/libCom/osi/os/WIN32/osdEvent.c
index f7cafcf3e..f4feed7c8 100644
--- a/src/libCom/osi/os/WIN32/osdEvent.c
+++ b/src/libCom/osi/os/WIN32/osdEvent.c
@@ -9,7 +9,6 @@
 \*************************************************************************/
 /* osdEvent.c */
 /*
- *      $Revision-Id$
  *      WIN32 version
  *
  *      Author  Jeffrey O. Hill
diff --git a/src/libCom/osi/os/WIN32/osdEvent.h b/src/libCom/osi/os/WIN32/osdEvent.h
index b5dd115bf..f57f2cc49 100644
--- a/src/libCom/osi/os/WIN32/osdEvent.h
+++ b/src/libCom/osi/os/WIN32/osdEvent.h
@@ -9,7 +9,6 @@
 \*************************************************************************/
 /* osdEvent.c */
 /*
- *      $Revision-Id$
  *      WIN32 version
  *
  *      Author  Jeffrey O. Hill
diff --git a/src/libCom/osi/os/WIN32/osdMutex.c b/src/libCom/osi/os/WIN32/osdMutex.c
index 710151848..27eafb6cb 100644
--- a/src/libCom/osi/os/WIN32/osdMutex.c
+++ b/src/libCom/osi/os/WIN32/osdMutex.c
@@ -9,7 +9,6 @@
 \*************************************************************************/
 /* osdMutex.c */
 /*
- *      $Revision-Id$
  *      WIN32 version
  *
  *      Author  Jeffrey O. Hill
diff --git a/src/libCom/osi/os/WIN32/osdMutex.h b/src/libCom/osi/os/WIN32/osdMutex.h
index e531f792d..d8f3f78bd 100644
--- a/src/libCom/osi/os/WIN32/osdMutex.h
+++ b/src/libCom/osi/os/WIN32/osdMutex.h
@@ -10,7 +10,6 @@
 
 /* osdMutex.h */
 /*
- *      $Revision-Id$
  *      WIN32 version
  *
  *      Author  Jeffrey O. Hill
diff --git a/src/libCom/osi/os/WIN32/osdNetIntf.c b/src/libCom/osi/os/WIN32/osdNetIntf.c
index 74025237f..1126fb307 100644
--- a/src/libCom/osi/os/WIN32/osdNetIntf.c
+++ b/src/libCom/osi/os/WIN32/osdNetIntf.c
@@ -9,8 +9,6 @@
 \*************************************************************************/
 
 /*
- *	    $Revision-Id$
- *
  *	    WIN32 specific initialisation for bsd sockets,
  *	    based on Chris Timossi's base/src/ca/windows_depend.c,
  *      and also further additions by Kay Kasemir when this was in
diff --git a/src/libCom/osi/os/WIN32/osdProcess.c b/src/libCom/osi/os/WIN32/osdProcess.c
index fd680307d..55bf61f6c 100644
--- a/src/libCom/osi/os/WIN32/osdProcess.c
+++ b/src/libCom/osi/os/WIN32/osdProcess.c
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* 
- * $Revision-Id$
- * 
  * Operating System Dependent Implementation of osiProcess.h
  *
  * Author: Jeff Hill
diff --git a/src/libCom/osi/os/WIN32/osdSock.c b/src/libCom/osi/os/WIN32/osdSock.c
index 564fe431c..b8c8363fb 100644
--- a/src/libCom/osi/os/WIN32/osdSock.c
+++ b/src/libCom/osi/os/WIN32/osdSock.c
@@ -9,8 +9,6 @@
 \*************************************************************************/
 
 /*
- *	    $Revision-Id$
- *
  *	    WIN32 specific initialisation for bsd sockets,
  *	    based on Chris Timossi's base/src/ca/windows_depend.c,
  *      and also further additions by Kay Kasemir when this was in
diff --git a/src/libCom/osi/os/WIN32/osdSockAddrReuse.cpp b/src/libCom/osi/os/WIN32/osdSockAddrReuse.cpp
index e8de4d4b7..d441d7511 100644
--- a/src/libCom/osi/os/WIN32/osdSockAddrReuse.cpp
+++ b/src/libCom/osi/os/WIN32/osdSockAddrReuse.cpp
@@ -10,7 +10,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
  * Author: Jeff Hill
  */
 
diff --git a/src/libCom/osi/os/WIN32/osdThread.c b/src/libCom/osi/os/WIN32/osdThread.c
index c15161c6f..7f3d34500 100644
--- a/src/libCom/osi/os/WIN32/osdThread.c
+++ b/src/libCom/osi/os/WIN32/osdThread.c
@@ -8,11 +8,7 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Jeff Hill
- * 
- *
  */
 
 #include 
diff --git a/src/libCom/osi/os/WIN32/osdTime.cpp b/src/libCom/osi/os/WIN32/osdTime.cpp
index 239d21a2c..2174a52bc 100644
--- a/src/libCom/osi/os/WIN32/osdTime.cpp
+++ b/src/libCom/osi/os/WIN32/osdTime.cpp
@@ -7,12 +7,9 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-//
-// $Revision-Id$
 //
 // Author: Jeff Hill
 //
-//
 
 //
 // ANSI C
diff --git a/src/libCom/osi/os/WIN32/osdTime.h b/src/libCom/osi/os/WIN32/osdTime.h
index 5875c0e7e..67fc83320 100644
--- a/src/libCom/osi/os/WIN32/osdTime.h
+++ b/src/libCom/osi/os/WIN32/osdTime.h
@@ -8,8 +8,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Jeff Hill
  */
 
diff --git a/src/libCom/osi/os/WIN32/osiFileName.h b/src/libCom/osi/os/WIN32/osiFileName.h
index 658975d89..6ff0308b2 100644
--- a/src/libCom/osi/os/WIN32/osiFileName.h
+++ b/src/libCom/osi/os/WIN32/osiFileName.h
@@ -11,7 +11,6 @@
  * osiFileName.h
  * Author: Jeff Hill
  *
- *
  */
 #ifndef osiFileNameH
 #define osiFileNameH
diff --git a/src/libCom/osi/os/WIN32/osiUnistd.h b/src/libCom/osi/os/WIN32/osiUnistd.h
index c8c744f6f..3f34e74cc 100644
--- a/src/libCom/osi/os/WIN32/osiUnistd.h
+++ b/src/libCom/osi/os/WIN32/osiUnistd.h
@@ -8,16 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*  
- *  $Revision-Id$
- *
- *                              
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *                                  
- *  Copyright, 1986, The Regents of the University of California.
- *                                  
- *           
  *	Author Jeffrey O. Hill
  *	johill@lanl.gov
  *	505 665 1831
diff --git a/src/libCom/osi/os/WIN32/systemCallIntMech.cpp b/src/libCom/osi/os/WIN32/systemCallIntMech.cpp
index be18c02a1..5e13299c0 100644
--- a/src/libCom/osi/os/WIN32/systemCallIntMech.cpp
+++ b/src/libCom/osi/os/WIN32/systemCallIntMech.cpp
@@ -8,7 +8,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /*
  *      Author:		Jeff Hill 
  */
diff --git a/src/libCom/osi/os/cygwin32/devLibVMEOSD.c b/src/libCom/osi/os/cygwin32/devLibVMEOSD.c
index bc1ec80cf..53cbd58cd 100644
--- a/src/libCom/osi/os/cygwin32/devLibVMEOSD.c
+++ b/src/libCom/osi/os/cygwin32/devLibVMEOSD.c
@@ -5,8 +5,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 #include 
 
 #define epicsExportSharedSymbols
diff --git a/src/libCom/osi/os/cygwin32/osdSockAddrReuse.cpp b/src/libCom/osi/os/cygwin32/osdSockAddrReuse.cpp
index e8de4d4b7..d441d7511 100644
--- a/src/libCom/osi/os/cygwin32/osdSockAddrReuse.cpp
+++ b/src/libCom/osi/os/cygwin32/osdSockAddrReuse.cpp
@@ -10,7 +10,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
  * Author: Jeff Hill
  */
 
diff --git a/src/libCom/osi/os/cygwin32/osiFileName.h b/src/libCom/osi/os/cygwin32/osiFileName.h
index 658975d89..6d7fd6eb9 100644
--- a/src/libCom/osi/os/cygwin32/osiFileName.h
+++ b/src/libCom/osi/os/cygwin32/osiFileName.h
@@ -10,8 +10,6 @@
 /*
  * osiFileName.h
  * Author: Jeff Hill
- *
- *
  */
 #ifndef osiFileNameH
 #define osiFileNameH
diff --git a/src/libCom/osi/os/cygwin32/systemCallIntMech.cpp b/src/libCom/osi/os/cygwin32/systemCallIntMech.cpp
index ee97f8b3e..175f8c961 100644
--- a/src/libCom/osi/os/cygwin32/systemCallIntMech.cpp
+++ b/src/libCom/osi/os/cygwin32/systemCallIntMech.cpp
@@ -8,7 +8,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /*
  *      Author:		Jeff Hill 
  */
diff --git a/src/libCom/osi/os/default/devLibVMEOSD.c b/src/libCom/osi/os/default/devLibVMEOSD.c
index 1b4fa7a66..11d73222a 100644
--- a/src/libCom/osi/os/default/devLibVMEOSD.c
+++ b/src/libCom/osi/os/default/devLibVMEOSD.c
@@ -6,8 +6,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 #include 
 
 #define epicsExportSharedSymbols
diff --git a/src/libCom/osi/os/default/epicsReadline.c b/src/libCom/osi/os/default/epicsReadline.c
index 7cdcfdafe..dacf0d530 100644
--- a/src/libCom/osi/os/default/epicsReadline.c
+++ b/src/libCom/osi/os/default/epicsReadline.c
@@ -5,7 +5,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /* Author:  Eric Norum Date: 12DEC2001 */
 
 #include 
diff --git a/src/libCom/osi/os/default/epicsSocketConvertErrnoToString.cpp b/src/libCom/osi/os/default/epicsSocketConvertErrnoToString.cpp
index 0e0ef94f0..3cbfce60d 100644
--- a/src/libCom/osi/os/default/epicsSocketConvertErrnoToString.cpp
+++ b/src/libCom/osi/os/default/epicsSocketConvertErrnoToString.cpp
@@ -7,7 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* osdSock.c */
-/* $Revision-Id$ */
 /*
  *      Author:		Jeff Hill 
  *      Date:          	04-05-94 
diff --git a/src/libCom/osi/os/default/osdAssert.c b/src/libCom/osi/os/default/osdAssert.c
index 938a3c654..153ad8e20 100644
--- a/src/libCom/osi/os/default/osdAssert.c
+++ b/src/libCom/osi/os/default/osdAssert.c
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /*
  *      Author:         Jeffrey Hill
  *      Date:           02-27-95
diff --git a/src/libCom/osi/os/default/osdEnv.c b/src/libCom/osi/os/default/osdEnv.c
index c31ab7e09..65df5c194 100644
--- a/src/libCom/osi/os/default/osdEnv.c
+++ b/src/libCom/osi/os/default/osdEnv.c
@@ -6,8 +6,6 @@
 \*************************************************************************/
 /* osdEnv.c */
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  *   Date: May 7, 2001
  *
diff --git a/src/libCom/osi/os/default/osdMessageQueue.cpp b/src/libCom/osi/os/default/osdMessageQueue.cpp
index 83a5ba2ca..ce78684c4 100644
--- a/src/libCom/osi/os/default/osdMessageQueue.cpp
+++ b/src/libCom/osi/os/default/osdMessageQueue.cpp
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  *              norume@aps.anl.gov
  *              630 252 4793
diff --git a/src/libCom/osi/os/default/osdNetIntf.c b/src/libCom/osi/os/default/osdNetIntf.c
index ab36fdf10..1ad6360c1 100644
--- a/src/libCom/osi/os/default/osdNetIntf.c
+++ b/src/libCom/osi/os/default/osdNetIntf.c
@@ -8,7 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
 /*
  *      Author:		Jeff Hill 
  *      Date:       04-05-94 
diff --git a/src/libCom/osi/os/default/osdVME.h b/src/libCom/osi/os/default/osdVME.h
index 37ac6a30a..1b65b3184 100644
--- a/src/libCom/osi/os/default/osdVME.h
+++ b/src/libCom/osi/os/default/osdVME.h
@@ -7,7 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /*
  * OS-dependent VME support
diff --git a/src/libCom/osi/os/default/osdWireFormat.h b/src/libCom/osi/os/default/osdWireFormat.h
index 6db3e20ab..385c9bd69 100644
--- a/src/libCom/osi/os/default/osdWireFormat.h
+++ b/src/libCom/osi/os/default/osdWireFormat.h
@@ -8,13 +8,6 @@
 \*************************************************************************/
 
 /*
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *
- *  Copyright, 2000, The Regents of the University of California.
- *
- *
  *  Author Jeffrey O. Hill
  *  johill@lanl.gov
  */
diff --git a/src/libCom/osi/os/freebsd/osdTime.h b/src/libCom/osi/os/freebsd/osdTime.h
index d0a61c9e0..941426c72 100644
--- a/src/libCom/osi/os/freebsd/osdTime.h
+++ b/src/libCom/osi/os/freebsd/osdTime.h
@@ -5,8 +5,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/freebsd/osiFileName.h b/src/libCom/osi/os/freebsd/osiFileName.h
index a64c19ad8..83204c70f 100644
--- a/src/libCom/osi/os/freebsd/osiFileName.h
+++ b/src/libCom/osi/os/freebsd/osiFileName.h
@@ -9,8 +9,6 @@
 /*
  * osiFileName.h
  * Author: Jeff Hill
- *
- *
  */
 #ifndef osiFileNameH
 #define osiFileNameH
diff --git a/src/libCom/osi/os/freebsd/osiUnistd.h b/src/libCom/osi/os/freebsd/osiUnistd.h
index b96f87b5f..c64e57a6c 100644
--- a/src/libCom/osi/os/freebsd/osiUnistd.h
+++ b/src/libCom/osi/os/freebsd/osiUnistd.h
@@ -7,16 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*  
- *  $Revision-Id$
- *
- *                              
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *                                  
- *  Copyright, 1986, The Regents of the University of California.
- *                                  
- *           
  *	Author Jeffrey O. Hill
  *	johill@lanl.gov
  *	505 665 1831
diff --git a/src/libCom/osi/os/iOS/osdEnv.c b/src/libCom/osi/os/iOS/osdEnv.c
index 90561aff3..00ec5532c 100644
--- a/src/libCom/osi/os/iOS/osdEnv.c
+++ b/src/libCom/osi/os/iOS/osdEnv.c
@@ -6,13 +6,10 @@
 
 /* osdEnv.c */
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  *   Date: May 7, 2001
  *
  * Routines to modify/display environment variables and EPICS parameters
- *
  */
 
 #include 
diff --git a/src/libCom/osi/os/iOS/osdSock.h b/src/libCom/osi/os/iOS/osdSock.h
index de8a1cf97..136c8f8a9 100644
--- a/src/libCom/osi/os/iOS/osdSock.h
+++ b/src/libCom/osi/os/iOS/osdSock.h
@@ -5,8 +5,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/iOS/osdSockAddrReuse.cpp b/src/libCom/osi/os/iOS/osdSockAddrReuse.cpp
index f5aa99f31..9f64e331a 100644
--- a/src/libCom/osi/os/iOS/osdSockAddrReuse.cpp
+++ b/src/libCom/osi/os/iOS/osdSockAddrReuse.cpp
@@ -8,7 +8,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
  * Author: Jeff Hill
  */
 
diff --git a/src/libCom/osi/os/iOS/osdTime.h b/src/libCom/osi/os/iOS/osdTime.h
index 554999779..953ec31b8 100644
--- a/src/libCom/osi/os/iOS/osdTime.h
+++ b/src/libCom/osi/os/iOS/osdTime.h
@@ -5,8 +5,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/iOS/osiFileName.h b/src/libCom/osi/os/iOS/osiFileName.h
index b88bfe35a..f7dd62878 100644
--- a/src/libCom/osi/os/iOS/osiFileName.h
+++ b/src/libCom/osi/os/iOS/osiFileName.h
@@ -5,8 +5,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  */
 
diff --git a/src/libCom/osi/os/posix/osdProcess.c b/src/libCom/osi/os/posix/osdProcess.c
index ccc8412d3..765804649 100644
--- a/src/libCom/osi/os/posix/osdProcess.c
+++ b/src/libCom/osi/os/posix/osdProcess.c
@@ -9,8 +9,6 @@
 \*************************************************************************/
 
 /* 
- * $Revision-Id$
- * 
  * Operating System Dependent Implementation of osiProcess.h
  *
  * Author: Jeff Hill
diff --git a/src/libCom/osi/os/posix/osdSock.c b/src/libCom/osi/os/posix/osdSock.c
index 4cd776c92..9f8146142 100644
--- a/src/libCom/osi/os/posix/osdSock.c
+++ b/src/libCom/osi/os/posix/osdSock.c
@@ -8,7 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* osdSock.c */
-/* $Revision-Id$ */
 /*
  *      Author:		Jeff Hill 
  *      Date:          	04-05-94 
diff --git a/src/libCom/osi/os/posix/osdSockAddrReuse.cpp b/src/libCom/osi/os/posix/osdSockAddrReuse.cpp
index 6f56f77e6..622239ed7 100644
--- a/src/libCom/osi/os/posix/osdSockAddrReuse.cpp
+++ b/src/libCom/osi/os/posix/osdSockAddrReuse.cpp
@@ -10,7 +10,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
  * Author: Jeff Hill
  */
 
diff --git a/src/libCom/osi/os/posix/osdTime.h b/src/libCom/osi/os/posix/osdTime.h
index 28c481701..ae9b3ad67 100644
--- a/src/libCom/osi/os/posix/osdTime.h
+++ b/src/libCom/osi/os/posix/osdTime.h
@@ -9,8 +9,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  * Author: Jeff Hill
  */
 
diff --git a/src/libCom/osi/os/posix/osiUnistd.h b/src/libCom/osi/os/posix/osiUnistd.h
index 5d2bb5e6f..5121261b6 100644
--- a/src/libCom/osi/os/posix/osiUnistd.h
+++ b/src/libCom/osi/os/posix/osiUnistd.h
@@ -8,16 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*  
- *  $Revision-Id$
- *
- *                              
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *                                  
- *  Copyright, 1986, The Regents of the University of California.
- *                                  
- *           
  *	Author Jeffrey O. Hill
  *	johill@lanl.gov
  *	505 665 1831
diff --git a/src/libCom/osi/os/posix/systemCallIntMech.cpp b/src/libCom/osi/os/posix/systemCallIntMech.cpp
index 9eb77a1b6..cdac1d0cb 100644
--- a/src/libCom/osi/os/posix/systemCallIntMech.cpp
+++ b/src/libCom/osi/os/posix/systemCallIntMech.cpp
@@ -8,7 +8,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /*
  *      Author:		Jeff Hill 
  */
diff --git a/src/libCom/osi/os/vxWorks/camacLib.h b/src/libCom/osi/os/vxWorks/camacLib.h
index eb2456b1a..a30ab5659 100644
--- a/src/libCom/osi/os/vxWorks/camacLib.h
+++ b/src/libCom/osi/os/vxWorks/camacLib.h
@@ -14,8 +14,6 @@
  *
  */
 
-static char ht2992_h_RCSID[] = "$Revision-Id$";
-
 /********************************/
 /* GLOBAL DATA			*/
 /********************************/
diff --git a/src/libCom/osi/os/vxWorks/devLibVMEOSD.c b/src/libCom/osi/os/vxWorks/devLibVMEOSD.c
index 22cd177ea..82bec603d 100644
--- a/src/libCom/osi/os/vxWorks/devLibVMEOSD.c
+++ b/src/libCom/osi/os/vxWorks/devLibVMEOSD.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* 
- * $Revision-Id$
- *
  * Archictecture dependent support for common device driver resources 
  *
  *      Author: Jeff Hill 
diff --git a/src/libCom/osi/os/vxWorks/epicsDynLink.c b/src/libCom/osi/os/vxWorks/epicsDynLink.c
index 57d5e9dd4..a0344a01d 100644
--- a/src/libCom/osi/os/vxWorks/epicsDynLink.c
+++ b/src/libCom/osi/os/vxWorks/epicsDynLink.c
@@ -7,8 +7,7 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Id $
- *
+/*
  * Comments from original version:
  *   On the MIPS processor, all symbols do not have the prepended underscore.
  *   Here we redefine symFindByName to look at the second character of the
diff --git a/src/libCom/osi/os/vxWorks/logMsgToErrlog.cpp b/src/libCom/osi/os/vxWorks/logMsgToErrlog.cpp
index fade9ffea..b44881cd0 100644
--- a/src/libCom/osi/os/vxWorks/logMsgToErrlog.cpp
+++ b/src/libCom/osi/os/vxWorks/logMsgToErrlog.cpp
@@ -9,8 +9,6 @@
 \*************************************************************************/
 
 /* 
- * $Revision-Id$
- *
  * route vxWorks logMsg messages into the EPICS logging system
  *
  * Author: Jeff Hill
diff --git a/src/libCom/osi/os/vxWorks/module_types.h b/src/libCom/osi/os/vxWorks/module_types.h
index af3dd122f..07372c37a 100644
--- a/src/libCom/osi/os/vxWorks/module_types.h
+++ b/src/libCom/osi/os/vxWorks/module_types.h
@@ -8,7 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* module_types.h */
-/* base/include $Revision-Id$ */
 /*
  * 	Author:      Bob Dalesio
  * 	Date:        12-07-88
diff --git a/src/libCom/osi/os/vxWorks/osdEnv.c b/src/libCom/osi/os/vxWorks/osdEnv.c
index dd53e4078..eaadb4bcd 100644
--- a/src/libCom/osi/os/vxWorks/osdEnv.c
+++ b/src/libCom/osi/os/vxWorks/osdEnv.c
@@ -5,8 +5,6 @@
 \*************************************************************************/
 /* osdEnv.c */
 /*
- * $Revision-Id$
- *
  * Author: Eric Norum
  *   Date: May 7, 2001
  *
diff --git a/src/libCom/osi/os/vxWorks/osdMessageQueue.cpp b/src/libCom/osi/os/vxWorks/osdMessageQueue.cpp
index 206d6def4..89c2745ed 100644
--- a/src/libCom/osi/os/vxWorks/osdMessageQueue.cpp
+++ b/src/libCom/osi/os/vxWorks/osdMessageQueue.cpp
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  *              norume@aps.anl.gov
  *              630 252 4793
diff --git a/src/libCom/osi/os/vxWorks/osdMessageQueue.h b/src/libCom/osi/os/vxWorks/osdMessageQueue.h
index 3ae77b514..87b35bd38 100644
--- a/src/libCom/osi/os/vxWorks/osdMessageQueue.h
+++ b/src/libCom/osi/os/vxWorks/osdMessageQueue.h
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  *              norume@aps.anl.gov
  *              630 252 4793
diff --git a/src/libCom/osi/os/vxWorks/osdProcess.c b/src/libCom/osi/os/vxWorks/osdProcess.c
index 27f5b71e9..2347a407c 100644
--- a/src/libCom/osi/os/vxWorks/osdProcess.c
+++ b/src/libCom/osi/os/vxWorks/osdProcess.c
@@ -8,8 +8,6 @@
 \*************************************************************************/
 
 /* 
- * $Revision-Id$
- * 
  * Operating System Dependent Implementation of osiProcess.h
  *
  * Author: Jeff Hill
diff --git a/src/libCom/osi/os/vxWorks/osdVME.h b/src/libCom/osi/os/vxWorks/osdVME.h
index a5e3bb346..b9d031a04 100644
--- a/src/libCom/osi/os/vxWorks/osdVME.h
+++ b/src/libCom/osi/os/vxWorks/osdVME.h
@@ -7,7 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /*
  * OS-dependent VME support
diff --git a/src/libCom/osi/os/vxWorks/osiFileName.h b/src/libCom/osi/os/vxWorks/osiFileName.h
index b79203992..3a6448d54 100644
--- a/src/libCom/osi/os/vxWorks/osiFileName.h
+++ b/src/libCom/osi/os/vxWorks/osiFileName.h
@@ -10,8 +10,6 @@
 /*
  * osiFileName.h
  * Author: Jeff Hill
- *
- *
  */
 #ifndef osiFileNameH
 #define osiFileNameH
diff --git a/src/libCom/osi/os/vxWorks/task_params.h b/src/libCom/osi/os/vxWorks/task_params.h
index 455e8ceb2..7b2055157 100644
--- a/src/libCom/osi/os/vxWorks/task_params.h
+++ b/src/libCom/osi/os/vxWorks/task_params.h
@@ -7,7 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /*  Parameters for tasks on IOC  */
 /*
diff --git a/src/libCom/osi/os/vxWorks/veclist.c b/src/libCom/osi/os/vxWorks/veclist.c
index 63aea6618..2a4e617ef 100644
--- a/src/libCom/osi/os/vxWorks/veclist.c
+++ b/src/libCom/osi/os/vxWorks/veclist.c
@@ -8,9 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *	$Revision-Id$
- *	@(#)veclist.c	1.10
- *
  *	list fuctions attached to the interrupt vector table
  *
  *	Created 28Mar89	Jeffrey O. Hill
@@ -19,19 +16,6 @@
  *
  */
 
-/*
- * 
- *	makefile
- *
- *
- * V5VW = /.../vx/v502b
- *
- * veclist.o:
- *	cc68k -c -DCPU_FAMILY=MC680X0 -I$(V5VW)/h veclist.c
- * 
- *
- */
-
 #include "vxWorks.h"
 #include "stdio.h"
 #include "string.h"
@@ -41,9 +25,6 @@
 #include "ctype.h"
 #include "sysSymTbl.h"
 
-static const char sccsID[] = 
-	"@(#) $Revision-Id$";
-
 /*
  *
  * VME bus dependent
diff --git a/src/libCom/osi/osiPoolStatus.h b/src/libCom/osi/osiPoolStatus.h
index 20f1b7339..b0207f185 100644
--- a/src/libCom/osi/osiPoolStatus.h
+++ b/src/libCom/osi/osiPoolStatus.h
@@ -11,8 +11,6 @@
 #define INC_osiPoolStatus_H
 
 /*
- * $Revision-Id$
- *
  * Author: Jeff Hill
  *
  * Functions which interrogate the state of the system wide pool
diff --git a/src/libCom/osi/osiProcess.h b/src/libCom/osi/osiProcess.h
index b954c4019..eabff1e72 100644
--- a/src/libCom/osi/osiProcess.h
+++ b/src/libCom/osi/osiProcess.h
@@ -11,8 +11,6 @@
 #define INC_osiProcess_H
 
 /* 
- * $Revision-Id$
- * 
  * Operating System Independent Interface to Process Environment
  *
  * Author: Jeff Hill
diff --git a/src/libCom/osi/osiSock.c b/src/libCom/osi/osiSock.c
index e030f5ab2..8b4634caf 100644
--- a/src/libCom/osi/osiSock.c
+++ b/src/libCom/osi/osiSock.c
@@ -9,8 +9,6 @@
 \*************************************************************************/
 
 /*
- *	    $Revision-Id$
- *
  *      socket support library generic code
  *
  *      7-1-97  -joh-
diff --git a/src/libCom/osi/osiSock.h b/src/libCom/osi/osiSock.h
index 1b52c7993..061619e89 100644
--- a/src/libCom/osi/osiSock.h
+++ b/src/libCom/osi/osiSock.h
@@ -8,8 +8,6 @@
 \*************************************************************************/
 
 /*
- *	    $Revision-Id$
- *
  *      socket support library API def
  *
  *      7-1-97  -joh-
diff --git a/src/libCom/osi/osiWireFormat.h b/src/libCom/osi/osiWireFormat.h
index 1ba8b905d..4d7e6717f 100644
--- a/src/libCom/osi/osiWireFormat.h
+++ b/src/libCom/osi/osiWireFormat.h
@@ -8,13 +8,6 @@
 \*************************************************************************/
 
 /*
- *                    L O S  A L A M O S
- *              Los Alamos National Laboratory
- *               Los Alamos, New Mexico 87545
- *
- *  Copyright, 2000, The Regents of the University of California.
- *
- *
  *  Author Jeffrey O. Hill
  *  johill@lanl.gov
  */
diff --git a/src/libCom/taskwd/taskwd.h b/src/libCom/taskwd/taskwd.h
index 2d66be950..4d5274d56 100644
--- a/src/libCom/taskwd/taskwd.h
+++ b/src/libCom/taskwd/taskwd.h
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* General purpose task watchdog */
 /*
  *      Original Author:        Marty Kraimer
diff --git a/src/libCom/test/epicsCalcTest.cpp b/src/libCom/test/epicsCalcTest.cpp
index ae129c449..5a4d44aa7 100644
--- a/src/libCom/test/epicsCalcTest.cpp
+++ b/src/libCom/test/epicsCalcTest.cpp
@@ -4,7 +4,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-// $Revision-Id$
 //	Author: Andrew Johnson
 
 #include "epicsUnitTest.h"
diff --git a/src/libCom/test/epicsMessageQueueTest.cpp b/src/libCom/test/epicsMessageQueueTest.cpp
index 8d7daea05..aa4c9dfc1 100644
--- a/src/libCom/test/epicsMessageQueueTest.cpp
+++ b/src/libCom/test/epicsMessageQueueTest.cpp
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  W. Eric Norum
  */
 #include 
diff --git a/src/libCom/test/epicsStringTest.c b/src/libCom/test/epicsStringTest.c
index 27ac53678..d0287f00e 100644
--- a/src/libCom/test/epicsStringTest.c
+++ b/src/libCom/test/epicsStringTest.c
@@ -6,8 +6,7 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/* $Revision-Id$
- *
+/*
  *      Author  Marty Kraimer
  */
 
diff --git a/src/libCom/test/epicsThreadOnceTest.c b/src/libCom/test/epicsThreadOnceTest.c
index 5e9088442..e82214d87 100644
--- a/src/libCom/test/epicsThreadOnceTest.c
+++ b/src/libCom/test/epicsThreadOnceTest.c
@@ -4,7 +4,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/* $Revision-Id$ */
 
 #include 
 #include 
diff --git a/src/libCom/test/epicsThreadPrivateTest.cpp b/src/libCom/test/epicsThreadPrivateTest.cpp
index 582611ad8..7ce28f4fd 100644
--- a/src/libCom/test/epicsThreadPrivateTest.cpp
+++ b/src/libCom/test/epicsThreadPrivateTest.cpp
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* Author: Jeff Hill Date:    March 28 2001 */
 
diff --git a/src/libCom/test/epicsTimerTest.cpp b/src/libCom/test/epicsTimerTest.cpp
index 43a6528b3..69cb99051 100644
--- a/src/libCom/test/epicsTimerTest.cpp
+++ b/src/libCom/test/epicsTimerTest.cpp
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
diff --git a/src/libCom/test/epicsUnitTestTest.c b/src/libCom/test/epicsUnitTestTest.c
index 688049c05..b16bad52a 100644
--- a/src/libCom/test/epicsUnitTestTest.c
+++ b/src/libCom/test/epicsUnitTestTest.c
@@ -5,7 +5,7 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-/* $Revision-Id$
+/*
  * Author: Andrew Johnson
  *
  * Test for the unit test module...
diff --git a/src/libCom/test/macEnvExpandTest.c b/src/libCom/test/macEnvExpandTest.c
index 99464873a..b9445afec 100644
--- a/src/libCom/test/macEnvExpandTest.c
+++ b/src/libCom/test/macEnvExpandTest.c
@@ -6,9 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/*
- * $Revision-Id$
- */
 
 #include 
 #include 
diff --git a/src/libCom/test/macLibTest.c b/src/libCom/test/macLibTest.c
index 1b79ad012..1f00a6ac7 100644
--- a/src/libCom/test/macLibTest.c
+++ b/src/libCom/test/macLibTest.c
@@ -6,9 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/*
- * $Revision-Id$
- */
 
 #include 
 #include 
diff --git a/src/libCom/test/taskwdTest.c b/src/libCom/test/taskwdTest.c
index d7222dfa7..f235f6047 100644
--- a/src/libCom/test/taskwdTest.c
+++ b/src/libCom/test/taskwdTest.c
@@ -4,7 +4,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* Author: Andrew Johnson
  * Date:    May 21, 2008
diff --git a/src/libCom/timer/epicsTimer.cpp b/src/libCom/timer/epicsTimer.cpp
index 1acdc08c6..1a3ccd4b2 100644
--- a/src/libCom/timer/epicsTimer.cpp
+++ b/src/libCom/timer/epicsTimer.cpp
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
diff --git a/src/libCom/timer/timer.cpp b/src/libCom/timer/timer.cpp
index 788bf6d61..d2cd26673 100644
--- a/src/libCom/timer/timer.cpp
+++ b/src/libCom/timer/timer.cpp
@@ -9,11 +9,9 @@
 \*************************************************************************/
 
 /*
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
- *
  */
 
 #include 
diff --git a/src/libCom/timer/timerPrivate.h b/src/libCom/timer/timerPrivate.h
index dadd8daa4..228085d65 100644
--- a/src/libCom/timer/timerPrivate.h
+++ b/src/libCom/timer/timerPrivate.h
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
diff --git a/src/libCom/timer/timerQueue.cpp b/src/libCom/timer/timerQueue.cpp
index cbccd8ffa..5a798d4d4 100644
--- a/src/libCom/timer/timerQueue.cpp
+++ b/src/libCom/timer/timerQueue.cpp
@@ -7,7 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
diff --git a/src/libCom/timer/timerQueueActive.cpp b/src/libCom/timer/timerQueueActive.cpp
index 6225b11a0..5d8b72951 100644
--- a/src/libCom/timer/timerQueueActive.cpp
+++ b/src/libCom/timer/timerQueueActive.cpp
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
diff --git a/src/libCom/timer/timerQueueActiveMgr.cpp b/src/libCom/timer/timerQueueActiveMgr.cpp
index 803b96bba..d6349a84c 100644
--- a/src/libCom/timer/timerQueueActiveMgr.cpp
+++ b/src/libCom/timer/timerQueueActiveMgr.cpp
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
diff --git a/src/libCom/timer/timerQueuePassive.cpp b/src/libCom/timer/timerQueuePassive.cpp
index 192f2bbe5..a352c5672 100644
--- a/src/libCom/timer/timerQueuePassive.cpp
+++ b/src/libCom/timer/timerQueuePassive.cpp
@@ -8,7 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *
  *      Author  Jeffrey O. Hill
  *              johill@lanl.gov
  *              505 665 1831
diff --git a/src/libCom/tsDefs/tsDefs.c b/src/libCom/tsDefs/tsDefs.c
index 22fdbe6ed..3ffc31d6d 100644
--- a/src/libCom/tsDefs/tsDefs.c
+++ b/src/libCom/tsDefs/tsDefs.c
@@ -7,9 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/*
- *      $Revision-Id$
- */
 
 #define epicsExportSharedSymbols
 #include "tsDefs.h"
diff --git a/src/libCom/tsDefs/tsDefs.h b/src/libCom/tsDefs/tsDefs.h
index 00f48feae..a3c284ef5 100644
--- a/src/libCom/tsDefs/tsDefs.h
+++ b/src/libCom/tsDefs/tsDefs.h
@@ -8,7 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *      $Revision-Id$
  * This file contains the old R3.13 
  * time stamp definitions and routines
  * needed by epics extensions. They exist 
diff --git a/src/makeBaseApp/makeBaseApp.pl b/src/makeBaseApp/makeBaseApp.pl
index cf65d290f..b53a0541e 100644
--- a/src/makeBaseApp/makeBaseApp.pl
+++ b/src/makeBaseApp/makeBaseApp.pl
@@ -1,7 +1,6 @@
 #!/usr/bin/env perl
 
 # Authors: Ralph Lange, Marty Kraimer, Andrew Johnson and Janet Anderson
-# $Revision-Id$
 
 use FindBin qw($Bin);
 use lib ("$Bin/../../lib/perl", $Bin);
diff --git a/src/makeBaseApp/top/caServerApp/vxEntry.cc b/src/makeBaseApp/top/caServerApp/vxEntry.cc
index 14984fe19..1cb240723 100644
--- a/src/makeBaseApp/top/caServerApp/vxEntry.cc
+++ b/src/makeBaseApp/top/caServerApp/vxEntry.cc
@@ -8,10 +8,8 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 //
-// $Revision-Id$
 // Author: Jeff HIll (LANL)
 //
-//
 
 #include 
 #include 
diff --git a/src/makeBaseExt/makeBaseExt.pl b/src/makeBaseExt/makeBaseExt.pl
index 307764823..45ce94829 100644
--- a/src/makeBaseExt/makeBaseExt.pl
+++ b/src/makeBaseExt/makeBaseExt.pl
@@ -1,7 +1,6 @@
 #!/usr/bin/env perl
 
 # Authors: Ralph Lange, Marty Kraimer, Andrew Johnson and Janet Anderson
-# $Revision-Id$
 
 use Cwd;
 use Getopt::Std;
diff --git a/src/makeBaseExt/top/Makefile b/src/makeBaseExt/top/Makefile
index 053bc6ab8..91e678167 100644
--- a/src/makeBaseExt/top/Makefile
+++ b/src/makeBaseExt/top/Makefile
@@ -1,4 +1,4 @@
-# $Revision-Id$
+# Makefile at the top of an extensions tree
 
 TOP = .
 include $(TOP)/configure/CONFIG
diff --git a/src/makeBaseExt/top/configure/Makefile b/src/makeBaseExt/top/configure/Makefile
index 956ca1f05..6e6609842 100644
--- a/src/makeBaseExt/top/configure/Makefile
+++ b/src/makeBaseExt/top/configure/Makefile
@@ -1,4 +1,4 @@
-# $Revision-Id$
+# Makefile in extensions/configure directory
 
 TOP=..
 
diff --git a/src/makeBaseExt/top/configure/RULES b/src/makeBaseExt/top/configure/RULES
index 87f23cc85..7592a37c6 100644
--- a/src/makeBaseExt/top/configure/RULES
+++ b/src/makeBaseExt/top/configure/RULES
@@ -1,4 +1,4 @@
-# $Revision-Id$
+# extensions/configure/RULES
 
 include $(CONFIG)/RULES
 -include $(TOP)/configure/RULES_PYTHON
diff --git a/src/makeBaseExt/top/configure/RULES_DIRS b/src/makeBaseExt/top/configure/RULES_DIRS
index b3ee47beb..dd6904367 100644
--- a/src/makeBaseExt/top/configure/RULES_DIRS
+++ b/src/makeBaseExt/top/configure/RULES_DIRS
@@ -1,3 +1,3 @@
-# $Revision-Id$
+# extensions/configure/RULES_DIRS
 
 include $(CONFIG)/RULES_DIRS
diff --git a/src/makeBaseExt/top/configure/RULES_IDL b/src/makeBaseExt/top/configure/RULES_IDL
index c48eb8db5..3610bcc21 100644
--- a/src/makeBaseExt/top/configure/RULES_IDL
+++ b/src/makeBaseExt/top/configure/RULES_IDL
@@ -1,4 +1,4 @@
-# $Revision-Id$
+# extensions/configure/RULES_IDL
 
 ifdef T_A
 ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
diff --git a/src/makeBaseExt/top/configure/RULES_PYTHON b/src/makeBaseExt/top/configure/RULES_PYTHON
index 41bdc9e65..49dffa02b 100644
--- a/src/makeBaseExt/top/configure/RULES_PYTHON
+++ b/src/makeBaseExt/top/configure/RULES_PYTHON
@@ -1,4 +1,4 @@
-# $Revision-Id$
+# extensions/configure/RULES_PYTHON
 
 ifdef T_A
 ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
diff --git a/src/makeBaseExt/top/configure/RULES_TOP b/src/makeBaseExt/top/configure/RULES_TOP
index b3b5c8d2f..1f81d3d39 100644
--- a/src/makeBaseExt/top/configure/RULES_TOP
+++ b/src/makeBaseExt/top/configure/RULES_TOP
@@ -1,4 +1,4 @@
-# $Revision-Id$
+# extensions/configure/RULES_TOP
 
 include $(CONFIG)/RULES_TOP
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland b/src/makeBaseExt/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland
index d191e69c6..ebc1b8238 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland
+++ b/src/makeBaseExt/top/configure/os/CONFIG.win32-x86-borland.win32-x86-borland
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.Common.Common b/src/makeBaseExt/top/configure/os/CONFIG_SITE.Common.Common
index e6ea50981..21363a633 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.Common.Common
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.Common.Common
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu b/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu
index aa02c0941..19d65aead 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc b/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc
index d3ace4e2a..3f40e0b37 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
index 948b39afe..f1745159b 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc b/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc
index d546a6f3a..d8fb7c158 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppc.darwin-ppc
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86
index e4c0927bd..6e31ffdb4 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-ppcx86.darwin-ppcx86
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86
index 522510666..9e98c70ef 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.darwin-x86.darwin-x86
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
index 300f2be27..c4d1d5670 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.freebsd-x86_64.freebsd-x86_64
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu b/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu
index 069e70ded..7bc712ccc 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc-gnu.hpux-parisc-gnu
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc b/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc
index 75e70d5bd..452e35ca7 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.hpux-parisc.hpux-parisc
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.interix-x86.interix-x86 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.interix-x86.interix-x86
index ebab3020b..35e148023 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.interix-x86.interix-x86
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.interix-x86.interix-x86
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc
index bd4ed29c2..4d78b29d7 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-ppc.linux-ppc
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland
index d9b3039fc..ac1d400be 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-borland.linux-x86-borland
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug
index bd4ed29c2..4d78b29d7 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86-debug.linux-x86-debug
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon
index aa78c9f65..25036ccac 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon
@@ -1,6 +1,3 @@
-
-#
-# $Revision-Id$
 #
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-x86 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-x86
index b24d14bdd..8641a9d27 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-x86
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86.linux-x86
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug
index bd4ed29c2..4d78b29d7 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64-debug.linux-x86_64-debug
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
index d2ab00e9d..8d1386636 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug
index d2e6e2627..b0b61ce0a 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-debug.solaris-sparc-debug
@@ -1,6 +1,3 @@
-
-#
-# $Revision-Id$
 #
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu
index db0be679f..b0b61ce0a 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc
index 23d2ffb3e..bd113bea3 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc.solaris-sparc
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu
index 8de3cfde9..e8b88e0de 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64-gnu.solaris-sparc64-gnu
@@ -1,6 +1,3 @@
-
-#
-# $Revision-Id$
 #
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64
index 2d4e3a497..87628e74e 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-sparc64.solaris-sparc64
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug
index 78dd969b6..2c322fcfa 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-debug.solaris-x86-debug
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu
index 808b367f0..bf9746289 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86-gnu.solaris-x86-gnu
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86
index 7260652b4..299dc0834 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86.solaris-x86
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64
index a85e513f2..9ac039a5b 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.solaris-x86_64.solaris-x86_64
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland
index e3d77b45a..1f4883134 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-borland.win32-x86-borland
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
index 97416906c..f6ca56942 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
@@ -1,6 +1,3 @@
-
-#
-# $Revision-Id$
 #
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug
index 74e929e9e..ebc1b8238 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-debug.win32-x86-debug
@@ -1,6 +1,3 @@
-
-#
-# $Revision-Id$
 #
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
index 97416906c..f6ca56942 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
@@ -1,6 +1,3 @@
-
-#
-# $Revision-Id$
 #
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
diff --git a/src/makeBaseExt/top/configure/os/CONFIG_SITE.windows-x64.windows-x64 b/src/makeBaseExt/top/configure/os/CONFIG_SITE.windows-x64.windows-x64
index 641ba4291..68a0c149a 100644
--- a/src/makeBaseExt/top/configure/os/CONFIG_SITE.windows-x64.windows-x64
+++ b/src/makeBaseExt/top/configure/os/CONFIG_SITE.windows-x64.windows-x64
@@ -1,6 +1,4 @@
 #
-# $Revision-Id$
-#
 # Site Specific Configuration Information
 # Only the local epics system manager should modify this file
 
diff --git a/src/makeBaseExt/top/src/Makefile b/src/makeBaseExt/top/src/Makefile
index 4b367d431..d672087ca 100644
--- a/src/makeBaseExt/top/src/Makefile
+++ b/src/makeBaseExt/top/src/Makefile
@@ -1,5 +1,3 @@
-# $Revision-Id$
-
 TOP = ..
 include $(TOP)/configure/CONFIG
 
diff --git a/src/misc/base.dbd b/src/misc/base.dbd
index ec702801d..ab10dae77 100644
--- a/src/misc/base.dbd
+++ b/src/misc/base.dbd
@@ -1,4 +1,3 @@
-# $Revision-Id$
 #
 # This file defines the standard record types and device support
 # provided by Base and (usually) loaded into all IOCs.
diff --git a/src/misc/epicsRelease.c b/src/misc/epicsRelease.c
index d1fce539f..6e2343e23 100644
--- a/src/misc/epicsRelease.c
+++ b/src/misc/epicsRelease.c
@@ -7,8 +7,6 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$
- **/
 
 #include    
 #include    
diff --git a/src/misc/iocInit.c b/src/misc/iocInit.c
index 27313da80..b8f32d809 100644
--- a/src/misc/iocInit.c
+++ b/src/misc/iocInit.c
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 /*
  *      Original Author: Marty Kraimer
  *      Date:            06-01-91
diff --git a/src/rec/aSubRecord.c b/src/rec/aSubRecord.c
index ccf4af9bd..e3983ed96 100644
--- a/src/rec/aSubRecord.c
+++ b/src/rec/aSubRecord.c
@@ -4,8 +4,7 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution.
 \*************************************************************************/
-/* $Revision-Id$
- * 
+/*
  * Record Support Routines for the Array Subroutine Record type,
  * derived from Andy Foster's genSub record, with some features
  * removed and asynchronous support added.
diff --git a/src/rec/aiRecord.c b/src/rec/aiRecord.c
index f0fd07670..7ab7a50f0 100644
--- a/src/rec/aiRecord.c
+++ b/src/rec/aiRecord.c
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* aiRecord.c - Record Support Routines for Analog Input records */
 /*
diff --git a/src/rec/aoRecord.c b/src/rec/aoRecord.c
index d2b45e832..14ec79d5b 100644
--- a/src/rec/aoRecord.c
+++ b/src/rec/aoRecord.c
@@ -6,7 +6,6 @@
 * EPICS BASE is distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/* $Revision-Id$ */
 
 /* aoRecord.c - Record Support Routines for Analog Output records */
 /*
diff --git a/src/rec/biRecord.c b/src/rec/biRecord.c
index 1ba7b129b..36dd678c6 100644
--- a/src/rec/biRecord.c
+++ b/src/rec/biRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recBi.c - Record Support Routines for Binary Input records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/boRecord.c b/src/rec/boRecord.c
index ee21ce56d..efcfc0fd4 100644
--- a/src/rec/boRecord.c
+++ b/src/rec/boRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recBo.c - Record Support Routines for Binary Output records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/calcRecord.c b/src/rec/calcRecord.c
index 1bff7b85f..3fe91c18a 100644
--- a/src/rec/calcRecord.c
+++ b/src/rec/calcRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* Record Support Routines for Calculation records */
 /*
  *      Original Author: Julie Sander and Bob Dalesio
diff --git a/src/rec/compressRecord.c b/src/rec/compressRecord.c
index d0539b218..33b32f705 100644
--- a/src/rec/compressRecord.c
+++ b/src/rec/compressRecord.c
@@ -7,7 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
 /*
  *      Original Author: Bob Dalesio
  *      Date:            7-14-89 
diff --git a/src/rec/dfanoutRecord.c b/src/rec/dfanoutRecord.c
index 382c5a46f..ce4f91b59 100644
--- a/src/rec/dfanoutRecord.c
+++ b/src/rec/dfanoutRecord.c
@@ -5,8 +5,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recDfanout.c - Record Support Routines for Dfanout records */
 /*
  * Original Author: 	Matt Bickley   (Sometime in 1994)
diff --git a/src/rec/eventRecord.c b/src/rec/eventRecord.c
index 9977640f0..1c7cdc129 100644
--- a/src/rec/eventRecord.c
+++ b/src/rec/eventRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recEvent.c - Record Support Routines for Event records */
 /*
  *      Author:          Janet Anderson
diff --git a/src/rec/fanoutRecord.c b/src/rec/fanoutRecord.c
index 4a76b9ddd..f74959bf9 100644
--- a/src/rec/fanoutRecord.c
+++ b/src/rec/fanoutRecord.c
@@ -7,7 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
 /*
  *      Original Author: Bob Dalesio
  *      Date:            12-20-88
diff --git a/src/rec/histogramRecord.c b/src/rec/histogramRecord.c
index f794f315c..61a8b785e 100644
--- a/src/rec/histogramRecord.c
+++ b/src/rec/histogramRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recHistogram.c - Record Support Routines for Histogram records */
 /*
  *      Author:      Janet Anderson
diff --git a/src/rec/longinRecord.c b/src/rec/longinRecord.c
index 176b3b5e0..58d9ccfbf 100644
--- a/src/rec/longinRecord.c
+++ b/src/rec/longinRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recLongin.c - Record Support Routines for Longin records */
 /*
  *      Author: 	Janet Anderson
diff --git a/src/rec/longoutRecord.c b/src/rec/longoutRecord.c
index ce0ab80d7..a57d52829 100644
--- a/src/rec/longoutRecord.c
+++ b/src/rec/longoutRecord.c
@@ -7,7 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
 /*
  * Author: 	Janet Anderson
  * Date:	9/23/91
diff --git a/src/rec/mbbiDirectRecord.c b/src/rec/mbbiDirectRecord.c
index f6591e274..fd43b90f7 100644
--- a/src/rec/mbbiDirectRecord.c
+++ b/src/rec/mbbiDirectRecord.c
@@ -9,8 +9,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recMbbiDirect.c - Record Support routines for mbboDirect records */
 /*
  *      Original Author: Bob Dalesio and Matthew Needes 10-07-93
diff --git a/src/rec/mbbiRecord.c b/src/rec/mbbiRecord.c
index 0a07ba1a1..2ce10e877 100644
--- a/src/rec/mbbiRecord.c
+++ b/src/rec/mbbiRecord.c
@@ -8,7 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
 /*
  *      Original Author: Bob Dalesio
  *      Date:            5-9-88
diff --git a/src/rec/mbboDirectRecord.c b/src/rec/mbboDirectRecord.c
index 8ec8a3acd..947a887ca 100644
--- a/src/rec/mbboDirectRecord.c
+++ b/src/rec/mbboDirectRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recMbboDirect.c - Record Support for mbboDirect records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/mbboRecord.c b/src/rec/mbboRecord.c
index 79a3c8227..a983fdcdc 100644
--- a/src/rec/mbboRecord.c
+++ b/src/rec/mbboRecord.c
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recMbbo.c - Record Support Routines for multi bit binary Output records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/permissiveRecord.c b/src/rec/permissiveRecord.c
index 65077253a..8242a1992 100644
--- a/src/rec/permissiveRecord.c
+++ b/src/rec/permissiveRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recPermissive.c - Record Support Routines for Permissive records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/selRecord.c b/src/rec/selRecord.c
index 52f22b74b..f96f92290 100644
--- a/src/rec/selRecord.c
+++ b/src/rec/selRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* selRecord.c - Record Support Routines for Select records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/seqRecord.c b/src/rec/seqRecord.c
index 5b43d34e8..7627f44e3 100644
--- a/src/rec/seqRecord.c
+++ b/src/rec/seqRecord.c
@@ -8,8 +8,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  *      Author:	John Winans
  *      Date:	09-21-92
  */
diff --git a/src/rec/stateRecord.c b/src/rec/stateRecord.c
index b295ccbb7..a052b0728 100644
--- a/src/rec/stateRecord.c
+++ b/src/rec/stateRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recState.c - Record Support Routines for State records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/stringinRecord.c b/src/rec/stringinRecord.c
index 02f454788..19f55866a 100644
--- a/src/rec/stringinRecord.c
+++ b/src/rec/stringinRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recStringin.c - Record Support Routines for Stringin records */
 /*
  *      Author: 	Janet Anderson
diff --git a/src/rec/stringoutRecord.c b/src/rec/stringoutRecord.c
index 64532a601..02cde7ad2 100644
--- a/src/rec/stringoutRecord.c
+++ b/src/rec/stringoutRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recStringout.c - Record Support Routines for Stringout records */
 /*
  * Author: 	Janet Anderson
diff --git a/src/rec/subArrayRecord.c b/src/rec/subArrayRecord.c
index d24eb77dd..75709c89e 100644
--- a/src/rec/subArrayRecord.c
+++ b/src/rec/subArrayRecord.c
@@ -5,8 +5,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recSubArray.c - Record Support Routines for SubArray records 
  *
  *
diff --git a/src/rec/subRecord.c b/src/rec/subRecord.c
index dd31e4ab5..22742e6fe 100644
--- a/src/rec/subRecord.c
+++ b/src/rec/subRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* Record Support Routines for Subroutine records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rec/waveformRecord.c b/src/rec/waveformRecord.c
index 918a7b0a9..9c3635651 100644
--- a/src/rec/waveformRecord.c
+++ b/src/rec/waveformRecord.c
@@ -7,8 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* recWaveform.c - Record Support Routines for Waveform records */
 /*
  *      Original Author: Bob Dalesio
diff --git a/src/rsrv/caservertask.c b/src/rsrv/caservertask.c
index 7eef1d200..51b7e99a8 100644
--- a/src/rsrv/caservertask.c
+++ b/src/rsrv/caservertask.c
@@ -8,10 +8,7 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  *  Author: Jeffrey O. Hill
- *
  */
 
 #include 
diff --git a/src/rsrv/online_notify.c b/src/rsrv/online_notify.c
index 24af1d493..883951dce 100644
--- a/src/rsrv/online_notify.c
+++ b/src/rsrv/online_notify.c
@@ -8,8 +8,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /*
- *  $Revision-Id$
- *
  *  tell CA clients this a server has joined the network
  *
  *  Author: Jeffrey O. Hill
diff --git a/src/rsrv/rsrv.h b/src/rsrv/rsrv.h
index 4f08bbab7..90165f657 100644
--- a/src/rsrv/rsrv.h
+++ b/src/rsrv/rsrv.h
@@ -8,8 +8,6 @@
 \*************************************************************************/
 
 /*
- * $Revision-Id$
- *
  *  Author: Jeffrey O. Hill
  *      hill@luke.lanl.gov
  *      (505) 665 1831
diff --git a/src/softIoc/softIocExit.db b/src/softIoc/softIocExit.db
index b5c027d70..54caab7a1 100644
--- a/src/softIoc/softIocExit.db
+++ b/src/softIoc/softIocExit.db
@@ -1,4 +1,4 @@
-# $Revision-Id$
+# softIocExit.db
 #
 record(sub,"$(IOC):exit") {
 	field(DESC,"Exit subroutine")
diff --git a/src/softIoc/softMain.cpp b/src/softIoc/softMain.cpp
index 3c847852d..5718f7bbe 100644
--- a/src/softIoc/softMain.cpp
+++ b/src/softIoc/softMain.cpp
@@ -7,8 +7,6 @@
 * found in the file LICENSE that is included with this distribution.
 \*************************************************************************/
 
-/* $Revision-Id$ */
-
 /* Author: Andrew Johnson	Date: 2003-04-08 */
 
 /* Usage:
diff --git a/src/tools/EPICS/Copy.pm b/src/tools/EPICS/Copy.pm
index 5c8f37478..e1ef2a54e 100644
--- a/src/tools/EPICS/Copy.pm
+++ b/src/tools/EPICS/Copy.pm
@@ -5,8 +5,6 @@
 # in file LICENSE that is included with this distribution.
 #*************************************************************************
 
-# $Revision-Id$
-
 # Copy directories and files from a template
 
 sub copyTree {
diff --git a/src/tools/EPICS/Path.pm b/src/tools/EPICS/Path.pm
index 83a91efb3..97f9e9ed6 100644
--- a/src/tools/EPICS/Path.pm
+++ b/src/tools/EPICS/Path.pm
@@ -5,8 +5,6 @@
 # in file LICENSE that is included with this distribution.
 #*************************************************************************
 
-# $Revision-Id$
-
 use Carp;
 use Cwd qw(getcwd abs_path);
 use File::Spec;
diff --git a/src/tools/EPICS/Release.pm b/src/tools/EPICS/Release.pm
index 1cc307379..9f7aee9a6 100644
--- a/src/tools/EPICS/Release.pm
+++ b/src/tools/EPICS/Release.pm
@@ -5,8 +5,6 @@
 # in file LICENSE that is included with this distribution.
 #*************************************************************************
 
-# $Revision-Id$
-
 #
 # Parse all relevent configure/RELEASE* files and includes
 #
diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl
index 772ce1112..336cc46d2 100644
--- a/src/tools/convertRelease.pl
+++ b/src/tools/convertRelease.pl
@@ -8,8 +8,6 @@
 # in file LICENSE that is included with this distribution. 
 #*************************************************************************
 #
-# $Revision-Id$
-#
 # Convert configure/RELEASE file(s) into something else.
 #
 
diff --git a/src/tools/cvsclean.pl b/src/tools/cvsclean.pl
index b1398fda5..8dac418d7 100644
--- a/src/tools/cvsclean.pl
+++ b/src/tools/cvsclean.pl
@@ -8,8 +8,6 @@
 # in the file LICENSE that is included with this distribution. 
 #*************************************************************************
 
-# $Revision-Id$
-#
 # Find and delete cvs .#* and editor backup *~
 # files from all dirs of the directory tree.
 
diff --git a/src/tools/dos2unix.pl b/src/tools/dos2unix.pl
index 4940fd5f2..35163ac1f 100644
--- a/src/tools/dos2unix.pl
+++ b/src/tools/dos2unix.pl
@@ -10,7 +10,6 @@
 #*************************************************************************
 
 # Converts text file in DOS CR/LF format to unix ISO format
-#  $Revision-Id$
 
 @files=@ARGV;
 
diff --git a/src/tools/expandVars.pl b/src/tools/expandVars.pl
index 5015fe07a..0888d3155 100644
--- a/src/tools/expandVars.pl
+++ b/src/tools/expandVars.pl
@@ -6,8 +6,6 @@
 # Author: Andrew Johnson 
 # Date: 10 February 2005
 #
-# $Revision-Id$
-#
 
 use strict;
 
diff --git a/src/tools/filterWarnings.pl b/src/tools/filterWarnings.pl
index 5f346cd46..1f455887b 100644
--- a/src/tools/filterWarnings.pl
+++ b/src/tools/filterWarnings.pl
@@ -11,7 +11,6 @@
 # in file LICENSE that is included with this distribution. 
 #*************************************************************************
 
-# $Revision-Id$
 #
 #  Author: Ralph Lange
 #
diff --git a/src/tools/fullPathName.pl b/src/tools/fullPathName.pl
index a553dbd3c..32e4d8986 100644
--- a/src/tools/fullPathName.pl
+++ b/src/tools/fullPathName.pl
@@ -6,8 +6,6 @@
 # in file LICENSE that is included with this distribution.
 #*************************************************************************
 
-# $Revision-Id$
-
 # Determines an absolute pathname for its argument,
 # which may be either a relative or absolute path and
 # might have trailing directory names that don't exist yet.
diff --git a/src/tools/makeIncludeDbd.pl b/src/tools/makeIncludeDbd.pl
index c0b8238db..c48c2b81b 100644
--- a/src/tools/makeIncludeDbd.pl
+++ b/src/tools/makeIncludeDbd.pl
@@ -8,8 +8,6 @@
 # and higher are distributed subject to a Software License Agreement found
 # in file LICENSE that is included with this distribution. 
 #*************************************************************************
-#
-# $Revision-Id$
 
 use File::Basename;
 
diff --git a/src/tools/munch.pl b/src/tools/munch.pl
index f6c0d6e08..b8c26734e 100644
--- a/src/tools/munch.pl
+++ b/src/tools/munch.pl
@@ -7,7 +7,6 @@
 # EPICS BASE is distributed subject to a Software License Agreement found
 # in the file LICENSE that is included with this distribution. 
 #*************************************************************************
-#  $Revision-Id$
 #
 # Creates a ctdt.c file of C++ static constructors and destructors,
 # as required for all vxWorks binaries containing C++ code.
diff --git a/src/toolsComm/flex/README b/src/toolsComm/flex/README
index 27ef4909c..210290892 100644
--- a/src/toolsComm/flex/README
+++ b/src/toolsComm/flex/README
@@ -1,5 +1,3 @@
-// $Revision-Id$
-
 This is release 2.3 of flex - a full release.
 
 The flex distribution consists of the following files:
diff --git a/src/toolsComm/flex/ccl.c b/src/toolsComm/flex/ccl.c
index 0fc82c9c1..36841d9b1 100644
--- a/src/toolsComm/flex/ccl.c
+++ b/src/toolsComm/flex/ccl.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 /* ccladd - add a single character to a ccl
diff --git a/src/toolsComm/flex/dfa.c b/src/toolsComm/flex/dfa.c
index cda0dc894..559a12fd1 100644
--- a/src/toolsComm/flex/dfa.c
+++ b/src/toolsComm/flex/dfa.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 
diff --git a/src/toolsComm/flex/ecs.c b/src/toolsComm/flex/ecs.c
index 37d938832..416ea601a 100644
--- a/src/toolsComm/flex/ecs.c
+++ b/src/toolsComm/flex/ecs.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 /* ccl2ecl - convert character classes to set of equivalence classes
diff --git a/src/toolsComm/flex/flex.html b/src/toolsComm/flex/flex.html
index bb8c240a3..3b6ae9b80 100644
--- a/src/toolsComm/flex/flex.html
+++ b/src/toolsComm/flex/flex.html
@@ -1,12 +1,3 @@
-/*************************************************************************\
-* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
-*     National Laboratory.
-* Copyright (c) 2002 The Regents of the University of California, as
-*     Operator of Los Alamos National Laboratory.
-* EPICS BASE Versions 3.13.7
-* and higher are distributed subject to a Software License Agreement found
-* in file LICENSE that is included with this distribution. 
-\*************************************************************************/
 
 
 
diff --git a/src/toolsComm/flex/flex.skel b/src/toolsComm/flex/flex.skel
index b8fb64090..6b9805b04 100644
--- a/src/toolsComm/flex/flex.skel
+++ b/src/toolsComm/flex/flex.skel
@@ -1,8 +1,6 @@
 /* A lexical scanner generated by flex */
 
-/* scanner skeleton version:
- * $Revision-Id$
- */
+/* scanner skeleton */
 
 #define FLEX_SCANNER
 
diff --git a/src/toolsComm/flex/flex.skel.static b/src/toolsComm/flex/flex.skel.static
index 827bc8ff8..a43db43fc 100644
--- a/src/toolsComm/flex/flex.skel.static
+++ b/src/toolsComm/flex/flex.skel.static
@@ -1,8 +1,6 @@
 /* A lexical scanner generated by flex */
 
-/* scanner skeleton version:
- * $Revision-Id$
- */
+/* scanner skeleton */
 
 /* modified by Jim Kowalkowski to have everything declared static */
 
diff --git a/src/toolsComm/flex/flexdef.h b/src/toolsComm/flex/flexdef.h
index f05694a1c..79cfa9427 100644
--- a/src/toolsComm/flex/flexdef.h
+++ b/src/toolsComm/flex/flexdef.h
@@ -34,8 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-/* @(#) $Revision-Id$ (LBL) */
-
 #ifndef INC_flexdef_H
 #define INC_flexdef_H
 
diff --git a/src/toolsComm/flex/flexdoc.html b/src/toolsComm/flex/flexdoc.html
index 0a3b59510..30ed69521 100644
--- a/src/toolsComm/flex/flexdoc.html
+++ b/src/toolsComm/flex/flexdoc.html
@@ -1,12 +1,3 @@
-/*************************************************************************\
-* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
-*     National Laboratory.
-* Copyright (c) 2002 The Regents of the University of California, as
-*     Operator of Los Alamos National Laboratory.
-* EPICS BASE Versions 3.13.7
-* and higher are distributed subject to a Software License Agreement found
-* in file LICENSE that is included with this distribution. 
-\*************************************************************************/
 
 
 
diff --git a/src/toolsComm/flex/gen.c b/src/toolsComm/flex/gen.c
index 575d98829..aad884074 100644
--- a/src/toolsComm/flex/gen.c
+++ b/src/toolsComm/flex/gen.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 
diff --git a/src/toolsComm/flex/libmain.c b/src/toolsComm/flex/libmain.c
index 70a10af06..878aa21dc 100644
--- a/src/toolsComm/flex/libmain.c
+++ b/src/toolsComm/flex/libmain.c
@@ -8,8 +8,6 @@
 \*************************************************************************/
 /* libmain - flex run-time support library "main" function */
 
-/* $Revision-Id$ */
-
 extern int yylex();
 
 int main(int argc, char *argv[])
diff --git a/src/toolsComm/flex/main.c b/src/toolsComm/flex/main.c
index c86affb17..cf797ac03 100644
--- a/src/toolsComm/flex/main.c
+++ b/src/toolsComm/flex/main.c
@@ -42,15 +42,6 @@ char copyright[] =
  All rights reserved.\n";
 #endif /* not lint */
 
-/*
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
-#include "flexdef.h"
-*/
-
 #include "epicsStdio.h"
 
 static char flex_version[] = "2.3";
diff --git a/src/toolsComm/flex/misc.c b/src/toolsComm/flex/misc.c
index 96dbbaacc..a0b18a70a 100644
--- a/src/toolsComm/flex/misc.c
+++ b/src/toolsComm/flex/misc.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include 
 #include "flexdef.h"
 #include 
diff --git a/src/toolsComm/flex/nfa.c b/src/toolsComm/flex/nfa.c
index cd04ade81..b57c6d646 100644
--- a/src/toolsComm/flex/nfa.c
+++ b/src/toolsComm/flex/nfa.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 
diff --git a/src/toolsComm/flex/parse.y b/src/toolsComm/flex/parse.y
index 402232d81..203347679 100644
--- a/src/toolsComm/flex/parse.y
+++ b/src/toolsComm/flex/parse.y
@@ -30,11 +30,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 int pat, scnum, eps, headcnt, trailcnt, anyccl, lastchar, i, actvp, rulelen;
diff --git a/src/toolsComm/flex/scan.c b/src/toolsComm/flex/scan.c
index d38fce46e..0388092c8 100644
--- a/src/toolsComm/flex/scan.c
+++ b/src/toolsComm/flex/scan.c
@@ -1,8 +1,6 @@
 /* A lexical scanner generated by flex */
 
-/* scanner skeleton version:
- * $Revision-Id$
- */
+/* scanner skeleton */
 
 #define FLEX_SCANNER
 
diff --git a/src/toolsComm/flex/sym.c b/src/toolsComm/flex/sym.c
index 943dafdac..45e1c5409 100644
--- a/src/toolsComm/flex/sym.c
+++ b/src/toolsComm/flex/sym.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 
diff --git a/src/toolsComm/flex/tblcmp.c b/src/toolsComm/flex/tblcmp.c
index 31fd979b6..3e4c4744b 100644
--- a/src/toolsComm/flex/tblcmp.c
+++ b/src/toolsComm/flex/tblcmp.c
@@ -34,11 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#ifndef lint
-static char rcsid[] =
-    "@(#) $Revision-Id$ (LBL)";
-#endif
-
 #include "flexdef.h"
 
 
diff --git a/src/toolsComm/flex/yylex.c b/src/toolsComm/flex/yylex.c
index 3fb51dcfa..28f487d6b 100644
--- a/src/toolsComm/flex/yylex.c
+++ b/src/toolsComm/flex/yylex.c
@@ -34,10 +34,6 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-/*
- * $Revision-Id$
- */
-
 #include 
 #include "flexdef.h"
 #include "parse.h"
diff --git a/src/util/ca_test.c b/src/util/ca_test.c
index f4954797f..998536843 100644
--- a/src/util/ca_test.c
+++ b/src/util/ca_test.c
@@ -7,12 +7,9 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/*	@(#)ca_test.c	$Revision-Id$
+/*
  *	Author:	Jeff Hill
  *	Date:	07-01-91
- *
- * make options
- *	-DvxWorks	makes a version for VxWorks
  */
 
 /*
diff --git a/src/util/ca_test.h b/src/util/ca_test.h
index f14fea600..076f8936a 100644
--- a/src/util/ca_test.h
+++ b/src/util/ca_test.h
@@ -7,7 +7,7 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/*	@(#)ca_test.k	$Revision-Id$
+/*
  *	Author:	Jeff Hill
  *	Date:	21JAN2000
  */
diff --git a/src/util/ca_test_main.c b/src/util/ca_test_main.c
index ae41f40ef..85fd7ea19 100644
--- a/src/util/ca_test_main.c
+++ b/src/util/ca_test_main.c
@@ -7,7 +7,7 @@
 * and higher are distributed subject to a Software License Agreement found
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
-/*	@(#)ca_test_main.c	$Revision-Id$
+/*
  *	Author:	Jeff Hill
  *	Date:	21JAN2000
  */
diff --git a/src/util/iocLogServer.c b/src/util/iocLogServer.c
index 3040c9cc8..f9deb06e5 100644
--- a/src/util/iocLogServer.c
+++ b/src/util/iocLogServer.c
@@ -7,7 +7,6 @@
 * in file LICENSE that is included with this distribution. 
 \*************************************************************************/
 /* iocLogServer.c */
-/* $Revision-Id$ */
 
 /*
  *	archive logMsg() from several IOC's to a common rotating file

From 988614ae8af42721556bc3309ef02d88b1f43ae8 Mon Sep 17 00:00:00 2001
From: Andrew Johnson 
Date: Sun, 22 May 2016 06:06:53 +0200
Subject: [PATCH 078/226] Reset SNAPSHOT after -rc1 tagged

---
 configure/CONFIG_BASE_VERSION | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION
index 630cbdbd9..51f195bda 100644
--- a/configure/CONFIG_BASE_VERSION
+++ b/configure/CONFIG_BASE_VERSION
@@ -41,8 +41,8 @@ EPICS_PATCH_LEVEL = 0
 #EPICS_DEV_SNAPSHOT=-pre1-DEV
 #EPICS_DEV_SNAPSHOT=-pre2
 #EPICS_DEV_SNAPSHOT=-pre2-DEV
-EPICS_DEV_SNAPSHOT=-rc1
-#EPICS_DEV_SNAPSHOT=-rc1-DEV
+#EPICS_DEV_SNAPSHOT=-rc1
+EPICS_DEV_SNAPSHOT=-rc1-DEV
 #EPICS_DEV_SNAPSHOT=-rc2
 #EPICS_DEV_SNAPSHOT=-rc2-DEV
 #EPICS_DEV_SNAPSHOT=

From a5b8b0b890a8f2c68b4e908969b569a39fbef177 Mon Sep 17 00:00:00 2001
From: Andrew Johnson 
Date: Tue, 24 May 2016 11:12:25 +0200
Subject: [PATCH 079/226] Use fabs() in calcPerform

---
 src/libCom/calc/calcPerform.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libCom/calc/calcPerform.c b/src/libCom/calc/calcPerform.c
index e53d860e2..b9b28dd3a 100644
--- a/src/libCom/calc/calcPerform.c
+++ b/src/libCom/calc/calcPerform.c
@@ -155,7 +155,7 @@ epicsShareFunc long
 	    break;
 
 	case ABS_VAL:
-	    if (*ptop < 0.0) *ptop = - *ptop;
+	    *ptop = fabs(*ptop);
 	    break;
 
 	case EXP:

From 23fd4e202b7ab343c5e5862ad12ae75bf95d1cff Mon Sep 17 00:00:00 2001
From: Ralph Lange 
Date: Wed, 25 May 2016 12:26:32 +0200
Subject: [PATCH 080/226] ca: Fix client bug (race condition) in
 ipAddrToAsciiEngine

---
 src/ca/client/cac.cpp                         | 10 ++++++++++
 src/ca/client/cac.h                           |  1 +
 src/ca/client/msgForMultiplyDefinedPV.cpp     |  4 +++-
 src/ca/client/msgForMultiplyDefinedPV.h       |  9 ++++++---
 src/libCom/misc/ipAddrToAsciiAsynchronous.cpp |  6 +++++-
 5 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/src/ca/client/cac.cpp b/src/ca/client/cac.cpp
index 9d23cce62..d66cf9dad 100644
--- a/src/ca/client/cac.cpp
+++ b/src/ca/client/cac.cpp
@@ -333,6 +333,12 @@ cac::~cac ()
 
     this->ipToAEngine.release ();
 
+    // clean-up the list of un-notified msg objects
+    while ( msgForMultiplyDefinedPV * msg = this->msgMultiPVList.get() ) {
+        msg->~msgForMultiplyDefinedPV ();
+        this->mdpvFreeList.release ( msg );
+    }
+
     errlogFlush ();
 
     osiSockRelease ();
@@ -606,6 +612,8 @@ void cac::transferChanToVirtCircuit (
             msgForMultiplyDefinedPV * pMsg = new ( this->mdpvFreeList )
                 msgForMultiplyDefinedPV ( this->ipToAEngine,
                     *this, pChan->pName ( guard ), acc );
+            // cac keeps a list of these objects for proper clean-up in ~cac
+            this->msgMultiPVList.add ( *pMsg );
             // It is possible for the ioInitiate call below to
             // call the callback directly if queue quota is exceeded.
             // This callback takes the callback lock and therefore we
@@ -1297,6 +1305,8 @@ void cac::pvMultiplyDefinedNotify ( msgForMultiplyDefinedPV & mfmdpv,
         epicsGuard < epicsMutex > guard ( this->mutex );
         this->exception ( mgr.cbGuard, guard, ECA_DBLCHNL, buf, __FILE__, __LINE__ );
     }
+    // remove from the list and delete msg object
+    this->msgMultiPVList.remove ( mfmdpv );
     mfmdpv.~msgForMultiplyDefinedPV ();
     this->mdpvFreeList.release ( & mfmdpv );
 }
diff --git a/src/ca/client/cac.h b/src/ca/client/cac.h
index 9f9d45a65..99c3d3d27 100644
--- a/src/ca/client/cac.h
+++ b/src/ca/client/cac.h
@@ -237,6 +237,7 @@ private:
     resTable < tcpiiu, caServerID > serverTable;
     tsDLList < tcpiiu > circuitList;
     tsDLList < SearchDest > searchDestList;
+    tsDLList < msgForMultiplyDefinedPV > msgMultiPVList;
     tsFreeList
         < class tcpiiu, 32, epicsMutexNOOP >
             freeListVirtualCircuit;
diff --git a/src/ca/client/msgForMultiplyDefinedPV.cpp b/src/ca/client/msgForMultiplyDefinedPV.cpp
index 2f1a45cde..7002dd4b9 100644
--- a/src/ca/client/msgForMultiplyDefinedPV.cpp
+++ b/src/ca/client/msgForMultiplyDefinedPV.cpp
@@ -55,8 +55,10 @@ msgForMultiplyDefinedPV::~msgForMultiplyDefinedPV ()
 
 void msgForMultiplyDefinedPV::transactionComplete ( const char * pHostNameRej )
 {
+    // calls into cac for the notification
+    // the msg object (= this) is being deleted as part of the notification
     this->cb.pvMultiplyDefinedNotify ( *this, this->channel, this->acc, pHostNameRej );
-    // !! dont touch this pointer after this point because object has been deleted !!
+    // !! dont touch 'this' pointer after this point because object has been deleted !!
 }
 
 void * msgForMultiplyDefinedPV::operator new ( size_t size, 
diff --git a/src/ca/client/msgForMultiplyDefinedPV.h b/src/ca/client/msgForMultiplyDefinedPV.h
index 45d3453ac..3f1e771c0 100644
--- a/src/ca/client/msgForMultiplyDefinedPV.h
+++ b/src/ca/client/msgForMultiplyDefinedPV.h
@@ -33,6 +33,7 @@
 
 #include "ipAddrToAsciiAsynchronous.h"
 #include "tsFreeList.h"
+#include "tsDLList.h"
 #include "compilerDependencies.h"
 
 #ifdef msgForMultiplyDefinedPVh_epicsExportSharedSymbols
@@ -47,7 +48,9 @@ public:
         const char * pAcc, const char * pRej ) = 0;
 };
 
-class msgForMultiplyDefinedPV : public ipAddrToAsciiCallBack {
+class msgForMultiplyDefinedPV :
+        public ipAddrToAsciiCallBack,
+        public tsDLNode < msgForMultiplyDefinedPV >  {
 public:
     msgForMultiplyDefinedPV ( ipAddrToAsciiEngine & engine,
         callbackForMultiplyDefinedPV &, const char * pChannelName, 
@@ -62,8 +65,8 @@ private:
     ipAddrToAsciiTransaction & dnsTransaction;
     callbackForMultiplyDefinedPV & cb;
     void transactionComplete ( const char * pHostName );
-	msgForMultiplyDefinedPV ( const msgForMultiplyDefinedPV & );
-	msgForMultiplyDefinedPV & operator = ( const msgForMultiplyDefinedPV & );
+    msgForMultiplyDefinedPV ( const msgForMultiplyDefinedPV & );
+    msgForMultiplyDefinedPV & operator = ( const msgForMultiplyDefinedPV & );
     void operator delete ( void * );
 };
 
diff --git a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp
index cef728f2a..030cf0b7a 100644
--- a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp
+++ b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp
@@ -265,12 +265,16 @@ void ipAddrToAsciiEnginePrivate::run ()
                 continue;
             }
 
+            // fix for lp:1580623
+            // a destructing cac sets pCurrent to NULL, so
+            // make local copy to avoid race when releasing the guard
+            ipAddrToAsciiTransactionPrivate *pCur = this->pCurrent;
             this->callbackInProgress = true;
 
             {
                 epicsGuardRelease < epicsMutex > unguard ( guard );
                 // dont call callback with lock applied
-                this->pCurrent->pCB->transactionComplete ( this->nameTmp );
+                pCur->pCB->transactionComplete ( this->nameTmp );
             }
 
             this->callbackInProgress = false;

From 9c3ed1bfe20ab4f9e3beda32791ba0e48025375c Mon Sep 17 00:00:00 2001
From: Ralph Lange 
Date: Thu, 26 May 2016 13:13:29 +0200
Subject: [PATCH 081/226] catools: fix escape handling when sending long
 strings

---
 src/catools/caput.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/catools/caput.c b/src/catools/caput.c
index 9e1adcd46..02182932d 100644
--- a/src/catools/caput.c
+++ b/src/catools/caput.c
@@ -490,14 +490,13 @@ int main (int argc, char *argv[])
     } else {                    /* Not an ENUM */
 
         if (charArrAsStr) {
-            count = len;
             dbrType = DBR_CHAR;
-            ebuf = calloc(strlen(cbuf)+1, sizeof(char));
+            ebuf = calloc(len, sizeof(char));
             if(!ebuf) {
                 fprintf(stderr, "Memory allocation failed\n");
                 return 1;
             }
-            epicsStrnRawFromEscaped(ebuf, strlen(cbuf)+1, cbuf, strlen(cbuf));
+            count = epicsStrnRawFromEscaped(ebuf, len, cbuf, len-1) + 1;
         } else {
             for (i = 0; i < count; ++i) {
                 epicsStrnRawFromEscaped(sbuf[i], sizeof(EpicsStr), *(argv+optind+i), sizeof(EpicsStr));

From df200de27f972c038142797b2e7ff1a00754286f Mon Sep 17 00:00:00 2001
From: Andrew Johnson 
Date: Thu, 26 May 2016 13:49:18 +0200
Subject: [PATCH 082/226] Fix lsi/lso puts with DBF_STRING data

---
 src/std/rec/lsiRecord.c | 7 ++++---
 src/std/rec/lsoRecord.c | 7 ++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/std/rec/lsiRecord.c b/src/std/rec/lsiRecord.c
index 1cbff9185..ee9e8e2f0 100644
--- a/src/std/rec/lsiRecord.c
+++ b/src/std/rec/lsiRecord.c
@@ -158,9 +158,10 @@ static long put_array_info(DBADDR *paddr, long nNew)
 {
     lsiRecord *prec = (lsiRecord *) paddr->precord;
 
-    if (nNew == prec->sizv)
-        --nNew;             /* truncated string */
-    prec->val[nNew] = 0;    /* ensure data is terminated */
+    if (nNew >= prec->sizv)
+        nNew = prec->sizv - 1; /* truncated string */
+    if (paddr->field_type == DBF_CHAR)
+        prec->val[nNew] = 0;   /* ensure data is terminated */
 
     return 0;
 }
diff --git a/src/std/rec/lsoRecord.c b/src/std/rec/lsoRecord.c
index 271a0c3f9..52a6f1aa4 100644
--- a/src/std/rec/lsoRecord.c
+++ b/src/std/rec/lsoRecord.c
@@ -200,9 +200,10 @@ static long put_array_info(DBADDR *paddr, long nNew)
 {
     lsoRecord *prec = (lsoRecord *) paddr->precord;
 
-    if (nNew == prec->sizv)
-        --nNew;             /* truncated string */
-    prec->val[nNew] = 0;    /* ensure data is terminated */
+    if (nNew >= prec->sizv)
+        nNew = prec->sizv - 1; /* truncated string */
+    if (paddr->field_type == DBF_CHAR)
+        prec->val[nNew] = 0;   /* ensure data is terminated */
 
     return 0;
 }

From 54bab1e2f0b08c1184be513075ab8b157be7c5aa Mon Sep 17 00:00:00 2001
From: Ralph Lange 
Date: Thu, 26 May 2016 14:14:56 +0200
Subject: [PATCH 083/226] pcas: fix compiler warning (gcc 5.3.1)

---
 src/ca/legacy/pcas/generic/casDGClient.cc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/ca/legacy/pcas/generic/casDGClient.cc b/src/ca/legacy/pcas/generic/casDGClient.cc
index 4e7a23176..4de737145 100644
--- a/src/ca/legacy/pcas/generic/casDGClient.cc
+++ b/src/ca/legacy/pcas/generic/casDGClient.cc
@@ -348,10 +348,8 @@ caStatus casDGClient::searchResponse ( const caHdrLargeArray & msg,
 //
 caStatus casDGClient::searchFailResponse ( const caHdrLargeArray * mp )
 {
-	int		status;
-
     epicsGuard < epicsMutex > guard ( this->mutex );
-    status = this->out.copyInHeader ( CA_PROTO_NOT_FOUND, 0,
+    this->out.copyInHeader ( CA_PROTO_NOT_FOUND, 0,
         mp->m_dataType, mp->m_count, mp->m_cid, mp->m_available, 0 );
 
 	this->out.commitMsg ();

From 4284222b54c93f0f5c5651795c465803d5471b62 Mon Sep 17 00:00:00 2001
From: Andrew Johnson 
Date: Thu, 26 May 2016 16:15:48 +0200
Subject: [PATCH 084/226] Convert GUI_ promptgroup strings to new-style

---
 documentation/RELEASE_NOTES.html |  6 ++++++
 src/tools/DBD/Recfield.pm        | 31 +++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html
index b373881f2..f4ee2cc4b 100644
--- a/documentation/RELEASE_NOTES.html
+++ b/documentation/RELEASE_NOTES.html
@@ -58,6 +58,12 @@ plus space-dash-space to allow proper sorting of groups.

has been deprecated. Instead, use the conversion functions between index number and group string that have been added to dbStaticLib.

+

When a DBD file containing record-type descriptions is expanded, any +old-style GUI_xxx group names will be replaced by a new-style +string for use by the IOC. This permits an older record type to be used with +the 3.15.4 release, although eventually record types should be converted by +hand with better group names used.

+

CA server configuration changes

RSRV now honors EPICS_CAS_INTF_ADDR_LIST and binds only to the provided list diff --git a/src/tools/DBD/Recfield.pm b/src/tools/DBD/Recfield.pm index 8bc439346..e1d7a7d12 100644 --- a/src/tools/DBD/Recfield.pm +++ b/src/tools/DBD/Recfield.pm @@ -39,6 +39,35 @@ our %field_attrs = ( prop => qr/^(?:YES|NO)$/ ); +# Convert old promptgroups into new-style +my %promptgroupMap = ( + GUI_COMMON => '10 - Common', + GUI_ALARMS => '70 - Alarm', + GUI_BITS1 => '41 - Bits (1)', + GUI_BITS2 => '42 - Bits (2)', + GUI_CALC => '30 - Action', + GUI_CLOCK => '30 - Action', + GUI_COMPRESS => '30 - Action', + GUI_CONVERT => '60 - Convert', + GUI_DISPLAY => '80 - Display', + GUI_HIST => '30 - Action', + GUI_INPUTS => '40 - Input', + GUI_LINKS => '40 - Link', + GUI_MBB => '30 - Action', + GUI_MOTOR => '30 - Action', + GUI_OUTPUT => '50 - Output', + GUI_PID => '30 - Action', + GUI_PULSE => '30 - Action', + GUI_SELECT => '40 - Input', + GUI_SEQ1 => '51 - Output (1)', + GUI_SEQ2 => '52 - Output (2)', + GUI_SEQ3 => '53 - Output (3)', + GUI_SUB => '30 - Action', + GUI_TIMER => '30 - Action', + GUI_WAVE => '30 - Action', + GUI_SCAN => '20 - Scan', +); + sub new { my ($class, $name, $type) = @_; dieContext("Illegal field type '$type', valid field types are:", @@ -76,6 +105,8 @@ sub number { sub add_attribute { my ($this, $attr, $value) = @_; unquote $value; + $value = $promptgroupMap{$value} + if $attr eq 'promptgroup' && exists $promptgroupMap{$value}; my $match = $field_attrs{$attr}; if (defined $match) { dieContext("Bad value '$value' for field attribute '$attr'") From 65574b59715442e28bbd2d3d656442b7a2637e88 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 27 May 2016 08:54:04 +0200 Subject: [PATCH 085/226] Update CONFIG_BASE_VERSION for 3.15.4, remove "not released" from RELEASE_NOTES --- configure/CONFIG_BASE_VERSION | 4 ++-- documentation/RELEASE_NOTES.html | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 51f195bda..16052dbef 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -42,10 +42,10 @@ EPICS_PATCH_LEVEL = 0 #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV #EPICS_DEV_SNAPSHOT=-rc1 -EPICS_DEV_SNAPSHOT=-rc1-DEV +#EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV -#EPICS_DEV_SNAPSHOT= +EPICS_DEV_SNAPSHOT= # No changes should be needed below here diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index f4ee2cc4b..9f4937caf 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -9,9 +9,6 @@

EPICS Base Release 3.15.4

-

This version of EPICS Base has not been released yet.

- -

Changes made on the 3.15 branch since 3.15.3

From d1e49a97b54115ddac0af1fe29afcc9166aaa557 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 27 May 2016 09:12:58 +0200 Subject: [PATCH 086/226] Set version to 3.15.4-DEV, close 3.15.4 chapter in release notes --- configure/CONFIG_BASE_VERSION | 4 ++-- documentation/RELEASE_NOTES.html | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 16052dbef..600ad6d1f 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -36,7 +36,7 @@ EPICS_MODIFICATION = 4 EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases -#EPICS_DEV_SNAPSHOT=-DEV +EPICS_DEV_SNAPSHOT=-DEV #EPICS_DEV_SNAPSHOT=-pre1 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 @@ -45,7 +45,7 @@ EPICS_PATCH_LEVEL = 0 #EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV -EPICS_DEV_SNAPSHOT= +#EPICS_DEV_SNAPSHOT= # No changes should be needed below here diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 9f4937caf..db1d707d8 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -3,15 +3,25 @@ - EPICS Base R3.15.4 Release Notes + EPICS Base R3.15.5 Release Notes -

EPICS Base Release 3.15.4

+

EPICS Base Release 3.15.5

-

Changes made on the 3.15 branch since 3.15.3

+

This version of EPICS Base has not been released yet.

+ + +

Changes made on the 3.15 branch since 3.15.4

+ +

Changes pulled from the 3.14 branch since 3.15.4

+ + + +

Changes between 3.15.3 and 3.15.4

+

New string input device support "getenv"

A new "getenv" device support for both the stringin and lsi (long string @@ -114,10 +124,6 @@ dbQuietMacroWarnings=1 VxWorks

This was Launchpad bug 541119.

- -

Changes pulled from the 3.14 branch since 3.15.3

- -

Making IOC ca_get operations atomic

When a CA client gets data from an IOC record using a compound data type such From 11e98798bb414ca473070ce3a4ea86838fe1d548 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 27 May 2016 23:15:59 +0200 Subject: [PATCH 087/226] Fix dependency file generation on Windows & Darwin --- configure/CONFIG_COMMON | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index fcdadb7bf..608f67285 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -339,7 +339,7 @@ PREPROCESS.cpp = $(CPP) $(CPPFLAGS) $(INCLUDES) $< > $@ HDEPENDS_METHOD = MKMF -HDEPENDS_MKMFFLAGS = -m $*$(DEP) $(INCLUDES) $@ +HDEPENDS_MKMFFLAGS = -m $@ $(INCLUDES) $*$(OBJ) HDEPENDS_MKMF.c = $(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDS_MKMFFLAGS) HDEPENDS_MKMF.cpp = $(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDS_MKMFFLAGS) From 7a38da0e44eae828f89717724989b38b7deb6913 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 31 May 2016 11:18:29 -0500 Subject: [PATCH 088/226] Ignore RULES, TOP & TEMPLATE_TOP in new checks --- src/makeBaseApp/top/configure/RELEASE | 25 +++++++++++++++---------- src/tools/convertRelease.pl | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/makeBaseApp/top/configure/RELEASE b/src/makeBaseApp/top/configure/RELEASE index 84074fe15..ba28bcb26 100644 --- a/src/makeBaseApp/top/configure/RELEASE +++ b/src/makeBaseApp/top/configure/RELEASE @@ -14,19 +14,24 @@ # RELEASE.Common.$(T_A) # RELEASE.$(EPICS_HOST_ARCH).$(T_A) # -# This file should ONLY define paths to other support modules, -# or include statements that pull in similar RELEASE files. -# Build settings that are NOT module paths should appear in a -# CONFIG_SITE file. +# This file is parsed by both GNUmake and an EPICS Perl script, +# so it can ONLY contain definititions of paths to other support +# modules, variable definitions that are used in module paths, +# and include statements that pull in other RELEASE files. +# Variables may be used before their values have been set. +# Build variables that are NOT used in paths should be set in +# the CONFIG_SITE file. -TEMPLATE_TOP=_TEMPLATE_TOP_ +# Variables and paths to dependent modules: +#MODULES = /path/to/modules +#MYMODULE = $(MODULES)/my-module # If using the sequencer, point SNCSEQ at its top directory: -#SNCSEQ=$(EPICS_BASE)/../modules/soft/seq +#SNCSEQ = $(MODULES)/seq-ver -# EPICS_BASE usually appears last so other apps can override stuff: -EPICS_BASE=_EPICS_BASE_ +# EPICS_BASE should appear last so earlier modules can override stuff: +EPICS_BASE = _EPICS_BASE_ -# Set RULES here if you want to take build rules from somewhere +# Set RULES here if you want to use build rules from somewhere # other than EPICS_BASE: -#RULES=/path/to/epics/support/module/rules/x-y +#RULES = $(MODULES)/build-rules diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index 772ce1112..40bd8652f 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -241,7 +241,7 @@ sub checkRelease { } } - my @modules = @apps; + my @modules = grep(!m/^(RULES|TOP|TEMPLATE_TOP)$/, @apps); my $app = shift @modules; my $latest = AbsPath($macros{$app}); my %paths = ($latest => $app); From 63d86514741ec5aa3c6c548593386c061d313d77 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 7 Jun 2016 01:00:38 -0500 Subject: [PATCH 089/226] Make Perl DB parser handle duplicates and rtyp '*' --- src/tools/DBD/Parser.pm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/tools/DBD/Parser.pm b/src/tools/DBD/Parser.pm index fa33bf26e..b7cc7b376 100644 --- a/src/tools/DBD/Parser.pm +++ b/src/tools/DBD/Parser.pm @@ -235,10 +235,21 @@ sub parse_record { my ($dbd, $record_type, $record_name) = @_; pushContext("record($record_type, $record_name)"); my $rtyp = $dbd->recordtype($record_type); - dieContext("No recordtype named '$record_type'") - unless defined $rtyp; - my $rec = DBD::Record->new($rtyp, $record_name); # FIXME: Merge duplicates - while(1) { + my $rec = $dbd->record($record_name); + if (defined $rec) { + my $otyp = $rec->recordtype; + my $otyp_name = $otyp->name; + $rtyp = $otyp if $record_type eq '*'; + dieContext("A(n) $otyp_name record '$record_name' already exists") + unless $otyp == $rtyp; + } else { + dieContext("No record exists named '$record_name'") + if $record_type eq '*'; + dieContext("No recordtype exists named '$record_type'") + unless defined $rtyp; + $rec = DBD::Record->new($rtyp, $record_name); + } + while (1) { parseCommon($rec); if (m/\G field \s* \( \s* $RXstr \s* , \s* $RXstr \s* \)/oxgc) { print " Record-Field: $1, $2\n" if $debug; From 935ab02bc1ae6f99dc5aed60fe15fe9b681d4e69 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 7 Jun 2016 12:31:15 -0500 Subject: [PATCH 090/226] Fix build failure on Solaris --- src/ca/client/ca_client_context.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ca/client/ca_client_context.cpp b/src/ca/client/ca_client_context.cpp index a2e5d8ac3..2bb3e24a8 100644 --- a/src/ca/client/ca_client_context.cpp +++ b/src/ca/client/ca_client_context.cpp @@ -165,7 +165,7 @@ ca_client_context::ca_client_context ( bool enablePreemptiveCallback ) : } // multiple steps ensure exception safety - std::swap(this->pCallbackGuard, pCBGuard); + this->pCallbackGuard = pCBGuard; } ca_client_context::~ca_client_context () From 203fcecc23cfc02fd9fb275fd40c9e335ccbcf75 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 20 Jun 2016 14:06:42 -0500 Subject: [PATCH 091/226] Adjust linux-arm config for Xilinx SDK users --- configure/os/CONFIG_SITE.linux-x86.linux-arm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm b/configure/os/CONFIG_SITE.linux-x86.linux-arm index 528c9bc6c..a6946262a 100644 --- a/configure/os/CONFIG_SITE.linux-x86.linux-arm +++ b/configure/os/CONFIG_SITE.linux-x86.linux-arm @@ -5,11 +5,12 @@ # Site specific definitions for linux-x86 host - linux-arm target builds #------------------------------------------------------- -# Tools install path -#GNU_DIR = /home/targetOS/linux-arm/host/x86-linux/gcc_3.3.3 +# Set GNU crosscompiler target name +GNU_TARGET = arm-xilinx-linux-gnueabi -# APS: +# Set GNU tools install path +# This is the install path at APS: GNU_DIR = /usr/local/vw/zynq-2011.09 -# GNU crosscompiler target name -GNU_TARGET = arm-xilinx-linux-gnueabi +# With a Xilinx SDK, it'll be something like +#GNU_DIR = /usr/local/zynq/Xilinx/SDK/2015.4/gnu/arm/lin From bf85143381df47af27c0b58c8574bfee00d76456 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 22 Jun 2016 12:25:17 -0500 Subject: [PATCH 092/226] Fix for g++ 6.x on Fedora 24, cleanup --- src/libCom/test/epicsExceptionTest.cpp | 33 +++++++++++++++++--------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/libCom/test/epicsExceptionTest.cpp b/src/libCom/test/epicsExceptionTest.cpp index e69f7e927..e64b6c469 100644 --- a/src/libCom/test/epicsExceptionTest.cpp +++ b/src/libCom/test/epicsExceptionTest.cpp @@ -27,30 +27,41 @@ using namespace std; -#if defined(__BORLANDC__) && defined(__linux__) -namespace std { -const nothrow_t nothrow ; -} -#endif - #if defined ( _MSC_VER ) - // some interesting bugs found in the MS implementation of new + # if _MSC_VER >= 1900 + // Can't use const static size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); -# elif _MSC_VER > 1310 /* this gets fixed some release after visual studio 7 we hope */ +# elif _MSC_VER > 1310 static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); # else + // Bug in the older MS implementation of new static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max () - 100; # endif - // passing a size_t to printf() needs "%zu" on some platforms + + // No %z modifier support for printing a size_t # define Z_MODIFIER "" + #elif defined(vxWorks) - // Neither vxWorks 5 or 6 supply true ANSI C++ + + // Don't try to use numeric_limits < size_t > static const size_t unsuccessfulNewSize = UINT_MAX - 15u; + + // No %z modifier support for printing a size_t # define Z_MODIFIER "" + #else - static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); + +# if defined(__GNUC__) && (__GNUC__ >= 6) + // Can't use const + static size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); +# else + static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); +# endif + + // passing a size_t to printf() needs "%zu" # define Z_MODIFIER "z" + #endif class exThread : public epicsThreadRunable { From 8da6c172d1564bb13b657ce2c671eaabebcefc98 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 6 Jul 2016 11:36:09 -0500 Subject: [PATCH 093/226] Removed epicsExceptionTest.cpp Too many build failures on newer C++ compilers. Since this is just testing that the compiler runtime follows the C++ standard it isn't really necessary any more (it was in the early days of C++ before standardization). --- src/libCom/test/Makefile | 5 - src/libCom/test/epicsExceptionTest.cpp | 128 ------------------------- 2 files changed, 133 deletions(-) delete mode 100644 src/libCom/test/epicsExceptionTest.cpp diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index 7f5994c0d..5f486938f 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -123,11 +123,6 @@ epicsMutexTest_SRCS += epicsMutexTest.cpp testHarness_SRCS += epicsMutexTest.cpp TESTS += epicsMutexTest -TESTPROD_HOST += epicsExceptionTest -epicsExceptionTest_SRCS += epicsExceptionTest.cpp -testHarness_SRCS += epicsExceptionTest.cpp -TESTS += epicsExceptionTest - TESTPROD_HOST += macEnvExpandTest macEnvExpandTest_SRCS += macEnvExpandTest.c testHarness_SRCS += macEnvExpandTest.c diff --git a/src/libCom/test/epicsExceptionTest.cpp b/src/libCom/test/epicsExceptionTest.cpp deleted file mode 100644 index e64b6c469..000000000 --- a/src/libCom/test/epicsExceptionTest.cpp +++ /dev/null @@ -1,128 +0,0 @@ -/*************************************************************************\ -* Copyright (c) 2006 UChicago Argonne LLC, as Operator of Argonne -* National Laboratory. -* Copyright (c) 2002 The Regents of the University of California, as -* Operator of Los Alamos National Laboratory. -* EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. -\*************************************************************************/ - -// -// Verify that the local c++ exception mechanism matches the ANSI/ISO standard. -// Author: Jeff Hill -// - -#include -#include -#include -#if defined(__GNUC__) && (__GNUC__<2 || (__GNUC__==2 && __GNUC_MINOR__<=96)) -#include -#else -#include -#endif - -#include "epicsUnitTest.h" -#include "epicsThread.h" -#include "testMain.h" - -using namespace std; - -#if defined ( _MSC_VER ) - -# if _MSC_VER >= 1900 - // Can't use const - static size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); -# elif _MSC_VER > 1310 - static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); -# else - // Bug in the older MS implementation of new - static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max () - 100; -# endif - - // No %z modifier support for printing a size_t -# define Z_MODIFIER "" - -#elif defined(vxWorks) - - // Don't try to use numeric_limits < size_t > - static const size_t unsuccessfulNewSize = UINT_MAX - 15u; - - // No %z modifier support for printing a size_t -# define Z_MODIFIER "" - -#else - -# if defined(__GNUC__) && (__GNUC__ >= 6) - // Can't use const - static size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); -# else - static const size_t unsuccessfulNewSize = numeric_limits < size_t > :: max (); -# endif - - // passing a size_t to printf() needs "%zu" -# define Z_MODIFIER "z" - -#endif - -class exThread : public epicsThreadRunable { -public: - exThread (); - void waitForCompletion (); - ~exThread() {}; -private: - epicsThread thread; - bool done; - void run (); -}; - -static void epicsExceptionTestPrivate () -{ - try { - char * p = new char [unsuccessfulNewSize]; - testFail("new char[%" Z_MODIFIER "u] returned %p", unsuccessfulNewSize, p); - } - catch ( const bad_alloc & ) { - testPass("new char[%" Z_MODIFIER "u] threw", unsuccessfulNewSize); - } - catch ( ... ) { - testFail("new: threw wrong type"); - } - try { - char * p = new ( nothrow ) - char [unsuccessfulNewSize]; - testOk(p == 0, "new (nothrow) returned %p", p); - } - catch( ... ) { - testFail("new (nothrow): threw"); - } -} - -exThread::exThread () : - thread ( *this, "testExceptions", epicsThreadGetStackSize(epicsThreadStackSmall) ), - done ( false ) -{ - this->thread.start (); -} - -void exThread::run () -{ - epicsExceptionTestPrivate (); - this->done = true; -} - -void exThread::waitForCompletion () -{ - while ( ! this->done ) { - epicsThreadSleep ( 0.1 ); - } -} - -MAIN(epicsExceptionTest) -{ - testPlan(4); - epicsExceptionTestPrivate (); - - exThread athread; - athread.waitForCompletion (); - return testDone(); -} From b9aa8777274c45ca814cc8d80e0046001a7b57cf Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 6 Jul 2016 14:06:21 -0500 Subject: [PATCH 094/226] Fix RTEMS build --- src/libCom/test/epicsRunLibComTests.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libCom/test/epicsRunLibComTests.c b/src/libCom/test/epicsRunLibComTests.c index 3b81b15cf..81290644a 100644 --- a/src/libCom/test/epicsRunLibComTests.c +++ b/src/libCom/test/epicsRunLibComTests.c @@ -24,7 +24,6 @@ int epicsEnvTest(void); int epicsErrlogTest(void); int epicsCalcTest(void); int epicsEventTest(void); -int epicsExceptionTest(void); int epicsMathTest(void); int epicsMessageQueueTest(void); int epicsMutexTest(void); @@ -72,8 +71,6 @@ void epicsRunLibComTests(void) runTest(epicsEventTest); - runTest(epicsExceptionTest); - runTest(epicsMathTest); runTest(epicsMessageQueueTest); From 22ef5696825aa00d4868db1a996853030b7515fd Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 6 Jul 2016 15:23:58 -0500 Subject: [PATCH 095/226] Provide a systemd service file for caRepeater Also changes how the sysvinit files are generated to use the expandVars.pl script and rules instead of sed. --- documentation/RELEASE_NOTES.html | 8 +++++++ src/util/Makefile | 21 +++++++++-------- src/util/{rc2.caRepeater => S99caRepeater@} | 2 +- src/util/{rc2.logServer => S99logServer@} | 2 +- src/util/caRepeater.service@ | 25 +++++++++++++++++++++ 5 files changed, 45 insertions(+), 13 deletions(-) rename src/util/{rc2.caRepeater => S99caRepeater@} (96%) rename src/util/{rc2.logServer => S99logServer@} (96%) create mode 100644 src/util/caRepeater.service@ diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 7c6692898..def2baf3c 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,14 @@ +

Linux systemd service file for CA Repeater

+ +

Building this version of Base on a Linux system creates a systemd service +file suitable for starting the Channel Access Repeater under systemd. The file +will be installed into the target bin directory, from where it can be copied +into the appropriate systemd location and modified as necessary. Installation +instructions are included as comments in the file.

+

NTP Time Provider adjusts to OS tick rate changes

Dirk Zimoch provided code that allows the NTP Time provider (used on VxWorks diff --git a/src/util/Makefile b/src/util/Makefile index e0cd22c77..20f60572e 100644 --- a/src/util/Makefile +++ b/src/util/Makefile @@ -3,8 +3,7 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found +# EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* TOP=../.. @@ -13,9 +12,6 @@ include $(TOP)/configure/CONFIG PROD_LIBS = ca Com -# -# Added winmm user32 for the non-dll build -# PROD_HOST_DEFAULT = ca_test iocLogServer PROD_HOST_WIN32 = ca_test iocLogServer PROD_SYS_LIBS_WIN32 = ws2_32 advapi32 user32 @@ -27,12 +23,15 @@ iocLogServer_SRCS = iocLogServer.c OBJS_vxWorks = ca_test -SCRIPTS_solaris := S99logServer S99caRepeater -SCRIPTS_Linux := S99logServer S99caRepeater +SCRIPTS_HOST = S99logServer S99caRepeater +SCRIPTS_Linux = caRepeater.service + +EXPAND += S99logServer@ +EXPAND += S99caRepeater@ +EXPAND += caRepeater.service@ + +EXPAND_VARS = INSTALL_BIN=$(abspath $(INSTALL_BIN)) include $(TOP)/configure/RULES - -S99%: ../rc2.% - sed -e s%:INSTALL_BIN:%`cd $(INSTALL_BIN); pwd`% $< >$@ -# EOF Makefile.Host for base/src/util +.PRECIOUS: $(EXPANDED) diff --git a/src/util/rc2.caRepeater b/src/util/S99caRepeater@ similarity index 96% rename from src/util/rc2.caRepeater rename to src/util/S99caRepeater@ index 4db37b49a..aabefb72c 100644 --- a/src/util/rc2.caRepeater +++ b/src/util/S99caRepeater@ @@ -3,7 +3,7 @@ # System-V init script for the EPICS CA Repeater. # -INSTALL_BIN=:INSTALL_BIN: +INSTALL_BIN=@INSTALL_BIN@ # To change the default values for the EPICS environment parameters, # uncomment and modify the relevant lines below. These are the only diff --git a/src/util/rc2.logServer b/src/util/S99logServer@ similarity index 96% rename from src/util/rc2.logServer rename to src/util/S99logServer@ index 407227d91..294b2ec01 100644 --- a/src/util/rc2.logServer +++ b/src/util/S99logServer@ @@ -3,7 +3,7 @@ # System-V init script for the EPICS IOC Log Server. # -INSTALL_BIN=:INSTALL_BIN: +INSTALL_BIN=@INSTALL_BIN@ # To change the default values for the EPICS Environment parameters, # uncomment and modify the relevant lines below. diff --git a/src/util/caRepeater.service@ b/src/util/caRepeater.service@ new file mode 100644 index 000000000..ee50305a1 --- /dev/null +++ b/src/util/caRepeater.service@ @@ -0,0 +1,25 @@ +# +# Linux systemd service file for the EPICS CA Repeater +# +# To install this file, as root: +# cp caRepeater.service /etc/systemd/system +# chmod 664 /etc/systemd/system/caRepeater.service +# systemctl daemon-reload +# systemctl enable caRepeater +# systemctl start caRepeater +# +# To check the status: +# systemctl status caRepeater + +[Unit] +Description=EPICS CA Repeater +Requires=network.target +After=network.target + +[Service] +ExecStart=@INSTALL_BIN@/caRepeater +Restart=always +User=daemon + +[Install] +WantedBy=multi-user.target From ddeb0a827cdf1f90a5c4b1d84afd740df975f745 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 6 Jul 2016 17:05:04 -0500 Subject: [PATCH 096/226] Make EXPAND rule work on all arch's Fixes build for linux-arm in src/util. Don't expand files unless specifically requested. Expanded files are always precious. --- configure/RULES_EXPAND | 6 +----- src/util/Makefile | 6 ++---- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/configure/RULES_EXPAND b/configure/RULES_EXPAND index 7bc4c863d..cf313bbb0 100644 --- a/configure/RULES_EXPAND +++ b/configure/RULES_EXPAND @@ -1,7 +1,5 @@ # /configure/RULES_EXPAND -ifeq ($(findstring Host,$(VALID_BUILDS)),Host) - # Default settings EXPAND_TOOL ?= $(PERL) $(TOOLS)/expandVars.pl @@ -10,8 +8,6 @@ EXPANDFLAGS += $(addprefix -D ,$(EXPAND_VARS)) EXPANDED = $(EXPAND:%@=%) -buildInstall: $(EXPANDED) - $(EXPANDED): %: ../%@ $(ECHO) "Expanding $< to $@" @$(RM) $@ @@ -20,4 +16,4 @@ $(EXPANDED): %: ../%@ clean:: @$(RM) $(EXPANDED) -endif +.PRECIOUS: $(EXPANDED) diff --git a/src/util/Makefile b/src/util/Makefile index 20f60572e..525d6a2cf 100644 --- a/src/util/Makefile +++ b/src/util/Makefile @@ -1,10 +1,10 @@ #************************************************************************* -# Copyright (c) 2002 The University of Chicago, as Operator of Argonne +# Copyright (c) 2016 UChicago Argonne LLC, as Operator of Argonne # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE is distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# in file LICENSE that is included with this distribution. #************************************************************************* TOP=../.. @@ -33,5 +33,3 @@ EXPAND += caRepeater.service@ EXPAND_VARS = INSTALL_BIN=$(abspath $(INSTALL_BIN)) include $(TOP)/configure/RULES - -.PRECIOUS: $(EXPANDED) From bffdfdcb28354bc0565e5b70134fd98fcbf97f3b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 8 Jul 2016 13:18:53 -0500 Subject: [PATCH 097/226] Fix GetUser routine in makeBaseApp.pl --- src/makeBaseApp/makeBaseApp.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/makeBaseApp/makeBaseApp.pl b/src/makeBaseApp/makeBaseApp.pl index b53a0541e..13d749d4c 100644 --- a/src/makeBaseApp/makeBaseApp.pl +++ b/src/makeBaseApp/makeBaseApp.pl @@ -418,7 +418,8 @@ EOF } sub GetUser { - $user = $opt_u || $ENV{USER} || $ENV{USERNAME} || Win32::LoginName(); + $user = $opt_u || $ENV{USER} || $ENV{USERNAME} || getlogin(); + $user = Win32::LoginName() if !$user && $^ eq 'MSWin32'; unless ($user) { print "Strange, I cannot figure out your user name!\n"; From 4223b31f9a7b6c82e7e498288f3621c2f6e13ed5 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 8 Jul 2016 16:20:35 -0400 Subject: [PATCH 098/226] bswap16/32 as functions Turn bswap16() and bswap32() into functions to avoid evaluating the argument more than once. --- src/libCom/osi/os/RTEMS/epicsMMIO.h | 20 +++++++++++++++++++ src/libCom/osi/os/default/epicsMMIODef.h | 24 +++++++++++++++-------- src/libCom/osi/os/vxWorks/epicsMMIO.h | 25 ++++++++++++++++-------- 3 files changed, 53 insertions(+), 16 deletions(-) diff --git a/src/libCom/osi/os/RTEMS/epicsMMIO.h b/src/libCom/osi/os/RTEMS/epicsMMIO.h index 7db66704f..293886b78 100644 --- a/src/libCom/osi/os/RTEMS/epicsMMIO.h +++ b/src/libCom/osi/os/RTEMS/epicsMMIO.h @@ -12,6 +12,8 @@ #define EPICSMMIO_H #include +#include +#include #if defined(_ARCH_PPC) || defined(__PPC__) || defined(__PPC) # include @@ -39,6 +41,24 @@ # define nat_iowrite16 be_iowrite16 # define nat_iowrite32 be_iowrite32 +static EPICS_ALWAYS_INLINE +epicsUInt16 +bswap16(epicsUInt16 value) +{ + return (((epicsUInt16)(value) & 0x00ff) << 8) | + (((epicsUInt16)(value) & 0xff00) >> 8); +} + +static EPICS_ALWAYS_INLINE +epicsUInt32 +bswap32(epicsUInt32 value) +{ + return (((epicsUInt32)(value) & 0x000000ff) << 24) | + (((epicsUInt32)(value) & 0x0000ff00) << 8) | + (((epicsUInt32)(value) & 0x00ff0000) >> 8) | + (((epicsUInt32)(value) & 0xff000000) >> 24); +} + #elif defined(i386) || defined(__i386__) || defined(__i386) || defined(__m68k__) /* X86 does not need special handling for read/write width. diff --git a/src/libCom/osi/os/default/epicsMMIODef.h b/src/libCom/osi/os/default/epicsMMIODef.h index a306f8339..dc4bb4cb7 100644 --- a/src/libCom/osi/os/default/epicsMMIODef.h +++ b/src/libCom/osi/os/default/epicsMMIODef.h @@ -90,15 +90,23 @@ nat_iowrite32(volatile void* addr, epicsUInt32 val) *@{ */ -#define bswap16(value) ((epicsUInt16) ( \ - (((epicsUInt16)(value) & 0x00ff) << 8) | \ - (((epicsUInt16)(value) & 0xff00) >> 8))) +static EPICS_ALWAYS_INLINE +epicsUInt16 +bswap16(epicsUInt16 value) +{ + return (((epicsUInt16)(value) & 0x00ff) << 8) | + (((epicsUInt16)(value) & 0xff00) >> 8); +} -#define bswap32(value) ( \ - (((epicsUInt32)(value) & 0x000000ff) << 24) | \ - (((epicsUInt32)(value) & 0x0000ff00) << 8) | \ - (((epicsUInt32)(value) & 0x00ff0000) >> 8) | \ - (((epicsUInt32)(value) & 0xff000000) >> 24)) +static EPICS_ALWAYS_INLINE +epicsUInt32 +bswap32(epicsUInt32 value) +{ + return (((epicsUInt32)(value) & 0x000000ff) << 24) | + (((epicsUInt32)(value) & 0x0000ff00) << 8) | + (((epicsUInt32)(value) & 0x00ff0000) >> 8) | + (((epicsUInt32)(value) & 0xff000000) >> 24); +} # define be_ioread16(A) nat_ioread16(A) # define be_ioread32(A) nat_ioread32(A) diff --git a/src/libCom/osi/os/vxWorks/epicsMMIO.h b/src/libCom/osi/os/vxWorks/epicsMMIO.h index dd8abe95a..b12c71ad9 100644 --- a/src/libCom/osi/os/vxWorks/epicsMMIO.h +++ b/src/libCom/osi/os/vxWorks/epicsMMIO.h @@ -37,6 +37,7 @@ #include /* EPICS Common Type Definitions */ #include /* EPICS Byte Order Definitions */ +#include /*===================== * vxAtomicLib.h (which defines the memory barrier macros) @@ -49,15 +50,23 @@ # include #endif -#define bswap16(value) ((epicsUInt16) ( \ - (((epicsUInt16)(value) & 0x00ff) << 8) | \ - (((epicsUInt16)(value) & 0xff00) >> 8))) +static EPICS_ALWAYS_INLINE +epicsUInt16 +bswap16(epicsUInt16 value) +{ + return (((epicsUInt16)(value) & 0x00ff) << 8) | + (((epicsUInt16)(value) & 0xff00) >> 8); +} -#define bswap32(value) ( \ - (((epicsUInt32)(value) & 0x000000ff) << 24) | \ - (((epicsUInt32)(value) & 0x0000ff00) << 8) | \ - (((epicsUInt32)(value) & 0x00ff0000) >> 8) | \ - (((epicsUInt32)(value) & 0xff000000) >> 24)) +static EPICS_ALWAYS_INLINE +epicsUInt32 +bswap32(epicsUInt32 value) +{ + return (((epicsUInt32)(value) & 0x000000ff) << 24) | + (((epicsUInt32)(value) & 0x0000ff00) << 8) | + (((epicsUInt32)(value) & 0x00ff0000) >> 8) | + (((epicsUInt32)(value) & 0xff000000) >> 24); +} #if EPICS_BYTE_ORDER == EPICS_ENDIAN_BIG # define be16_to_cpu(X) (epicsUInt16)(X) From c8351c329bcc141ab9f9b6b703ef1b092fbd3483 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 18 Jul 2016 11:25:08 -0500 Subject: [PATCH 099/226] Clarify comments in exampleApp Makefile --- src/makeBaseApp/top/exampleApp/src/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/makeBaseApp/top/exampleApp/src/Makefile b/src/makeBaseApp/top/exampleApp/src/Makefile index f3b262c77..bc9f18619 100644 --- a/src/makeBaseApp/top/exampleApp/src/Makefile +++ b/src/makeBaseApp/top/exampleApp/src/Makefile @@ -26,6 +26,7 @@ _APPNAME_Support_SRCS += initTrace.c _APPNAME_Support_LIBS += $(EPICS_BASE_IOC_LIBS) + # Build the IOC application PROD_IOC = _APPNAME_ @@ -46,9 +47,6 @@ _APPNAME__SRCS += _APPNAME__registerRecordDeviceDriver.cpp _APPNAME__SRCS_DEFAULT += _APPNAME_Main.cpp _APPNAME__SRCS_vxWorks += -nil- -# Add support from base/src/vxWorks if needed -#_APPNAME__OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - # Link in the code from our support library _APPNAME__LIBS += _APPNAME_Support @@ -58,6 +56,7 @@ ifneq ($(SNCSEQ),) # Build sncExample into _APPNAME_Support sncExample_SNCFLAGS += +r _APPNAME__DBD += sncExample.dbd + # A .stt sequence program is *not* pre-processed: _APPNAME_Support_SRCS += sncExample.stt _APPNAME_Support_LIBS += seq pv _APPNAME__LIBS += seq pv @@ -65,6 +64,7 @@ ifneq ($(SNCSEQ),) # Build sncProgram as a standalone program PROD_HOST += sncProgram sncProgram_SNCFLAGS += +m + # A .st sequence program *is* pre-processed: sncProgram_SRCS += sncProgram.st sncProgram_LIBS += seq pv sncProgram_LIBS += $(EPICS_BASE_HOST_LIBS) From 3d4d3181de84624ec25325afbd34c3138c9cab4e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 21 Jul 2016 12:47:48 -0500 Subject: [PATCH 100/226] DOS to Unix line-ending conversions --- configure/os/CONFIG.Common.cygwin-x86_64 | 26 ++++++------ configure/os/CONFIG.cygwin-x86_64.Common | 14 +++---- .../os/CONFIG.cygwin-x86_64.cygwin-x86_64 | 18 ++++----- configure/os/CONFIG_SITE.Common.cygwin-x86_64 | 40 +++++++++---------- 4 files changed, 49 insertions(+), 49 deletions(-) diff --git a/configure/os/CONFIG.Common.cygwin-x86_64 b/configure/os/CONFIG.Common.cygwin-x86_64 index aa78d75eb..b2b18dbfa 100644 --- a/configure/os/CONFIG.Common.cygwin-x86_64 +++ b/configure/os/CONFIG.Common.cygwin-x86_64 @@ -1,13 +1,13 @@ -# CONFIG.Common.cygwin-x86_64 -# -# This file is maintained by the build community. -# -# Definitions for cygwin-x86_64 target builds -# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86_64 -#------------------------------------------------------- - -include $(CONFIG)/os/CONFIG.Common.cygwin-x86 - -ARCH_DEP_CFLAGS = -m64 -ARCH_DEP_LDFLAGS = -m64 - +# CONFIG.Common.cygwin-x86_64 +# +# This file is maintained by the build community. +# +# Definitions for cygwin-x86_64 target builds +# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86_64 +#------------------------------------------------------- + +include $(CONFIG)/os/CONFIG.Common.cygwin-x86 + +ARCH_DEP_CFLAGS = -m64 +ARCH_DEP_LDFLAGS = -m64 + diff --git a/configure/os/CONFIG.cygwin-x86_64.Common b/configure/os/CONFIG.cygwin-x86_64.Common index 06c2fc0d3..de43b592e 100644 --- a/configure/os/CONFIG.cygwin-x86_64.Common +++ b/configure/os/CONFIG.cygwin-x86_64.Common @@ -1,7 +1,7 @@ -# CONFIG.cygwin-x86_64.Common -# -# Definitions for cygwin-x86_64 host archs -# Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.Common -#------------------------------------------------------- - -include $(CONFIG)/os/CONFIG.cygwin-x86.Common +# CONFIG.cygwin-x86_64.Common +# +# Definitions for cygwin-x86_64 host archs +# Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.Common +#------------------------------------------------------- + +include $(CONFIG)/os/CONFIG.cygwin-x86.Common diff --git a/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 b/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 index 3a52fdd72..0e9a96f01 100644 --- a/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 +++ b/configure/os/CONFIG.cygwin-x86_64.cygwin-x86_64 @@ -1,9 +1,9 @@ -# CONFIG.cygwin-x86_64.cygwin-x86_64 -# -# Definitions for cygwin-x86_64 host - cygwin-x86_64 target builds -# Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.cygwin-x86_64 -#------------------------------------------------------- - -# Include common gnu compiler definitions -include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86 - +# CONFIG.cygwin-x86_64.cygwin-x86_64 +# +# Definitions for cygwin-x86_64 host - cygwin-x86_64 target builds +# Sites may override these definitions in CONFIG_SITE.cygwin-x86_64.cygwin-x86_64 +#------------------------------------------------------- + +# Include common gnu compiler definitions +include $(CONFIG)/os/CONFIG.cygwin-x86.cygwin-x86 + diff --git a/configure/os/CONFIG_SITE.Common.cygwin-x86_64 b/configure/os/CONFIG_SITE.Common.cygwin-x86_64 index cdaaeb807..8d318e04e 100644 --- a/configure/os/CONFIG_SITE.Common.cygwin-x86_64 +++ b/configure/os/CONFIG_SITE.Common.cygwin-x86_64 @@ -1,20 +1,20 @@ -# CONFIG_SITE.Common.cygwin-x86_64 -# -# Site Specific definitions for cygwin-x86_64 target -# Only the local epics system manager should modify this file - -# If readline is installed uncomment the following line -# to add command-line editing and history support -#COMMANDLINE_LIBRARY = READLINE - -# Uncomment the following line if readline has problems -#LDLIBS_READLINE = -lreadline -lcurses - - -# It makes sense to include debugging symbols even in optimized builds -# in case you want to attach gdb to the process or examine a core-dump. -# This does cost disk space, but not memory as debug symbols are not -# loaded into RAM when the binary is loaded. -OPT_CFLAGS_YES += -g -OPT_CXXFLAGS_YES += -g - +# CONFIG_SITE.Common.cygwin-x86_64 +# +# Site Specific definitions for cygwin-x86_64 target +# Only the local epics system manager should modify this file + +# If readline is installed uncomment the following line +# to add command-line editing and history support +#COMMANDLINE_LIBRARY = READLINE + +# Uncomment the following line if readline has problems +#LDLIBS_READLINE = -lreadline -lcurses + + +# It makes sense to include debugging symbols even in optimized builds +# in case you want to attach gdb to the process or examine a core-dump. +# This does cost disk space, but not memory as debug symbols are not +# loaded into RAM when the binary is loaded. +OPT_CFLAGS_YES += -g +OPT_CXXFLAGS_YES += -g + From 064cc94f597582a38731c3c2647d1f3684193bd9 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 27 Jul 2016 10:14:35 -0500 Subject: [PATCH 101/226] Allow up to 100 network interfaces on Windows. Fixes lp:1606848 --- src/libCom/osi/os/WIN32/osdNetIntf.c | 223 +++++++++++++-------------- 1 file changed, 111 insertions(+), 112 deletions(-) diff --git a/src/libCom/osi/os/WIN32/osdNetIntf.c b/src/libCom/osi/os/WIN32/osdNetIntf.c index 1126fb307..c69048502 100644 --- a/src/libCom/osi/os/WIN32/osdNetIntf.c +++ b/src/libCom/osi/os/WIN32/osdNetIntf.c @@ -3,16 +3,15 @@ * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* - * WIN32 specific initialisation for bsd sockets, - * based on Chris Timossi's base/src/ca/windows_depend.c, + * WIN32 specific initialisation for bsd sockets, + * based on Chris Timossi's base/src/ca/windows_depend.c, * and also further additions by Kay Kasemir when this was in - * dllmain.cc + * dllmain.cc * * 7-1-97 -joh- * @@ -45,74 +44,74 @@ */ epicsShareFunc osiSockAddr epicsShareAPI osiLocalAddr ( SOCKET socket ) { - static osiSockAddr addr; - static char init; - int status; - INTERFACE_INFO *pIfinfo; - INTERFACE_INFO *pIfinfoList; - unsigned nelem; - DWORD numifs; - DWORD cbBytesReturned; + static osiSockAddr addr; + static char init; + int status; + INTERFACE_INFO *pIfinfo; + INTERFACE_INFO *pIfinfoList; + unsigned nelem; + DWORD numifs; + DWORD cbBytesReturned; - if (init) { - return addr; - } + if (init) { + return addr; + } init = 1; addr.sa.sa_family = AF_UNSPEC; - /* only valid for winsock 2 and above */ - if ( wsaMajorVersion() < 2 ) { - return addr; - } - - nelem = 10; - pIfinfoList = (INTERFACE_INFO *) calloc ( nelem, sizeof (INTERFACE_INFO) ); - if (!pIfinfoList) { - errlogPrintf ("calloc failed\n"); - return addr; + /* only valid for winsock 2 and above */ + if ( wsaMajorVersion() < 2 ) { + return addr; } - status = WSAIoctl (socket, SIO_GET_INTERFACE_LIST, NULL, 0, - (LPVOID)pIfinfoList, nelem*sizeof(INTERFACE_INFO), - &cbBytesReturned, NULL, NULL); - - if (status != 0 || cbBytesReturned == 0) { - errlogPrintf ("WSAIoctl SIO_GET_INTERFACE_LIST failed %d\n",WSAGetLastError()); - free (pIfinfoList); - return addr; + nelem = 100; + pIfinfoList = (INTERFACE_INFO *) calloc ( nelem, sizeof (INTERFACE_INFO) ); + if (!pIfinfoList) { + errlogPrintf ("calloc failed\n"); + return addr; } - numifs = cbBytesReturned / sizeof(INTERFACE_INFO); - for (pIfinfo = pIfinfoList; pIfinfo < (pIfinfoList+numifs); pIfinfo++){ + status = WSAIoctl (socket, SIO_GET_INTERFACE_LIST, NULL, 0, + (LPVOID) pIfinfoList, nelem * sizeof(INTERFACE_INFO), + &cbBytesReturned, NULL, NULL); - /* - * dont use interfaces that have been disabled - */ - if (!(pIfinfo->iiFlags & IFF_UP)) { - continue; - } + if (status != 0 || cbBytesReturned == 0) { + errlogPrintf ("WSAIoctl SIO_GET_INTERFACE_LIST failed %d\n",WSAGetLastError()); + free (pIfinfoList); + return addr; + } - /* - * dont use the loop back interface - */ - if (pIfinfo->iiFlags & IFF_LOOPBACK) { - continue; - } + numifs = cbBytesReturned / sizeof(INTERFACE_INFO); + for (pIfinfo = pIfinfoList; pIfinfo < (pIfinfoList+numifs); pIfinfo++){ - addr.sa = pIfinfo->iiAddress.Address; + /* + * dont use interfaces that have been disabled + */ + if (!(pIfinfo->iiFlags & IFF_UP)) { + continue; + } - /* Work around MS Winsock2 bugs */ + /* + * dont use the loop back interface + */ + if (pIfinfo->iiFlags & IFF_LOOPBACK) { + continue; + } + + addr.sa = pIfinfo->iiAddress.Address; + + /* Work around MS Winsock2 bugs */ if (addr.sa.sa_family == 0) { addr.sa.sa_family = AF_INET; } - free (pIfinfoList); + free (pIfinfoList); return addr; - } + } free (pIfinfoList); - return addr; + return addr; } /* @@ -121,12 +120,12 @@ epicsShareFunc osiSockAddr epicsShareAPI osiLocalAddr ( SOCKET socket ) epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses (ELLLIST *pList, SOCKET socket, const osiSockAddr *pMatchAddr) { - int status; - INTERFACE_INFO *pIfinfo; - INTERFACE_INFO *pIfinfoList; - unsigned nelem; - int numifs; - DWORD cbBytesReturned; + int status; + INTERFACE_INFO *pIfinfo; + INTERFACE_INFO *pIfinfoList; + unsigned nelem; + int numifs; + DWORD cbBytesReturned; osiSockAddrNode *pNewNode; if ( pMatchAddr->sa.sa_family == AF_INET ) { @@ -143,56 +142,56 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses } } - /* only valid for winsock 2 and above */ - if (wsaMajorVersion() < 2 ) { - fprintf(stderr, "Need to set EPICS_CA_AUTO_ADDR_LIST=NO for winsock 1\n"); - return; - } + /* only valid for winsock 2 and above */ + if (wsaMajorVersion() < 2 ) { + fprintf(stderr, "Need to set EPICS_CA_AUTO_ADDR_LIST=NO for winsock 1\n"); + return; + } - nelem = 10; - pIfinfoList = (INTERFACE_INFO *) calloc(nelem, sizeof(INTERFACE_INFO)); - if(!pIfinfoList){ - return; - } + nelem = 100; + pIfinfoList = (INTERFACE_INFO *) calloc(nelem, sizeof(INTERFACE_INFO)); + if(!pIfinfoList){ + return; + } - status = WSAIoctl (socket, SIO_GET_INTERFACE_LIST, - NULL, 0, - (LPVOID)pIfinfoList, nelem*sizeof(INTERFACE_INFO), - &cbBytesReturned, NULL, NULL); + status = WSAIoctl (socket, SIO_GET_INTERFACE_LIST, + NULL, 0, + (LPVOID)pIfinfoList, nelem*sizeof(INTERFACE_INFO), + &cbBytesReturned, NULL, NULL); - if (status != 0 || cbBytesReturned == 0) { - fprintf(stderr, "WSAIoctl SIO_GET_INTERFACE_LIST failed %d\n",WSAGetLastError()); - free(pIfinfoList); - return; - } + if (status != 0 || cbBytesReturned == 0) { + fprintf(stderr, "WSAIoctl SIO_GET_INTERFACE_LIST failed %d\n",WSAGetLastError()); + free(pIfinfoList); + return; + } - numifs = cbBytesReturned/sizeof(INTERFACE_INFO); - for (pIfinfo = pIfinfoList; pIfinfo < (pIfinfoList+numifs); pIfinfo++){ + numifs = cbBytesReturned/sizeof(INTERFACE_INFO); + for (pIfinfo = pIfinfoList; pIfinfo < (pIfinfoList+numifs); pIfinfo++){ - /* - * dont bother with interfaces that have been disabled - */ - if (!(pIfinfo->iiFlags & IFF_UP)) { - continue; - } - - if (pIfinfo->iiFlags & IFF_LOOPBACK) { + /* + * dont bother with interfaces that have been disabled + */ + if (!(pIfinfo->iiFlags & IFF_UP)) { continue; - } + } - /* - * work around WS2 bug - */ - if (pIfinfo->iiAddress.Address.sa_family != AF_INET) { - if (pIfinfo->iiAddress.Address.sa_family == 0) { - pIfinfo->iiAddress.Address.sa_family = AF_INET; - } - } + if (pIfinfo->iiFlags & IFF_LOOPBACK) { + continue; + } - /* - * if it isnt a wildcarded interface then look for - * an exact match - */ + /* + * work around WS2 bug + */ + if (pIfinfo->iiAddress.Address.sa_family != AF_INET) { + if (pIfinfo->iiAddress.Address.sa_family == 0) { + pIfinfo->iiAddress.Address.sa_family = AF_INET; + } + } + + /* + * if it isnt a wildcarded interface then look for + * an exact match + */ if (pMatchAddr->sa.sa_family != AF_UNSPEC) { if (pIfinfo->iiAddress.Address.sa_family != pMatchAddr->sa.sa_family) { continue; @@ -203,11 +202,11 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses if (pMatchAddr->sa.sa_family != AF_INET) { continue; } - if (pMatchAddr->ia.sin_addr.s_addr != htonl(INADDR_ANY)) { - if (pIfinfo->iiAddress.AddressIn.sin_addr.s_addr != pMatchAddr->ia.sin_addr.s_addr) { - continue; - } - } + if (pMatchAddr->ia.sin_addr.s_addr != htonl(INADDR_ANY)) { + if (pIfinfo->iiAddress.AddressIn.sin_addr.s_addr != pMatchAddr->ia.sin_addr.s_addr) { + continue; + } + } } pNewNode = (osiSockAddrNode *) calloc (1, sizeof(*pNewNode)); @@ -230,11 +229,11 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses pNewNode->addr.sa = pIfinfo->iiBroadcastAddress.Address; } - /* - * LOCK applied externally - */ + /* + * LOCK applied externally + */ ellAdd (pList, &pNewNode->node); - } + } - free (pIfinfoList); + free (pIfinfoList); } From 57b8617cca11f2f6220ebac86a9f89266b0571fc Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 11 Aug 2016 15:48:01 -0500 Subject: [PATCH 102/226] dbdExpand.pl --- src/tools/dbdExpand.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tools/dbdExpand.pl b/src/tools/dbdExpand.pl index d65498d62..c72d25851 100755 --- a/src/tools/dbdExpand.pl +++ b/src/tools/dbdExpand.pl @@ -24,6 +24,8 @@ my @path = map { split /[:;]/ } @opt_I; # FIXME: Broken on Win32? my $macros = EPICS::macLib->new(@opt_S); my $dbd = DBD->new(); +$macros->suppressWarning(1); + # Calculate filename for the dependency warning message below my $dep = $opt_o; my $dot_d = ''; From b3ac81923a71a818d894f861bcd6e6cf35bb69ea Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Sat, 13 Aug 2016 14:00:57 +0200 Subject: [PATCH 103/226] cas: update enum string table on updates for enum type data --- src/cas/generic/casPVI.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/cas/generic/casPVI.cc b/src/cas/generic/casPVI.cc index 7f1b1a024..0b02a6cbf 100644 --- a/src/cas/generic/casPVI.cc +++ b/src/cas/generic/casPVI.cc @@ -221,8 +221,9 @@ void casPVI::updateEnumStringTableAsyncCompletion ( const gdd & resp ) assert ( gdd_status == 0 ); // - // preallocate the correct amount + // clear and preallocate the correct amount // + this->enumStrTbl.clear (); this->enumStrTbl.reserve ( count ); if ( resp.primitiveType() == aitEnumString ) { @@ -260,6 +261,18 @@ void casPVI::updateEnumStringTableAsyncCompletion ( const gdd & resp ) void casPVI::postEvent ( const casEventMask & select, const gdd & event ) { epicsGuard < epicsMutex > guard ( this->mutex ); + // if this is a DBE_PROPERTY event for an enum type + // update the enum string table + if ( (select & this->pCAS->propertyEventMask()).eventsSelected() ) { + const gdd *menu = NULL; + if ( event.applicationType() == gddAppType_dbr_gr_enum ) + menu = event.getDD( gddAppTypeIndex_dbr_gr_enum_enums ); + else if ( event.applicationType() == gddAppType_dbr_ctrl_enum ) + menu = event.getDD( gddAppTypeIndex_dbr_ctrl_enum_enums ); + if ( menu ) + updateEnumStringTableAsyncCompletion( *menu ); + } + if ( this->nMonAttached ) { // we are paying some significant locking overhead for // these diagnostic counters From e5d0915b5153182e249ee56b72bc96fdba23b21c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 17 Aug 2016 11:19:15 -0500 Subject: [PATCH 104/226] MS build config updates, suppress warning C4344 --- configure/CONFIG.CrossCommon | 7 ++- configure/os/CONFIG.win32-x86-debug.Common | 4 +- .../os/CONFIG.win32-x86-debug.win32-x86-debug | 7 ++- .../CONFIG.win32-x86-static.win32-x86-static | 7 ++- configure/os/CONFIG.win32-x86.Common | 2 +- configure/os/CONFIG.win32-x86.win32-x86 | 43 ++++++++++++------- configure/os/CONFIG.win32-x86.win32-x86-debug | 12 +++--- .../os/CONFIG.win32-x86.win32-x86-static | 9 +++- configure/os/CONFIG.win32-x86.windows-x64 | 25 ----------- configure/os/CONFIG.windows-x64-debug.Common | 4 +- configure/os/CONFIG.windows-x64-static.Common | 3 +- ...NFIG.windows-x64-static.windows-x64-static | 6 ++- configure/os/CONFIG.windows-x64.Common | 9 ++-- configure/os/CONFIG.windows-x64.windows-x64 | 12 +++--- .../os/CONFIG.windows-x64.windows-x64-debug | 9 +++- .../os/CONFIG.windows-x64.windows-x64-static | 10 +++-- configure/os/CONFIG_SITE.win32-x86.win32-x86 | 16 ------- documentation/RELEASE_NOTES.html | 16 +++++++ 18 files changed, 103 insertions(+), 98 deletions(-) delete mode 100644 configure/os/CONFIG.win32-x86.windows-x64 delete mode 100644 configure/os/CONFIG_SITE.win32-x86.win32-x86 diff --git a/configure/CONFIG.CrossCommon b/configure/CONFIG.CrossCommon index 167ba490f..2fa6460d7 100644 --- a/configure/CONFIG.CrossCommon +++ b/configure/CONFIG.CrossCommon @@ -3,9 +3,8 @@ # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. -# EPICS BASE Versions 3.13.7 -# and higher are distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# EPICS BASE is distributed subject to a Software License Agreement found +# in file LICENSE that is included with this distribution. #************************************************************************* # Cross compiler default definitions @@ -27,6 +26,6 @@ CROSS_LDFLAGS = $(addprefix -L,$(GNU_TARGET_LIB_DIR)) CMPLR_PREFIX_CROSS=$(addsuffix -,$(GNU_TARGET)) CMPLR_PREFIX=$(CMPLR_PREFIX_$(BUILD_CLASS)) -# All cross builds use the gnu compiler +# Cross builds usually use the gnu compiler include $(CONFIG)/CONFIG.gnuCommon diff --git a/configure/os/CONFIG.win32-x86-debug.Common b/configure/os/CONFIG.win32-x86-debug.Common index 9a394bf59..602fb9038 100644 --- a/configure/os/CONFIG.win32-x86-debug.Common +++ b/configure/os/CONFIG.win32-x86-debug.Common @@ -1,7 +1,7 @@ # CONFIG.win32-x86-debug.Common # -# Definitions for win32-x86 debug with debug compiler flags -# Sites may override these definitions in CONFIG_SITE.win32-x86-debug.Common +# Definitions for win32-x86-debug host arch +# Override these definitions in CONFIG_SITE.win32-x86-debug.Common #------------------------------------------------------- #Include definitions common to win32-x86 hosts diff --git a/configure/os/CONFIG.win32-x86-debug.win32-x86-debug b/configure/os/CONFIG.win32-x86-debug.win32-x86-debug index f568cd148..8ee66ff8f 100644 --- a/configure/os/CONFIG.win32-x86-debug.win32-x86-debug +++ b/configure/os/CONFIG.win32-x86-debug.win32-x86-debug @@ -1,9 +1,12 @@ # CONFIG.win32-x86-debug.win32-x86-debug # -# Definitions for win32-x86 debug compiler host - win32-x86 debug compiler target builds -# Sites may override these definitions in CONFIG_SITE.win32-x86-debug.win32-x86-debug +# Definitions for win32-x86-debug host - win32-x86-debug target build +# Override these definitions in CONFIG_SITE.win32-x86-debug.win32-x86-debug #------------------------------------------------------- +#Include definitions common to win32-x86 builds include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Override CONFIG_SITE settings: HOST_OPT=NO diff --git a/configure/os/CONFIG.win32-x86-static.win32-x86-static b/configure/os/CONFIG.win32-x86-static.win32-x86-static index 105c69698..da90f992a 100644 --- a/configure/os/CONFIG.win32-x86-static.win32-x86-static +++ b/configure/os/CONFIG.win32-x86-static.win32-x86-static @@ -1,10 +1,13 @@ # CONFIG.win32-x86-static.win32-x86.static # -# Definitions for win32-x86-static target archs when host arch is win32-x86-static -# Sites may override these definitions in CONFIG_SITE.win32-x86-static.win32-x86-static +# Definitions for win32-x86-static host - win32-x86-static target build +# Override these definitions in CONFIG_SITE.win32-x86-static.win32-x86-static #------------------------------------------------------- +#Include definitions common to win32-x86 builds include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD = YES diff --git a/configure/os/CONFIG.win32-x86.Common b/configure/os/CONFIG.win32-x86.Common index a20709481..2b4e695f2 100644 --- a/configure/os/CONFIG.win32-x86.Common +++ b/configure/os/CONFIG.win32-x86.Common @@ -1,7 +1,7 @@ # CONFIG.win32-x86.Common # # Definitions for win32-x86 host archs -# Sites may override these definitions in CONFIG_SITE.win32-x86.Common +# Override these definitions in CONFIG_SITE.win32-x86.Common #------------------------------------------------------- CP = $(PERL) -MExtUtils::Command -e cp diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 4bd9b6710..d6592dced 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -1,7 +1,7 @@ # CONFIG.win32-x86.win32-x86 # -# Definitions for win32-x86 target archs when host arch is win32-x86 -# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86 +# Definitions for win32-x86 host - win32-x86 target build +# Override these definitions in CONFIG_SITE.win32-x86.win32-x86 #------------------------------------------------------- # Win32 valid build types and include directory suffixes @@ -28,16 +28,21 @@ BAFCMD = bscmake /nologo /o $@ # Configure OS vendor C compiler CC = cl -# Override CONFIG.gnuCommon for cross builds. +# Override CONFIG.gnuCommon settings for cross builds. GNU = NO HDEPENDS_METHOD = CMD +# Compiler flags for C files (C++ is below) + # -# /W use warning level N -# (maximum (lint type) warnings at level 4) -# /w44355 set "'this' used in the base initializer list" to be level 4 -WARN_CFLAGS_YES = /W3 /w44355 -WARN_CFLAGS_NO = /W1 +# /W display warnings at level d +# /W4 is for maximum (lint type) warnings +# /W3 is for production quality warnings +# /W2 displays significant warnings +# /W1 is the default and shows severe warnings only +# /w Set warning C to be shown at level +WARN_CFLAGS_YES = /W3 +WARN_CFLAGS_NO = /W1 # # /Ox maximum optimizations @@ -78,9 +83,7 @@ STATIC_CFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) STATIC_CFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) # OS vendor c preprocessor -CPP = cl /C /E -#GNU c preprocessor -#CPP = gcc -x c -E +CPP = cl /nologo /C /E # Configure OS vendor C++ compiler # @@ -99,12 +102,20 @@ CCC = cl /nologo /EHsc /GR CODE_CPPFLAGS += /nologo /D__STDC__=0 CODE_CPPFLAGS += /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE + +# Compiler flags for C++ files + # -# /W use warning level N -# (maximum lint level warnings at level 4) -# /w44355 set "'this' used in the base initializer list" to be level 4 -WARN_CXXFLAGS_YES = /W3 /w44355 -WARN_CXXFLAGS_NO = /W1 +# /W display warnings at level d +# /W4 is for maximum (lint type) warnings +# /W3 is for production quality warnings +# /W2 displays significant warnings +# /W1 is the default and shows severe warnings only +# /w Set warning C to be shown at level +# /w44355 "'this' used in the base initializer list" +# /w44344 "behavior change: use of explicit template arguments results in ..." +WARN_CXXFLAGS_YES = /W3 /w44355 /w44344 +WARN_CXXFLAGS_NO = /W1 # # /Ox maximum optimizations diff --git a/configure/os/CONFIG.win32-x86.win32-x86-debug b/configure/os/CONFIG.win32-x86.win32-x86-debug index 90507e406..a71c9957a 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86-debug +++ b/configure/os/CONFIG.win32-x86.win32-x86-debug @@ -1,17 +1,15 @@ # CONFIG.win32-x86.win32-x86-debug # # Definitions for win32-x86 host - win32-x86-debug target build -# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-debug +# Override these definitions in CONFIG_SITE.win32-x86.win32-x86-debug #------------------------------------------------------- --include $(CONFIG)/os/CONFIG.Common.win32-x86 --include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 --include $(CONFIG)/os/CONFIG_SITE.Common.win32-x86 +#Include definitions common to win32-x86 builds +include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 -include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 -GNU = NO - -HDEPENDS_METHOD = CMD +# Override CONFIG.CrossCommon settings: BUILD_CLASS = HOST +# Override CONFIG_SITE settings: HOST_OPT = NO diff --git a/configure/os/CONFIG.win32-x86.win32-x86-static b/configure/os/CONFIG.win32-x86.win32-x86-static index d7513aa42..ae5313a5c 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86-static +++ b/configure/os/CONFIG.win32-x86.win32-x86-static @@ -1,11 +1,16 @@ # CONFIG.win32-x86.win32-x86-static # -# Definitions for win32-x86-static target archs when host arch is win32-x86 -# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86-static +# Definitions for win32-x86 host - win32-x86-static target build +# Override these definitions in CONFIG_SITE.win32-x86.win32-x86-static #------------------------------------------------------- +#Include definitions common to win32-x86 builds include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Override CONFIG.CrossCommon settings: BUILD_CLASS = HOST + +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD = YES diff --git a/configure/os/CONFIG.win32-x86.windows-x64 b/configure/os/CONFIG.win32-x86.windows-x64 deleted file mode 100644 index 09bba85f4..000000000 --- a/configure/os/CONFIG.win32-x86.windows-x64 +++ /dev/null @@ -1,25 +0,0 @@ -# CONFIG.win-x86.windows-x64 -# -# Definitions for windows-x64 target archs when host arch is win32-x86 -# Sites may override these definitions in CONFIG_SITE.win32-x86.windows-x64 -#------------------------------------------------------- - --include $(CONFIG)/os/CONFIG.Common.win32-x86 --include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 - -ARCH_DEP_CPPFLAGS += /favor:blend -#ARCH_DEP_CPPFLAGS += /Wp64 - -# /favor:blend both AMD64 and INTEL64 This is the default -# /favor:AMD64 -# /favor:INTEL64 (new value) -# /favor:EN64T (old value) - -OPT_LDFLAGS += /MACHINE:X64 - -# /MACHINE:X64 -# /MACHINE:IA64 (Itanium) -# /MACHINE:X86 - -#The following option does not work -#ARCH_DEP_CPPFLAGS += /env x64 diff --git a/configure/os/CONFIG.windows-x64-debug.Common b/configure/os/CONFIG.windows-x64-debug.Common index 5598ff4b5..ad433bc8f 100644 --- a/configure/os/CONFIG.windows-x64-debug.Common +++ b/configure/os/CONFIG.windows-x64-debug.Common @@ -1,7 +1,7 @@ # CONFIG.windows-x64-debug.Common # -# Definitions for windows-x64 debug with debug compiler flags -# Sites may override these definitions in CONFIG_SITE.windows-x64-debug.Common +# Definitions for windows-x64-debug host arch +# Override these definitions in CONFIG_SITE.windows-x64-debug.Common #------------------------------------------------------- #Include definitions common to windows-x64 hosts diff --git a/configure/os/CONFIG.windows-x64-static.Common b/configure/os/CONFIG.windows-x64-static.Common index 05ec5528d..88bef64ff 100644 --- a/configure/os/CONFIG.windows-x64-static.Common +++ b/configure/os/CONFIG.windows-x64-static.Common @@ -1,8 +1,9 @@ # CONFIG.windows-x64-static.Common # # Definitions for windows-x64-static host archs -# Sites may override these definitions in CONFIG_SITE.windows-x64-static.Common +# Override these definitions in CONFIG_SITE.windows-x64-static.Common #------------------------------------------------------- +#Include definitions common to windows-x64 hosts include $(CONFIG)/os/CONFIG.windows-x64.Common diff --git a/configure/os/CONFIG.windows-x64-static.windows-x64-static b/configure/os/CONFIG.windows-x64-static.windows-x64-static index fb33b8650..097e65558 100644 --- a/configure/os/CONFIG.windows-x64-static.windows-x64-static +++ b/configure/os/CONFIG.windows-x64-static.windows-x64-static @@ -1,10 +1,12 @@ # CONFIG.windows-x64-static.windows-x64-static # -# Definitions for windows-x64-static target archs when host arch is windows-x64-static -# Sites may override these definitions in CONFIG_SITE.windows-x64-static.windows-x64-static +# Definitions for windows-x64-static host - windows-x64-static target build +# Override these definitions in CONFIG_SITE.windows-x64-static.windows-x64-static #------------------------------------------------------- +#Include definitions common to windows-x64 builds include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD= YES diff --git a/configure/os/CONFIG.windows-x64.Common b/configure/os/CONFIG.windows-x64.Common index 9415c9433..de2fa3f57 100644 --- a/configure/os/CONFIG.windows-x64.Common +++ b/configure/os/CONFIG.windows-x64.Common @@ -1,10 +1,9 @@ # CONFIG.windows-x64.Common # -# Definitions for windows-x64 host archs -# Sites may override these definitions in CONFIG_SITE.windows-x64.Common +# Definitions for windows-x64 host arch +# Override these definitions in CONFIG_SITE.windows-x64.Common #------------------------------------------------------- --include $(CONFIG)/os/CONFIG.win32-x86.Common - -WIND_HOST_TYPE = x86-win32 +#Include definitions common to win32-x86 hosts +include $(CONFIG)/os/CONFIG.win32-x86.Common diff --git a/configure/os/CONFIG.windows-x64.windows-x64 b/configure/os/CONFIG.windows-x64.windows-x64 index e7ffda5a9..d820dbacc 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64 +++ b/configure/os/CONFIG.windows-x64.windows-x64 @@ -1,21 +1,21 @@ # CONFIG.windows-x64.windows-x64 # -# Definitions for windows-x64 target archs when host arch is windows-x64 -# Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64 +# Definitions for windows-x64 host - windows-x64 target build +# Override these definitions in CONFIG_SITE.windows-x64.windows-x64 #------------------------------------------------------- --include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +#Include definitions common to win32-x86 builds +include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 +-include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 +# Modify CONFIG.win32-x86.win32-x86 settings: ARCH_DEP_CPPFLAGS += /favor:blend -#ARCH_DEP_CPPFLAGS += /Wp64 - # /favor:blend both AMD64 and INTEL64 # /favor:AMD64 # /favor:INTEL64 (new value) # /favor:EN64T (old value) OPT_LDFLAGS += /MACHINE:X64 - # /MACHINE:X64 # /MACHINE:IA64 (Itanium) # /MACHINE:X86 diff --git a/configure/os/CONFIG.windows-x64.windows-x64-debug b/configure/os/CONFIG.windows-x64.windows-x64-debug index dc9162a82..8c97ac343 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64-debug +++ b/configure/os/CONFIG.windows-x64.windows-x64-debug @@ -1,9 +1,14 @@ # CONFIG.windows-x64.windows-x64-debug # -# Definitions for windows-x64 compiler host - windows-x64 debug compiler target builds -# Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64-debug +# Definitions for windows-x64 host - windows-x64-debug target build +# Override these definitions in CONFIG_SITE.windows-x64.windows-x64-debug #------------------------------------------------------- +#Include definitions common to windows-x64 builds include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 +# Override CONFIG.CrossCommon settings: +BUILD_CLASS = HOST + +# Override CONFIG_SITE settings: HOST_OPT=NO diff --git a/configure/os/CONFIG.windows-x64.windows-x64-static b/configure/os/CONFIG.windows-x64.windows-x64-static index 27387c351..49bf2e0f6 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64-static +++ b/configure/os/CONFIG.windows-x64.windows-x64-static @@ -1,11 +1,15 @@ -# CONFIG.windows-x86.windows-x86-static +# CONFIG.windows-x64.windows-x64-static # -# Definitions for windows-x64-static target archs when host arch is windows-x64 -# Sites may override these definitions in CONFIG_SITE.windows-x64.windows-x64-static +# Definitions for windows-x64 host - windows-x64-static target build +# Override these definitions in CONFIG_SITE.windows-x64.windows-x64-static #------------------------------------------------------- +#Include definitions common to windows-x64 builds include $(CONFIG)/os/CONFIG.windows-x64.windows-x64 +# Override CONFIG.CrossCommon settings: BUILD_CLASS = HOST + +# Override CONFIG_SITE settings: SHARED_LIBRARIES = NO STATIC_BUILD = YES diff --git a/configure/os/CONFIG_SITE.win32-x86.win32-x86 b/configure/os/CONFIG_SITE.win32-x86.win32-x86 deleted file mode 100644 index 165480409..000000000 --- a/configure/os/CONFIG_SITE.win32-x86.win32-x86 +++ /dev/null @@ -1,16 +0,0 @@ - -# If you have Visual C++ 6.0, uncomment the following override lines -# This will to eliminate warnings about unknown options /GL, /LTCG, and /w44355. -#OPT_CFLAGS_YES = /Ox -#OPT_CXXFLAGS_YES = /Ox -#OPT_CFLAGS_NO = /Zi -#OPT_CXXFLAGS_NO = /Zi -#LINK_OPT_FLAGS_YES = /incremental:no /opt:ref /release $(PROD_VERSION:%=/version:%) -#WARN_CFLAGS_YES = /W3 -#WARN_CXXFLAGS_YES = /W3 - - -# If you have Visual C++ 8.0 or 8.0 express, uncomment the following override. -# This will eliminate warnings about /GX being deprecated. -#CCC = cl /nologo /EHsc /GR - diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index a0c7aafbd..dab0a01e6 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,22 @@ +

Microsoft Visual Studio builds

+ +

The build configuration files for builds using the Microsoft compilers have +been updated, although there should be no noticable difference at most sites. +One extra compiler warning is now being suppressed for C++ code, C4344: +behavior change: use of explicit template arguments results in ... which is +gratuitous and was appearing frequently in builds of the EPICS V4 modules.

+ +

Cross-builds of the windows-x64 target from a win32-x86 host have been +removed as they don't actually work within the context of a single make +run. Significant changes to the build configuration files would be necessary for +these kinds of cross-builds to work properly, which could be done if someone +needs them (email Andrew Johnson before working on this, and see + +this stack-overflow answer for a starting point).

+

Bazaar keywords such as 'Revision-Id' removed

In preparation for moving to git in place of the Bazaar revision control From 3963dcb4df062934ea8e3609d089049d317055e3 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 24 Aug 2016 20:17:36 -0500 Subject: [PATCH 105/226] dbgf: Don't print beyond last buffer char --- src/db/dbTest.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/db/dbTest.c b/src/db/dbTest.c index 587b1df23..ed0111a69 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -950,7 +950,9 @@ static void printBuffer( } else { for (i = 0; i < no_elements; i+= MAXLINE - 5) { - sprintf(pmsg, " \"%.*s\"", MAXLINE - 5, (char *)pbuffer + i); + int width = no_elements - i; + if (width > MAXLINE - 5) width = MAXLINE - 5; + sprintf(pmsg, " \"%.*s\"", width, (char *)pbuffer + i); if (i + MAXLINE - 5 < no_elements) strcat(pmsg, " +"); dbpr_msgOut(pMsgBuff, tab_size); } From 6934f9b4c10ca08ce1d8bbaa51eff00fcbcd326e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 25 Aug 2016 14:39:05 -0500 Subject: [PATCH 106/226] darwin: Add Homebrew settings to CONFIG_SITE --- .../os/CONFIG_SITE.darwinCommon.darwinCommon | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/configure/os/CONFIG_SITE.darwinCommon.darwinCommon b/configure/os/CONFIG_SITE.darwinCommon.darwinCommon index edef3938a..297fd8e4f 100644 --- a/configure/os/CONFIG_SITE.darwinCommon.darwinCommon +++ b/configure/os/CONFIG_SITE.darwinCommon.darwinCommon @@ -3,15 +3,21 @@ # Site specific definitions for darwin builds #------------------------------------------------------- -# Uncomment the following two definitions to enable the use of DarwinPorts packages. -# +# Note the dir/firstword/wildcard functions below are used +# to avoid warnings about missing directories. + +# Mix-and-match of different package systems is probably not advisable, +# but you can try that if you like... + +# Uncomment these definitions when using Homebrew packages: +#OP_SYS_INCLUDES += -I/usr/local/include +#OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /usr/local/lib/*)))) + +# Uncomment these definitions when using DarwinPorts packages: #OP_SYS_INCLUDES += -I/opt/local/include -# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist -#OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /opt/local/lib/*)))) +#OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /opt/local/lib/*)))) -# Uncomment the following two definitions to enable the use of Fink packages. -# +# Uncomment these definitions when using Fink packages: #OP_SYS_INCLUDES += -I/sw/include -# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist -#OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /sw/lib/*)))) +#OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /sw/lib/*)))) From b671d1cc40754eda039390d78620908afe48ab45 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 25 Aug 2016 14:49:29 -0500 Subject: [PATCH 107/226] mingw: Fix the list of Windows OS libraries to link against --- configure/os/CONFIG.linux-x86.win32-x86-mingw | 4 ++-- configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure/os/CONFIG.linux-x86.win32-x86-mingw b/configure/os/CONFIG.linux-x86.win32-x86-mingw index 0e9c44c13..0248ed0e8 100644 --- a/configure/os/CONFIG.linux-x86.win32-x86-mingw +++ b/configure/os/CONFIG.linux-x86.win32-x86-mingw @@ -18,5 +18,5 @@ LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX) # Don't link with gcc library GNU_LDLIBS_YES = -# Link with winsock2 -OP_SYS_LDLIBS = -lws2_32 +# Link with system libraries +OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm diff --git a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw index 1ea8b9c30..07cf07c11 100644 --- a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw +++ b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw @@ -29,5 +29,5 @@ LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX) # Don't link with gcc library GNU_LDLIBS_YES = -# Link with winsock2 -OP_SYS_LDLIBS = -lws2_32 +# Link with system libraries +OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm From 80eaad41183e5f3eb54509bea17a91b52daef27d Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 29 Aug 2016 13:04:48 -0500 Subject: [PATCH 108/226] GeneralTime updates to improve time provider synchronization --- documentation/RELEASE_NOTES.html | 25 ++++ src/libCom/osi/epicsGeneralTime.c | 194 +++++++++++++++++++++++++----- src/libCom/osi/osiClockTime.c | 12 +- src/misc/iocInit.c | 19 +++ 4 files changed, 217 insertions(+), 33 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index dab0a01e6..10daf1016 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,31 @@ +

General Time updates

+ +

The iocInit code now performs a sanity check of the current time +returned by the generalTime subsystem and will print a warning if the wall-clock +time returned has not been initialized yet. This is just a warning message; when +a time provider does synchonize the IOC will subsequently pick up and use the +correct time. This check code also primes the registered event system provider +if there is one so the epicsTimeGetEventInt() routine will work on IOCs +that ask for event time within an interrupt service routine.

+ +

The osiClockTime provider's synchronization thread (which is only used on +some embedded targets) will now poll the other time providers at 1Hz until the +first time it manages to get a successful timestamp, after which it will poll +for updates every 60 seconds as before.

+ +

The routine generalTimeGetExceptPriority() was designed for use by +backup (lower priority) time providers like the osiClockTime provider which do +not have their own absolute time reference and rely on other providers for an +absolute time source. This routine no longer implements the ratchet mechanism +that prevented the time it returned from going backwards. If the backup clock's +tick-timer runs fast the synchronization of the backup time provider would never +allow it to be corrected backwards when the ratchet was in place. The regular +epicsTimeGetCurrent() API still uses the ratchet mechanism, so this +change will not cause the IOC to see time going backwards.

+

Microsoft Visual Studio builds

The build configuration files for builds using the Microsoft compilers have diff --git a/src/libCom/osi/epicsGeneralTime.c b/src/libCom/osi/epicsGeneralTime.c index 8ef8a73cc..7c94b81d5 100644 --- a/src/libCom/osi/epicsGeneralTime.c +++ b/src/libCom/osi/epicsGeneralTime.c @@ -1,5 +1,5 @@ /*************************************************************************\ -* Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne +* Copyright (c) 2016 UChicago Argonne LLC, as Operator of Argonne * National Laboratory. * Copyright (c) 2008 Diamond Light Source Ltd * Copyright (c) 2004 Oak Ridge National Laboratory @@ -31,6 +31,17 @@ #include "generalTimeSup.h" #include "epicsGeneralTime.h" +/* Change 'undef' to 'define' to turn on debug statements: */ +#undef DEBUG_GENERAL_TIME + +#ifdef DEBUG_GENERAL_TIME + int generalTimeDebug = 10; +# define IFDEBUG(n) \ + if (generalTimeDebug >= n) /* block or statement */ +#else +# define IFDEBUG(n) \ + if(0) /* Compiler will elide the block or statement */ +#endif /* Declarations */ @@ -65,6 +76,7 @@ static struct { static epicsThreadOnceId onceId = EPICS_THREAD_ONCE_INIT; +static const char * const tsfmt = "%Y-%m-%d %H:%M:%S.%09f"; /* Implementation */ @@ -75,6 +87,9 @@ static void generalTime_InitOnce(void *dummy) ellInit(>Pvt.eventProviders); gtPvt.eventListLock = epicsMutexMustCreate(); + + IFDEBUG(1) + printf("General Time Initialized\n"); } void generalTime_Init(void) @@ -90,44 +105,103 @@ int generalTimeGetExceptPriority(epicsTimeStamp *pDest, int *pPrio, int ignore) generalTime_Init(); + IFDEBUG(2) + printf("generalTimeGetExceptPriority(ignore=%d)\n", ignore); + epicsMutexMustLock(gtPvt.timeListLock); for (ptp = (gtProvider *)ellFirst(>Pvt.timeProviders); ptp; ptp = (gtProvider *)ellNext(&ptp->node)) { - if (ptp->priority == ignore) + if ((ignore > 0 && ptp->priority == ignore) || + (ignore < 0 && ptp->priority != -ignore)) continue; status = ptp->get.Time(pDest); if (status == epicsTimeOK) { - /* check time is monotonic */ - if (epicsTimeGreaterThanEqual(pDest, >Pvt.lastProvidedTime)) { - gtPvt.lastProvidedTime = *pDest; - if (ignore == 0) - gtPvt.lastTimeProvider = ptp; - if (pPrio) - *pPrio = ptp->priority; - } else { - int key; - *pDest = gtPvt.lastProvidedTime; - if (pPrio) - *pPrio = gtPvt.lastTimeProvider->priority; - key = epicsInterruptLock(); - gtPvt.ErrorCounts++; - epicsInterruptUnlock(key); - } + /* No ratchet, time from this routine may go backwards */ + if (pPrio) + *pPrio = ptp->priority; break; } + else IFDEBUG(2) + printf("gTGExP provider '%s' returned error\n", ptp->name); } - if (status == epicsTimeERROR && - ignore == 0) - gtPvt.lastTimeProvider = NULL; epicsMutexUnlock(gtPvt.timeListLock); + IFDEBUG(2) { + if (ptp && status == epicsTimeOK) { + char buff[40]; + + epicsTimeToStrftime(buff, sizeof(buff), tsfmt, pDest); + printf("gTGExP returning %s from provider '%s'\n", + buff, ptp->name); + } + else + printf("gTGExP returning error\n"); + } + return status; } int epicsShareAPI epicsTimeGetCurrent(epicsTimeStamp *pDest) { - return generalTimeGetExceptPriority(pDest, NULL, 0); + gtProvider *ptp; + int status = epicsTimeERROR; + epicsTimeStamp ts; + + generalTime_Init(); + + IFDEBUG(20) + printf("epicsTimeGetCurrent()\n"); + + epicsMutexMustLock(gtPvt.timeListLock); + for (ptp = (gtProvider *)ellFirst(>Pvt.timeProviders); + ptp; ptp = (gtProvider *)ellNext(&ptp->node)) { + + status = ptp->get.Time(&ts); + if (status == epicsTimeOK) { + /* check time is monotonic */ + if (epicsTimeGreaterThanEqual(&ts, >Pvt.lastProvidedTime)) { + *pDest = ts; + gtPvt.lastProvidedTime = ts; + gtPvt.lastTimeProvider = ptp; + } else { + int key; + + *pDest = gtPvt.lastProvidedTime; + key = epicsInterruptLock(); + gtPvt.ErrorCounts++; + epicsInterruptUnlock(key); + + IFDEBUG(10) { + char last[40], buff[40]; + + epicsTimeToStrftime(last, sizeof(last), tsfmt, + >Pvt.lastProvidedTime); + epicsTimeToStrftime(buff, sizeof(buff), tsfmt, &ts); + printf("eTGC provider '%s' returned older time\n" + " %s, using %s instead\n", ptp->name, buff, last); + } + } + break; + } + } + if (status == epicsTimeERROR) + gtPvt.lastTimeProvider = NULL; + epicsMutexUnlock(gtPvt.timeListLock); + + IFDEBUG(20) { + if (ptp && status == epicsTimeOK) { + char buff[40]; + + epicsTimeToStrftime(buff, sizeof(buff), tsfmt, &ts); + printf("eTGC returning %s from provider '%s'\n", + buff, ptp->name); + } + else + printf("eTGC returning error\n"); + } + + return status; } int epicsTimeGetCurrentInt(epicsTimeStamp *pDest) @@ -135,7 +209,11 @@ int epicsTimeGetCurrentInt(epicsTimeStamp *pDest) gtProvider *ptp = gtPvt.lastTimeProvider; if (ptp == NULL || - ptp->getInt.Time == NULL) return epicsTimeERROR; + ptp->getInt.Time == NULL) { + IFDEBUG(20) + epicsInterruptContextMessage("eTGCInt: No support\n"); + return epicsTimeERROR; + } return ptp->getInt.Time(pDest); } @@ -146,9 +224,13 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, { gtProvider *ptp; int status = epicsTimeERROR; + epicsTimeStamp ts; generalTime_Init(); + IFDEBUG(2) + printf("generalTimeGetEventPriority(eventNum=%d)\n", eventNumber); + if ((eventNumber < 0 || eventNumber >= NUM_TIME_EVENTS) && (eventNumber != epicsTimeEventBestTime)) return status; @@ -157,27 +239,40 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, for (ptp = (gtProvider *)ellFirst(>Pvt.eventProviders); ptp; ptp = (gtProvider *)ellNext(&ptp->node)) { - status = ptp->get.Event(pDest, eventNumber); - if (status != epicsTimeERROR) { + status = ptp->get.Event(&ts, eventNumber); + if (status == epicsTimeOK) { gtPvt.lastEventProvider = ptp; if (pPrio) *pPrio = ptp->priority; if (eventNumber == epicsTimeEventBestTime) { - if (epicsTimeGreaterThanEqual(pDest, + if (epicsTimeGreaterThanEqual(&ts, >Pvt.lastProvidedBestTime)) { - gtPvt.lastProvidedBestTime = *pDest; + *pDest = ts; + gtPvt.lastProvidedBestTime = ts; } else { int key; *pDest = gtPvt.lastProvidedBestTime; key = epicsInterruptLock(); gtPvt.ErrorCounts++; epicsInterruptUnlock(key); + + IFDEBUG(10) { + char last[40], buff[40]; + + epicsTimeToStrftime(last, sizeof(last), tsfmt, + >Pvt.lastProvidedBestTime); + epicsTimeToStrftime(buff, sizeof(buff), tsfmt, &ts); + printf("gTGEvP provider '%s' returned older time\n" + " %s, using %s instead\n", + ptp->name, buff, last); + } } } else { if (epicsTimeGreaterThanEqual(pDest, >Pvt.eventTime[eventNumber])) { - gtPvt.eventTime[eventNumber] = *pDest; + *pDest = ts; + gtPvt.eventTime[eventNumber] = ts; } else { int key; *pDest = gtPvt.eventTime[eventNumber]; @@ -185,14 +280,39 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, gtPvt.ErrorCounts++; epicsInterruptUnlock(key); } + + IFDEBUG(10) { + char last[40], buff[40]; + + epicsTimeToStrftime(last, sizeof(last), tsfmt, + >Pvt.lastProvidedBestTime); + epicsTimeToStrftime(buff, sizeof(buff), tsfmt, &ts); + printf("gTGEvP provider '%s' returned older time\n" + " %s, using %s instead\n", + ptp->name, buff, last); + } } break; } + else IFDEBUG(2) + printf("gTGEvP provider '%s' returned error\n", ptp->name); } if (status == epicsTimeERROR) gtPvt.lastEventProvider = NULL; epicsMutexUnlock(gtPvt.eventListLock); + IFDEBUG(10) { + if (ptp && status == epicsTimeOK) { + char buff[40]; + + epicsTimeToStrftime(buff, sizeof(buff), tsfmt, &ts); + printf("gTGEvP returning %s from provider '%s'\n", + buff, ptp->name); + } + else + printf("gTGEvP returning error\n"); + } + return status; } @@ -213,7 +333,11 @@ int epicsTimeGetEventInt(epicsTimeStamp *pDest, int eventNumber) gtProvider *ptp = gtPvt.lastEventProvider; if (ptp == NULL || - ptp->getInt.Event == NULL) return epicsTimeERROR; + ptp->getInt.Event == NULL) { + IFDEBUG(20) + epicsInterruptContextMessage("eTGEvInt: No support\n"); + return epicsTimeERROR; + } return ptp->getInt.Event(pDest, eventNumber); } @@ -284,6 +408,9 @@ int generalTimeRegisterEventProvider(const char *name, int priority, insertProvider(ptp, >Pvt.eventProviders, gtPvt.eventListLock); + IFDEBUG(1) + printf("Registered event provider '%s' at %d\n", name, priority); + return epicsTimeOK; } @@ -297,6 +424,9 @@ int generalTimeAddIntEventProvider(const char *name, int priority, ptp->getInt.Event = getEvent; + IFDEBUG(1) + printf("Event provider '%s' is interrupt-callable\n", name); + return epicsTimeOK; } @@ -321,6 +451,9 @@ int generalTimeRegisterCurrentProvider(const char *name, int priority, insertProvider(ptp, >Pvt.timeProviders, gtPvt.timeListLock); + IFDEBUG(1) + printf("Registered time provider '%s' at %d\n", name, priority); + return epicsTimeOK; } @@ -334,6 +467,9 @@ int generalTimeAddIntCurrentProvider(const char *name, int priority, ptp->getInt.Time = getTime; + IFDEBUG(1) + printf("Time provider '%s' is interrupt-callable\n", name); + return epicsTimeOK; } diff --git a/src/libCom/osi/osiClockTime.c b/src/libCom/osi/osiClockTime.c index 94bdb93d1..1463ee551 100644 --- a/src/libCom/osi/osiClockTime.c +++ b/src/libCom/osi/osiClockTime.c @@ -23,7 +23,7 @@ #include "taskwd.h" #define NSEC_PER_SEC 1000000000 -#define ClockTimeSyncInterval 60.0 +#define ClockTimeSyncInterval_value 60.0 static struct { @@ -31,6 +31,7 @@ static struct { int synchronized; epicsEventId loopEvent; epicsTimeStamp syncTime; + double ClockTimeSyncInterval; int syncFromPriority; epicsMutexId lock; } ClockTimePvt; @@ -74,6 +75,7 @@ static void ClockTime_InitOnce(void *psync) ClockTimePvt.synchronize = *(int *)psync; ClockTimePvt.loopEvent = epicsEventMustCreate(epicsEventEmpty); ClockTimePvt.lock = epicsMutexCreate(); + ClockTimePvt.ClockTimeSyncInterval = 1.0; /* First sync */ if (ClockTimePvt.synchronize) { /* Start the sync thread */ @@ -116,10 +118,10 @@ static void ClockTimeSync(void *dummy) taskwdInsert(0, NULL, NULL); for (epicsEventWaitWithTimeout(ClockTimePvt.loopEvent, - ClockTimeSyncInterval); + ClockTimePvt.ClockTimeSyncInterval); ClockTimePvt.synchronize; epicsEventWaitWithTimeout(ClockTimePvt.loopEvent, - ClockTimeSyncInterval)) { + ClockTimePvt.ClockTimeSyncInterval)) { epicsTimeStamp timeNow; int priority; @@ -138,6 +140,8 @@ static void ClockTimeSync(void *dummy) ClockTimePvt.syncFromPriority = priority; ClockTimePvt.syncTime = timeNow; epicsMutexUnlock(ClockTimePvt.lock); + + ClockTimePvt.ClockTimeSyncInterval = ClockTimeSyncInterval_value; } } @@ -195,7 +199,7 @@ int ClockTime_Report(int level) printf("Last successful sync was at %s\n", lastSync); } printf("Syncronization interval = %.0f seconds\n", - ClockTimeSyncInterval); + ClockTimePvt.ClockTimeSyncInterval); } else printf("OS Clock driver has *not* yet synchronized\n"); diff --git a/src/misc/iocInit.c b/src/misc/iocInit.c index b8f32d809..cb6aacecd 100644 --- a/src/misc/iocInit.c +++ b/src/misc/iocInit.c @@ -24,6 +24,7 @@ #include "epicsThread.h" #include "epicsPrint.h" #include "ellLib.h" +#include "epicsGeneralTime.h" #include "dbDefs.h" #include "dbBase.h" #include "caeventmask.h" @@ -69,6 +70,7 @@ static enum { /* define forward references*/ static int checkDatabase(dbBase *pdbbase); +static void checkGeneralTime(void); static void initDrvSup(void); static void initRecSup(void); static void initDevSup(void); @@ -110,6 +112,7 @@ int iocBuild(void) /* After this point, further calls to iocInit() are disallowed. */ iocState = iocBuilding; + checkGeneralTime(); taskwdInit(); callbackInit(); initHookAnnounce(initHookAfterCallbackInit); @@ -281,6 +284,22 @@ static int checkDatabase(dbBase *pdbbase) return 0; } +static void checkGeneralTime(void) +{ + epicsTimeStamp ts; + + epicsTimeGetCurrent(&ts); + if (ts.secPastEpoch < 2*24*60*60) { + static const char * const tsfmt = "%Y-%m-%d %H:%M:%S.%09f"; + char buff[40]; + + epicsTimeToStrftime(buff, sizeof(buff), tsfmt, &ts); + errlogPrintf("iocInit: Time provider has not yet synchronized.\n"); + } + + epicsTimeGetEvent(&ts, 1); /* Prime gtPvt.lastEventProvider for ISRs */ +} + static void initDrvSup(void) /* Locate all driver support entry tables */ { From 661058e43e62980c4875ab894c5ae19e409a38f0 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 2 Sep 2016 15:12:50 -0500 Subject: [PATCH 109/226] ca: Fix client bug (race condition) in ipAddrToAsciiEngine --- src/ca/cac.cpp | 10 ++++++++++ src/ca/cac.h | 1 + src/ca/msgForMultiplyDefinedPV.cpp | 4 +++- src/ca/msgForMultiplyDefinedPV.h | 9 ++++++--- src/libCom/misc/ipAddrToAsciiAsynchronous.cpp | 6 +++++- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/ca/cac.cpp b/src/ca/cac.cpp index 0317f2145..8a756c746 100644 --- a/src/ca/cac.cpp +++ b/src/ca/cac.cpp @@ -333,6 +333,12 @@ cac::~cac () this->ipToAEngine.release (); + // clean-up the list of un-notified msg objects + while ( msgForMultiplyDefinedPV * msg = this->msgMultiPVList.get() ) { + msg->~msgForMultiplyDefinedPV (); + this->mdpvFreeList.release ( msg ); + } + errlogFlush (); osiSockRelease (); @@ -606,6 +612,8 @@ void cac::transferChanToVirtCircuit ( msgForMultiplyDefinedPV * pMsg = new ( this->mdpvFreeList ) msgForMultiplyDefinedPV ( this->ipToAEngine, *this, pChan->pName ( guard ), acc ); + // cac keeps a list of these objects for proper clean-up in ~cac + this->msgMultiPVList.add ( *pMsg ); // It is possible for the ioInitiate call below to // call the callback directly if queue quota is exceeded. // This callback takes the callback lock and therefore we @@ -1297,6 +1305,8 @@ void cac::pvMultiplyDefinedNotify ( msgForMultiplyDefinedPV & mfmdpv, epicsGuard < epicsMutex > guard ( this->mutex ); this->exception ( mgr.cbGuard, guard, ECA_DBLCHNL, buf, __FILE__, __LINE__ ); } + // remove from the list and delete msg object + this->msgMultiPVList.remove ( mfmdpv ); mfmdpv.~msgForMultiplyDefinedPV (); this->mdpvFreeList.release ( & mfmdpv ); } diff --git a/src/ca/cac.h b/src/ca/cac.h index 63acccb6f..96cb19a78 100644 --- a/src/ca/cac.h +++ b/src/ca/cac.h @@ -237,6 +237,7 @@ private: resTable < tcpiiu, caServerID > serverTable; tsDLList < tcpiiu > circuitList; tsDLList < SearchDest > searchDestList; + tsDLList < msgForMultiplyDefinedPV > msgMultiPVList; tsFreeList < class tcpiiu, 32, epicsMutexNOOP > freeListVirtualCircuit; diff --git a/src/ca/msgForMultiplyDefinedPV.cpp b/src/ca/msgForMultiplyDefinedPV.cpp index 2f1a45cde..7002dd4b9 100644 --- a/src/ca/msgForMultiplyDefinedPV.cpp +++ b/src/ca/msgForMultiplyDefinedPV.cpp @@ -55,8 +55,10 @@ msgForMultiplyDefinedPV::~msgForMultiplyDefinedPV () void msgForMultiplyDefinedPV::transactionComplete ( const char * pHostNameRej ) { + // calls into cac for the notification + // the msg object (= this) is being deleted as part of the notification this->cb.pvMultiplyDefinedNotify ( *this, this->channel, this->acc, pHostNameRej ); - // !! dont touch this pointer after this point because object has been deleted !! + // !! dont touch 'this' pointer after this point because object has been deleted !! } void * msgForMultiplyDefinedPV::operator new ( size_t size, diff --git a/src/ca/msgForMultiplyDefinedPV.h b/src/ca/msgForMultiplyDefinedPV.h index 45d3453ac..3f1e771c0 100644 --- a/src/ca/msgForMultiplyDefinedPV.h +++ b/src/ca/msgForMultiplyDefinedPV.h @@ -33,6 +33,7 @@ #include "ipAddrToAsciiAsynchronous.h" #include "tsFreeList.h" +#include "tsDLList.h" #include "compilerDependencies.h" #ifdef msgForMultiplyDefinedPVh_epicsExportSharedSymbols @@ -47,7 +48,9 @@ public: const char * pAcc, const char * pRej ) = 0; }; -class msgForMultiplyDefinedPV : public ipAddrToAsciiCallBack { +class msgForMultiplyDefinedPV : + public ipAddrToAsciiCallBack, + public tsDLNode < msgForMultiplyDefinedPV > { public: msgForMultiplyDefinedPV ( ipAddrToAsciiEngine & engine, callbackForMultiplyDefinedPV &, const char * pChannelName, @@ -62,8 +65,8 @@ private: ipAddrToAsciiTransaction & dnsTransaction; callbackForMultiplyDefinedPV & cb; void transactionComplete ( const char * pHostName ); - msgForMultiplyDefinedPV ( const msgForMultiplyDefinedPV & ); - msgForMultiplyDefinedPV & operator = ( const msgForMultiplyDefinedPV & ); + msgForMultiplyDefinedPV ( const msgForMultiplyDefinedPV & ); + msgForMultiplyDefinedPV & operator = ( const msgForMultiplyDefinedPV & ); void operator delete ( void * ); }; diff --git a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp index 09742e8a3..6dbdc405e 100644 --- a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp +++ b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp @@ -264,12 +264,16 @@ void ipAddrToAsciiEnginePrivate::run () continue; } + // fix for lp:1580623 + // a destructing cac sets pCurrent to NULL, so + // make local copy to avoid race when releasing the guard + ipAddrToAsciiTransactionPrivate *pCur = this->pCurrent; this->callbackInProgress = true; { epicsGuardRelease < epicsMutex > unguard ( guard ); // dont call callback with lock applied - this->pCurrent->pCB->transactionComplete ( this->nameTmp ); + pCur->pCB->transactionComplete ( this->nameTmp ); } this->callbackInProgress = false; From 9de65e05d4b267235ce949833b19e3b9915ee94b Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 27 Sep 2016 15:59:53 +0200 Subject: [PATCH 110/226] libCom/osi: fix timespec definition for MinGW (cherry-picked from 3.15) --- src/libCom/osi/os/WIN32/osdTime.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libCom/osi/os/WIN32/osdTime.h b/src/libCom/osi/os/WIN32/osdTime.h index 67fc83320..35848f6dc 100644 --- a/src/libCom/osi/os/WIN32/osdTime.h +++ b/src/libCom/osi/os/WIN32/osdTime.h @@ -14,11 +14,17 @@ #ifndef INC_osdTime_H #define INC_osdTime_H +/* MinGW only has a snippet time.h not protected against multiple inclusion */ +#if defined(__struct_timespec_defined) +#define _TIMESPEC_DEFINED 1 +#endif + #if ! defined(_MINGW) || ! defined(_TIMESPEC_DEFINED) # if _MSC_VER >= 1900 # include # else +#define __struct_timespec_defined 1 #define _TIMESPEC_DEFINED 1 struct timespec { time_t tv_sec; /* seconds since some epoch */ From 8fb2267218636048297fde9ddc609da4574771c5 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 27 Sep 2016 16:57:53 -0500 Subject: [PATCH 111/226] Revert breaktable point() syntax, not in dbStatic --- src/tools/DBD/Output.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/DBD/Output.pm b/src/tools/DBD/Output.pm index b82ff98c9..85525269f 100644 --- a/src/tools/DBD/Output.pm +++ b/src/tools/DBD/Output.pm @@ -92,7 +92,7 @@ sub OutputBreaktables { my ($out, $breaktables) = @_; while (my ($name, $breaktable) = each %{$breaktables}) { printf $out "breaktable(\"%s\") {\n", $name; - printf $out " point(%s, %s)\n", @{$_} + printf $out " %s, %s\n", @{$_} foreach $breaktable->points; print $out "}\n"; } From c2b17feaf1c5aaf7f61b9132a7d7c0ee496ed891 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Tue, 27 Sep 2016 21:36:28 -0400 Subject: [PATCH 112/226] libCom: Missing unlock in epicsThreadShow for RTEMS fixes lp:1628323 --- src/libCom/osi/os/RTEMS/osdThread.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libCom/osi/os/RTEMS/osdThread.c b/src/libCom/osi/os/RTEMS/osdThread.c index b304026e0..8c8363e77 100644 --- a/src/libCom/osi/os/RTEMS/osdThread.c +++ b/src/libCom/osi/os/RTEMS/osdThread.c @@ -666,6 +666,7 @@ void epicsThreadShow (epicsThreadId id, unsigned int level) for (v = taskVarHead ; v != NULL ; v = v->forw) { if ((rtems_id)id == v->id) { epicsThreadShowInfo (v, level); + taskVarUnlock (); return; } } From 6623cb01125a61ea394c51e9e536e23a8ccb48b6 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 28 Sep 2016 17:10:38 -0500 Subject: [PATCH 113/226] Back-ported 64-bit MinGW cross-build stuff from 3.15 --- configure/os/CONFIG.Common.win32-x86-mingw | 1 + .../os/CONFIG.linux-x86.windows-x64-mingw | 22 +++++++++++++ .../os/CONFIG.linux-x86_64.windows-x64-mingw | 9 ++++++ .../os/CONFIG_SITE.linux-x86.win32-x86-mingw | 10 +++--- .../CONFIG_SITE.linux-x86.windows-x64-mingw | 23 ++++++++++++++ ...CONFIG_SITE.linux-x86_64.windows-x64-mingw | 8 +++++ documentation/RELEASE_NOTES.html | 31 +++++++++++++++++++ src/libCom/osi/os/WIN32/epicsGetopt.c | 4 +++ src/libCom/osi/os/WIN32/epicsGetopt.h | 8 +++++ src/libCom/osi/os/WIN32/osdThread.c | 2 +- 10 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 configure/os/CONFIG.linux-x86.windows-x64-mingw create mode 100644 configure/os/CONFIG.linux-x86_64.windows-x64-mingw create mode 100644 configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw create mode 100644 configure/os/CONFIG_SITE.linux-x86_64.windows-x64-mingw diff --git a/configure/os/CONFIG.Common.win32-x86-mingw b/configure/os/CONFIG.Common.win32-x86-mingw index a8390e6ef..8b83bf5b0 100644 --- a/configure/os/CONFIG.Common.win32-x86-mingw +++ b/configure/os/CONFIG.Common.win32-x86-mingw @@ -9,6 +9,7 @@ include $(CONFIG)/os/CONFIG.Common.UnixCommon OS_CLASS = WIN32 ARCH_CLASS = x86 +POSIX = NO # Definitions used when COMMANDLINE_LIBRARY is READLINE LDLIBS_READLINE = -lreadline -lcurses diff --git a/configure/os/CONFIG.linux-x86.windows-x64-mingw b/configure/os/CONFIG.linux-x86.windows-x64-mingw new file mode 100644 index 000000000..3692d6cb2 --- /dev/null +++ b/configure/os/CONFIG.linux-x86.windows-x64-mingw @@ -0,0 +1,22 @@ +# CONFIG.linux-x86.windows-x64-mingw +# +# Definitions for linux-x86 host windows-x64-mingw target builds +# Override these definitions in CONFIG_SITE.linux-x86.windows-x64-mingw +#------------------------------------------------------- + +# Include common gnu compiler definitions +include $(CONFIG)/CONFIG.gnuCommon + +# Add resource compiler +RCCMD = $(GNU_BIN)/$(CMPLR_PREFIX)windres$(CMPLR_SUFFIX) $(INCLUDES) $< $@ + +# Remove -fPIC flags, add out-implib +SHRLIB_CFLAGS = +SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX) +LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX) + +# No need to explicitly link with gcc library +GNU_LDLIBS_YES = + +# Link with system libraries +OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm diff --git a/configure/os/CONFIG.linux-x86_64.windows-x64-mingw b/configure/os/CONFIG.linux-x86_64.windows-x64-mingw new file mode 100644 index 000000000..f84301266 --- /dev/null +++ b/configure/os/CONFIG.linux-x86_64.windows-x64-mingw @@ -0,0 +1,9 @@ +# CONFIG.linux-x86_64.windows-x64-mingw +# +# Definitions for linux-x86_64 host windows-x64-mingw target builds +# Override these definitions in CONFIG_SITE.linux-x86_64.windows-x64-mingw +#------------------------------------------------------- + +# Settings as for the linux-x86 host architecture +include $(CONFIG)/os/CONFIG.linux-x86.windows-x64-mingw + diff --git a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw index 1d132b74d..cb624242b 100644 --- a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw @@ -5,10 +5,9 @@ # Early versions of the MinGW cross-build tools can only build # static (non-DLL) libraries. Fedora's cross-build of gcc 4.4.6 -# needs these uncommented, other distributions have not been -# tested with this release of Base: -SHARED_LIBRARIES = NO -STATIC_BUILD = YES +# needs these uncommented, cross-gcc 4.6.3 for Ubuntu does not: +#SHARED_LIBRARIES = NO +#STATIC_BUILD = YES # The cross-build tools are in $(GNU_DIR)/bin # Default is /usr @@ -21,3 +20,6 @@ STATIC_BUILD = YES CMPLR_PREFIX = i686-pc-mingw32- # Debian? #CMPLR_PREFIX = i586-mingw32msvc- + +# Use static compiler-support libraries +OP_SYS_LDFLAGS += -static-libgcc -static-libstdc++ diff --git a/configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw b/configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw new file mode 100644 index 000000000..026410cfe --- /dev/null +++ b/configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw @@ -0,0 +1,23 @@ +# CONFIG_SITE.linux-x86.windows-x64-mingw +# +# Configuration for linux-x86 host windows-x64-mingw target builds +#------------------------------------------------------- + +# Early versions of the MinGW cross-build tools can only build +# static (non-DLL) libraries. For example RHEL's cross-gcc 4.4.6 +# needs these uncommented, cross-gcc 4.6.3 for Ubuntu does not: +#SHARED_LIBRARIES = NO +#STATIC_BUILD = YES + +# The cross-build tools are in $(GNU_DIR)/bin +# Default is /usr +#GNU_DIR = /usr/local + +# Different distribution cross-build packages use different prefixes: +# Ubuntu: +#CMPLR_PREFIX = i686-w64-mingw32- +# RHEL: +CMPLR_PREFIX = x86_64-w64-mingw32- + +# Use static compiler-support libraries +OP_SYS_LDFLAGS += -static-libgcc -static-libstdc++ diff --git a/configure/os/CONFIG_SITE.linux-x86_64.windows-x64-mingw b/configure/os/CONFIG_SITE.linux-x86_64.windows-x64-mingw new file mode 100644 index 000000000..e98ac7a02 --- /dev/null +++ b/configure/os/CONFIG_SITE.linux-x86_64.windows-x64-mingw @@ -0,0 +1,8 @@ +# CONFIG_SITE.linux-x86_64.windows-x64-mingw +# +# Configuration for linux-x86_64 host windows-x64-mingw target builds +#------------------------------------------------------- + +# Inherit from the linux-x86 host architecture +include $(CONFIG)/os/CONFIG_SITE.linux-x86.windows-x64-mingw + diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 10daf1016..bf44e11ab 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,37 @@ +

MinGW Cross-builds from Linux

+ +

Build configuration files have been back-ported from the 3.15 branch that +allow cross-building of the windows-x64-mingw target from either linux-x86 or +linux-x86_64 hosts. Similar support for the 32-bit win32-x86-mingw cross-target +was added in Base-3.14.12.5. Adjust the settings in the configuration file +configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw and add windows-x64-mingw +to the CROSS_COMPILER_TARGET_ARCHS variable in configure/CONFIG_SITE or in +configure/os/CONFIG_SITE.linux-x86.Common.

+ +

The Linux MinGW cross-builds now use the compiler flags -static-libgcc +-static-libstdc++ which avoids having to copy some DLLs onto the Windows +system to be able to run the generated binaries. These compiler flags can be +disabled by editing the configure/os/CONFIG_SITE.linux-x86.target file +for Linux distributions where the cross-build toolset doesn't make static +versions of those libraries available. The RHEL-6.8 MinGW toolset does not +package a static version of the library winpthread-1 so on that host OS it is +still necessary to provide a copy of the libwinpthread-1.dll file for the +Windows system to use. The simplest way to do this is to manually copy it into +the IOC application's bin/win32-x86-mingw or bin/windows-x64-mingw directory +after building the IOC, like this (note that Windows DLLs are always installed +into the bin directory, not the lib directory):

+ +
+$ cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll bin/win32-x86-mingw
+$ cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll bin/windows-x64-mingw
+
+ +

Some additional MinGW-specific changes have also been back-ported from the +Base-3.15 branch.

+

General Time updates

The iocInit code now performs a sanity check of the current time diff --git a/src/libCom/osi/os/WIN32/epicsGetopt.c b/src/libCom/osi/os/WIN32/epicsGetopt.c index 97bb11f47..1ea064ea2 100644 --- a/src/libCom/osi/os/WIN32/epicsGetopt.c +++ b/src/libCom/osi/os/WIN32/epicsGetopt.c @@ -1,3 +1,5 @@ +#ifndef _MINGW + /* * Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -121,3 +123,5 @@ int getopt(nargc, nargv, ostr) } return (optopt); /* dump back option letter */ } + +#endif /* !_MINGW */ diff --git a/src/libCom/osi/os/WIN32/epicsGetopt.h b/src/libCom/osi/os/WIN32/epicsGetopt.h index aa3bc7422..f92041085 100644 --- a/src/libCom/osi/os/WIN32/epicsGetopt.h +++ b/src/libCom/osi/os/WIN32/epicsGetopt.h @@ -12,6 +12,12 @@ #ifndef _EPICS_GETOPT_H #define _EPICS_GETOPT_H +#ifdef _MINGW + +#include + +#else /* _MINGW */ + #include "shareLib.h" #ifdef __cplusplus @@ -28,4 +34,6 @@ epicsShareExtern int optind, opterr, optopt; } #endif +#endif /* _MINGW */ + #endif /* _EPICS_GETOPT_H */ diff --git a/src/libCom/osi/os/WIN32/osdThread.c b/src/libCom/osi/os/WIN32/osdThread.c index 7f3d34500..5f61fc894 100644 --- a/src/libCom/osi/os/WIN32/osdThread.c +++ b/src/libCom/osi/os/WIN32/osdThread.c @@ -92,7 +92,7 @@ static const int osdRealtimePriorityList [osdRealtimePriorityStateCount] = #if !defined(EPICS_DLL_NO) BOOL WINAPI DllMain ( - HANDLE hModule, DWORD dwReason, LPVOID lpReserved ) + HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved ) { static DWORD dllHandleIndex; HMODULE dllHandle = 0; From 5ad61d25f6b44feddb3557cdb984dcc0c6f521ca Mon Sep 17 00:00:00 2001 From: Xiaoqiang Wang Date: Thu, 29 Sep 2016 11:23:14 -0500 Subject: [PATCH 114/226] Fix race condition in gdd --- src/gdd/gddAppTable.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gdd/gddAppTable.cc b/src/gdd/gddAppTable.cc index 92b0cacec..7a3890559 100644 --- a/src/gdd/gddAppTable.cc +++ b/src/gdd/gddAppTable.cc @@ -433,8 +433,10 @@ gddStatus gddApplicationTypeTable::freeDD(gdd* dd) } // fprintf(stderr,"Adding DD to free_list %d\n",app); + attr_table[group][app].sem.lock (); dd->setNext(attr_table[group][app].free_list); attr_table[group][app].free_list=dd; + attr_table[group][app].sem.unlock (); } else if (attr_table[group][app].type==gddApplicationTypeNormal) { From 370240117101e85d7728cb48b947efadf278192c Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 4 Oct 2016 16:16:42 +0200 Subject: [PATCH 115/226] libCom/osi: add full epicsTime conversion from/to UTC struct tm (without timezone mechanism) --- src/libCom/osi/epicsTime.cpp | 89 ++++++++++++++++++++++++++++++++++-- src/libCom/osi/epicsTime.h | 13 +++++- 2 files changed, 96 insertions(+), 6 deletions(-) diff --git a/src/libCom/osi/epicsTime.cpp b/src/libCom/osi/epicsTime.cpp index 414bd5d4f..474515170 100644 --- a/src/libCom/osi/epicsTime.cpp +++ b/src/libCom/osi/epicsTime.cpp @@ -287,11 +287,80 @@ epicsTime::epicsTime (const local_tm_nano_sec &tm) throwWithLocation ( formatProblemWithStructTM () ); } + // Do the epoch conversion *this = epicsTime (ansiTimeTicks); + // Add the nSec part + *this = epicsTime (this->secPastEpoch, tm.nSec); +} - unsigned long nSecAdj = tm.nSec % nSecPerSec; - unsigned long secAdj = tm.nSec / nSecPerSec; - *this = epicsTime ( this->secPastEpoch+secAdj, this->nSec+nSecAdj ); +// +// epicsTime (const gm_tm_nano_sec &tm) +// + +// do conversion avoiding the timezone mechanism +static inline epicsInt32 is_leap(epicsInt32 year) +{ + if (year % 400 == 0) + return 1; + if (year % 100 == 0) + return 0; + if (year % 4 == 0) + return 1; + return 0; +} + +static inline epicsInt32 days_from_0(epicsInt32 year) +{ + year--; + return 365 * year + (year / 400) - (year / 100) + (year / 4); +} + +static inline epicsInt32 days_from_1970(epicsInt32 year) +{ + static const int days_from_0_to_1970 = days_from_0(1970); + return days_from_0(year) - days_from_0_to_1970; +} + +static inline epicsInt32 days_from_1jan(epicsInt32 year, + epicsInt32 month, + epicsInt32 day) +{ + static const epicsInt32 days[2][12] = + { + { 0,31,59,90,120,151,181,212,243,273,304,334}, + { 0,31,60,91,121,152,182,213,244,274,305,335} + }; + return days[is_leap(year)][month-1] + day - 1; +} + +epicsTime::epicsTime (const gm_tm_nano_sec &tm) +{ + time_t_wrapper ansiTimeTicks; + int year = tm.ansi_tm.tm_year + 1900; + int month = tm.ansi_tm.tm_mon; + if (month > 11) { + year += month / 12; + month %= 12; + } else if (month < 0) { + int years_diff = (-month + 11) / 12; + year -= years_diff; + month += 12 * years_diff; + } + month++; + int day = tm.ansi_tm.tm_mday; + int day_of_year = days_from_1jan(year, month, day); + int days_since_epoch = days_from_1970(year) + day_of_year; + + const time_t seconds_in_day = 3600 * 24; + ansiTimeTicks.ts = seconds_in_day * days_since_epoch + + 3600 * tm.ansi_tm.tm_hour + + 60 * tm.ansi_tm.tm_min + + tm.ansi_tm.tm_sec; + + // Do the epoch conversion + *this = epicsTime (ansiTimeTicks); + // Add the nSec part + *this = epicsTime (this->secPastEpoch, tm.nSec); } // @@ -905,6 +974,19 @@ extern "C" { } return epicsTimeOK; } + epicsShareFunc int epicsShareAPI epicsTimeFromGMTM (epicsTimeStamp *pDest, const struct tm *pSrc, unsigned long nSecSrc) + { + try { + gm_tm_nano_sec tmns; + tmns.ansi_tm = *pSrc; + tmns.nSec = nSecSrc; + *pDest = epicsTime (tmns); + } + catch (...) { + return epicsTimeERROR; + } + return epicsTimeOK; + } epicsShareFunc int epicsShareAPI epicsTimeToTimespec (struct timespec *pDest, const epicsTimeStamp *pSrc) { try { @@ -1036,4 +1118,3 @@ extern "C" { } } } - diff --git a/src/libCom/osi/epicsTime.h b/src/libCom/osi/epicsTime.h index a36d6afe3..1cb3733bc 100644 --- a/src/libCom/osi/epicsTime.h +++ b/src/libCom/osi/epicsTime.h @@ -105,10 +105,12 @@ public: epicsTime & operator = ( const local_tm_nano_sec & ); /* - * convert to ANSI Cs "struct tm" (with nano seconds) + * convert to and from ANSI Cs "struct tm" (with nano seconds) * adjusted for GM time (UTC) */ operator gm_tm_nano_sec () const; + epicsTime ( const gm_tm_nano_sec & ); + epicsTime & operator = ( const gm_tm_nano_sec & ); /* convert to and from POSIX RTs "struct timespec" */ operator struct timespec () const; @@ -194,13 +196,15 @@ epicsShareFunc int epicsShareAPI epicsTimeToTime_t ( epicsShareFunc int epicsShareAPI epicsTimeFromTime_t ( epicsTimeStamp * pDest, time_t src ); -/*convert to and from ANSI C's "struct tm" with nano seconds */ +/* convert to and from ANSI C's "struct tm" with nano seconds */ epicsShareFunc int epicsShareAPI epicsTimeToTM ( struct tm * pDest, unsigned long * pNSecDest, const epicsTimeStamp * pSrc ); epicsShareFunc int epicsShareAPI epicsTimeToGMTM ( struct tm * pDest, unsigned long * pNSecDest, const epicsTimeStamp * pSrc ); epicsShareFunc int epicsShareAPI epicsTimeFromTM ( epicsTimeStamp * pDest, const struct tm * pSrc, unsigned long nSecSrc ); +epicsShareFunc int epicsShareAPI epicsTimeFromGMTM ( + epicsTimeStamp * pDest, const struct tm * pSrc, unsigned long nSecSrc ); /* convert to and from POSIX RT's "struct timespec" */ epicsShareFunc int epicsShareAPI epicsTimeToTimespec ( @@ -312,6 +316,11 @@ inline epicsTime & epicsTime::operator = ( const local_tm_nano_sec & rhs ) return *this = epicsTime ( rhs ); } +inline epicsTime & epicsTime::operator = ( const gm_tm_nano_sec & rhs ) +{ + return *this = epicsTime ( rhs ); +} + inline epicsTime & epicsTime::operator = ( const struct timespec & rhs ) { *this = epicsTime ( rhs ); From 67323441ec002b7088f662015b50c7eea1a507c7 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 4 Oct 2016 16:17:45 +0200 Subject: [PATCH 116/226] libCom/test: add roundtrip test for epicsTime from/to UTC struct tm conversion --- src/libCom/test/epicsTimeTest.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libCom/test/epicsTimeTest.cpp b/src/libCom/test/epicsTimeTest.cpp index 83d0a8a07..823f57b6f 100644 --- a/src/libCom/test/epicsTimeTest.cpp +++ b/src/libCom/test/epicsTimeTest.cpp @@ -48,7 +48,7 @@ MAIN(epicsTimeTest) const int wasteTime = 100000; const int nTimes = 10; - testPlan(15 + nTimes * 18); + testPlan(15 + nTimes * 19); try { const epicsTimeStamp epochTS = {0, 0}; @@ -205,6 +205,11 @@ MAIN(epicsTimeTest) epicsTime beginANSI = ansiDate; testOk1(beginANSI + diff == now); + // test struct gmtm round-trip conversion + gm_tm_nano_sec ansiGmDate = begin; + epicsTime beginGMANSI = ansiGmDate; + testOk1(beginGMANSI + diff == now); + // test struct timespec round-trip conversion struct timespec ts = begin; epicsTime beginTS = ts; From 4da0e2c27ec87f42afe9cf91af87e152dec69e67 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 5 Oct 2016 09:41:49 +0200 Subject: [PATCH 117/226] Add release note info for the epicsTime change --- documentation/RELEASE_NOTES.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index bf44e11ab..52ef97063 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,15 @@ +

Additional epicsTime conversion

+ +

The EPICS timestamp library (epicsTime) inside libCom's OSI layer has +been extended by routines that convert from struct tm to the EPICS +internal epicsTime type, assuming UTC - i.e. without going through +the timezone mechanism. This solves issues with converting from the structured +type to the EPICS timestamp at driver level from multiple threads at a high +repetition rate, where the timezone mechanism was blocking on file access.

+

MinGW Cross-builds from Linux

Build configuration files have been back-ported from the 3.15 branch that From 2fd298b4403cf5ba49118a2ec78c001ac9ee6712 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 5 Oct 2016 15:11:57 -0500 Subject: [PATCH 118/226] Fixed issues with previous epicsTime.cpp changes --- src/libCom/osi/epicsTime.cpp | 55 ++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/libCom/osi/epicsTime.cpp b/src/libCom/osi/epicsTime.cpp index eedf8860d..23c236da2 100644 --- a/src/libCom/osi/epicsTime.cpp +++ b/src/libCom/osi/epicsTime.cpp @@ -60,7 +60,13 @@ static const unsigned long NTP_TIME_AT_EPICS_EPOCH = // epicsTime (const unsigned long secIn, const unsigned long nSecIn) // inline epicsTime::epicsTime (const unsigned long secIn, const unsigned long nSecIn) : - secPastEpoch ( nSecIn / nSecPerSec + secIn ), nSec ( nSecIn % nSecPerSec ) {} + secPastEpoch ( secIn ), nSec ( nSecIn ) +{ + if (nSecIn >= nSecPerSec) { + this->secPastEpoch += nSecIn / nSecPerSec; + this->nSec = nSecIn % nSecPerSec; + } +} // // epicsTimeLoadTimeInit @@ -108,14 +114,27 @@ epicsTimeLoadTimeInit::epicsTimeLoadTimeInit () } // -// epicsTime::addNanoSec () +// private epicsTime::addNanoSec () // -// many of the UNIX timestamp formats have nano sec stored as a long +// Most formats keep the nSec value as an unsigned long, so are +ve. +// struct timeval's tv_usec may be -1, but I think that means error, +// so this private method never needs to handle -ve offsets. // inline void epicsTime::addNanoSec (long nSecAdj) { - double secAdj = static_cast (nSecAdj) / nSecPerSec; - *this += secAdj; + if (nSecAdj <= 0) + return; + + if (static_cast(nSecAdj) >= nSecPerSec) { + this->secPastEpoch += nSecAdj / nSecPerSec; + nSecAdj %= nSecPerSec; + } + + this->nSec += nSecAdj; // Can't overflow + if (this->nSec >= nSecPerSec) { + this->secPastEpoch++; + this->nSec -= nSecPerSec; + } } // @@ -286,17 +305,8 @@ epicsTime::epicsTime (const local_tm_nano_sec &tm) throwWithLocation ( formatProblemWithStructTM () ); } - unsigned long nSec = tm.nSec; - // Handle nSec overflows - if (nSec >= nSecPerSec) { - ansiTimeTicks.ts += nSec / nSecPerSec; - nSec %= nSecPerSec; - } - - // Do the epoch conversion - *this = epicsTime (ansiTimeTicks); - // Set the nSec part - this->nSec = nSec; + *this = epicsTime(ansiTimeTicks); + this->addNanoSec(tm.nSec); } // @@ -361,17 +371,8 @@ epicsTime::epicsTime (const gm_tm_nano_sec &tm) * 60 + tm.ansi_tm.tm_min) * 60 + tm.ansi_tm.tm_sec; - unsigned long nSec = tm.nSec; - // Handle nSec overflows - if (nSec >= nSecPerSec) { - ansiTimeTicks.ts += nSec / nSecPerSec; - nSec %= nSecPerSec; - } - - // Do the epoch conversion *this = epicsTime(ansiTimeTicks); - // Set the nSec part - this->nSec = nSec; + this->addNanoSec(tm.nSec); } // @@ -770,7 +771,7 @@ double epicsTime::operator - (const epicsTime &rhs) const // so the unsigned to signed conversion is ok // if (this->nSec>=rhs.nSec) { - nSecRes = this->nSec - rhs.nSec; + nSecRes = this->nSec - rhs.nSec; } else { nSecRes = rhs.nSec - this->nSec; From 843fb8ca958bdf7b12673e0975e1b3be870d7642 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 6 Oct 2016 13:02:46 +0200 Subject: [PATCH 119/226] dbStatic: update dbCreateAlias() to add to record list (instead of insertion sort) --- src/ioc/dbStatic/dbStaticLib.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index 166979655..aa427d2d9 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -1698,18 +1698,7 @@ long dbCreateAlias(DBENTRY *pdbentry, const char *alias) if (!(precnode->flags & DBRN_FLAGS_ISALIAS)) precnode->flags |= DBRN_FLAGS_HASALIAS; ellInit(&pnewnode->infoList); - /* install record node in list in sorted postion */ - status = dbFirstRecord(pdbentry); - while (!status) { - if (strcmp(alias, dbGetRecordName(pdbentry)) < 0) break; - status = dbNextRecord(pdbentry); - } - if (!status) { - precnode = pdbentry->precnode; - ellInsert(preclist, ellPrevious(&precnode->node), &pnewnode->node); - } else { - ellAdd(preclist, &pnewnode->node); - } + ellAdd(preclist, &pnewnode->node); precordType->no_aliases++; pdbentry->precnode = pnewnode; ppvd = dbPvdAdd(pdbentry->pdbbase, precordType, pnewnode); From 344928bdc6307a80ff45056abdc42f5b5e0bc262 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 6 Oct 2016 13:31:40 +0200 Subject: [PATCH 120/226] dbStatic: remove dbRenameRecord() --- src/ioc/dbStatic/dbStaticLib.c | 46 ---------------------------------- src/ioc/dbStatic/dbStaticLib.h | 2 -- 2 files changed, 48 deletions(-) diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index aa427d2d9..b87e89fbc 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -1603,52 +1603,6 @@ char * dbGetRecordName(DBENTRY *pdbentry) return precnode->recordname; } -long dbRenameRecord(DBENTRY *pdbentry,const char *newName) -{ - dbBase *pdbbase = pdbentry->pdbbase; - dbRecordType *precordType = pdbentry->precordType; - dbFldDes *pdbFldDes; - dbRecordNode *precnode = pdbentry->precnode; - PVDENTRY *ppvd; - ELLLIST *preclist; - dbRecordNode *plistnode; - long status; - DBENTRY dbentry; - - if(!precordType) return(S_dbLib_recordTypeNotFound); - /*Get size of NAME field*/ - pdbFldDes = precordType->papFldDes[0]; - if(!pdbFldDes || (strcmp(pdbFldDes->name,"NAME")!=0)) - return(S_dbLib_nameLength); - if((int)strlen(newName)>=pdbFldDes->size) return(S_dbLib_nameLength); - if (!precnode || dbIsAlias(pdbentry)) return S_dbLib_recNotFound; - dbInitEntry(pdbentry->pdbbase,&dbentry); - status = dbFindRecord(&dbentry,newName); - dbFinishEntry(&dbentry); - if(!status) return(S_dbLib_recExists); - dbPvdDelete(pdbbase,precnode); - pdbentry->pflddes = precordType->papFldDes[0]; - if((status = dbGetFieldAddress(pdbentry))) return(status); - strcpy(pdbentry->pfield,newName); - ppvd = dbPvdAdd(pdbbase,precordType,precnode); - if(!ppvd) {errMessage(-1,"Logic Err: Could not add to PVD");return(-1);} - /*remove from record list and reinstall in sorted order*/ - preclist = &precordType->recList; - ellDelete(preclist,&precnode->node); - plistnode = (dbRecordNode *)ellFirst(preclist); - while(plistnode) { - pdbentry->precnode = plistnode; - if(strcmp(newName,dbGetRecordName(pdbentry)) >=0) break; - plistnode = (dbRecordNode *)ellNext(&plistnode->node); - } - if(plistnode) - ellInsert(preclist,ellPrevious(&plistnode->node),&precnode->node); - else - ellAdd(preclist,&precnode->node); - /*Leave pdbentry pointing to newly renamed record*/ - return(dbFindRecord(pdbentry,newName)); -} - long dbVisibleRecord(DBENTRY *pdbentry) { dbRecordNode *precnode = pdbentry->precnode; diff --git a/src/ioc/dbStatic/dbStaticLib.h b/src/ioc/dbStatic/dbStaticLib.h index de94dc674..1619a9090 100644 --- a/src/ioc/dbStatic/dbStaticLib.h +++ b/src/ioc/dbStatic/dbStaticLib.h @@ -146,8 +146,6 @@ epicsShareFunc long dbNextRecord(DBENTRY *pdbentry); epicsShareFunc int dbGetNRecords(DBENTRY *pdbentry); epicsShareFunc int dbGetNAliases(DBENTRY *pdbentry); epicsShareFunc char * dbGetRecordName(DBENTRY *pdbentry); -epicsShareFunc long dbRenameRecord(DBENTRY *pdbentry, - const char *newName); epicsShareFunc long dbCopyRecord(DBENTRY *pdbentry, const char *newRecordName, int overWriteOK); From 336bd656c8e015aa98358f0959e6ed6759d1db5f Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 6 Oct 2016 15:36:44 +0200 Subject: [PATCH 121/226] dbStatic: only sort records alphabetically if explicitly configured (default: no sorting) --- documentation/RELEASE_NOTES.html | 10 ++++++++++ src/ioc/dbStatic/dbLexRoutines.c | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 1c8a906c5..0a1346075 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -15,6 +15,16 @@

Changes made on the 3.15 branch since 3.15.4

+

dbStatic Library Cleanup

+ +

Loading of database files has been optimized to avoid overproportionally +long loading times for large databases. As a part of this, the alphabetical +ordering of records instances (within a record type) has been dropped. In the +unexpected case that applications were relying on the alphabetic order, setting +dbRecordsAbcSorted = 1 before loading the databases will retain the +old behavior.

+ +

Changes from the 3.14 branch since 3.15.4

diff --git a/src/ioc/dbStatic/dbLexRoutines.c b/src/ioc/dbStatic/dbLexRoutines.c index b9a1923d4..05edab618 100644 --- a/src/ioc/dbStatic/dbLexRoutines.c +++ b/src/ioc/dbStatic/dbLexRoutines.c @@ -50,6 +50,9 @@ epicsExportAddress(int,dbBptNotMonotonic); epicsShareDef int dbQuietMacroWarnings=0; epicsExportAddress(int,dbQuietMacroWarnings); +epicsShareDef int dbRecordsAbcSorted=0; +epicsExportAddress(int,dbRecordsAbcSorted); + /*private routines */ static void yyerrorAbort(char *str); static void allocTemp(void *pvoid); @@ -298,7 +301,7 @@ static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp, dbFinishEntry(pdbEntry); } cleanup: - { + if(dbRecordsAbcSorted) { ELLNODE *cur; for(cur = ellFirst(&pdbbase->recordTypeList); cur; cur=ellNext(cur)) { From 768c6234bd891f2792ec53dddc00473216a44804 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 6 Oct 2016 15:44:02 +0200 Subject: [PATCH 122/226] Mention dbRenameRecord() removal in release notes --- documentation/RELEASE_NOTES.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 0a1346075..fc0f5d0ee 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -24,6 +24,10 @@ unexpected case that applications were relying on the alphabetic order, setting dbRecordsAbcSorted = 1 before loading the databases will retain the old behavior.

+

The routine dbRenameRecord() has been removed, as it was intended +to be used by database configuration tools linked against a host side version +of the dbStatic library that is not being built anymore.

+

Changes from the 3.14 branch since 3.15.4

From 928ebe82bd51d92b82bb98eafda4648d3ab0b97f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 6 Oct 2016 13:13:59 -0500 Subject: [PATCH 123/226] Build rules: Enable tests only when we can run them --- configure/RULES_BUILD | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 80494cb84..978d616e5 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -91,13 +91,17 @@ include $(CONFIG)/RULES_TARGET PRODTARGETS += $(PRODNAME) $(MUNCHNAME) $(CTDT_SRCS) $(CTDT_OBJS) $(NMS) #--------------------------------------------------------------- -# Generate a test specification if any tests are defined. +# Test specifications and test result files # ifneq (,$(strip $(TESTS))) TARGETS += testspec endif +# Enable testing if this host can run tests on the current target +ifneq (,$(findstring $(T_A),$(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS))) +RUNTESTS_ENABLED = YES TAPFILES += $(TESTSCRIPTS:.t=.tap) +endif #--------------------------------------------------------------- # Libraries @@ -337,7 +341,7 @@ $(MODNAME): %$(MODEXT): %$(EXE) $(LINK.mod) runtests: $(TESTSCRIPTS) -ifneq (,$(findstring $(T_A),$(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS))) +ifdef RUNTESTS_ENABLED -$(PERL) -MTest::Harness -e 'runtests @ARGV if @ARGV;' $^ endif @@ -352,7 +356,7 @@ tapfiles: $(TESTSCRIPTS) $(TAPFILES) # A .tap file is the output from running the associated test script %.tap: %.t -ifneq (,$(findstring $(T_A),$(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS))) +ifdef RUNTESTS_ENABLED -$(PERL) $< -tap > $@ endif From de6a44204856c08a00c29d96abcea261c6ffa5ad Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 7 Oct 2016 10:29:28 +0200 Subject: [PATCH 124/226] dbStatic: fix compiler warnings (unused variables) --- src/ioc/dbStatic/dbStaticLib.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index b87e89fbc..971063212 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -1402,7 +1402,6 @@ long dbCreateRecord(DBENTRY *pdbentry,const char *precordName) dbFldDes *pdbFldDes; PVDENTRY *ppvd; ELLLIST *preclist = NULL; - dbRecordNode *precnode = NULL; dbRecordNode *pNewRecNode = NULL; long status = 0; @@ -1636,7 +1635,6 @@ long dbCreateAlias(DBENTRY *pdbentry, const char *alias) dbRecordNode *pnewnode; PVDENTRY *ppvd; ELLLIST *preclist = NULL; - long status; if (!precordType) return S_dbLib_recordTypeNotFound; if (!precnode) return S_dbLib_recNotFound; From 3fa8f2ac22a244c3559788e32b8a1527cfed06bc Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 7 Oct 2016 10:52:13 +0200 Subject: [PATCH 125/226] libCom/ellLib: make sort comparator args const pointers --- src/libCom/ellLib/ellLib.h | 2 +- src/libCom/test/epicsEllTest.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libCom/ellLib/ellLib.h b/src/libCom/ellLib/ellLib.h index 300a2df3f..52b58d169 100644 --- a/src/libCom/ellLib/ellLib.h +++ b/src/libCom/ellLib/ellLib.h @@ -56,7 +56,7 @@ epicsShareFunc void ellInsert (ELLLIST *plist, ELLNODE *pPrev, ELLNODE *pNode); epicsShareFunc ELLNODE * ellNth (ELLLIST *pList, int nodeNum); epicsShareFunc ELLNODE * ellNStep (ELLNODE *pNode, int nStep); epicsShareFunc int ellFind (ELLLIST *pList, ELLNODE *pNode); -typedef int (*pListCmp)(ELLNODE* A, ELLNODE* B); +typedef int (*pListCmp)(const ELLNODE* A, const ELLNODE* B); epicsShareFunc void ellSortStable(ELLLIST *pList, pListCmp); epicsShareFunc void ellFree2 (ELLLIST *pList, FREEFUNC freeFunc); epicsShareFunc void ellVerify (ELLLIST *pList); diff --git a/src/libCom/test/epicsEllTest.c b/src/libCom/test/epicsEllTest.c index 78c695466..62ee14e39 100644 --- a/src/libCom/test/epicsEllTest.c +++ b/src/libCom/test/epicsEllTest.c @@ -196,7 +196,7 @@ static void testList(void) typedef struct { int A, B; } input_t; -static int myItemCmp(ELLNODE *a, ELLNODE *b) +static int myItemCmp(const ELLNODE *a, const ELLNODE *b) { struct myItem *A = CONTAINER(a, struct myItem, node), *B = CONTAINER(b, struct myItem, node); From a32faa573c6f4f043cef3429bd5318bfa7f1064c Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 7 Oct 2016 11:56:06 +0200 Subject: [PATCH 126/226] ioc/misc: add dbRecordsAbcSorted to dbCore.dbd --- src/ioc/misc/dbCore.dbd | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ioc/misc/dbCore.dbd b/src/ioc/misc/dbCore.dbd index 4b515141b..a2ce45806 100644 --- a/src/ioc/misc/dbCore.dbd +++ b/src/ioc/misc/dbCore.dbd @@ -11,6 +11,7 @@ variable(asCaDebug,int) # Static database access variables variable(dbRecordsOnceOnly,int) +variable(dbRecordsAbcSorted,int) variable(dbBptNotMonotonic,int) variable(dbQuietMacroWarnings,int) From 6e2705c23f87ea693a8fd8676c10db18037fd6e9 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 10 Oct 2016 15:12:26 -0500 Subject: [PATCH 127/226] Merged commit 12741 from Michael's pcas-fake-dynamic branch --- documentation/RELEASE_NOTES.html | 9 +++++++++ src/cas/generic/caHdrLargeArray.h | 2 +- src/cas/generic/casCtx.h | 3 +++ src/cas/generic/casStrmClient.cc | 26 +++++++++++++++++--------- src/cas/generic/casStrmClient.h | 2 +- 5 files changed, 31 insertions(+), 11 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 52ef97063..14258f352 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,15 @@ +

Add dynamic (variable length) array support to PCAS

+ +

Dynamic array sizing support was added to the IOC server (RSRV) in the +Base-3.14.12 release, but has not until now been supported in the Portable +Channel Access Server (PCAS). Channel Access server applications using the +PCAS will have to be modified slightly to provide full support for variable +length arrays, but unmodified applications will continue to build and work as +before against this release.

+

Additional epicsTime conversion

The EPICS timestamp library (epicsTime) inside libCom's OSI layer has diff --git a/src/cas/generic/caHdrLargeArray.h b/src/cas/generic/caHdrLargeArray.h index 89b0d6d4b..7bda002e9 100644 --- a/src/cas/generic/caHdrLargeArray.h +++ b/src/cas/generic/caHdrLargeArray.h @@ -30,7 +30,7 @@ # include "shareLib.h" #endif -static const unsigned char CA_MINOR_PROTOCOL_REVISION = 12; +static const unsigned char CA_MINOR_PROTOCOL_REVISION = 13; typedef ca_uint32_t caResId; diff --git a/src/cas/generic/casCtx.h b/src/cas/generic/casCtx.h index 706376e77..eab644685 100644 --- a/src/cas/generic/casCtx.h +++ b/src/cas/generic/casCtx.h @@ -18,6 +18,8 @@ #include "caHdrLargeArray.h" +class casStrmClient; + class casCtx { public: casCtx(); @@ -41,6 +43,7 @@ private: casChannelI * pChannel; casPVI * pPV; unsigned nAsyncIO; // checks for improper use of async io + friend class casStrmClient; }; inline const caHdrLargeArray * casCtx::getMsg() const diff --git a/src/cas/generic/casStrmClient.cc b/src/cas/generic/casStrmClient.cc index 5bcefb682..468aa17a5 100644 --- a/src/cas/generic/casStrmClient.cc +++ b/src/cas/generic/casStrmClient.cc @@ -390,14 +390,12 @@ caStatus casStrmClient::echoAction ( epicsGuard < casClientMutex > & ) // // casStrmClient::verifyRequest() // -caStatus casStrmClient::verifyRequest ( casChannelI * & pChan ) +caStatus casStrmClient::verifyRequest (casChannelI * & pChan , bool allowdyn) { - const caHdrLargeArray * mp = this->ctx.getMsg(); - // // channel exists for this resource id ? // - chronIntId tmpId ( mp->m_cid ); + chronIntId tmpId ( ctx.msg.m_cid ); pChan = this->chanTable.lookup ( tmpId ); if ( ! pChan ) { return ECA_BADCHID; @@ -406,14 +404,24 @@ caStatus casStrmClient::verifyRequest ( casChannelI * & pChan ) // // data type out of range ? // - if ( mp->m_dataType > ((unsigned)LAST_BUFFER_TYPE) ) { + if ( ctx.msg.m_dataType > ((unsigned)LAST_BUFFER_TYPE) ) { return ECA_BADTYPE; } // // element count out of range ? // - if ( mp->m_count > pChan->getPVI().nativeCount() || mp->m_count == 0u ) { + if ( allowdyn && ctx.msg.m_count==0 && + CA_V413 ( this->minor_version_number ) ) { + // Hack + // Since GDD interface doesn't support variable sized arrays + // we present dynamic requests as max size. + // This allows PCAS to claim support for dynamic arrays w/o + // going to the trouble of fixing GDD. + ctx.msg.m_count = pChan->getPVI().nativeCount(); + } + else if ( ctx.msg.m_count > pChan->getPVI().nativeCount() || + ctx.msg.m_count == 0u ) { return ECA_BADCOUNT; } @@ -446,7 +454,7 @@ caStatus casStrmClient::readAction ( epicsGuard < casClientMutex > & guard ) casChannelI * pChan; { - caStatus status = this->verifyRequest ( pChan ); + caStatus status = this->verifyRequest ( pChan, true ); if ( status != ECA_NORMAL ) { if ( pChan ) { return this->sendErr ( guard, mp, pChan->getCID(), @@ -587,7 +595,7 @@ caStatus casStrmClient::readNotifyAction ( epicsGuard < casClientMutex > & guard casChannelI * pChan; { - caStatus status = this->verifyRequest ( pChan ); + caStatus status = this->verifyRequest ( pChan, true ); if ( status != ECA_NORMAL ) { return this->readNotifyFailureResponse ( guard, * mp, status ); } @@ -1942,7 +1950,7 @@ caStatus casStrmClient::eventAddAction ( casChannelI *pciu; { - caStatus status = casStrmClient::verifyRequest ( pciu ); + caStatus status = casStrmClient::verifyRequest ( pciu, true ); if ( status != ECA_NORMAL ) { if ( pciu ) { return this->sendErr ( guard, mp, diff --git a/src/cas/generic/casStrmClient.h b/src/cas/generic/casStrmClient.h index 3f6c0a51b..0fdd36bb4 100644 --- a/src/cas/generic/casStrmClient.h +++ b/src/cas/generic/casStrmClient.h @@ -69,7 +69,7 @@ private: bool responseIsPending; caStatus createChannel ( const char * pName ); - caStatus verifyRequest ( casChannelI * & pChan ); + caStatus verifyRequest ( casChannelI * & pChan, bool allowdyn = false ); typedef caStatus ( casStrmClient :: * pCASMsgHandler ) ( epicsGuard < casClientMutex > & ); static pCASMsgHandler const msgHandlers[CA_PROTO_LAST_CMMD+1u]; From f73d48bb6a3e4015b9c82512cda38b4e07464bb5 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 10 Oct 2016 17:19:10 -0500 Subject: [PATCH 128/226] Apply fix for lp:1581505 --- src/libCom/osi/os/default/osdNetIntf.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libCom/osi/os/default/osdNetIntf.c b/src/libCom/osi/os/default/osdNetIntf.c index 1ad6360c1..21ccfa7bc 100644 --- a/src/libCom/osi/os/default/osdNetIntf.c +++ b/src/libCom/osi/os/default/osdNetIntf.c @@ -196,14 +196,22 @@ epicsShareFunc void epicsShareAPI osiSockDiscoverBroadcastAddresses * interface. */ if ( pIfreqList->ifr_flags & IFF_BROADCAST ) { + osiSockAddr baddr; status = socket_ioctl (socket, SIOCGIFBRDADDR, pIfreqList); if ( status ) { errlogPrintf ("osiSockDiscoverBroadcastAddresses(): net intf \"%s\": bcast addr fetch fail\n", pIfreqList->ifr_name); free ( pNewNode ); continue; } - pNewNode->addr.sa = pIfreqList->ifr_broadaddr; - ifDepenDebugPrintf ( ( "found broadcast addr = %x\n", ntohl ( pNewNode->addr.ia.sin_addr.s_addr ) ) ); + baddr.sa = pIfreqList->ifr_broadaddr; + if (baddr.ia.sin_family==AF_INET && baddr.ia.sin_addr.s_addr != INADDR_ANY) { + pNewNode->addr.sa = pIfreqList->ifr_broadaddr; + ifDepenDebugPrintf ( ( "found broadcast addr = %x\n", ntohl ( baddr.ia.sin_addr.s_addr ) ) ); + } else { + ifDepenDebugPrintf ( ( "Ignoring broadcast addr = \n", ntohl ( baddr.ia.sin_addr.s_addr ) ) ); + free ( pNewNode ); + continue; + } } #if defined (IFF_POINTOPOINT) else if ( pIfreqList->ifr_flags & IFF_POINTOPOINT ) { From 9ac237b3dee4e9e1a023970304d7ca821a1c5ff3 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 12 Oct 2016 13:41:55 +0200 Subject: [PATCH 129/226] cas: Add real implementation for variable length arrays (Bruce Hill, Matej Sekoranja) --- src/cas/generic/casStrmClient.cc | 69 +++++++++++++++++--------------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/src/cas/generic/casStrmClient.cc b/src/cas/generic/casStrmClient.cc index 468aa17a5..b1e321120 100644 --- a/src/cas/generic/casStrmClient.cc +++ b/src/cas/generic/casStrmClient.cc @@ -411,17 +411,8 @@ caStatus casStrmClient::verifyRequest (casChannelI * & pChan , bool allowdyn) // // element count out of range ? // - if ( allowdyn && ctx.msg.m_count==0 && - CA_V413 ( this->minor_version_number ) ) { - // Hack - // Since GDD interface doesn't support variable sized arrays - // we present dynamic requests as max size. - // This allows PCAS to claim support for dynamic arrays w/o - // going to the trouble of fixing GDD. - ctx.msg.m_count = pChan->getPVI().nativeCount(); - } - else if ( ctx.msg.m_count > pChan->getPVI().nativeCount() || - ctx.msg.m_count == 0u ) { + if ( ctx.msg.m_count > pChan->getPVI().nativeCount() || + ( !allowdyn && ctx.msg.m_count == 0u ) ) { return ECA_BADCOUNT; } @@ -454,7 +445,7 @@ caStatus casStrmClient::readAction ( epicsGuard < casClientMutex > & guard ) casChannelI * pChan; { - caStatus status = this->verifyRequest ( pChan, true ); + caStatus status = this->verifyRequest ( pChan, CA_V413 ( this->minor_version_number ) ); if ( status != ECA_NORMAL ) { if ( pChan ) { return this->sendErr ( guard, mp, pChan->getCID(), @@ -541,11 +532,15 @@ caStatus casStrmClient::readResponse ( epicsGuard < casClientMutex > & guard, pChan->getCID(), status, ECA_GETFAIL ); } + ca_uint32_t count = (msg.m_count == 0) ? + (ca_uint32_t)desc.getDataSizeElements() : + msg.m_count; + void * pPayload; { - unsigned payloadSize = dbr_size_n ( msg.m_dataType, msg.m_count ); + unsigned payloadSize = dbr_size_n ( msg.m_dataType, count ); caStatus localStatus = this->out.copyInHeader ( msg.m_cmmd, payloadSize, - msg.m_dataType, msg.m_count, pChan->getCID (), + msg.m_dataType, count, pChan->getCID (), msg.m_available, & pPayload ); if ( localStatus ) { if ( localStatus==S_cas_hugeRequest ) { @@ -561,21 +556,21 @@ caStatus casStrmClient::readResponse ( epicsGuard < casClientMutex > & guard, // (places the data in network format) // int mapDBRStatus = gddMapDbr[msg.m_dataType].conv_dbr( - pPayload, msg.m_count, desc, pChan->enumStringTable() ); + pPayload, count, desc, pChan->enumStringTable() ); if ( mapDBRStatus < 0 ) { desc.dump (); errPrintf ( S_cas_badBounds, __FILE__, __LINE__, "- get with PV=%s type=%u count=%u", - pChan->getPVI().getName(), msg.m_dataType, msg.m_count ); + pChan->getPVI().getName(), msg.m_dataType, count ); return this->sendErrWithEpicsStatus ( guard, & msg, pChan->getCID(), S_cas_badBounds, ECA_GETFAIL ); } int cacStatus = caNetConvert ( - msg.m_dataType, pPayload, pPayload, true, msg.m_count ); + msg.m_dataType, pPayload, pPayload, true, count ); if ( cacStatus != ECA_NORMAL ) { return this->sendErrWithEpicsStatus ( guard, & msg, pChan->getCID(), S_cas_internal, cacStatus ); } - if ( msg.m_dataType == DBR_STRING && msg.m_count == 1u ) { + if ( msg.m_dataType == DBR_STRING && count == 1u ) { unsigned reducedPayloadSize = strlen ( static_cast < char * > ( pPayload ) ) + 1u; this->out.commitMsg ( reducedPayloadSize ); } @@ -595,7 +590,7 @@ caStatus casStrmClient::readNotifyAction ( epicsGuard < casClientMutex > & guard casChannelI * pChan; { - caStatus status = this->verifyRequest ( pChan, true ); + caStatus status = this->verifyRequest ( pChan, CA_V413 ( this->minor_version_number ) ); if ( status != ECA_NORMAL ) { return this->readNotifyFailureResponse ( guard, * mp, status ); } @@ -666,11 +661,15 @@ caStatus casStrmClient::readNotifyResponse ( epicsGuard < casClientMutex > & gua return ecaStatus; } + ca_uint32_t count = (msg.m_count == 0) ? + (ca_uint32_t)desc.getDataSizeElements() : + msg.m_count; + void *pPayload; { - unsigned size = dbr_size_n ( msg.m_dataType, msg.m_count ); + unsigned size = dbr_size_n ( msg.m_dataType, count ); caStatus status = this->out.copyInHeader ( msg.m_cmmd, size, - msg.m_dataType, msg.m_count, ECA_NORMAL, + msg.m_dataType, count, ECA_NORMAL, msg.m_available, & pPayload ); if ( status ) { if ( status == S_cas_hugeRequest ) { @@ -685,23 +684,23 @@ caStatus casStrmClient::readNotifyResponse ( epicsGuard < casClientMutex > & gua // convert gdd to db_access type // int mapDBRStatus = gddMapDbr[msg.m_dataType].conv_dbr ( pPayload, - msg.m_count, desc, pChan->enumStringTable() ); + count, desc, pChan->enumStringTable() ); if ( mapDBRStatus < 0 ) { desc.dump(); errPrintf ( S_cas_badBounds, __FILE__, __LINE__, "- get notify with PV=%s type=%u count=%u", - pChan->getPVI().getName(), msg.m_dataType, msg.m_count ); + pChan->getPVI().getName(), msg.m_dataType, count ); return this->readNotifyFailureResponse ( guard, msg, ECA_NOCONVERT ); } int cacStatus = caNetConvert ( - msg.m_dataType, pPayload, pPayload, true, msg.m_count ); + msg.m_dataType, pPayload, pPayload, true, count ); if ( cacStatus != ECA_NORMAL ) { return this->sendErrWithEpicsStatus ( guard, & msg, pChan->getCID(), S_cas_internal, cacStatus ); } - if ( msg.m_dataType == DBR_STRING && msg.m_count == 1u ) { + if ( msg.m_dataType == DBR_STRING && count == 1u ) { unsigned reducedPayloadSize = strlen ( static_cast < char * > ( pPayload ) ) + 1u; this->out.commitMsg ( reducedPayloadSize ); } @@ -859,11 +858,15 @@ caStatus casStrmClient::monitorResponse ( casChannelI & chan, const caHdrLargeArray & msg, const gdd & desc, const caStatus completionStatus ) { + ca_uint32_t count = (msg.m_count == 0) ? + (ca_uint32_t)desc.getDataSizeElements() : + msg.m_count; + void * pPayload = 0; { - ca_uint32_t size = dbr_size_n ( msg.m_dataType, msg.m_count ); + ca_uint32_t size = dbr_size_n ( msg.m_dataType, count ); caStatus status = out.copyInHeader ( msg.m_cmmd, size, - msg.m_dataType, msg.m_count, ECA_NORMAL, + msg.m_dataType, count, ECA_NORMAL, msg.m_available, & pPayload ); if ( status ) { if ( status == S_cas_hugeRequest ) { @@ -881,7 +884,7 @@ caStatus casStrmClient::monitorResponse ( gdd * pDBRDD = 0; if ( completionStatus == S_cas_success ) { - caStatus status = createDBRDD ( msg.m_dataType, msg.m_count, pDBRDD ); + caStatus status = createDBRDD ( msg.m_dataType, count, pDBRDD ); if ( status != S_cas_success ) { caStatus ecaStatus; if ( status == S_cas_badType ) { @@ -902,7 +905,7 @@ caStatus casStrmClient::monitorResponse ( pDBRDD->unreference (); errPrintf ( S_cas_noConvert, __FILE__, __LINE__, "no conversion between event app type=%d and DBR type=%d Element count=%d", - desc.applicationType (), msg.m_dataType, msg.m_count); + desc.applicationType (), msg.m_dataType, count); return monitorFailureResponse ( guard, msg, ECA_NOCONVERT ); } } @@ -925,14 +928,14 @@ caStatus casStrmClient::monitorResponse ( } int mapDBRStatus = gddMapDbr[msg.m_dataType].conv_dbr ( - pPayload, msg.m_count, *pDBRDD, chan.enumStringTable() ); + pPayload, count, *pDBRDD, chan.enumStringTable() ); if ( mapDBRStatus < 0 ) { pDBRDD->unreference (); return monitorFailureResponse ( guard, msg, ECA_NOCONVERT ); } int cacStatus = caNetConvert ( - msg.m_dataType, pPayload, pPayload, true, msg.m_count ); + msg.m_dataType, pPayload, pPayload, true, count ); if ( cacStatus != ECA_NORMAL ) { pDBRDD->unreference (); return this->sendErrWithEpicsStatus ( @@ -942,7 +945,7 @@ caStatus casStrmClient::monitorResponse ( // // force string message size to be the true size // - if ( msg.m_dataType == DBR_STRING && msg.m_count == 1u ) { + if ( msg.m_dataType == DBR_STRING && count == 1u ) { ca_uint32_t reducedPayloadSize = strlen ( static_cast < char * > ( pPayload ) ) + 1u; this->out.commitMsg ( reducedPayloadSize ); } @@ -1950,7 +1953,7 @@ caStatus casStrmClient::eventAddAction ( casChannelI *pciu; { - caStatus status = casStrmClient::verifyRequest ( pciu, true ); + caStatus status = casStrmClient::verifyRequest ( pciu, CA_V413 ( this->minor_version_number ) ); if ( status != ECA_NORMAL ) { if ( pciu ) { return this->sendErr ( guard, mp, From 1351eceead91ccae73cfb20cd627523c30db7990 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 14 Oct 2016 13:48:56 -0500 Subject: [PATCH 130/226] Clean up unused code warnings from Clang --- src/ca/cac.cpp | 6 +++--- src/ca/iocinf.h | 7 ------- src/ca/tcpiiu.cpp | 25 ------------------------- src/cas/generic/casStrmClient.cc | 2 -- src/libCom/logClient/logClient.c | 3 --- src/libCom/test/epicsCalcTest.cpp | 16 ---------------- 6 files changed, 3 insertions(+), 56 deletions(-) diff --git a/src/ca/cac.cpp b/src/ca/cac.cpp index 8a756c746..60f737ad7 100644 --- a/src/ca/cac.cpp +++ b/src/ca/cac.cpp @@ -149,9 +149,9 @@ cac::cac ( iiuExistenceCount ( 0u ), cacShutdownInProgress ( false ) { - if ( ! osiSockAttach () ) { - throwWithLocation ( caErrorCode (ECA_INTERNAL) ); - } + if ( ! osiSockAttach () ) { + throwWithLocation ( udpiiu :: noSocket () ); + } try { long status; diff --git a/src/ca/iocinf.h b/src/ca/iocinf.h index 8a26fdbf5..0d3b57db1 100644 --- a/src/ca/iocinf.h +++ b/src/ca/iocinf.h @@ -61,13 +61,6 @@ static const double CA_CONN_VERIFY_PERIOD = 30.0; /* (sec) how often to request */ static const unsigned contiguousMsgCountWhichTriggersFlowControl = 10u; -class caErrorCode { -public: - caErrorCode ( int status ) : code ( status ) {}; -private: - int code; -}; - /* * CA internal functions */ diff --git a/src/ca/tcpiiu.cpp b/src/ca/tcpiiu.cpp index 377e3ac3c..69009c264 100644 --- a/src/ca/tcpiiu.cpp +++ b/src/ca/tcpiiu.cpp @@ -44,9 +44,6 @@ using namespace std; -const unsigned mSecPerSec = 1000u; -const unsigned uSecPerSec = 1000u * mSecPerSec; - tcpSendThread::tcpSendThread ( class tcpiiu & iiuIn, const char * pName, unsigned stackSize, unsigned priority ) : @@ -805,28 +802,6 @@ tcpiiu::tcpiiu ( } } -# if 0 - // - // windows has a really strange implementation of thess options - // and we can avoid the need for this by using pthread_kill on unix - // - { - struct timeval timeout; - double pollInterval = connectionTimeout / 8.0; - timeout.tv_sec = static_cast < long > ( pollInterval ); - timeout.tv_usec = static_cast < long > - ( ( pollInterval - timeout.tv_sec ) * uSecPerSec ); - // intentionally ignore status as we dont expect that all systems - // will accept this request - setsockopt ( this->sock, SOL_SOCKET, SO_SNDTIMEO, - ( char * ) & timeout, sizeof ( timeout ) ); - // intentionally ignore status as we dont expect that all systems - // will accept this request - setsockopt ( this->sock, SOL_SOCKET, SO_RCVTIMEO, - ( char * ) & timeout, sizeof ( timeout ) ); - } -# endif - if ( isNameService() ) { pSearchDest->setCircuit ( this ); } diff --git a/src/cas/generic/casStrmClient.cc b/src/cas/generic/casStrmClient.cc index 468aa17a5..bf83a7f45 100644 --- a/src/cas/generic/casStrmClient.cc +++ b/src/cas/generic/casStrmClient.cc @@ -34,8 +34,6 @@ const nothrow_t nothrow ; } #endif -static const caHdr nill_msg = { 0u, 0u, 0u, 0u, 0u, 0u }; - casStrmClient::pCASMsgHandler const casStrmClient::msgHandlers[] = { & casStrmClient::versionAction, diff --git a/src/libCom/logClient/logClient.c b/src/libCom/logClient/logClient.c index adaaa7f95..4f5daaab1 100644 --- a/src/libCom/logClient/logClient.c +++ b/src/libCom/logClient/logClient.c @@ -34,9 +34,6 @@ #include "logClient.h" -static const int logClientSuccess = 0; -static const int logClientError = -1; - typedef struct { char msgBuf[0x4000]; struct sockaddr_in addr; diff --git a/src/libCom/test/epicsCalcTest.cpp b/src/libCom/test/epicsCalcTest.cpp index 5a4d44aa7..f4d5a4660 100644 --- a/src/libCom/test/epicsCalcTest.cpp +++ b/src/libCom/test/epicsCalcTest.cpp @@ -198,14 +198,6 @@ static inline double MAX(double a, double b, double c, double d, double e, double f, double g, double h, double i, double j) { return MAX(MAX(a,b,c,d,e,f,g,h,i),j); } -static inline double MAX(double a, double b, double c, double d, double e, - double f, double g, double h, double i, double j, double k) { - return MAX(MAX(a,b,c,d,e,f,g,h,i,j),k); -} -static inline double MAX(double a, double b, double c, double d, double e, - double f, double g, double h, double i, double j, double k, double l) { - return MAX(MAX(a,b,c,d,e,f,g,h,i,j,k),l); -} static inline double MIN(double a) { return a; @@ -242,14 +234,6 @@ static inline double MIN(double a, double b, double c, double d, double e, double f, double g, double h, double i, double j) { return MIN(MIN(a,b,c,d,e,f,g,h,i),j); } -static inline double MIN(double a, double b, double c, double d, double e, - double f, double g, double h, double i, double j, double k) { - return MIN(MIN(a,b,c,d,e,f,g,h,i,j),k); -} -static inline double MIN(double a, double b, double c, double d, double e, - double f, double g, double h, double i, double j, double k, double l) { - return MIN(MIN(a,b,c,d,e,f,g,h,i,j,k),l); -} /* The test code below generates lots of spurious warnings because * it's making sure that our operator priorities match those of C. From 92ffe1d7267970ac392d770a071c858dc671a14f Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 18 Oct 2016 11:39:38 +0200 Subject: [PATCH 131/226] cas: fix first subscription update returning only 1 element when 0 were requested --- src/cas/generic/caServerI.h | 9 +++++++-- src/cas/generic/casStrmClient.cc | 25 +++++++++++++++++-------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/cas/generic/caServerI.h b/src/cas/generic/caServerI.h index 6037d8c20..b45d9373a 100644 --- a/src/cas/generic/caServerI.h +++ b/src/cas/generic/caServerI.h @@ -40,8 +40,13 @@ class casIntfOS; class casMonitor; class casChannelI; -caStatus convertContainerMemberToAtomic ( class gdd & dd, - aitUint32 appType, aitUint32 elemCount ); +caStatus convertContainerMemberToAtomic (class gdd & dd, + aitUint32 appType, aitUint32 requestedCount, aitUint32 nativeCount); + +// Keep the old signature for backward compatibility +inline caStatus convertContainerMemberToAtomic (class gdd & dd, + aitUint32 appType, aitUint32 elemCount) +{ return convertContainerMemberToAtomic(dd, appType, elemCount, elemCount); } class caServerI : public caServerIO, diff --git a/src/cas/generic/casStrmClient.cc b/src/cas/generic/casStrmClient.cc index b1e321120..d8d36d926 100644 --- a/src/cas/generic/casStrmClient.cc +++ b/src/cas/generic/casStrmClient.cc @@ -737,7 +737,9 @@ caStatus casStrmClient::readNotifyFailureResponse ( // than the destination) // caStatus convertContainerMemberToAtomic ( gdd & dd, - aitUint32 appType, aitUint32 elemCount ) + aitUint32 appType, + aitUint32 requestedCount, + aitUint32 nativeCount ) { gdd * pVal; if ( dd.isContainer() ) { @@ -764,13 +766,13 @@ caStatus convertContainerMemberToAtomic ( gdd & dd, return S_cas_badType; } - if ( elemCount <= 1 ) { + if ( nativeCount <= 1 ) { return S_cas_success; } // convert to atomic gddBounds bds; - bds.setSize ( elemCount ); + bds.setSize ( requestedCount ); bds.setFirst ( 0u ); pVal->setDimension ( 1u, & bds ); return S_cas_success; @@ -780,7 +782,9 @@ caStatus convertContainerMemberToAtomic ( gdd & dd, // createDBRDD () // static caStatus createDBRDD ( unsigned dbrType, - unsigned elemCount, gdd * & pDD ) + unsigned requestedCount, + unsigned nativeCount, + gdd * & pDD ) { /* * DBR type has already been checked, but it is possible @@ -808,7 +812,7 @@ static caStatus createDBRDD ( unsigned dbrType, // fix the value element count caStatus status = convertContainerMemberToAtomic ( - *pDescRet, gddAppType_value, elemCount ); + *pDescRet, gddAppType_value, requestedCount, nativeCount ); if ( status != S_cas_success ) { pDescRet->unreference (); return status; @@ -884,7 +888,10 @@ caStatus casStrmClient::monitorResponse ( gdd * pDBRDD = 0; if ( completionStatus == S_cas_success ) { - caStatus status = createDBRDD ( msg.m_dataType, count, pDBRDD ); + caStatus status = createDBRDD ( msg.m_dataType, + count, + chan.getPVI().nativeCount(), + pDBRDD ); if ( status != S_cas_success ) { caStatus ecaStatus; if ( status == S_cas_badType ) { @@ -2614,8 +2621,10 @@ caStatus casStrmClient::read () { gdd * pDD = 0; - caStatus status = createDBRDD ( pHdr->m_dataType, - pHdr->m_count, pDD ); + caStatus status = createDBRDD ( pHdr->m_dataType, + pHdr->m_count, + this->ctx.getChannel()->getPVI().nativeCount(), + pDD ); if ( status != S_cas_success ) { return status; } From 994cf0ff07c7fbde81de6548255a4b077f5a42d4 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 18 Oct 2016 16:34:25 -0500 Subject: [PATCH 132/226] Add whole-program optimization control for MSVS Introduce a new config variable OPT_WHOLE_PROGRAM for Microsoft builds to control compiler and linker flags. Static builds with MSVS-2010 don't work properly with whole-program optimization enabled; this lets the static targets be built with normal optimization enabled and just the whole-program flags turned off. This commit also makes the CONFIG file for Microsoft builds more like the 3.15 version. --- configure/os/CONFIG.win32-x86.win32-x86 | 124 +++++++++--------- ...FIG_SITE.win32-x86-static.win32-x86-static | 8 ++ ...SITE.windows-x64-static.windows-x64-static | 8 ++ 3 files changed, 76 insertions(+), 64 deletions(-) create mode 100644 configure/os/CONFIG_SITE.win32-x86-static.win32-x86-static create mode 100644 configure/os/CONFIG_SITE.windows-x64-static.windows-x64-static diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index d6592dced..96cde4cf4 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -8,6 +8,8 @@ VALID_BUILDS = Host Ioc +OPT_WHOLE_PROGRAM = YES + # convert UNIX path to native path PATH_FILTER = $(subst /,\\,$(1)) @@ -35,34 +37,30 @@ HDEPENDS_METHOD = CMD # Compiler flags for C files (C++ is below) # -# /W display warnings at level d -# /W4 is for maximum (lint type) warnings -# /W3 is for production quality warnings -# /W2 displays significant warnings -# /W1 is the default and shows severe warnings only -# /w Set warning C to be shown at level -WARN_CFLAGS_YES = /W3 -WARN_CFLAGS_NO = /W1 +# -W display warnings at level d +# -W4 is for maximum (lint type) warnings +# -W3 is for production quality warnings +# -W2 displays significant warnings +# -W1 is the default and shows severe warnings only +# -w Set warning C to be shown at level +WARN_CFLAGS_YES = -W3 +WARN_CFLAGS_NO = -W1 # -# /Ox maximum optimizations -# /MD use MSVCRT (run-time as DLL, multi-thread support) -# /GL whole program optimization -# /Zi generate program database for debugging information -OPT_CFLAGS_YES = /Ox /GL +# -Ox maximum optimizations +# -GL whole program optimization +# -Oy- re-enable creation of frame pointers +OPT_CFLAGS_YES_YES = -Ox -GL -Oy- +OPT_CFLAGS_YES_NO = -Ox -Oy- +OPT_CFLAGS_YES = $(OPT_CFLAGS_YES_$(OPT_WHOLE_PROGRAM)) # -# /Zi generate program database for debugging information -# /Z7 include debugging info in object files -# /Fr create source browser file -# /GZ catch bugs occurring only in optimized code -# /D_CRTDBG_MAP_ALLOC -# /RTCsu catch bugs occuring only inoptimized code -# /DEPICS_FREELIST_DEBUG good for detecting mem mrg bugs -OPT_CFLAGS_NO = /Zi /RTCsu +# -Zi generate program database for debugging information +# -RTCsu enable run-time error checks +OPT_CFLAGS_NO = -Zi -RTCsu # specify object file name and location -OBJ_CFLAG = /Fo +OBJ_CFLAG = -Fo # # the following options are required when @@ -87,53 +85,44 @@ CPP = cl /nologo /C /E # Configure OS vendor C++ compiler # -# __STDC__=0 is a real great idea of Jeff that gives us both: +# __STDC__=0 gives us both: # 1) define STDC for code (pretend ANSI conformance) # 2) set it to 0 to use MS C "extensions" (open for _open etc.) # because MS uses: if __STDC__ ... disable many nice things # -# Use of /Za would dissable DLL import/export keywords which -# include/excludes using architecture neutral macros -# -# /EHsc - generate code for exceptions -# /GR - generate code for run time type identification +# -EHsc - generate code for exceptions +# -GR - generate code for run time type identification # -CCC = cl /nologo /EHsc /GR -CODE_CPPFLAGS += /nologo /D__STDC__=0 -CODE_CPPFLAGS += /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE +CCC = cl -EHsc -GR +CODE_CPPFLAGS += -nologo -D__STDC__=0 +CODE_CPPFLAGS += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE # Compiler flags for C++ files # -# /W display warnings at level d -# /W4 is for maximum (lint type) warnings -# /W3 is for production quality warnings -# /W2 displays significant warnings -# /W1 is the default and shows severe warnings only -# /w Set warning C to be shown at level -# /w44355 "'this' used in the base initializer list" -# /w44344 "behavior change: use of explicit template arguments results in ..." -WARN_CXXFLAGS_YES = /W3 /w44355 /w44344 -WARN_CXXFLAGS_NO = /W1 +# -W use warning level N +# (maximum lint level warnings at level 4) +# -w44355 set "'this' used in the base initializer list" to be level 4 +# -w44344 "behavior change: use of explicit template arguments results in ..." +WARN_CXXFLAGS_YES = -W3 -w44355 -w44344 +WARN_CXXFLAGS_NO = -W1 # -# /Ox maximum optimizations -# /GL whole program optimization -# /Zi generate program database for debugging information -OPT_CXXFLAGS_YES = /Ox /GL +# -Ox maximum optimizations +# -GL whole program optimization +# -Oy- re-enable creation of frame pointers +OPT_CXXFLAGS_YES_YES = -Ox -GL -Oy- +OPT_CXXFLAGS_YES_NO = -Ox -Oy- +OPT_CXXFLAGS_YES = $(OPT_CXXFLAGS_YES_$(OPT_WHOLE_PROGRAM)) # -# /Zi generate program database for debugging information -# /Z7 include debugging info in object files -# /Fr create source browser file -# /D_CRTDBG_MAP_ALLOC -# /RTCsu catch bugs occurring only in optimized code -# /DEPICS_FREELIST_DEBUG good for detecting mem mrg bugs -OPT_CXXFLAGS_NO = /RTCsu /Zi +# -Zi generate program database for debugging information +# -RTCsu enable run-time error checks +OPT_CXXFLAGS_NO = -RTCsu -Zi # specify object file name and location -OBJ_CXXFLAG = /Fo +OBJ_CXXFLAG = -Fo # # the following options are required when @@ -152,14 +141,20 @@ STATIC_LDLIBS_NO= STATIC_LDFLAGS= RANLIB= -# add /profile here to run the ms profiler -# /LTCG - whole program optimization -# /fixed:no good for programs such as purify and quantify -# /debug good for programs such as purify and quantify -LINK_OPT_FLAGS_YES = /LTCG /incremental:no /opt:ref /release $(PROD_VERSION:%=/version:%) -LINK_OPT_FLAGS_NO = /debug /incremental:no /fixed:no +# add -profile here to run the ms profiler +# -LTCG whole program optimization +# -incremental:no full linking +# -fixed:no generate relocatable code +# -version:. - only 2 components allowed, 0-65535 each +# -debug generate debugging info +LINK_OPT_FLAGS_WHOLE_YES = -LTCG +LINK_OPT_FLAGS_YES = $(LINK_OPT_FLAGS_WHOLE_$(OPT_WHOLE_PROGRAM)) +LINK_OPT_FLAGS_YES += -incremental:no -opt:ref +LINK_OPT_FLAGS_YES += -release $(PROD_VERSION:%=-version:%) +LINK_OPT_FLAGS_NO = -debug -incremental:no -fixed:no OPT_LDFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT)) -LIB_OPT_FLAGS_YES = /LTCG + +LIB_OPT_FLAGS_YES = $(LINK_OPT_FLAGS_WHOLE_$(OPT_WHOLE_PROGRAM)) LIB_OPT_LDFLAGS = $(LIB_OPT_FLAGS_$(HOST_OPT)) ARCH_DEP_CFLAGS= @@ -288,8 +283,8 @@ SHRLIB_LDLIBS += $(addsuffix .lib, \ #-------------------------------------------------- # Linker definition -LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) -out:$@ \ - $(call PATH_FILTER, $(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)) +LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) \ + -out:$@ $(call PATH_FILTER, $(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)) #-------------------------------------------------- # UseManifestTool.pl checks MS Visual c++ compiler version number to @@ -297,9 +292,10 @@ LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) -out: # linker created .manifest file into a library or product target. # useManifestTool.pl returns 0(don't use) or 1(use). # -MT_DLL_COMMAND1 = mt.exe /manifest $@.manifest "/outputresource:$@;\#2" +MT.exe = mt.exe -nologo -manifest $@.manifest +MT_DLL_COMMAND1 = $(MT.exe) "-outputresource:$@;\#2" MT_EXE_COMMAND_YES = -MT_EXE_COMMAND_NO = mt.exe /manifest $@.manifest "/outputresource:$@;\#1" +MT_EXE_COMMAND_NO = $(MT.exe) "-outputresource:$@;\#1" MT_EXE_COMMAND1 = $(MT_EXE_COMMAND_$(STATIC_BUILD)) MT_DLL_COMMAND = $(MT_DLL_COMMAND$(shell $(PERL) $(TOOLS)/useManifestTool.pl)) MT_EXE_COMMAND = $(MT_EXE_COMMAND$(shell $(PERL) $(TOOLS)/useManifestTool.pl)) diff --git a/configure/os/CONFIG_SITE.win32-x86-static.win32-x86-static b/configure/os/CONFIG_SITE.win32-x86-static.win32-x86-static new file mode 100644 index 000000000..789a0ceeb --- /dev/null +++ b/configure/os/CONFIG_SITE.win32-x86-static.win32-x86-static @@ -0,0 +1,8 @@ +# CONFIG_SITE.win32-x86-static.win32-x86-static +# +# Site-specific settings for the win32-x86-static target + +# Whole-program optimization doesn't work with Visual Studio 2010 when +# building static binaries. Newer versions of Visual Studio than 2010 +# may work though, comment out or set this to YES to try. +OPT_WHOLE_PROGRAM = NO diff --git a/configure/os/CONFIG_SITE.windows-x64-static.windows-x64-static b/configure/os/CONFIG_SITE.windows-x64-static.windows-x64-static new file mode 100644 index 000000000..23e489b1c --- /dev/null +++ b/configure/os/CONFIG_SITE.windows-x64-static.windows-x64-static @@ -0,0 +1,8 @@ +# CONFIG_SITE.windows-x64-static.windows-x64-static +# +# Site-specific settings for the windows-x64-static target + +# Whole-program optimization doesn't work with Visual Studio 2010 when +# building static binaries. Newer versions of Visual Studio than 2010 +# may work though, comment out or set this to YES to try. +OPT_WHOLE_PROGRAM = NO From 5d5cc1029ef9d181db23ca3b0053656eda8f73be Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 19 Oct 2016 11:57:13 +0200 Subject: [PATCH 133/226] gdd: make put() write full array if requested size=0 --- src/gdd/gdd.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/gdd/gdd.cc b/src/gdd/gdd.cc index 1a84808c6..438986ad1 100644 --- a/src/gdd/gdd.cc +++ b/src/gdd/gdd.cc @@ -1355,11 +1355,14 @@ gddStatus gdd::put ( const gdd * dd ) } aitUint32 srcAvailSize = srcElemCount - unusedSrcBelow; - if ( srcAvailSize > this->getBounds()->size() ) { - srcCopySize = this->getBounds()->size(); - } - else { - srcCopySize = srcAvailSize; + { + aitUint32 destSize = this->getBounds()->size(); + if ( destSize > 0 && srcAvailSize > destSize ) { + srcCopySize = destSize; + } + else { + srcCopySize = srcAvailSize; + } } if ( dataVoid() == NULL ) From ac6b8bfcc77d3077f2013b0b83874f910b183b9a Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 19 Oct 2016 14:22:25 +0200 Subject: [PATCH 134/226] templates: make caServerApp use variable size vectors --- src/makeBaseApp/top/caServerApp/exPV.cc | 2 +- src/makeBaseApp/top/caServerApp/exServer.h | 35 +++++++++++------ src/makeBaseApp/top/caServerApp/exVectorPV.cc | 39 ++++++++++--------- 3 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/makeBaseApp/top/caServerApp/exPV.cc b/src/makeBaseApp/top/caServerApp/exPV.cc index bc88b15bb..d35a4dbfa 100644 --- a/src/makeBaseApp/top/caServerApp/exPV.cc +++ b/src/makeBaseApp/top/caServerApp/exPV.cc @@ -42,7 +42,7 @@ exPV::exPV ( exServer & casIn, pvInfo & setup, // // no dataless PV allowed // - assert (this->info.getElementCount()>=1u); + assert (this->info.getCapacity()>=1u); // // start a very slow background scan diff --git a/src/makeBaseApp/top/caServerApp/exServer.h b/src/makeBaseApp/top/caServerApp/exServer.h index 5fb6adaf7..8336fda1a 100644 --- a/src/makeBaseApp/top/caServerApp/exServer.h +++ b/src/makeBaseApp/top/caServerApp/exServer.h @@ -76,8 +76,10 @@ public: double getLopr () const; aitEnum getType () const; excasIoType getIOType () const; - unsigned getElementCount () const; - void unlinkPV (); + unsigned getCapacity () const; + unsigned getElementCount () const; + void setElementCount (unsigned); + void unlinkPV (); exPV *createPV ( exServer & exCAS, bool preCreateFlag, bool scanOn, double asyncDelay ); void deletePV (); @@ -88,7 +90,8 @@ private: const double lopr; aitEnum type; const excasIoType ioType; - const unsigned elementCount; + const unsigned capacity; + unsigned elementCount; exPV * pPV; pvInfo & operator = ( const pvInfo & ); }; @@ -441,8 +444,8 @@ inline pvInfo::pvInfo ( double scanPeriodIn, const char *pNameIn, scanPeriod ( scanPeriodIn ), pName ( pNameIn ), hopr ( hoprIn ), lopr ( loprIn ), type ( typeIn ), - ioType ( ioTypeIn ), elementCount ( countIn ), - pPV ( 0 ) + ioType ( ioTypeIn ), capacity ( countIn ), + elementCount ( 0 ), pPV ( 0 ) { } @@ -454,8 +457,8 @@ inline pvInfo::pvInfo ( const pvInfo & copyIn ) : scanPeriod ( copyIn.scanPeriod ), pName ( copyIn.pName ), hopr ( copyIn.hopr ), lopr ( copyIn.lopr ), type ( copyIn.type ), - ioType ( copyIn.ioType ), elementCount ( copyIn.elementCount ), - pPV ( copyIn.pPV ) + ioType ( copyIn.ioType ), capacity ( copyIn.capacity ), + elementCount ( copyIn.elementCount ), pPV ( copyIn.pPV ) { } @@ -509,12 +512,22 @@ inline excasIoType pvInfo::getIOType () const return this->ioType; } -inline unsigned pvInfo::getElementCount () const -{ - return this->elementCount; +inline unsigned pvInfo::getCapacity () const +{ + return this->capacity; } -inline void pvInfo::unlinkPV () +inline unsigned pvInfo::getElementCount () const +{ + return this->elementCount; +} + +inline void pvInfo::setElementCount (unsigned newCount) +{ + this->elementCount = newCount; +} + +inline void pvInfo::unlinkPV () { this->pPV = NULL; } diff --git a/src/makeBaseApp/top/caServerApp/exVectorPV.cc b/src/makeBaseApp/top/caServerApp/exVectorPV.cc index da357831f..3308f8b20 100644 --- a/src/makeBaseApp/top/caServerApp/exVectorPV.cc +++ b/src/makeBaseApp/top/caServerApp/exVectorPV.cc @@ -48,7 +48,7 @@ unsigned exVectorPV::maxDimension() const aitIndex exVectorPV::maxBound (unsigned dimension) const // X aCC 361 { if (dimension==0u) { - return this->info.getElementCount(); + return this->info.getCapacity(); } else { return 0u; @@ -79,7 +79,7 @@ void exVectorPV::scan() this->currentTime = epicsTime::getCurrent(); pDD = new gddAtomic (gddAppType_value, aitEnumFloat64, - 1u, this->info.getElementCount()); + 1u, this->info.getCapacity()); if ( ! pDD.valid () ) { return; } @@ -93,7 +93,7 @@ void exVectorPV::scan() // // allocate array buffer // - pF = new aitFloat32 [this->info.getElementCount()]; + pF = new aitFloat32 [this->info.getCapacity()]; if (!pF) { return; } @@ -118,13 +118,13 @@ void exVectorPV::scan() if ( this->pValue.valid () ) { if (this->pValue->dimension()==1u) { const gddBounds *pB = this->pValue->getBounds(); - if (pB[0u].size()==this->info.getElementCount()) { + if (pB[0u].size()==this->info.getCapacity()) { pCF = *this->pValue; } } } - pFE = &pF[this->info.getElementCount()]; + pFE = &pF[this->info.getCapacity()]; while (pFsetTimeStamp ( & gddts ); status = this->update ( *pDD ); + this->info.setElementCount(this->info.getCapacity()); + if ( status != S_casApp_success ) { errMessage (status, "vector scan update failed\n"); } @@ -166,7 +168,7 @@ void exVectorPV::scan() // caStatus exVectorPV::updateValue ( const gdd & value ) { - + aitUint32 newSize = 0; // // Check bounds of incoming request // (and see if we are replacing all elements - @@ -180,10 +182,11 @@ caStatus exVectorPV::updateValue ( const gdd & value ) return S_casApp_badDimension; } const gddBounds* pb = value.getBounds (); + newSize = pb[0u].size(); if ( pb[0u].first() != 0u ) { return S_casApp_outOfBounds; } - else if ( pb[0u].size() > this->info.getElementCount() ) { + else if ( newSize > this->info.getCapacity() ) { return S_casApp_outOfBounds; } } @@ -193,14 +196,14 @@ caStatus exVectorPV::updateValue ( const gdd & value ) // return S_casApp_outOfBounds; } - + // // Create a new array data descriptor // (so that old values that may be referenced on the // event queue are not replaced) // - smartGDDPointer pNewValue ( new gddAtomic ( gddAppType_value, aitEnumFloat64, - 1u, this->info.getElementCount() ) ); + smartGDDPointer pNewValue ( new gddAtomic ( gddAppType_value, aitEnumFloat64, + 1u, newSize ) ); if ( ! pNewValue.valid() ) { return S_casApp_noMemory; } @@ -211,21 +214,20 @@ caStatus exVectorPV::updateValue ( const gdd & value ) // gddStatus gdds = pNewValue->unreference( ); assert ( ! gdds ); - + // // allocate array buffer // - aitFloat64 * pF = new aitFloat64 [this->info.getElementCount()]; + aitFloat64 * pF = new aitFloat64 [newSize]; if (!pF) { return S_casApp_noMemory; } - + // // Install (and initialize) array buffer // if no old values exist // - unsigned count = this->info.getElementCount(); - for ( unsigned i = 0u; i < count; i++ ) { + for ( unsigned i = 0u; i < newSize; i++ ) { pF[i] = 0.0f; } @@ -240,7 +242,7 @@ caStatus exVectorPV::updateValue ( const gdd & value ) // (do this before we increment pF) // pNewValue->putRef ( pF, pDest ); - + // // copy in the values that they are writing // @@ -248,9 +250,10 @@ caStatus exVectorPV::updateValue ( const gdd & value ) if ( gdds ) { return S_cas_noConvert; } - + this->pValue = pNewValue; - + this->info.setElementCount(newSize); + return S_casApp_success; } From ba555ee49675d9f469f14e0ffd8effecd97b2513 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 20 Oct 2016 12:23:06 -0500 Subject: [PATCH 135/226] Fix Whole Program opt settings (windows only) --- ...tic.win32-x86-static => CONFIG_SITE.Common.win32-x86-static} | 2 +- ...windows-x64-static => CONFIG_SITE.Common.windows-x64-static} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename configure/os/{CONFIG_SITE.win32-x86-static.win32-x86-static => CONFIG_SITE.Common.win32-x86-static} (85%) rename configure/os/{CONFIG_SITE.windows-x64-static.windows-x64-static => CONFIG_SITE.Common.windows-x64-static} (84%) diff --git a/configure/os/CONFIG_SITE.win32-x86-static.win32-x86-static b/configure/os/CONFIG_SITE.Common.win32-x86-static similarity index 85% rename from configure/os/CONFIG_SITE.win32-x86-static.win32-x86-static rename to configure/os/CONFIG_SITE.Common.win32-x86-static index 789a0ceeb..de4e61760 100644 --- a/configure/os/CONFIG_SITE.win32-x86-static.win32-x86-static +++ b/configure/os/CONFIG_SITE.Common.win32-x86-static @@ -1,4 +1,4 @@ -# CONFIG_SITE.win32-x86-static.win32-x86-static +# CONFIG_SITE.Common.win32-x86-static # # Site-specific settings for the win32-x86-static target diff --git a/configure/os/CONFIG_SITE.windows-x64-static.windows-x64-static b/configure/os/CONFIG_SITE.Common.windows-x64-static similarity index 84% rename from configure/os/CONFIG_SITE.windows-x64-static.windows-x64-static rename to configure/os/CONFIG_SITE.Common.windows-x64-static index 23e489b1c..5db619b11 100644 --- a/configure/os/CONFIG_SITE.windows-x64-static.windows-x64-static +++ b/configure/os/CONFIG_SITE.Common.windows-x64-static @@ -1,4 +1,4 @@ -# CONFIG_SITE.windows-x64-static.windows-x64-static +# CONFIG_SITE.Common.windows-x64-static # # Site-specific settings for the windows-x64-static target From 3e3b691518a0cbcbe08cfe3829126ff5ddca4420 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 20 Oct 2016 18:03:03 -0500 Subject: [PATCH 136/226] Update version to 3.14.12.6-pre1 --- configure/CONFIG_BASE_VERSION | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 6449b2940..0330c8c2e 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -4,7 +4,7 @@ # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE is distributed subject to a Software License Agreement found -# in the file LICENSE that is included with this distribution. +# in the file LICENSE that is included with this distribution. #************************************************************************* # # EPICS Version information @@ -28,11 +28,11 @@ EPICS_MODIFICATION = 12 # EPICS_PATCH_LEVEL must be a number (win32 resource file requirement) # Not included if zero -EPICS_PATCH_LEVEL = 5 +EPICS_PATCH_LEVEL = 6 # This will end in -DEV between official releases -EPICS_DEV_SNAPSHOT=-DEV -#EPICS_DEV_SNAPSHOT=-pre1 +#EPICS_DEV_SNAPSHOT=-DEV +EPICS_DEV_SNAPSHOT=-pre1 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV From 178a8a835a9f81ab21a31526504d2187023d980f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 20 Oct 2016 18:03:50 -0500 Subject: [PATCH 137/226] Update version to 3.14.12.6-pre1-DEV --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 0330c8c2e..43b79f233 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -32,8 +32,8 @@ EPICS_PATCH_LEVEL = 6 # This will end in -DEV between official releases #EPICS_DEV_SNAPSHOT=-DEV -EPICS_DEV_SNAPSHOT=-pre1 -#EPICS_DEV_SNAPSHOT=-pre1-DEV +#EPICS_DEV_SNAPSHOT=-pre1 +EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV #EPICS_DEV_SNAPSHOT=-rc1 From 14819ef1ec753955313aa24510c173ce6989281f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 21 Oct 2016 12:07:26 -0500 Subject: [PATCH 138/226] Update version numbers in docs --- documentation/KnownProblems.html | 29 +++++++++-------------------- documentation/README.1st | 2 +- documentation/README.html | 2 +- documentation/ReleaseChecklist.html | 24 ++++++++++++------------ 4 files changed, 23 insertions(+), 34 deletions(-) diff --git a/documentation/KnownProblems.html b/documentation/KnownProblems.html index 4c33c04c1..ab10855cc 100644 --- a/documentation/KnownProblems.html +++ b/documentation/KnownProblems.html @@ -4,17 +4,17 @@ - Known Problems in R3.15.3 + Known Problems in R3.15.5 -

EPICS Base R3.15.3: Known Problems

+

EPICS Base R3.15.5: Known Problems

Any patch files linked below should be applied at the root of the -base-3.15.3 tree. Download them, then use the GNU Patch program as +base-3.15.5 tree. Download them, then use the GNU Patch program as follows:

-
% cd /path/to/base-3.15.3
+
% cd /path/to/base-3.15.5
 % patch -p0 < /path/to/file.patch

The following significant problems have been reported with this @@ -22,22 +22,11 @@ version of EPICS Base:

    -
  • See LaunchPad bug - #1466129: - The feature that allows an IOC to bind to a single network interface is not - working correctly. The bug mentioned above contains a patch that has been - tested on Linux-64, a complete fix is expected for 3.15.4. Note that Windows - systems are not affected by this bug.
  • - -
  • Parallel builds ("make -j") on native Windows are not working properly. - Builds tend to hang (saturating one core); interrupting and running make - again usually finishes the build. Limiting the number of parallel jobs using - something like "make -j8" also helps prevent this problem. Sequential builds - always work and are recommended for automated build environments.
  • - -
  • 64-bit Windows builds of the CAS library may not work with some compilers. - The code in src/legacy/gdd is currently incompatible with the LLP64 - model that Windows uses for its 64-bit ABI.
  • +
  • Parallel builds ("make -j") of Windows DLL targets don't work, because the + build rules don't contain all the necessary dependencies. This problem has + been fixed in the 3.15 series build rules, but will not be addressed in the + 3.14 branch. Sequential builds always work and are recommended for automated + build environments.
diff --git a/documentation/README.1st b/documentation/README.1st index e82263d67..8349d445c 100644 --- a/documentation/README.1st +++ b/documentation/README.1st @@ -1,6 +1,6 @@ Installation Instructions - EPICS Base Release 3.15.3 + EPICS Base Release 3.15.5 -------------------------------------------------------------------------- diff --git a/documentation/README.html b/documentation/README.html index 56aa27528..eef83ed58 100644 --- a/documentation/README.html +++ b/documentation/README.html @@ -9,7 +9,7 @@

Installation Instructions

-

EPICS Base Release 3.15.3


+

EPICS Base Release 3.15.5



Table of Contents

diff --git a/documentation/ReleaseChecklist.html b/documentation/ReleaseChecklist.html index 085b22047..49d936ca2 100644 --- a/documentation/ReleaseChecklist.html +++ b/documentation/ReleaseChecklist.html @@ -135,17 +135,17 @@ relevent roles unless the Release Manager designates otherwise:

Tag the module in Bazaar, using these tag conventions:
  • - R3.15.3-pren + R3.15.5-pren — pre-release tag
  • - R3.15.3-rcn + R3.15.5-rcn — release candidate tag, note the rc is now lower-case
cd ~/base/mirror-3.15
- bzr tag R3.15.3-rcn + bzr tag R3.15.5-rcn
@@ -156,10 +156,10 @@ relevent roles unless the Release Manager designates otherwise:

generates a gzipped tarfile directly from the repository:
cd ~/base
- bzr export --keywords=publish - --root=base-3.15.3-rcn - -r tag:R3.15.3-rcn - base-3.15.3-rcn.tar.gz + bzr export + --root=base-3.15.5-rcn + -r tag:R3.15.5-rcn + base-3.15.5-rcn.tar.gz mirror-3.15
This requires that the Bazaar keywords plugin is installed and @@ -274,7 +274,7 @@ relevent roles unless the Release Manager designates otherwise:

Tag the module in Bazaar:
cd ~/base/mirror-3.15
- bzr tag R3.15.3 + bzr tag R3.15.5
@@ -285,10 +285,10 @@ relevent roles unless the Release Manager designates otherwise:

generates a gzipped tarfile directly from the repository:
cd ~/base
- bzr export --keywords=publish - --root=base-3.15.3 - -r tag:R3.15.3 - base-3.15.3.tar.gz + bzr export + --root=base-3.15.5 + -r tag:R3.15.5 + base-3.15.5.tar.gz mirror-3.15
This requires that the Bazaar keywords plugin is installed and From 9ea2ac7bc1f1e14b5aa4a16be2a664dfe467c00e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 21 Oct 2016 12:15:09 -0500 Subject: [PATCH 139/226] Update version to 3.15.5-pre1 --- configure/CONFIG_BASE_VERSION | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index f28cbe40b..92b030648 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -27,15 +27,15 @@ EPICS_VERSION = 3 EPICS_REVISION = 15 # EPICS_MODIFICATION must be a number >=0 and <256 -EPICS_MODIFICATION = 4 +EPICS_MODIFICATION = 5 # EPICS_PATCH_LEVEL must be a number (win32 resource file requirement) # Not included if zero EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases -EPICS_DEV_SNAPSHOT=-DEV -#EPICS_DEV_SNAPSHOT=-pre1 +#EPICS_DEV_SNAPSHOT=-DEV +EPICS_DEV_SNAPSHOT=-pre1 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV From 33025641fc6e0d2981dbd6a8f5740111736e9b36 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 21 Oct 2016 12:16:25 -0500 Subject: [PATCH 140/226] Update version to 3.15.5-pre1-DEV --- configure/CONFIG_BASE_VERSION | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 92b030648..890b5619c 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -23,10 +23,10 @@ BASE_3_15 = YES # EPICS_VERSION must be a number >0 and <256 EPICS_VERSION = 3 -# EPICS_REVISION must be a number >=0 and <256 +# EPICS_REVISION must be a number >=0 and <256 EPICS_REVISION = 15 -# EPICS_MODIFICATION must be a number >=0 and <256 +# EPICS_MODIFICATION must be a number >=0 and <256 EPICS_MODIFICATION = 5 # EPICS_PATCH_LEVEL must be a number (win32 resource file requirement) @@ -35,8 +35,8 @@ EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases #EPICS_DEV_SNAPSHOT=-DEV -EPICS_DEV_SNAPSHOT=-pre1 -#EPICS_DEV_SNAPSHOT=-pre1-DEV +#EPICS_DEV_SNAPSHOT=-pre1 +EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV #EPICS_DEV_SNAPSHOT=-rc1 From e2c897bb54bd0f8c1ddf848b772d3548ed3a203f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 21 Oct 2016 14:43:16 -0500 Subject: [PATCH 141/226] Corrections/updates to release documentation --- documentation/KnownProblems.html | 6 +----- documentation/ReleaseChecklist.html | 15 ++++++++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/documentation/KnownProblems.html b/documentation/KnownProblems.html index ab10855cc..5dfc280db 100644 --- a/documentation/KnownProblems.html +++ b/documentation/KnownProblems.html @@ -22,11 +22,7 @@ version of EPICS Base:

    -
  • Parallel builds ("make -j") of Windows DLL targets don't work, because the - build rules don't contain all the necessary dependencies. This problem has - been fixed in the 3.15 series build rules, but will not be addressed in the - 3.14 branch. Sequential builds always work and are recommended for automated - build environments.
  • +
  • None known as yet.
diff --git a/documentation/ReleaseChecklist.html b/documentation/ReleaseChecklist.html index 49d936ca2..77917b99e 100644 --- a/documentation/ReleaseChecklist.html +++ b/documentation/ReleaseChecklist.html @@ -162,8 +162,10 @@ relevent roles unless the Release Manager designates otherwise:

base-3.15.5-rcn.tar.gz mirror-3.15
- This requires that the Bazaar keywords plugin is installed and - configured properly. + Create a GPG signature file of the tarfile as follows: +
+ gpg --armor --sign --detach-sig base-3.15.5-rcn.tar.gz +
@@ -291,8 +293,10 @@ relevent roles unless the Release Manager designates otherwise:

base-3.15.5.tar.gz mirror-3.15 - This requires that the Bazaar keywords plugin is installed and - configured properly. + Create a GPG signature file of the tarfile as follows: +
+ gpg --armor --sign --detach-sig base-3.15.5.tar.gz +
@@ -308,7 +312,8 @@ relevent roles unless the Release Manager designates otherwise:

  Website Manager If necessary recreate the tarfile following the instructions above. - Copy the tar file to the Base download area of the website + Copy the tar file and its .asc signature file to the Base + download area of the website.   From 435ac7b086534144691e21a0a2de02d51606aa89 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 29 Oct 2016 15:49:13 -0500 Subject: [PATCH 142/226] Release note updates --- documentation/RELEASE_NOTES.html | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 43d2a9d62..dc0fdcdb3 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,39 @@ +

Launchpad Bug-fixes

+ +

In addition to the more detailed change descriptions below, the following +Launchpad bugs have also been fixed in this release:

+ +
    +
  • + #1440186 Crash due to a too small buffer being provided in + dbContextReadNotifyCache
  • +
  • + #1479316 Some data races found using Helgrind
  • +
  • + #1495833 biRecord prompt groups are nonsensical
  • +
  • + #1606848 WSAIoctl SIO_GET_INTERFACE_LIST failed in Windows
  • +
+ +

Whole-Program Optimization for MS Visual Studio Targets

+ +

When using the Microsoft compilers a new build system variable is provided +that controls whether whole program optimization is used or not. For static +builds using Visual Studio 2010 this optimization must be disabled. This is +controlled in the files configure/os/CONFIG_SITE.Common.windows-x64-static and +configure/os/CONFIG_SITE.Common.win32-x86-static by setting the variable +OPT_WHOLE_PROGRAM = NO to override the default value +YES that would otherwise be used.

+ +

Note that enabling this optimization slows down the build process. It is not +possible to selectively disable this optimization, when building a particular +module say; Microsoft's linker will restart itself automatically with the +-LTCG flag set and display a warning if it is asked to link any object +files that were compiled with the -GL flag.

+

Add dynamic (variable length) array support to PCAS

Dynamic array sizing support was added to the IOC server (RSRV) in the From 628382d72d5ab73374fd55e14cfc221998b0efff Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Mon, 31 Oct 2016 13:48:06 +0100 Subject: [PATCH 143/226] Update version to 3.15.5-rc1 --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 890b5619c..399a11f95 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -36,10 +36,10 @@ EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases #EPICS_DEV_SNAPSHOT=-DEV #EPICS_DEV_SNAPSHOT=-pre1 -EPICS_DEV_SNAPSHOT=-pre1-DEV +#EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV -#EPICS_DEV_SNAPSHOT=-rc1 +EPICS_DEV_SNAPSHOT=-rc1 #EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV From a36443557b8bbd1c5535280c8da2f4aed6184297 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 31 Oct 2016 17:03:35 -0500 Subject: [PATCH 144/226] Set version to 3.14.12.6-rc1 --- configure/CONFIG_BASE_VERSION | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 43b79f233..00ae748d8 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -26,17 +26,17 @@ EPICS_REVISION = 14 # EPICS_MODIFICATION must be a number >=0 and <256 EPICS_MODIFICATION = 12 -# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement) +# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement) # Not included if zero EPICS_PATCH_LEVEL = 6 # This will end in -DEV between official releases #EPICS_DEV_SNAPSHOT=-DEV #EPICS_DEV_SNAPSHOT=-pre1 -EPICS_DEV_SNAPSHOT=-pre1-DEV +#EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV -#EPICS_DEV_SNAPSHOT=-rc1 +EPICS_DEV_SNAPSHOT=-rc1 #EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV From 67daaaa9b7518a465b45ea58e4ba0b7db305395c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 31 Oct 2016 17:06:19 -0500 Subject: [PATCH 145/226] Set snapshot to -rc1-DEV --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 00ae748d8..decbf9280 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -36,8 +36,8 @@ EPICS_PATCH_LEVEL = 6 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV -EPICS_DEV_SNAPSHOT=-rc1 -#EPICS_DEV_SNAPSHOT=-rc1-DEV +#EPICS_DEV_SNAPSHOT=-rc1 +EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV #EPICS_DEV_SNAPSHOT= From 3e0ddbb54284684e1d799f7c396b826968979b5c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 31 Oct 2016 18:06:50 -0500 Subject: [PATCH 146/226] Set snapshot to -rc1-DEV --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 399a11f95..d87d48baf 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -39,8 +39,8 @@ EPICS_PATCH_LEVEL = 0 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV -EPICS_DEV_SNAPSHOT=-rc1 -#EPICS_DEV_SNAPSHOT=-rc1-DEV +#EPICS_DEV_SNAPSHOT=-rc1 +EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV #EPICS_DEV_SNAPSHOT= From aa6e976f92d144b5143cf267d8b2781d3ec8b62b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 4 Nov 2016 17:18:14 -0500 Subject: [PATCH 147/226] Add .local includes to makeBaseApp templates --- src/makeBaseApp/top/configure/CONFIG_SITE | 7 +++++++ src/makeBaseApp/top/configure/RELEASE | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/makeBaseApp/top/configure/CONFIG_SITE b/src/makeBaseApp/top/configure/CONFIG_SITE index 92156d971..9b443bfbe 100644 --- a/src/makeBaseApp/top/configure/CONFIG_SITE +++ b/src/makeBaseApp/top/configure/CONFIG_SITE @@ -29,3 +29,10 @@ CHECK_RELEASE = YES # to the install location. This may be needed to boot from # a Microsoft FTP server say, or on some NFS configurations. #IOCS_APPL_TOP = + +# These allow developers to override the CONFIG_SITE variable +# settings without having to modify the configure/CONFIG_SITE +# file itself. +-include $(TOP)/../CONFIG_SITE.local +-include $(TOP)/configure/CONFIG_SITE.local + diff --git a/src/makeBaseApp/top/configure/RELEASE b/src/makeBaseApp/top/configure/RELEASE index ba28bcb26..dbd742b45 100644 --- a/src/makeBaseApp/top/configure/RELEASE +++ b/src/makeBaseApp/top/configure/RELEASE @@ -35,3 +35,9 @@ EPICS_BASE = _EPICS_BASE_ # Set RULES here if you want to use build rules from somewhere # other than EPICS_BASE: #RULES = $(MODULES)/build-rules + +# These allow developers to override the RELEASE variable settings +# without having to modify the configure/RELEASE file itself. +-include $(TOP)/../RELEASE.local +-include $(TOP)/configure/RELEASE.local + From f1439f8b1c5ee21285415344fc1aac9562ca0dbd Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 15 Nov 2016 09:56:42 -0600 Subject: [PATCH 148/226] Fix epicsStdioTest for MS 2015 compiler --- src/libCom/test/epicsStdioTest.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/libCom/test/epicsStdioTest.c b/src/libCom/test/epicsStdioTest.c index 54fc3a48a..a2c57ecac 100644 --- a/src/libCom/test/epicsStdioTest.c +++ b/src/libCom/test/epicsStdioTest.c @@ -38,7 +38,14 @@ static void testEpicsSnprintf(void) { const char *expected = exbuffer; int size; int rtn, rlen; - + +#ifdef _WIN32 +#if (defined(_MSC_VER) && _MSC_VER < 1900) || \ + (defined(_MINGW) && defined(_TWO_DIGIT_EXPONENT)) + _set_output_format(_TWO_DIGIT_EXPONENT); +#endif +#endif + sprintf(exbuffer, format, ivalue, fvalue, svalue); rlen = strlen(expected)+1; @@ -122,11 +129,7 @@ void testStdoutRedir (const char *report) MAIN(epicsStdioTest) { -#ifdef _WIN32 - testPlan(166); -#else testPlan(163); -#endif testEpicsSnprintf(); testStdoutRedir("report"); return testDone(); From 726d7c67159034f7e3b1a3dc6ca4a199bd0fdc00 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 15 Nov 2016 10:34:10 -0600 Subject: [PATCH 149/226] Fix chfPluginTest for MS 2015 compiler --- src/ioc/db/test/chfPluginTest.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ioc/db/test/chfPluginTest.c b/src/ioc/db/test/chfPluginTest.c index 4b12644ea..becd876e8 100644 --- a/src/ioc/db/test/chfPluginTest.c +++ b/src/ioc/db/test/chfPluginTest.c @@ -541,8 +541,11 @@ MAIN(chfPluginTest) dbChannel *pch; db_field_log *pfl; -#if defined(WIN32) && (!defined(_MINGW) || __MSVCRT_VERSION__ >= 0x0800) +#ifdef _WIN32 +#if (defined(_MSC_VER) && _MSC_VER < 1900) || \ + (defined(_MINGW) && defined(_TWO_DIGIT_EXPONENT)) _set_output_format(_TWO_DIGIT_EXPONENT); +#endif #endif testPlan(1433); From 0a4981093a55ed423833b9e7daa4046138d0f4b6 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 15 Nov 2016 17:44:21 -0600 Subject: [PATCH 150/226] Update mingw32 cross-target name for RHEL7 --- configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw index 7df172901..db87a3357 100644 --- a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw @@ -14,9 +14,9 @@ STATIC_BUILD = YES #GNU_DIR = /usr/local # Different distribution cross-build packages use different prefixes: -# Ubuntu: -#CMPLR_PREFIX = i686-w64-mingw32- -# RHEL: -CMPLR_PREFIX = i686-pc-mingw32- +# Ubuntu, RHEL7: +CMPLR_PREFIX = i686-w64-mingw32- +# RHEL6: +#CMPLR_PREFIX = i686-pc-mingw32- # Debian? #CMPLR_PREFIX = i586-mingw32msvc- From 2841af7069ee2f1b47116a987e8ecdc6a411476a Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 29 Nov 2016 14:48:57 +0100 Subject: [PATCH 151/226] rec: add promptgroups for OFFS and SHFT of fanout and seq --- src/std/rec/fanoutRecord.dbd | 6 ++++-- src/std/rec/seqRecord.dbd | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/std/rec/fanoutRecord.dbd b/src/std/rec/fanoutRecord.dbd index 40968945c..251d63a11 100644 --- a/src/std/rec/fanoutRecord.dbd +++ b/src/std/rec/fanoutRecord.dbd @@ -36,12 +36,14 @@ recordtype(fanout) { } field(OFFS,DBF_SHORT) { prompt("Offset for Specified") - interest(1) + promptgroup("30 - Action") + interest(1) initial("0") } field(SHFT,DBF_SHORT) { prompt("Shift for Mask mode") - interest(1) + promptgroup("30 - Action") + interest(1) initial("-1") } field(LNK0,DBF_FWDLINK) { diff --git a/src/std/rec/seqRecord.dbd b/src/std/rec/seqRecord.dbd index c40d17c38..826f3ecf6 100644 --- a/src/std/rec/seqRecord.dbd +++ b/src/std/rec/seqRecord.dbd @@ -36,11 +36,13 @@ recordtype(seq) { } field(OFFS,DBF_SHORT) { prompt("Offset for Specified") + promptgroup("30 - Action") interest(1) initial("0") } field(SHFT,DBF_SHORT) { prompt("Shift for Mask mode") + promptgroup("30 - Action") interest(1) initial("-1") } From 0f7f4710c6a6c9e8fe94c2527d050928405aa296 Mon Sep 17 00:00:00 2001 From: Wang Xiaoqiang Date: Wed, 30 Nov 2016 11:58:24 -0600 Subject: [PATCH 152/226] PCAS dynamic array support for GDD container types --- src/cas/generic/casStrmClient.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/cas/generic/casStrmClient.cc b/src/cas/generic/casStrmClient.cc index 6cfab04dd..e23a2b8df 100644 --- a/src/cas/generic/casStrmClient.cc +++ b/src/cas/generic/casStrmClient.cc @@ -856,8 +856,20 @@ caStatus casStrmClient::monitorResponse ( casChannelI & chan, const caHdrLargeArray & msg, const gdd & desc, const caStatus completionStatus ) { + aitUint32 elementCount = 0; + if (desc.isContainer()) { + aitUint32 index; + int gdds = gddApplicationTypeTable::app_table.mapAppToIndex + ( desc.applicationType(), gddAppType_value, index ); + if ( gdds ) { + return S_cas_badType; + } + elementCount = desc.getDD(index)->getDataSizeElements(); + } else { + elementCount = desc.getDataSizeElements(); + } ca_uint32_t count = (msg.m_count == 0) ? - (ca_uint32_t)desc.getDataSizeElements() : + (ca_uint32_t)elementCount : msg.m_count; void * pPayload = 0; From 666721c7ada87b5dca878f76b0429e7b1e4c7ee7 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 6 Dec 2016 12:16:35 -0600 Subject: [PATCH 153/226] Document caput scalar arg's, update usage docs --- src/ca/CAref.html | 113 +++++++++++++++++++++++++++----------------- src/catools/caput.c | 8 ++-- 2 files changed, 75 insertions(+), 46 deletions(-) diff --git a/src/ca/CAref.html b/src/ca/CAref.html index 91bc6bed2..0b9af7b30 100644 --- a/src/ca/CAref.html +++ b/src/ca/CAref.html @@ -1146,16 +1146,10 @@ the output.

Wide mode "name timestamp value stat sevr" (read PVs as DBR_TIME_xxx) - - -n - Print DBF_ENUM values as number (default are enum strings) - -d <type> - Request specific dbr type; use string (DBR_ prefix may be omitted) - -

or number of one of the following types:

- + Request specific dbr type; use string (DBR_ prefix may be omitted)
+ or number of one of the following types:
@@ -1272,6 +1266,14 @@ the output.

+ + + Enum format: + + + -n + Print DBF_ENUM value as number (default is enum string) + Arrays: @@ -1303,15 +1305,15 @@ the output.

-e <nr> - Use %e format, with <nr> digits after the decimal point + Use %e format, with a precision of <nr> digits -f <nr> - Use %f format, with <nr> digits after the decimal point + Use %f format, with a precision of <nr> digits -g <nr> - Use %g format, with <nr> digits after the decimal point + Use %g format, with a precision of <nr> digits -s @@ -1349,6 +1351,14 @@ the output.

-0b Print as binary number + + + Alternate output field separator: + + + -F <ofs> + Use <ofs> as an alternate output field separator + @@ -1381,9 +1391,10 @@ the output.

Wait time, specifies longer CA timeout, default is 1.0 second - -m <mask> - Specify CA event mask to use, with <mask> being any combination - of 'v' (value), 'a' (alarm), 'l' (log), 'p' (property). Default: va + -m <msk> + Specify CA event mask to use. <msk> is any combination of
+ 'v' (value), 'a' (alarm), 'l' (log/archive), 'p' (property).
+ Default event mask is 'va' -p <prio> @@ -1405,8 +1416,8 @@ the output.

'n' = no timestamps
'r' = relative timestamps (time elapsed since start of program)
'i' = incremental timestamps (time elapsed since last update)
- 'I' = incremental timestamps (time elapsed since last update, by - channel) + 'I' = incremental timestamps (time since last update, by channel)
+ 'r', 'i' or 'I' require 's' or 'c' to select the time source @@ -1414,7 +1425,7 @@ the output.

-n - Print DBF_ENUM values as number (default are enum strings) + Print DBF_ENUM values as number (default is enum string) @@ -1422,16 +1433,15 @@ the output.

- Value format: Print number of requested values, then list of - values + Array values: Print number of elements, then list of values Default: - Print all values + Default: Request and print all elements (dynamic arrays supported) - -# <count> - Print first <count> elements of an array + -# <num> + Request and print up to <num> elements -S @@ -1439,23 +1449,23 @@ the output.

- Floating point type format: + Floating point format: Default: Use %g format - -e <nr> - Use %e format, with <nr> digits after the decimal point + -e <num> + Use %e format, with a precision of <num> digits - -f <nr> - Use %f format, with <nr> digits after the decimal point + -f <num> + Use %f format, with a precision of <num> digits - -g <nr> - Use %g format, with <nr> digits after the decimal point + -g <num> + Use %g format, with a precision of <num> digits -s @@ -1497,21 +1507,27 @@ the output.

caput

-
caput [options] <PV name> <value>
+
caput [options] <PV name> <value> ...
 caput -a [options] <PV name> <no of elements> <value> ...

Description

Put value to a PV.

-

The specified value is written to the PV (as a string). The PV value is read -before and after the write operation and printed as "Old" and "new" values on -stdout.

+

The specified value is written to the PV (as a string). The PV's value is +read before and after the write operation and printed as "Old" and "New" values +on stdout.

-

The array variant writes an array to the specified PV. The first numeric -argument specifying the number of array elements is kept for compatibility with -the array data format of caget - the actual number of values specified on the -command line is used.

+

There are two variants to the arguments for this command. For the scalar +variant without the -a flag, all the value arguments provided after +the PV name are concatenated with a single space character between them, and the +resulting string (up to 40 characters long unless the -S flag is +given) is written to the specified PV.

+ +

The array variant with the -a flag writes an array of string +values to the specified PV. The numeric argument giving the number of array +elements is actually ignored, the array length to be written is actually +controlled by the number of values provided on the command line.

@@ -1550,12 +1566,16 @@ command line is used.

+ + + + - + @@ -1571,17 +1591,24 @@ command line is used.

- - + + - + - + + + + + + + + +
-t Terse mode - print only successfully written value, without name
-lLong mode "name timestamp value stat sevr" (read PVs as DBR_TIME_xxx)
Enum Format:
Default: Auto - try value as ENUM string, then as index number
Arrays:
-aPut array dataDefault:Put scalar
Value format: Print number of requested values, then list of - valuesValue format: all value arguments concatenated with spaces
-SPut string as an array of char (long string)Put string as an array of chars (long string)
-aPut array
Value format: number of values, then list of values
diff --git a/src/catools/caput.c b/src/catools/caput.c index 02182932d..715672958 100644 --- a/src/catools/caput.c +++ b/src/catools/caput.c @@ -56,7 +56,7 @@ static epicsEventId epId; void usage (void) { - fprintf (stderr, "\nUsage: caput [options] \n" + fprintf (stderr, "\nUsage: caput [options] ...\n" " caput -a [options] ...\n\n" " -h: Help: Print this message\n" "Channel Access options:\n" @@ -71,9 +71,11 @@ void usage (void) " -n: Force interpretation of values as numbers\n" " -s: Force interpretation of values as strings\n" "Arrays:\n" + " Default: Put scalar\n" + " Value format: all value arguments concatenated with spaces\n" + " -S: Put string as an array of chars (long string)\n" " -a: Put array\n" - " Value format: number of requested values, then list of values\n" - " -S: Put string as an array of char (long string)\n" + " Value format: number of values, then list of values\n" "\nExample: caput my_channel 1.2\n" " (puts 1.2 to my_channel)\n\n" , DEFAULT_TIMEOUT, CA_PRIORITY_MAX); From d3568605ce7bbd5d063a77f2f2a29f83a23cee3c Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Tue, 6 Dec 2016 13:43:59 -0800 Subject: [PATCH 154/226] Fetch nativeCount() in casChannelI constructor to avoid deadlock if we fetch it from eventSysProcess() --- src/cas/generic/casChannelI.cc | 1 + src/cas/generic/casChannelI.h | 7 +++++++ src/cas/generic/casStrmClient.cc | 8 ++++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/cas/generic/casChannelI.cc b/src/cas/generic/casChannelI.cc index 588f67d78..c575ea483 100644 --- a/src/cas/generic/casChannelI.cc +++ b/src/cas/generic/casChannelI.cc @@ -21,6 +21,7 @@ casChannelI::casChannelI ( casCoreClient & clientIn, casChannel & chanIn, casPVI & pvIn, ca_uint32_t cidIn ) : privateForPV ( clientIn, *this ), pv ( pvIn ), + maxElem( pvIn.nativeCount() ), chan ( chanIn ), cid ( cidIn ), serverDeletePending ( false ), diff --git a/src/cas/generic/casChannelI.h b/src/cas/generic/casChannelI.h index 2c72e88e4..228fe6ab3 100644 --- a/src/cas/generic/casChannelI.h +++ b/src/cas/generic/casChannelI.h @@ -45,6 +45,7 @@ public: void clearOutstandingReads (); void postAccessRightsEvent (); const gddEnumStringTable & enumStringTable () const; + ca_uint32_t getMaxElem () const; void setOwner ( const char * const pUserName, const char * const pHostName ); bool readAccess () const; @@ -58,6 +59,7 @@ private: chanIntfForPV privateForPV; tsDLList < casAsyncIOI > ioList; casPVI & pv; + ca_uint32_t maxElem; casChannel & chan; caResId cid; // client id bool serverDeletePending; @@ -77,6 +79,11 @@ inline casPVI & casChannelI::getPVI () const return this->pv; } +inline ca_uint32_t casChannelI::getMaxElem () const +{ + return this->maxElem; +} + inline const caResId casChannelI::getCID () { return this->cid; diff --git a/src/cas/generic/casStrmClient.cc b/src/cas/generic/casStrmClient.cc index e23a2b8df..60903787c 100644 --- a/src/cas/generic/casStrmClient.cc +++ b/src/cas/generic/casStrmClient.cc @@ -409,7 +409,7 @@ caStatus casStrmClient::verifyRequest (casChannelI * & pChan , bool allowdyn) // // element count out of range ? // - if ( ctx.msg.m_count > pChan->getPVI().nativeCount() || + if ( ctx.msg.m_count > pChan->getMaxElem() || ( !allowdyn && ctx.msg.m_count == 0u ) ) { return ECA_BADCOUNT; } @@ -895,7 +895,7 @@ caStatus casStrmClient::monitorResponse ( gdd * pDBRDD = 0; if ( completionStatus == S_cas_success ) { caStatus status = createDBRDD ( msg.m_dataType, count, - chan.getPVI().nativeCount(), pDBRDD ); + chan.getMaxElem(), pDBRDD ); if ( status != S_cas_success ) { caStatus ecaStatus; if ( status == S_cas_badType ) { @@ -1866,7 +1866,7 @@ caStatus casStrmClient::privateCreateChanResponse ( // the protocol buffer. // assert ( nativeTypeDBR <= 0xffff ); - aitIndex nativeCount = chan.getPVI().nativeCount(); + aitIndex nativeCount = chan.getMaxElem(); assert ( nativeCount <= 0xffffffff ); assert ( hdr.m_cid == chan.getCID() ); status = this->out.copyInHeader ( CA_PROTO_CREATE_CHAN, 0, @@ -2626,7 +2626,7 @@ caStatus casStrmClient::read () { gdd * pDD = 0; caStatus status = createDBRDD ( pHdr->m_dataType, pHdr->m_count, - this->ctx.getChannel()->getPVI().nativeCount(), pDD ); + this->ctx.getChannel()->getMaxElem(), pDD ); if ( status != S_cas_success ) { return status; } From 94397b52fca8967b46387c74f93db6b5866aa686 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 7 Dec 2016 13:53:26 -0600 Subject: [PATCH 155/226] Resolve some cppcheck errors & warnings --- src/RTEMS/base/rtems_init.c | 6 +- src/ca/repeater.cpp | 1 + src/ca/udpiiu.cpp | 10 +- src/cas/example/directoryService/main.cc | 2 +- src/cas/generic/casDGClient.cc | 337 ++++++++++---------- src/cas/generic/casStrmClient.cc | 1 + src/db/dbCaTest.c | 4 +- src/db/dbConvert.c | 6 +- src/db/db_test.c | 6 +- src/gdd/gddTest.cc | 4 +- src/libCom/osi/epicsGeneralTime.c | 2 +- src/libCom/osi/os/RTEMS/osdMessageQueue.c | 2 +- src/libCom/osi/os/RTEMS/osdThread.c | 2 - src/libCom/osi/os/WIN32/osdThread.c | 9 +- src/makeBaseApp/top/caClientApp/caMonitor.c | 1 + src/rec/histogramRecord.c | 2 +- src/rsrv/camessage.c | 3 +- src/util/iocLogServer.c | 198 ++++++------ 18 files changed, 299 insertions(+), 297 deletions(-) diff --git a/src/RTEMS/base/rtems_init.c b/src/RTEMS/base/rtems_init.c index dd136b755..2b909ab3b 100644 --- a/src/RTEMS/base/rtems_init.c +++ b/src/RTEMS/base/rtems_init.c @@ -489,7 +489,7 @@ exitHandler(void) rtems_task Init (rtems_task_argument ignored) { - int i; + int result; char *argv[3] = { NULL, NULL, NULL }; char *cp; rtems_task_priority newpri; @@ -612,8 +612,8 @@ Init (rtems_task_argument ignored) set_directory (argv[1]); epicsEnvSet ("IOC_STARTUP_SCRIPT", argv[1]); atexit(exitHandler); - i = main ((sizeof argv / sizeof argv[0]) - 1, argv); + result = main ((sizeof argv / sizeof argv[0]) - 1, argv); printf ("***** IOC application terminating *****\n"); epicsThreadSleep(1.0); - epicsExit(0); + epicsExit(result); } diff --git a/src/ca/repeater.cpp b/src/ca/repeater.cpp index 5e123ee2d..61ba33fc5 100644 --- a/src/ca/repeater.cpp +++ b/src/ca/repeater.cpp @@ -504,6 +504,7 @@ void ca_repeater () if ( sockerrno == SOCK_EADDRINUSE ) { osiSockRelease (); debugPrintf ( ( "CA Repeater: exiting because a repeater is already running\n" ) ); + delete [] pBuf; return; } char sockErrBuf[64]; diff --git a/src/ca/udpiiu.cpp b/src/ca/udpiiu.cpp index e4e8bd31f..c7a6f832f 100644 --- a/src/ca/udpiiu.cpp +++ b/src/ca/udpiiu.cpp @@ -902,10 +902,12 @@ bool udpiiu::pushDatagramMsg ( epicsGuard < epicsMutex > & guard, caHdr * pbufmsg = ( caHdr * ) &this->xmitBuf[this->nBytesInXmitBuf]; *pbufmsg = msg; - memcpy ( pbufmsg + 1, pExt, extsize ); - if ( extsize != alignedExtSize ) { - char *pDest = (char *) ( pbufmsg + 1 ); - memset ( pDest + extsize, '\0', alignedExtSize - extsize ); + if ( extsize ) { + memcpy ( pbufmsg + 1, pExt, extsize ); + if ( extsize != alignedExtSize ) { + char *pDest = (char *) ( pbufmsg + 1 ); + memset ( pDest + extsize, '\0', alignedExtSize - extsize ); + } } AlignedWireRef < epicsUInt16 > ( pbufmsg->m_postsize ) = alignedExtSize; this->nBytesInXmitBuf += msgsize; diff --git a/src/cas/example/directoryService/main.cc b/src/cas/example/directoryService/main.cc index afd4f813c..392f07c5b 100644 --- a/src/cas/example/directoryService/main.cc +++ b/src/cas/example/directoryService/main.cc @@ -170,7 +170,7 @@ static int parseDirectoryFP (FILE *pf, const char *pFileName) status = aToIPAddr (hostNameStr, 0u, &ipa); if (status) { - fprintf (pf, "Unknown host name=\"%s\" (or bad dotted ip addr) in \"%s\" with PV=\"%s\"?\n", + fprintf (stderr, "Unknown host name=\"%s\" (or bad dotted ip addr) in \"%s\" with PV=\"%s\"?\n", hostNameStr, pFileName, pvNameStr); return -1; } diff --git a/src/cas/generic/casDGClient.cc b/src/cas/generic/casDGClient.cc index bf9037288..3bb32c3e2 100644 --- a/src/cas/generic/casDGClient.cc +++ b/src/cas/generic/casDGClient.cc @@ -24,39 +24,39 @@ casDGClient::pCASMsgHandler const casDGClient::msgHandlers[] = { - & casDGClient::versionAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, + & casDGClient::versionAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, & casDGClient::uknownMessageAction, & casDGClient::searchAction, & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::echoAction, - & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::echoAction, + & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction, - & casDGClient::uknownMessageAction + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction, + & casDGClient::uknownMessageAction }; // @@ -84,7 +84,7 @@ casDGClient::~casDGClient() // void casDGClient::destroy() { - printf("Attempt to destroy the DG client was ignored\n"); + printf("Attempt to destroy the DG client was ignored\n"); } // @@ -92,16 +92,16 @@ void casDGClient::destroy() // void casDGClient::show (unsigned level) const { - printf ( "casDGClient at %p\n", + printf ( "casDGClient at %p\n", static_cast ( this ) ); - if (level>=1u) { - char buf[64]; - this->hostName (buf, sizeof(buf)); - printf ("Client Host=%s\n", buf); + if (level>=1u) { + char buf[64]; + this->hostName (buf, sizeof(buf)); + printf ("Client Host=%s\n", buf); this->casCoreClient::show ( level - 1u ); this->in.show ( level - 1u ); this->out.show ( level - 1u ); - } + } } // @@ -109,7 +109,7 @@ void casDGClient::show (unsigned level) const // caStatus casDGClient::uknownMessageAction () { - const caHdrLargeArray * mp = this->ctx.getMsg(); + const caHdrLargeArray * mp = this->ctx.getMsg(); char pHostName[64u]; this->lastRecvAddr.stringConvert ( pHostName, sizeof ( pHostName ) ); @@ -117,7 +117,7 @@ caStatus casDGClient::uknownMessageAction () caServerI::dumpMsg ( pHostName, "?", mp, this->ctx.getData(), "bad request code=%u in DG\n", mp->m_cmmd ); - return S_cas_badProtocol; + return S_cas_badProtocol; } // @@ -125,9 +125,9 @@ caStatus casDGClient::uknownMessageAction () // caStatus casDGClient::searchAction() { - const caHdrLargeArray *mp = this->ctx.getMsg(); + const caHdrLargeArray *mp = this->ctx.getMsg(); const char *pChanName = static_cast ( this->ctx.getData() ); - caStatus status; + caStatus status; // // check the sanity of the message @@ -135,7 +135,7 @@ caStatus casDGClient::searchAction() if ( mp->m_postsize <= 1 ) { char pHostName[64u]; this->lastRecvAddr.stringConvert ( pHostName, sizeof ( pHostName ) ); - caServerI::dumpMsg ( pHostName, "?", mp, this->ctx.getData(), + caServerI::dumpMsg ( pHostName, "?", mp, this->ctx.getData(), "empty PV name extension in UDP search request?\n" ); return S_cas_success; } @@ -143,7 +143,7 @@ caStatus casDGClient::searchAction() if ( pChanName[0] == '\0' ) { char pHostName[64u]; this->lastRecvAddr.stringConvert ( pHostName, sizeof ( pHostName ) ); - caServerI::dumpMsg ( pHostName, "?", mp, this->ctx.getData(), + caServerI::dumpMsg ( pHostName, "?", mp, this->ctx.getData(), "zero length PV name in UDP search request?\n" ); return S_cas_success; } @@ -155,56 +155,56 @@ caStatus casDGClient::searchAction() if ( i <= 1 ) { char pHostName[64u]; this->lastRecvAddr.stringConvert ( pHostName, sizeof ( pHostName ) ); - caServerI::dumpMsg ( pHostName, "?", mp, this->ctx.getData(), + caServerI::dumpMsg ( pHostName, "?", mp, this->ctx.getData(), "unterminated PV name in UDP search request?\n" ); return S_cas_success; } } - if ( this->getCAS().getDebugLevel() > 6u ) { - char pHostName[64u]; - this->hostName ( pHostName, sizeof ( pHostName ) ); - printf ( "\"%s\" is searching for \"%s\"\n", + if ( this->getCAS().getDebugLevel() > 6u ) { + char pHostName[64u]; + this->hostName ( pHostName, sizeof ( pHostName ) ); + printf ( "\"%s\" is searching for \"%s\"\n", pHostName, pChanName ); - } + } - // - // verify that we have sufficent memory for a PV and a - // monitor prior to calling PV exist test so that when - // the server runs out of memory we dont reply to - // search requests, and therefore dont thrash through - // caServer::pvExistTest() and casCreatePV::pvAttach() - // + // + // verify that we have sufficent memory for a PV and a + // monitor prior to calling PV exist test so that when + // the server runs out of memory we dont reply to + // search requests, and therefore dont thrash through + // caServer::pvExistTest() and casCreatePV::pvAttach() + // if ( ! osiSufficentSpaceInPool ( 0 ) ) { return S_cas_success; } - // - // ask the server tool if this PV exists - // - this->userStartedAsyncIO = false; - pvExistReturn pver = - this->getCAS()->pvExistTest ( this->ctx, this->lastRecvAddr, pChanName ); + // + // ask the server tool if this PV exists + // + this->userStartedAsyncIO = false; + pvExistReturn pver = + this->getCAS()->pvExistTest ( this->ctx, this->lastRecvAddr, pChanName ); - // - // prevent problems when they initiate - // async IO but dont return status - // indicating so (and vise versa) - // - if ( this->userStartedAsyncIO ) { + // + // prevent problems when they initiate + // async IO but dont return status + // indicating so (and vise versa) + // + if ( this->userStartedAsyncIO ) { if ( pver.getStatus() != pverAsyncCompletion ) { - errMessage (S_cas_badParameter, - "- assuming asynch IO status from caServer::pvExistTest()"); + errMessage (S_cas_badParameter, + "- assuming asynch IO status from caServer::pvExistTest()"); } status = S_cas_success; - } - else { - // - // otherwise we assume sync IO operation was initiated - // + } + else { + // + // otherwise we assume sync IO operation was initiated + // switch ( pver.getStatus() ) { case pverExistsHere: - status = this->searchResponse (*mp, pver); + status = this->searchResponse (*mp, pver); break; case pverDoesNotExistHere: @@ -212,18 +212,18 @@ caStatus casDGClient::searchAction() break; case pverAsyncCompletion: - errMessage (S_cas_badParameter, - "- unexpected asynch IO status from caServer::pvExistTest() ignored"); + errMessage (S_cas_badParameter, + "- unexpected asynch IO status from caServer::pvExistTest() ignored"); status = S_cas_success; break; default: - errMessage (S_cas_badParameter, - "- invalid return from caServer::pvExistTest() ignored"); + errMessage (S_cas_badParameter, + "- invalid return from caServer::pvExistTest() ignored"); status = S_cas_success; break; - } - } + } + } return status; } @@ -340,21 +340,21 @@ caStatus casDGClient::searchResponse ( const caHdrLargeArray & msg, } // -// casDGClient::searchFailResponse() -// (only when requested by the client -// - when it isnt a reply to a broadcast) +// casDGClient::searchFailResponse() +// (only when requested by the client +// - when it isnt a reply to a broadcast) // caStatus casDGClient::searchFailResponse ( const caHdrLargeArray * mp ) { - int status; + int status; epicsGuard < epicsMutex > guard ( this->mutex ); status = this->out.copyInHeader ( CA_PROTO_NOT_FOUND, 0, mp->m_dataType, mp->m_count, mp->m_cid, mp->m_available, 0 ); - this->out.commitMsg (); + this->out.commitMsg (); - return S_cas_success; + return S_cas_success; } /* @@ -362,7 +362,7 @@ caStatus casDGClient::searchFailResponse ( const caHdrLargeArray * mp ) */ caStatus casDGClient::versionAction () { - const caHdrLargeArray * mp = this->ctx.getMsg(); + const caHdrLargeArray * mp = this->ctx.getMsg(); if ( mp->m_count != 0 ) { this->minor_version_number = static_cast ( mp->m_count ); @@ -373,7 +373,7 @@ caStatus casDGClient::versionAction () this->seqNoOfReq = 0; } } - return S_cas_success; + return S_cas_success; } // @@ -382,25 +382,25 @@ caStatus casDGClient::versionAction () // void casDGClient::sendBeacon ( ca_uint32_t beaconNumber ) { - union { - caHdr msg; - char buf; - }; + union { + caHdr msg; + char buf; + }; - // - // create the message - // - memset ( & buf, 0, sizeof ( msg ) ); + // + // create the message + // + memset ( & buf, 0, sizeof ( msg ) ); AlignedWireRef < epicsUInt16 > ( msg.m_cmmd ) = CA_PROTO_RSRV_IS_UP; AlignedWireRef < epicsUInt16 > ( msg.m_dataType ) = CA_MINOR_PROTOCOL_REVISION; AlignedWireRef < epicsUInt32 > ( msg.m_cid ) = beaconNumber; - // - // send it to all addresses on the beacon list, + // + // send it to all addresses on the beacon list, // but let the IO specific code set the address // field and the port field - // - this->sendBeaconIO ( buf, sizeof (msg), msg.m_count, msg.m_available ); + // + this->sendBeaconIO ( buf, sizeof (msg), msg.m_count, msg.m_available ); } // @@ -421,8 +421,8 @@ outBufClient::flushCondition casDGClient::xSend ( char *pBufIn, if ( pHdr->cadg_addr.isValid() ) { outBufClient::flushCondition stat = - this->osdSend ( pDG, sizeDG, pHdr->cadg_addr ); - if ( stat != outBufClient::flushProgress ) { + this->osdSend ( pDG, sizeDG, pHdr->cadg_addr ); + if ( stat != outBufClient::flushProgress ) { break; } } @@ -431,10 +431,10 @@ outBufClient::flushCondition casDGClient::xSend ( char *pBufIn, } if ( totalBytes ) { - // - // !! this time fetch may be slowing things down !! - // - //this->lastSendTS = epicsTime::getCurrent(); + // + // !! this time fetch may be slowing things down !! + // + //this->lastSendTS = epicsTime::getCurrent(); nBytesSent = totalBytes; return outBufClient::flushProgress; } @@ -457,16 +457,16 @@ inBufClient::fillCondition casDGClient::xRecv (char *pBufIn, bufSizeT nBytesToRe while (pAfter-pCurBuf >= static_cast(MAX_UDP_RECV+sizeof(cadg))) { pHdr = reinterpret_cast < cadg * > ( pCurBuf ); - stat = this->osdRecv ( reinterpret_cast < char * > ( pHdr + 1 ), + stat = this->osdRecv ( reinterpret_cast < char * > ( pHdr + 1 ), MAX_UDP_RECV, parm, nDGBytesRecv, pHdr->cadg_addr); - if (stat==casFillProgress) { + if (stat==casFillProgress) { pHdr->cadg_nBytes = nDGBytesRecv + sizeof(*pHdr); pCurBuf += pHdr->cadg_nBytes; - // - // !! this time fetch may be slowing things down !! - // - //this->lastRecvTS = epicsTime::getCurrent(); - } + // + // !! this time fetch may be slowing things down !! + // + //this->lastRecvTS = epicsTime::getCurrent(); + } else { break; } @@ -517,7 +517,7 @@ caStatus casDGClient::asyncSearchResponse ( pMsg->m_dataType = htons ( sequenceNoIsValid ); } - caStatus stat = this->searchResponse ( msg, retVal ); + caStatus stat = this->searchResponse ( msg, retVal ); pRespHdr->cadg_nBytes = this->out.popCtx (outctx) + sizeof ( *pRespHdr ); if ( pRespHdr->cadg_nBytes > sizeof ( *pRespHdr ) + sizeof (caHdr) ) { @@ -525,7 +525,7 @@ caStatus casDGClient::asyncSearchResponse ( this->out.commitRawMsg ( pRespHdr->cadg_nBytes ); } - return stat; + return stat; } // @@ -655,7 +655,7 @@ caStatus casDGClient::processDG () // unsigned casDGClient::getDebugLevel() const { - return this->getCAS().getDebugLevel(); + return this->getCAS().getDebugLevel(); } // @@ -663,7 +663,7 @@ unsigned casDGClient::getDebugLevel() const // caNetAddr casDGClient::fetchLastRecvAddr () const { - return this->lastRecvAddr; + return this->lastRecvAddr; } // @@ -671,7 +671,7 @@ caNetAddr casDGClient::fetchLastRecvAddr () const // ca_uint32_t casDGClient::datagramSequenceNumber () const { - return this->seqNoOfReq; + return this->seqNoOfReq; } // @@ -731,27 +731,27 @@ outBufClient::flushCondition casDGClient::flush () // caStatus casDGClient::processMsg () { - int status = S_cas_success; + int status = S_cas_success; try { - unsigned bytesLeft; - while ( ( bytesLeft = this->in.bytesPresent() ) ) { + unsigned bytesLeft; + while ( ( bytesLeft = this->in.bytesPresent() ) ) { caHdrLargeArray msgTmp; unsigned msgSize; ca_uint32_t hdrSize; char * rawMP; { - // - // copy as raw bytes in order to avoid - // alignment problems - // + // + // copy as raw bytes in order to avoid + // alignment problems + // caHdr smallHdr; if ( bytesLeft < sizeof ( smallHdr ) ) { break; } rawMP = this->in.msgPtr (); - memcpy ( & smallHdr, rawMP, sizeof ( smallHdr ) ); + memcpy ( & smallHdr, rawMP, sizeof ( smallHdr ) ); ca_uint32_t payloadSize = AlignedWireRef < epicsUInt16 > ( smallHdr.m_postsize ); ca_uint32_t nElem = AlignedWireRef < epicsUInt16 > ( smallHdr.m_count ); @@ -800,45 +800,45 @@ caStatus casDGClient::processMsg () this->ctx.setMsg ( msgTmp, rawMP + hdrSize ); - if ( this->getCAS().getDebugLevel() > 5u ) { + if ( this->getCAS().getDebugLevel() > 5u ) { char pHostName[64u]; this->lastRecvAddr.stringConvert ( pHostName, sizeof ( pHostName ) ); - caServerI::dumpMsg ( pHostName, "?", + caServerI::dumpMsg ( pHostName, "?", & msgTmp, rawMP + hdrSize, 0 ); - } + } } - // - // Reset the context to the default - // (guarantees that previous message does not get mixed - // up with the current message) - // - this->ctx.setChannel ( NULL ); - this->ctx.setPV ( NULL ); + // + // Reset the context to the default + // (guarantees that previous message does not get mixed + // up with the current message) + // + this->ctx.setChannel ( NULL ); + this->ctx.setPV ( NULL ); - // - // Call protocol stub - // + // + // Call protocol stub + // casDGClient::pCASMsgHandler pHandler; - if ( msgTmp.m_cmmd < NELEMENTS ( casDGClient::msgHandlers ) ) { + if ( msgTmp.m_cmmd < NELEMENTS ( casDGClient::msgHandlers ) ) { pHandler = this->casDGClient::msgHandlers[msgTmp.m_cmmd]; - } + } else { pHandler = & casDGClient::uknownMessageAction; } - status = ( this->*pHandler ) (); - if ( status ) { + status = ( this->*pHandler ) (); + if ( status ) { this->in.removeMsg ( this->in.bytesPresent() ); - break; - } + break; + } this->in.removeMsg ( msgSize ); - } + } } catch ( std::exception & except ) { this->in.removeMsg ( this->in.bytesPresent() ); - status = this->sendErr ( + this->sendErr ( this->ctx.getMsg(), invalidResID, ECA_INTERNAL, "C++ exception \"%s\" in CA circuit server", except.what () ); @@ -846,13 +846,13 @@ caStatus casDGClient::processMsg () } catch (...) { this->in.removeMsg ( this->in.bytesPresent() ); - status = this->sendErr ( + this->sendErr ( this->ctx.getMsg(), invalidResID, ECA_INTERNAL, "unexpected C++ exception in CA datagram server" ); status = S_cas_internal; } - return status; + return status; } // @@ -861,24 +861,25 @@ caStatus casDGClient::processMsg () caStatus casDGClient::sendErr ( const caHdrLargeArray *curp, ca_uint32_t cid, const int reportedStatus, const char *pformat, ... ) { - unsigned stringSize; - char msgBuf[1024]; /* allocate plenty of space for the message string */ - if ( pformat ) { - va_list args; - va_start ( args, pformat ); - int status = vsprintf ( msgBuf, pformat, args ); - if ( status < 0 ) { - errPrintf (S_cas_internal, __FILE__, __LINE__, - "bad sendErr(%s)", pformat); - stringSize = 0u; - } - else { - stringSize = 1u + (unsigned) status; - } - } - else { - stringSize = 0u; - } + unsigned stringSize; + char msgBuf[1024]; /* allocate plenty of space for the message string */ + if ( pformat ) { + va_list args; + va_start ( args, pformat ); + int status = vsprintf ( msgBuf, pformat, args ); + if ( status < 0 ) { + errPrintf (S_cas_internal, __FILE__, __LINE__, + "bad sendErr(%s)", pformat); + stringSize = 0u; + } + else { + stringSize = 1u + (unsigned) status; + } + va_end ( args ); + } + else { + stringSize = 0u; + } unsigned hdrSize = sizeof ( caHdr ); if ( ( curp->m_postsize >= 0xffff || curp->m_count >= 0xffff ) && @@ -929,7 +930,7 @@ caStatus casDGClient::sendErr ( const caHdrLargeArray *curp, this->out.commitMsg (); } - return S_cas_success; + return S_cas_success; } @@ -938,8 +939,8 @@ caStatus casDGClient::sendErr ( const caHdrLargeArray *curp, // caStatus casDGClient::echoAction () { - const caHdrLargeArray * mp = this->ctx.getMsg(); - const void * dp = this->ctx.getData(); + const caHdrLargeArray * mp = this->ctx.getMsg(); + const void * dp = this->ctx.getData(); void * pPayloadOut; epicsGuard < epicsMutex > guard ( this->mutex ); @@ -950,5 +951,5 @@ caStatus casDGClient::echoAction () memcpy ( pPayloadOut, dp, mp->m_postsize ); this->out.commitMsg (); } - return S_cas_success; + return S_cas_success; } diff --git a/src/cas/generic/casStrmClient.cc b/src/cas/generic/casStrmClient.cc index 60903787c..c18e5bfa4 100644 --- a/src/cas/generic/casStrmClient.cc +++ b/src/cas/generic/casStrmClient.cc @@ -2773,6 +2773,7 @@ caStatus casStrmClient::sendErr ( epicsGuard &, else { stringSize = 1u + (unsigned) status; } + va_end ( args ); } else { stringSize = 0u; diff --git a/src/db/dbCaTest.c b/src/db/dbCaTest.c index e4103068a..4eb407129 100644 --- a/src/db/dbCaTest.c +++ b/src/db/dbCaTest.c @@ -126,8 +126,8 @@ long dbcar(char *precordname, int level) precord->name, pdbFldDes->name, plink->value.pv_link.pvname, - pca->nDisconnect, - pca->nNoWrite); + pca ? pca->nDisconnect : 0, + pca ? pca->nNoWrite : 0); } } } diff --git a/src/db/dbConvert.c b/src/db/dbConvert.c index 303c1e1a8..deb1b1319 100644 --- a/src/db/dbConvert.c +++ b/src/db/dbConvert.c @@ -3941,10 +3941,9 @@ static long putFloatString( char *pdest=(char *)(paddr->pfield); long status = 0; int precision = 6; - struct rset *prset = 0; + struct rset *prset = dbGetRset(paddr); short size=paddr->field_size; - if(paddr) prset = dbGetRset(paddr); if(prset && (prset->get_precision)) status = (*prset->get_precision)(paddr,&precision); if(nRequest==1 && offset==0) { @@ -4152,10 +4151,9 @@ static long putDoubleString( char *pdest=(char *)(paddr->pfield); long status = 0; int precision = 6; - struct rset *prset = 0; + struct rset *prset = dbGetRset(paddr); short size=paddr->field_size; - if(paddr) prset = dbGetRset(paddr); if(prset && (prset->get_precision)) status = (*prset->get_precision)(paddr,&precision); if(nRequest==1 && offset==0) { diff --git a/src/db/db_test.c b/src/db/db_test.c index 935b7e6ed..fdd29c4c8 100644 --- a/src/db/db_test.c +++ b/src/db/db_test.c @@ -699,8 +699,9 @@ int epicsShareAPI tpn(char *pname,char *pvalue) return(-1); } ppn = calloc(1,sizeof(putNotify)); - if(!pdbaddr) { + if(!ppn) { printf("calloc failed\n"); + free((void *)pdbaddr); return(-1); } ppn->paddr = pdbaddr; @@ -708,13 +709,14 @@ int epicsShareAPI tpn(char *pname,char *pvalue) ppn->nRequest = 1; if(dbPutNotifyMapType(ppn,DBR_STRING)) { printf("dbPutNotifyMapType failed\n"); - printf("calloc failed\n"); + free((void *)pdbaddr); return(-1); } ppn->userCallback = tpnCallback; ptpnInfo = calloc(1,sizeof(tpnInfo)); if(!ptpnInfo) { printf("calloc failed\n"); + free((void *)pdbaddr); return(-1); } ptpnInfo->ppn = ppn; diff --git a/src/gdd/gddTest.cc b/src/gdd/gddTest.cc index d36014018..881a55df9 100644 --- a/src/gdd/gddTest.cc +++ b/src/gdd/gddTest.cc @@ -308,7 +308,7 @@ void gdd::test() pdd->convertOffsetsToAddress(); pdd->dump(); pdd->unreference(); - delete buf; + delete [] buf; } #endif @@ -510,7 +510,7 @@ void gddContainer::test(void) fprintf(stderr,"=====RE-DUMP OF ORIGINAL CONTAINER:\n"); dump(); cdd1->unreference(); - delete buf; + delete [] buf; // test copy(), Dup(), copyInfo() fprintf(stderr,"=======CREATING TEST CONTAINER FOR *COPY* TEST:\n"); diff --git a/src/libCom/osi/epicsGeneralTime.c b/src/libCom/osi/epicsGeneralTime.c index 7c94b81d5..98c5566f7 100644 --- a/src/libCom/osi/epicsGeneralTime.c +++ b/src/libCom/osi/epicsGeneralTime.c @@ -378,7 +378,7 @@ static gtProvider * findProvider(ELLLIST *plist, epicsMutexId lock, for (ptp = (gtProvider *)ellFirst(plist); ptp; ptp = (gtProvider *)ellNext(&ptp->node)) { - if (ptp->priority == ptp->priority && + if (ptp->priority == priority && !strcmp(ptp->name, name)) break; } diff --git a/src/libCom/osi/os/RTEMS/osdMessageQueue.c b/src/libCom/osi/os/RTEMS/osdMessageQueue.c index 3551e1e2f..4f57be318 100644 --- a/src/libCom/osi/os/RTEMS/osdMessageQueue.c +++ b/src/libCom/osi/os/RTEMS/osdMessageQueue.c @@ -167,7 +167,7 @@ static int receiveMessage( return -1; } rsize = receiveMessage(id, id->localBuf, id->maxSize, wait, delay); - if ((rsize < 0) || (rsize > size)) + if (rsize > size) return -1; memcpy(buffer, id->localBuf, rsize); } diff --git a/src/libCom/osi/os/RTEMS/osdThread.c b/src/libCom/osi/os/RTEMS/osdThread.c index 8c8363e77..27c1ebb60 100644 --- a/src/libCom/osi/os/RTEMS/osdThread.c +++ b/src/libCom/osi/os/RTEMS/osdThread.c @@ -404,8 +404,6 @@ void epicsThreadGetName (epicsThreadId id, char *name, size_t size) struct taskVar *v; int haveName = 0; - if (size <= 0) - return; taskVarLock (); for (v=taskVarHead ; v != NULL ; v=v->forw) { if (v->id == tid) { diff --git a/src/libCom/osi/os/WIN32/osdThread.c b/src/libCom/osi/os/WIN32/osdThread.c index 5f61fc894..010eaf843 100644 --- a/src/libCom/osi/os/WIN32/osdThread.c +++ b/src/libCom/osi/os/WIN32/osdThread.c @@ -517,13 +517,8 @@ static win32ThreadParam * epicsThreadParmCreate ( const char *pName ) pParmWIN32 = calloc ( 1, sizeof ( *pParmWIN32 ) + strlen ( pName ) + 1 ); if ( pParmWIN32 ) { - if ( pName ) { - pParmWIN32->pName = (char *) ( pParmWIN32 + 1 ); - strcpy ( pParmWIN32->pName, pName ); - } - else { - pParmWIN32->pName = 0; - } + pParmWIN32->pName = (char *) ( pParmWIN32 + 1 ); + strcpy ( pParmWIN32->pName, pName ); pParmWIN32->isSuspended = 0; } return pParmWIN32; diff --git a/src/makeBaseApp/top/caClientApp/caMonitor.c b/src/makeBaseApp/top/caClientApp/caMonitor.c index 059fefb5e..9554cc744 100644 --- a/src/makeBaseApp/top/caClientApp/caMonitor.c +++ b/src/makeBaseApp/top/caClientApp/caMonitor.c @@ -109,6 +109,7 @@ int main(int argc,char **argv) pmynode[npv] = callocMustSucceed(1, sizeof(MYNODE), "caMonitor"); npv++; } + fclose(fp); SEVCHK(ca_context_create(ca_disable_preemptive_callback),"ca_context_create"); SEVCHK(ca_add_exception_event(exceptionCallback,NULL), "ca_add_exception_event"); diff --git a/src/rec/histogramRecord.c b/src/rec/histogramRecord.c index 61a8b785e..5447b3b9f 100644 --- a/src/rec/histogramRecord.c +++ b/src/rec/histogramRecord.c @@ -134,8 +134,8 @@ static long wdogInit(histogramRecord *prec) if(prec->wdog==NULL && prec->sdel>0) { /* initialize a watchdog timer */ pcallback = (myCallback *)(calloc(1,sizeof(myCallback))); + if (!pcallback) return -1; pcallback->prec = prec; - if(!pcallback) return -1; callbackSetCallback(wdogCallback,&pcallback->callback); callbackSetUser(pcallback,&pcallback->callback); callbackSetPriority(priorityLow,&pcallback->callback); diff --git a/src/rsrv/camessage.c b/src/rsrv/camessage.c index 93c624298..b3eced22a 100644 --- a/src/rsrv/camessage.c +++ b/src/rsrv/camessage.c @@ -639,7 +639,7 @@ static void read_reply ( void *pArg, struct dbAddr *paddr, static int read_action ( caHdrLargeArray *mp, void *pPayloadIn, struct client *pClient ) { struct channel_in_use *pciu = MPTOPCIU ( mp ); - const int readAccess = asCheckGet ( pciu->asClientPVT ); + int readAccess; ca_uint32_t payloadSize; void *pPayload; int status; @@ -649,6 +649,7 @@ static int read_action ( caHdrLargeArray *mp, void *pPayloadIn, struct client *p logBadId ( pClient, mp, 0 ); return RSRV_ERROR; } + readAccess = asCheckGet ( pciu->asClientPVT ); SEND_LOCK ( pClient ); diff --git a/src/util/iocLogServer.c b/src/util/iocLogServer.c index f9deb06e5..f5694fc0f 100644 --- a/src/util/iocLogServer.c +++ b/src/util/iocLogServer.c @@ -84,131 +84,132 @@ static int sighupPipe[2]; /* * - * main() + * main() * */ int main(void) { - struct sockaddr_in serverAddr; /* server's address */ - struct timeval timeout; - int status; - struct ioc_log_server *pserver; + struct sockaddr_in serverAddr; /* server's address */ + struct timeval timeout; + int status; + struct ioc_log_server *pserver; - osiSockIoctl_t optval; + osiSockIoctl_t optval; - status = getConfig(); - if(status<0){ - fprintf(stderr, "iocLogServer: EPICS environment underspecified\n"); - fprintf(stderr, "iocLogServer: failed to initialize\n"); - return IOCLS_ERROR; - } + status = getConfig(); + if (status<0) { + fprintf(stderr, "iocLogServer: EPICS environment underspecified\n"); + fprintf(stderr, "iocLogServer: failed to initialize\n"); + return IOCLS_ERROR; + } - pserver = (struct ioc_log_server *) - calloc(1, sizeof *pserver); - if(!pserver){ - fprintf(stderr, "iocLogServer: %s\n", strerror(errno)); - return IOCLS_ERROR; - } + pserver = (struct ioc_log_server *) + calloc(1, sizeof *pserver); + if (!pserver) { + fprintf(stderr, "iocLogServer: %s\n", strerror(errno)); + return IOCLS_ERROR; + } - pserver->pfdctx = (void *) fdmgr_init(); - if(!pserver->pfdctx){ - fprintf(stderr, "iocLogServer: %s\n", strerror(errno)); - return IOCLS_ERROR; - } + pserver->pfdctx = (void *) fdmgr_init(); + if (!pserver->pfdctx) { + fprintf(stderr, "iocLogServer: %s\n", strerror(errno)); + return IOCLS_ERROR; + } - /* - * Open the socket. Use ARPA Internet address format and stream - * sockets. Format described in . - */ - pserver->sock = epicsSocketCreate(AF_INET, SOCK_STREAM, 0); - if (pserver->sock==INVALID_SOCKET) { + /* + * Open the socket. Use ARPA Internet address format and stream + * sockets. Format described in . + */ + pserver->sock = epicsSocketCreate(AF_INET, SOCK_STREAM, 0); + if (pserver->sock == INVALID_SOCKET) { char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - fprintf(stderr, "iocLogServer: sock create err: %s\n", sockErrBuf); - return IOCLS_ERROR; - } - + fprintf(stderr, "iocLogServer: sock create err: %s\n", sockErrBuf); + free(pserver); + return IOCLS_ERROR; + } + epicsSocketEnableAddressReuseDuringTimeWaitState ( pserver->sock ); - /* Zero the sock_addr structure */ - memset((void *)&serverAddr, 0, sizeof serverAddr); - serverAddr.sin_family = AF_INET; - serverAddr.sin_port = htons(ioc_log_port); + /* Zero the sock_addr structure */ + memset((void *)&serverAddr, 0, sizeof serverAddr); + serverAddr.sin_family = AF_INET; + serverAddr.sin_port = htons(ioc_log_port); - /* get server's Internet address */ - status = bind ( pserver->sock, - (struct sockaddr *)&serverAddr, - sizeof (serverAddr) ); - if (status<0) { + /* get server's Internet address */ + status = bind ( pserver->sock, + (struct sockaddr *)&serverAddr, + sizeof (serverAddr) ); + if (status < 0) { char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - fprintf(stderr, "iocLogServer: bind err: %s\n", sockErrBuf ); - fprintf (stderr, - "iocLogServer: a server is already installed on port %u?\n", - (unsigned)ioc_log_port); - return IOCLS_ERROR; - } + fprintf(stderr, "iocLogServer: bind err: %s\n", sockErrBuf ); + fprintf (stderr, + "iocLogServer: a server is already installed on port %u?\n", + (unsigned)ioc_log_port); + return IOCLS_ERROR; + } - /* listen and accept new connections */ - status = listen(pserver->sock, 10); - if (status<0) { + /* listen and accept new connections */ + status = listen(pserver->sock, 10); + if (status < 0) { char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - fprintf(stderr, "iocLogServer: listen err %s\n", sockErrBuf); - return IOCLS_ERROR; - } + fprintf(stderr, "iocLogServer: listen err %s\n", sockErrBuf); + return IOCLS_ERROR; + } - /* - * Set non blocking IO - * to prevent dead locks - */ - optval = TRUE; - status = socket_ioctl( - pserver->sock, - FIONBIO, - &optval); - if(status<0){ + /* + * Set non blocking IO + * to prevent dead locks + */ + optval = TRUE; + status = socket_ioctl( + pserver->sock, + FIONBIO, + &optval); + if (status < 0){ char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - fprintf(stderr, "iocLogServer: ioctl FIONBIO err %s\n", sockErrBuf); - return IOCLS_ERROR; - } + fprintf(stderr, "iocLogServer: ioctl FIONBIO err %s\n", sockErrBuf); + return IOCLS_ERROR; + } -# ifdef UNIX - status = setupSIGHUP(pserver); - if (status<0) { - return IOCLS_ERROR; - } -# endif +# ifdef UNIX + status = setupSIGHUP(pserver); + if (status < 0) { + return IOCLS_ERROR; + } +# endif - status = openLogFile(pserver); - if (status<0) { - fprintf(stderr, - "File access problems to `%s' because `%s'\n", - ioc_log_file_name, - strerror(errno)); - return IOCLS_ERROR; - } + status = openLogFile(pserver); + if (status < 0) { + fprintf(stderr, + "File access problems to `%s' because `%s'\n", + ioc_log_file_name, + strerror(errno)); + return IOCLS_ERROR; + } - status = fdmgr_add_callback( - pserver->pfdctx, - pserver->sock, - fdi_read, - acceptNewClient, - pserver); - if(status<0){ - fprintf(stderr, - "iocLogServer: failed to add read callback\n"); - return IOCLS_ERROR; - } + status = fdmgr_add_callback( + pserver->pfdctx, + pserver->sock, + fdi_read, + acceptNewClient, + pserver); + if (status < 0) { + fprintf(stderr, + "iocLogServer: failed to add read callback\n"); + return IOCLS_ERROR; + } - while(TRUE){ - timeout.tv_sec = 60; /* 1 min */ - timeout.tv_usec = 0; - fdmgr_pend_event(pserver->pfdctx, &timeout); - fflush(pserver->poutfile); - } + while (TRUE) { + timeout.tv_sec = 60; /* 1 min */ + timeout.tv_usec = 0; + fdmgr_pend_event(pserver->pfdctx, &timeout); + fflush(pserver->poutfile); + } } /* @@ -964,6 +965,7 @@ static int getDirectory(void) "Problem reading o/p from `%s' because `%s'\n", ioc_log_file_command, strerror(errno)); + (void) pclose(pipe); return IOCLS_ERROR; } (void) pclose(pipe); From 63b059c35e4b95c2a50059f403d8709cf7742b40 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 7 Dec 2016 17:51:00 -0600 Subject: [PATCH 156/226] Resolve additional cppcheck issues; fix iOS build --- src/ioc/db/db_test.c | 1 + src/ioc/rsrv/camessage.c | 1 + src/libCom/iocsh/iocsh.cpp | 2 ++ src/libCom/test/epicsEventTest.cpp | 7 +++++++ src/libCom/test/epicsMutexTest.cpp | 6 ++++++ src/libCom/test/ringBytesTest.c | 4 ++++ 6 files changed, 21 insertions(+) diff --git a/src/ioc/db/db_test.c b/src/ioc/db/db_test.c index bc9ac32a8..8d7ad31b1 100644 --- a/src/ioc/db/db_test.c +++ b/src/ioc/db/db_test.c @@ -243,6 +243,7 @@ int tpn(const char *pname, const char *pvalue) ptpnInfo = calloc(1, sizeof(tpnInfo)); if (!ptpnInfo) { printf("calloc failed\n"); + free(ppn); dbChannelDelete(chan); return -1; } diff --git a/src/ioc/rsrv/camessage.c b/src/ioc/rsrv/camessage.c index 057731777..b13883b5a 100644 --- a/src/ioc/rsrv/camessage.c +++ b/src/ioc/rsrv/camessage.c @@ -26,6 +26,7 @@ #include "epicsEvent.h" #include "epicsMutex.h" #include "epicsStdio.h" +#include "epicsString.h" #include "epicsThread.h" #include "epicsTime.h" #include "errlog.h" diff --git a/src/libCom/iocsh/iocsh.cpp b/src/libCom/iocsh/iocsh.cpp index d8701532e..21253bbc9 100644 --- a/src/libCom/iocsh/iocsh.cpp +++ b/src/libCom/iocsh/iocsh.cpp @@ -559,6 +559,7 @@ iocshBody (const char *pathname, const char *commandLine, const char *macros) if (macros) { if (macParseDefns(NULL, macros, &defines) < 0) { + free(redirects); return -1; } } @@ -571,6 +572,7 @@ iocshBody (const char *pathname, const char *commandLine, const char *macros) if (handle == NULL) { if (macCreateHandle(&handle, pairs)) { errlogMessage("iocsh: macCreateHandle failed."); + free(redirects); return -1; } diff --git a/src/libCom/test/epicsEventTest.cpp b/src/libCom/test/epicsEventTest.cpp index b0d79613f..7c1a24141 100644 --- a/src/libCom/test/epicsEventTest.cpp +++ b/src/libCom/test/epicsEventTest.cpp @@ -250,5 +250,12 @@ MAIN(epicsEventTest) eventWaitTest(); eventWakeupTest(); + free(name); + free(id); + epicsRingPointerDelete(pinfo->ring); + epicsMutexDestroy(pinfo->lockRing); + epicsEventDestroy(event); + free(pinfo); + return testDone(); } diff --git a/src/libCom/test/epicsMutexTest.cpp b/src/libCom/test/epicsMutexTest.cpp index 87cf0a460..d44e5c0f1 100644 --- a/src/libCom/test/epicsMutexTest.cpp +++ b/src/libCom/test/epicsMutexTest.cpp @@ -279,5 +279,11 @@ MAIN(epicsMutexTest) epicsMutexPerformance (); + free(pinfo); + free(arg); + free(name); + free(id); + epicsMutexDestroy(mutex); + return testDone(); } diff --git a/src/libCom/test/ringBytesTest.c b/src/libCom/test/ringBytesTest.c index ecfd991be..6cef93334 100644 --- a/src/libCom/test/ringBytesTest.c +++ b/src/libCom/test/ringBytesTest.c @@ -115,5 +115,9 @@ MAIN(ringBytesTest) testOk(n==1, "ring get %d", 1); check(ring, RINGSIZE); + epicsRingBytesDelete(ring); + epicsEventDestroy(consumerEvent); + free(pinfo); + return testDone(); } From 1cb75ebb6e054801bb922b7e20b156e720e98d1b Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 8 Dec 2016 13:57:23 -0600 Subject: [PATCH 157/226] asLib message buffer too small (Freddie Akeroyd) --- src/as/asLib_lex.l | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/as/asLib_lex.l b/src/as/asLib_lex.l index 90e1b55bb..5e0451925 100644 --- a/src/as/asLib_lex.l +++ b/src/as/asLib_lex.l @@ -68,7 +68,7 @@ INP{link} { \n { line_num ++;} . { - char message[20]; + char message[40]; YY_BUFFER_STATE *dummy=0; sprintf(message,"invalid character '%c'",yytext[0]); From 8d7bf52e515af8736fc8777b914d3b5681f0fce0 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 9 Dec 2016 11:17:43 -0600 Subject: [PATCH 158/226] One more cppcheck issue fixed --- src/dbStatic/dbLexRoutines.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/dbStatic/dbLexRoutines.c b/src/dbStatic/dbLexRoutines.c index 78a3cc39c..db95cc61f 100644 --- a/src/dbStatic/dbLexRoutines.c +++ b/src/dbStatic/dbLexRoutines.c @@ -229,24 +229,25 @@ static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp, } } pinputFile = dbCalloc(1,sizeof(inputFile)); - if(filename) { - pinputFile->filename = macEnvExpand(filename); + if (filename) { + pinputFile->filename = macEnvExpand(filename); } - if(!fp) { - FILE *fp1; + if (!fp) { + FILE *fp1 = 0; - if(pinputFile->filename) pinputFile->path = dbOpenFile(pdbbase,pinputFile->filename,&fp1); - if(!pinputFile->filename || !fp1) { - errPrintf(0,__FILE__, __LINE__, - "dbRead opening file %s",pinputFile->filename); - free((void *)pinputFile->filename); - free((void *)pinputFile); + if (pinputFile->filename) + pinputFile->path = dbOpenFile(pdbbase, pinputFile->filename, &fp1); + if (!pinputFile->filename || !fp1) { + errPrintf(0, __FILE__, __LINE__, + "dbRead opening file %s",pinputFile->filename); + free(pinputFile->filename); + free(pinputFile); status = -1; goto cleanup; - } - pinputFile->fp = fp1; + } + pinputFile->fp = fp1; } else { - pinputFile->fp = fp; + pinputFile->fp = fp; } pinputFile->line_num = 0; pinputFileNow = pinputFile; From 5097ac32301b5fe875c73e7754058bd58c586de4 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 9 Dec 2016 13:48:55 -0600 Subject: [PATCH 159/226] Set SNAPSHOT for 3.14.12.6 --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index decbf9280..8a8b9610b 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -37,10 +37,10 @@ EPICS_PATCH_LEVEL = 6 #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV #EPICS_DEV_SNAPSHOT=-rc1 -EPICS_DEV_SNAPSHOT=-rc1-DEV +#EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV -#EPICS_DEV_SNAPSHOT= +EPICS_DEV_SNAPSHOT= # No changes should be needed below here From 260bc64b59422d7cbb4280ada64bf6461ce2d425 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 9 Dec 2016 13:50:17 -0600 Subject: [PATCH 160/226] Set SNAPSHOT back to -DEV --- configure/CONFIG_BASE_VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 8a8b9610b..e5f7e58b4 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -31,7 +31,7 @@ EPICS_MODIFICATION = 12 EPICS_PATCH_LEVEL = 6 # This will end in -DEV between official releases -#EPICS_DEV_SNAPSHOT=-DEV +EPICS_DEV_SNAPSHOT=-DEV #EPICS_DEV_SNAPSHOT=-pre1 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 @@ -40,7 +40,7 @@ EPICS_PATCH_LEVEL = 6 #EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV -EPICS_DEV_SNAPSHOT= +#EPICS_DEV_SNAPSHOT= # No changes should be needed below here From fd53e175b49cfa8601cccf60f0e63c5d65f250c1 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 13 Dec 2016 14:25:23 +0100 Subject: [PATCH 161/226] Update CONFIG_BASE_VERSION for 3.15.5, remove "not released" from RELEASE_NOTES --- configure/CONFIG_BASE_VERSION | 4 ++-- documentation/RELEASE_NOTES.html | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index d87d48baf..146259312 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -40,10 +40,10 @@ EPICS_PATCH_LEVEL = 0 #EPICS_DEV_SNAPSHOT=-pre2 #EPICS_DEV_SNAPSHOT=-pre2-DEV #EPICS_DEV_SNAPSHOT=-rc1 -EPICS_DEV_SNAPSHOT=-rc1-DEV +#EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV -#EPICS_DEV_SNAPSHOT= +EPICS_DEV_SNAPSHOT= # No changes should be needed below here diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index c08020d3e..565447581 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -9,9 +9,6 @@

EPICS Base Release 3.15.5

-

This version of EPICS Base has not been released yet.

- -

Changes made on the 3.15 branch since 3.15.4

From eff44268e9144e204a20fc9d1284703e86c451b9 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Tue, 13 Dec 2016 15:33:01 +0100 Subject: [PATCH 162/226] Set version to 3.15.5-DEV, close 3.15.5 chapter in release notes --- configure/CONFIG_BASE_VERSION | 4 ++-- documentation/RELEASE_NOTES.html | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION index 146259312..1e60b2740 100644 --- a/configure/CONFIG_BASE_VERSION +++ b/configure/CONFIG_BASE_VERSION @@ -34,7 +34,7 @@ EPICS_MODIFICATION = 5 EPICS_PATCH_LEVEL = 0 # This will end in -DEV between official releases -#EPICS_DEV_SNAPSHOT=-DEV +EPICS_DEV_SNAPSHOT=-DEV #EPICS_DEV_SNAPSHOT=-pre1 #EPICS_DEV_SNAPSHOT=-pre1-DEV #EPICS_DEV_SNAPSHOT=-pre2 @@ -43,7 +43,7 @@ EPICS_PATCH_LEVEL = 0 #EPICS_DEV_SNAPSHOT=-rc1-DEV #EPICS_DEV_SNAPSHOT=-rc2 #EPICS_DEV_SNAPSHOT=-rc2-DEV -EPICS_DEV_SNAPSHOT= +#EPICS_DEV_SNAPSHOT= # No changes should be needed below here diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 565447581..117acc456 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -3,15 +3,25 @@ - EPICS Base R3.15.5 Release Notes + EPICS Base R3.15.6 Release Notes -

EPICS Base Release 3.15.5

+

EPICS Base Release 3.15.6

-

Changes made on the 3.15 branch since 3.15.4

+

This version of EPICS Base has not been released yet.

+ + +

Changes made on the 3.15 branch since 3.15.5

+ +

Changes from the 3.14 branch since 3.15.5

+ + + +

Changes between 3.15.4 and 3.15.5

+

dbStatic Library Speedup and Cleanup

Loading of database files has been optimized to avoid overproportionally @@ -25,10 +35,6 @@ old behavior.

to be used by database configuration tools linked against a host side version of the dbStatic library that is not being built anymore.

- -

Changes from the 3.14 branch since 3.15.4

- -

Launchpad Bug-fixes

In addition to the more detailed change descriptions below, the following From 7ec6be5d14a5814470f84b3557989a18942bc598 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 13 Dec 2016 17:03:54 -0600 Subject: [PATCH 163/226] Update version numbers in documents for 3.15.6 --- documentation/KnownProblems.html | 8 ++-- documentation/README.1st | 2 +- documentation/README.html | 2 +- documentation/ReleaseChecklist.html | 72 ++++++++++++++--------------- 4 files changed, 42 insertions(+), 42 deletions(-) diff --git a/documentation/KnownProblems.html b/documentation/KnownProblems.html index 5dfc280db..f32006846 100644 --- a/documentation/KnownProblems.html +++ b/documentation/KnownProblems.html @@ -4,17 +4,17 @@ - Known Problems in R3.15.5 + Known Problems in R3.15.6 -

EPICS Base R3.15.5: Known Problems

+

EPICS Base R3.15.6: Known Problems

Any patch files linked below should be applied at the root of the -base-3.15.5 tree. Download them, then use the GNU Patch program as +base-3.15.6 tree. Download them, then use the GNU Patch program as follows:

-
% cd /path/to/base-3.15.5
+
% cd /path/to/base-3.15.6
 % patch -p0 < /path/to/file.patch

The following significant problems have been reported with this diff --git a/documentation/README.1st b/documentation/README.1st index 8349d445c..3122bdfbd 100644 --- a/documentation/README.1st +++ b/documentation/README.1st @@ -1,6 +1,6 @@ Installation Instructions - EPICS Base Release 3.15.5 + EPICS Base Release 3.15.6 -------------------------------------------------------------------------- diff --git a/documentation/README.html b/documentation/README.html index eef83ed58..fadca3d11 100644 --- a/documentation/README.html +++ b/documentation/README.html @@ -9,7 +9,7 @@

Installation Instructions

-

EPICS Base Release 3.15.5


+

EPICS Base Release 3.15.6



Table of Contents

diff --git a/documentation/ReleaseChecklist.html b/documentation/ReleaseChecklist.html index 77917b99e..4b9b55c4b 100644 --- a/documentation/ReleaseChecklist.html +++ b/documentation/ReleaseChecklist.html @@ -41,11 +41,12 @@ that should be performed when creating new releases of EPICS Base.

pre-release, -pre1. The first Release Candidate -rc1 is the first version that has undergone widespread testing and which has no known problems in it that are slated to be fixed in this release. New versions should -be made at about weekly intervals during the testing and debugging period, and -will be designated as either pre-release versions or Release Candidates by the -Release Manager. A Release Candidate that has received widespread testing for a -week without any additional problems being discovered or significant changes -being committed can be designated as the final release version.

+be made at 2-weekly intervals during the testing and debugging period, and will +be designated as either pre-release versions or Release Candidates by the +Release Manager. After a Release Candidate has been available to the whole +community for testing for at least a week without any additional problems being +reported or significant changes being committed, the branch can be designated as +the final release version.

Roles

@@ -56,7 +57,7 @@ relevent roles unless the Release Manager designates otherwise:

Release Manager (Ralph Lange)
Responsible for managing and tagging the release
-
Platform Developers
+
Platform Developers (optional)
Responsible for individual operating system platforms
Application Developers
Responsible for support modules that depend on EPICS Base.
@@ -135,17 +136,17 @@ relevent roles unless the Release Manager designates otherwise:

Tag the module in Bazaar, using these tag conventions:
  • - R3.15.5-pren + R3.15.6-pre1 — pre-release tag
  • - R3.15.5-rcn - — release candidate tag, note the rc is now - lower-case
  • + R3.15.6-rc1 + — release candidate tag +
cd ~/base/mirror-3.15
- bzr tag R3.15.5-rcn + bzr tag R3.15.6-rc1
@@ -157,14 +158,14 @@ relevent roles unless the Release Manager designates otherwise:

cd ~/base
bzr export - --root=base-3.15.5-rcn - -r tag:R3.15.5-rcn - base-3.15.5-rcn.tar.gz + --root=base-3.15.6-rc1 + -r tag:R3.15.6-rc1 + base-3.15.6-rc1.tar.gz mirror-3.15
Create a GPG signature file of the tarfile as follows:
- gpg --armor --sign --detach-sig base-3.15.5-rcn.tar.gz + gpg --armor --sign --detach-sig base-3.15.6-rc1.tar.gz
@@ -276,7 +277,7 @@ relevent roles unless the Release Manager designates otherwise:

Tag the module in Bazaar:
cd ~/base/mirror-3.15
- bzr tag R3.15.5 + bzr tag R3.15.6
@@ -288,14 +289,14 @@ relevent roles unless the Release Manager designates otherwise:

cd ~/base
bzr export - --root=base-3.15.5 - -r tag:R3.15.5 - base-3.15.5.tar.gz + --root=base-3.15.6 + -r tag:R3.15.6 + base-3.15.6.tar.gz mirror-3.15
Create a GPG signature file of the tarfile as follows:
- gpg --armor --sign --detach-sig base-3.15.5.tar.gz + gpg --armor --sign --detach-sig base-3.15.6.tar.gz
@@ -305,14 +306,24 @@ relevent roles unless the Release Manager designates otherwise:

Test the tar file by extracting its contents and building it on at least one supported platform + +   + Release Manager + Upload the release tar file to the Launchpad download area. + + +   + Release Manager + Find all Launchpad bug reports with the status Fix Committed which + have been fixed in this release and mark them Fix Released. + Publish and Announce it   Website Manager - If necessary recreate the tarfile following the instructions above. - Copy the tar file and its .asc signature file to the Base + Copy the tar file and its .asc signature file to the Base download area of the website. @@ -343,24 +354,13 @@ relevent roles unless the Release Manager designates otherwise:

  Website Manager - Upload the release tar file to the Launchpad download area. - - -   - Website Manager - Find all Launchpad bug reports with the status Fix Committed which - have been fixed in this release and mark them Fix Released. + Add an entry to the website News page, linking to the new version + webpage.   Release Manager - Email tech-talk - - -   - Website Manager - Add an entry to the website News page, linking to the new version - webpage. + Announce the release on the tech-talk mailing list. From 20dda339cc5ed3727b09abdb619cbdbb452beeac Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 4 Jan 2017 16:32:13 -0600 Subject: [PATCH 164/226] Make *_INC files order-only prerequisites --- configure/RULES_BUILD | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 978d616e5..eca015ca7 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -207,17 +207,18 @@ $(OBJLIBNAME):%$(OBJ): %.o : %.cc %.o : %.cpp -%$(OBJ): %.c $(COMMON_INC) $(INSTALL_INC) +# Include files are order-only prerequisites for compilation: +%$(OBJ): %.c | $(COMMON_INC) $(INSTALL_INC) @$(HDEPENDS_CMD) @$(RM) $@ $(COMPILE.c) $(call PATH_FILTER,$<) $(COMPILE_FILTER.c) -%$(OBJ): %.cc $(COMMON_INC) $(INSTALL_INC) +%$(OBJ): %.cc | $(COMMON_INC) $(INSTALL_INC) @$(HDEPENDS_CMD) @$(RM) $@ $(COMPILE.cpp) $(call PATH_FILTER,$<) $(COMPILE_FILTER.cpp) -%$(OBJ): %.cpp $(COMMON_INC) $(INSTALL_INC) +%$(OBJ): %.cpp | $(COMMON_INC) $(INSTALL_INC) @$(HDEPENDS_CMD) @$(RM) $@ $(COMPILE.cpp) $(call PATH_FILTER,$<) $(COMPILE_FILTER.cpp) From 4a0fd0b954d41329069c1bb19060c273967f91eb Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 5 Jan 2017 14:09:03 -0600 Subject: [PATCH 165/226] Fix error message --- src/tools/DBD/Recordtype.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/DBD/Recordtype.pm b/src/tools/DBD/Recordtype.pm index 8c8fabbae..e4b0d5481 100644 --- a/src/tools/DBD/Recordtype.pm +++ b/src/tools/DBD/Recordtype.pm @@ -106,7 +106,7 @@ sub equals { my ($new, $known) = @_; return 0 if ! $known->fields; return 1 if ! $new->fields; - dieContext("Duplicate definition of record type '$a->{NAME}'"); + dieContext("Duplicate definition of record type '$known->{NAME}'"); } sub toDeclaration { From 49e0e23f760bdbbc938d245ae3b74b0239b9ec6c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 6 Jan 2017 15:38:03 -0600 Subject: [PATCH 166/226] Better protection against bad periodic scan rates --- documentation/RELEASE_NOTES.html | 20 +++++-- src/db/dbScan.c | 93 ++++++++++++++++++++++---------- 2 files changed, 81 insertions(+), 32 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index dc0fdcdb3..98913581e 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -3,16 +3,28 @@ - EPICS Base R3.14.12.6 Release Notes + EPICS Base R3.14.12.7 Release Notes -

EPICS Base Release 3.14.12.6

+

EPICS Base Release 3.14.12.7

-

Changes between 3.14.12.5 and 3.14.12.6

+

Changes between 3.14.12.6 and 3.14.12.7

+

Checking Periodic Scan Rates

+ +

Code has been added to the IOC startup to better protect it against bad +periodic scan rates, including against locales where . is not +accepted as a decimal separator character. If the scan period in a menuScan +choice string cannot be parsed, the associated periodic scan thread will no +longer be started by the IOC and a warning message will be displayed at iocInit +time. The scanppl command will also flag the faulty menuScan value.

+ + +

Changes between 3.14.12.5 and 3.14.12.6

+

Launchpad Bug-fixes

In addition to the more detailed change descriptions below, the following @@ -277,8 +289,6 @@ it up. This release patches the readline support code to clean up automatically by registering an epicsAtExit() routine.

-

EPICS Base Release 3.14.12.5

-

Changes between 3.14.12.4 and 3.14.12.5

aoRecord raw conversion overflows

diff --git a/src/db/dbScan.c b/src/db/dbScan.c index f764a1760..fb13cb0c3 100644 --- a/src/db/dbScan.c +++ b/src/db/dbScan.c @@ -148,8 +148,11 @@ static void scanShutdown(void *arg) interruptAccept = FALSE; for (i = 0; i < nPeriodic; i++) { - papPeriodic[i]->scanCtl = ctlExit; - epicsEventSignal(papPeriodic[i]->loopEvent); + periodic_scan_list *ppsl = papPeriodic[i]; + + if (!ppsl) continue; + ppsl->scanCtl = ctlExit; + epicsEventSignal(ppsl->loopEvent); epicsEventWait(startStopEvent); } @@ -182,16 +185,24 @@ void scanRun(void) interruptAccept = TRUE; scanCtl = ctlRun; - for (i = 0; i < nPeriodic; i++) - papPeriodic[i]->scanCtl = ctlRun; + for (i = 0; i < nPeriodic; i++) { + periodic_scan_list *ppsl = papPeriodic[i]; + + if (!ppsl) continue; + ppsl->scanCtl = ctlRun; + } } void scanPause(void) { int i; - for (i = nPeriodic - 1; i >= 0; --i) - papPeriodic[i]->scanCtl = ctlPause; + for (i = nPeriodic - 1; i >= 0; --i) { + periodic_scan_list *ppsl = papPeriodic[i]; + + if (!ppsl) continue; + ppsl->scanCtl = ctlPause; + } scanCtl = ctlPause; interruptAccept = FALSE; @@ -275,9 +286,11 @@ void scanAdd(struct dbCommon *precord) piosl += prio; /* get piosl for correct priority*/ addToList(precord, &piosl->scan_list); } else if (scan >= SCAN_1ST_PERIODIC) { - addToList(precord, &papPeriodic[scan - SCAN_1ST_PERIODIC]->scan_list); + periodic_scan_list *ppsl = papPeriodic[scan - SCAN_1ST_PERIODIC]; + + if (ppsl) + addToList(precord, &ppsl->scan_list); } - return; } void scanDelete(struct dbCommon *precord) @@ -348,28 +361,48 @@ void scanDelete(struct dbCommon *precord) piosl += prio; /*get piosl for correct priority*/ deleteFromList(precord, &piosl->scan_list); } else if (scan >= SCAN_1ST_PERIODIC) { - deleteFromList(precord, &papPeriodic[scan - SCAN_1ST_PERIODIC]->scan_list); + periodic_scan_list *ppsl = papPeriodic[scan - SCAN_1ST_PERIODIC]; + + if (ppsl) + deleteFromList(precord, &ppsl->scan_list); } - return; } double scanPeriod(int scan) { + periodic_scan_list *ppsl; + scan -= SCAN_1ST_PERIODIC; if (scan < 0 || scan >= nPeriodic) return 0.0; - return papPeriodic[scan]->period; + ppsl = papPeriodic[scan]; + return ppsl ? ppsl->period : 0.0; } - -int scanppl(double period) /* print periodic list */ + +int scanppl(double period) /* print periodic scan list(s) */ { - periodic_scan_list *ppsl; + dbMenu *pmenu = dbFindMenu(pdbbase, "menuScan"); char message[80]; int i; + if (!pmenu || !papPeriodic) { + printf("scanppl: dbScan subsystem not initialized\n"); + return -1; + } + for (i = 0; i < nPeriodic; i++) { - ppsl = papPeriodic[i]; - if (ppsl == NULL) continue; - if (period > 0.0 && (fabs(period - ppsl->period) >.05)) continue; + periodic_scan_list *ppsl = papPeriodic[i]; + + if (!ppsl) { + const char *choice = pmenu->papChoiceValue[i + SCAN_1ST_PERIODIC]; + + printf("Periodic scan list for SCAN = '%s' not initialized\n", + choice); + continue; + } + if (period > 0.0 && + (fabs(period - ppsl->period) > 0.05)) + continue; + sprintf(message, "Records with SCAN = '%s' (%lu over-runs):", ppsl->name, ppsl->overruns); printList(&ppsl->scan_list, message); @@ -588,7 +621,7 @@ static void periodicTask(void *arg) if (++overruns >= 10 && epicsTimeDiffInSeconds(&now, &reported) > report_delay) { errlogPrintf("\ndbScan warning from '%s' scan thread:\n" - "\tScan processing averages %.2f seconds (%.2f .. %.2f).\n" + "\tScan processing averages %.3f seconds (%.3f .. %.3f).\n" "\tOver-runs have now happened %u times in a row.\n" "\tTo fix this, move some records to a slower scan rate.\n", ppsl->name, ppsl->period + overtime / overruns, @@ -617,25 +650,30 @@ static void periodicTask(void *arg) static void initPeriodic(void) { - dbMenu *pmenu; - periodic_scan_list *ppsl; + dbMenu *pmenu = dbFindMenu(pdbbase, "menuScan"); int i; - pmenu = dbFindMenu(pdbbase, "menuScan"); if (!pmenu) { - epicsPrintf("initPeriodic: menuScan not present\n"); + errlogPrintf("initPeriodic: menuScan not present\n"); return; } nPeriodic = pmenu->nChoice - SCAN_1ST_PERIODIC; papPeriodic = dbCalloc(nPeriodic, sizeof(periodic_scan_list*)); periodicTaskId = dbCalloc(nPeriodic, sizeof(void *)); for (i = 0; i < nPeriodic; i++) { - ppsl = dbCalloc(1, sizeof(periodic_scan_list)); + periodic_scan_list *ppsl = dbCalloc(1, sizeof(periodic_scan_list)); + const char *choice = pmenu->papChoiceValue[i + SCAN_1ST_PERIODIC]; + + if (!epicsScanDouble(choice, &ppsl->period) || + ppsl->period <= 0) { + errlogPrintf("initPeriodic: Bad menuScan choice '%s'\n", choice); + free(ppsl); + continue; + } ppsl->scan_list.lock = epicsMutexMustCreate(); ellInit(&ppsl->scan_list.list); - ppsl->name = pmenu->papChoiceValue[i + SCAN_1ST_PERIODIC]; - epicsScanDouble(ppsl->name, &ppsl->period); + ppsl->name = choice; ppsl->scanCtl = ctlPause; ppsl->loopEvent = epicsEventMustCreate(epicsEventEmpty); @@ -645,10 +683,11 @@ static void initPeriodic(void) static void spawnPeriodic(int ind) { - periodic_scan_list *ppsl; + periodic_scan_list *ppsl = papPeriodic[ind]; char taskName[20]; - ppsl = papPeriodic[ind]; + if (!ppsl) return; + sprintf(taskName, "scan%g", ppsl->period); periodicTaskId[ind] = epicsThreadCreate( taskName, epicsThreadPriorityScanLow + ind, From 051c059938e4ba277014942fc35c42bf31cd97bd Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 6 Jan 2017 17:31:51 -0600 Subject: [PATCH 167/226] Removed some Revision-Id keywords --- src/libCom/osi/os/RTEMS/osdReadline.c | 1 - src/libCom/osi/os/default/gnuReadline.c | 1 - src/libCom/osi/os/vxWorks/osdReadline.c | 1 - 3 files changed, 3 deletions(-) diff --git a/src/libCom/osi/os/RTEMS/osdReadline.c b/src/libCom/osi/os/RTEMS/osdReadline.c index 03ed7ed90..877db53f6 100644 --- a/src/libCom/osi/os/RTEMS/osdReadline.c +++ b/src/libCom/osi/os/RTEMS/osdReadline.c @@ -5,7 +5,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* Author: Eric Norum Date: 12DEC2001 */ /* diff --git a/src/libCom/osi/os/default/gnuReadline.c b/src/libCom/osi/os/default/gnuReadline.c index 78ed17828..ae646a53e 100644 --- a/src/libCom/osi/os/default/gnuReadline.c +++ b/src/libCom/osi/os/default/gnuReadline.c @@ -5,7 +5,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* Author: Eric Norum Date: 12DEC2001 */ /* diff --git a/src/libCom/osi/os/vxWorks/osdReadline.c b/src/libCom/osi/os/vxWorks/osdReadline.c index e0208893e..9195b6b72 100644 --- a/src/libCom/osi/os/vxWorks/osdReadline.c +++ b/src/libCom/osi/os/vxWorks/osdReadline.c @@ -5,7 +5,6 @@ * EPICS BASE is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ -/* $Revision-Id$ */ /* Author: Eric Norum Date: 12DEC2001 */ /* From 7310d7805712f4ce4d82c6fe8c23c9b8efba11d6 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 16 Jan 2017 10:46:56 -0600 Subject: [PATCH 168/226] Prepend to PATH, not append --- src/tools/convertRelease.pl | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index 937f9ad5d..fd6a527c5 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -5,7 +5,7 @@ # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE is distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. +# in file LICENSE that is included with this distribution. #************************************************************************* # # Convert configure/RELEASE file(s) into something else. @@ -119,15 +119,15 @@ sub dllPath { unlink $outfile; open(OUT, ">$outfile") or die "$! creating $outfile"; print OUT "\@ECHO OFF\n"; - print OUT "PATH \%PATH\%;", join(';', binDirs()), "\n"; + print OUT "PATH ", join(';', binDirs(), '%PATH%'), "\n"; close OUT; } sub relPaths { unlink $outfile; open(OUT, ">$outfile") or die "$! creating $outfile"; - print OUT "export PATH=\$PATH:", - join(':', map {m/\s/ ? "\"$_\"" : $_ } binDirs()), "\n"; + print OUT "export PATH=", + join(':', map {m/\s/ ? "\"$_\"" : $_ } binDirs(), '$PATH'), "\n"; close OUT; } @@ -150,22 +150,22 @@ sub binDirs { sub cdCommands { die "Architecture not set (use -a option)" unless ($arch); my @includes = grep !m/^(RULES | TEMPLATE_TOP)$/x, @apps; - + unlink($outfile); open(OUT,">$outfile") or die "$! creating $outfile"; - + my $startup = $cwd; $startup =~ s/^$root/$iocroot/o if ($opt_t); $startup =~ s/([\\"])/\\\1/g; # escape back-slashes and double-quotes - + print OUT "startup = \"$startup\"\n"; - + my $ioc = $cwd; $ioc =~ s/^.*\///; # iocname is last component of directory name - + print OUT "putenv(\"ARCH=$arch\")\n"; print OUT "putenv(\"IOC=$ioc\")\n"; - + foreach my $app (@includes) { my $iocpath = my $path = $macros{$app}; $iocpath =~ s/^$root/$iocroot/o if ($opt_t); @@ -188,16 +188,16 @@ sub cdCommands { sub envPaths { die "Architecture not set (use -a option)" unless ($arch); my @includes = grep !m/^ (RULES | TEMPLATE_TOP) $/x, @apps; - + unlink($outfile); open(OUT,">$outfile") or die "$! creating $outfile"; - + my $ioc = $cwd; $ioc =~ s/^.*\///; # iocname is last component of directory name - + print OUT "epicsEnvSet(\"ARCH\",\"$arch\")\n"; print OUT "epicsEnvSet(\"IOC\",\"$ioc\")\n"; - + foreach my $app (@includes) { my $iocpath = my $path = $macros{$app}; $iocpath =~ s/^$root/$iocroot/o if ($opt_t); @@ -224,7 +224,7 @@ sub checkRelease { expandRelease(\%check, \@order); delete $check{TOP}; delete $check{EPICS_HOST_ARCH}; - + while (my ($parent, $ppath) = each %check) { if (exists $macros{$parent} && AbsPath($macros{$parent}) ne AbsPath($ppath)) { @@ -269,4 +269,3 @@ sub checkRelease { print "\n" if $status; exit $status; } - From b9ae6c3308f105a2a0b6532616501ae30ff12dc9 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 18 Jan 2017 10:59:36 -0600 Subject: [PATCH 169/226] Allow ARCH with trailing spaces --- configure/RULES.ioc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configure/RULES.ioc b/configure/RULES.ioc index 1024fcb22..4795bc515 100644 --- a/configure/RULES.ioc +++ b/configure/RULES.ioc @@ -14,7 +14,7 @@ build$(DIVIDER)$(ARCH) build: buildInstall install$(DIVIDER)$(ARCH) install: buildInstall $(ARCH): buildInstall -ifeq ($(filter $(ARCH),$(BUILD_ARCHS)),$(ARCH)) +ifeq ($(filter $(ARCH),$(BUILD_ARCHS)),$(strip $(ARCH))) buildInstall$(DIVIDER)$(ARCH) buildInstall: $(TARGETS) clean$(DIVIDER)$(ARCH) clean: @@ -31,4 +31,3 @@ cdCommands envPaths dllPath.bat relPaths.sh: \ realclean: $(RM) cdCommands envPaths dllPath.bat relPaths.sh - From 3e58c59377566c3a65cd5bc7a609ecf60a68ad19 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 19 Jan 2017 12:33:54 -0600 Subject: [PATCH 170/226] Fix CA server bind issue from Freddie Akeroyd --- documentation/RELEASE_NOTES.html | 27 +++-- src/cas/io/bsdSocket/casIntfIO.cc | 121 ++++++++++---------- src/libCom/osi/os/Darwin/osdSock.h | 3 +- src/libCom/osi/os/Linux/osdSock.h | 10 +- src/libCom/osi/os/RTEMS/osdSock.h | 7 +- src/libCom/osi/os/WIN32/osdSock.h | 5 +- src/libCom/osi/os/cygwin32/osdSock.h | 4 +- src/libCom/osi/os/freebsd/osdSock.h | 6 +- src/libCom/osi/os/iOS/osdSock.h | 1 + src/libCom/osi/os/solaris/osdSock.h | 8 +- src/libCom/osi/os/vxWorks/osdSock.h | 9 +- src/rsrv/caservertask.c | 161 ++++++++++++++------------- 12 files changed, 188 insertions(+), 174 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 98913581e..859ff7b29 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,17 @@ +

Server bind issue on Windows

+ +

When a National Instruments network variables CA server is already running on +a Windows system and an IOC or PCAS server is started, the IOC's attempt to +bind a TCP socket to the CA server port number fails, but Windows returns a +different error status value than the IOC is expecting in that circumstance +(because the National Instruments code requests exclusive use of that port, +unlike the EPICS code) so the IOC fails to start properly. The relevent EPICS +bind() checks have now been updated so the IOC will request that a dynamic port +number be allocated for this TCP socket instead when this happens.

+

Checking Periodic Scan Rates

Code has been added to the IOC startup to better protect it against bad @@ -786,7 +797,7 @@ access monitor on the DLYA field; this happens twice during record processing if the ODLY field is larger than 0.

Timestamps from all seq record monitor events have been wrong since 1995 or -earlier, the time being provided was from the last time the record processed. +earlier, the time being provided was from the last time the record processed. Now the record timestamp will be updated between reading each DOL1..DOLA link and posting the monitor on the associated DO1..DOA field. The VAL field is never given a value by the record processing code, but is used for posting @@ -1018,7 +1029,7 @@ fixed in this release:

  • 717252 local caput causes ioc crash on win32
  • -
  • 750549 +
  • 750549 epicsTime has non-portable c++ static initialization
  • 753137 @@ -1372,7 +1383,7 @@ more extensive modifications.

    RTEMS 4.10 support

    -

    Added support for the latest release of RTEMS. There is no longer a +

    Added support for the latest release of RTEMS. There is no longer a distinction between executive and malloc memory pools. The new mount() API is used.

    @@ -1465,7 +1476,7 @@ doing a put

    These changes impact the Gateway (Proxy server) and other servers but not the IOC. -

    Mantis 360 fix - server is unresponsive for one of its clients, when +

    Mantis 360 fix - server is unresponsive for one of its clients, when async io postponed and in flow control mode

    Mantis 358 fix - PCAS service snap-in has no way to determine if its a put, @@ -1478,7 +1489,7 @@ controling motor through gw.

    Mantis 340 fix - leak when performing a read and conversion fails.

    -

    Mantis 348 fix - A call to 'assert (item.pList == this)' +

    Mantis 348 fix - A call to 'assert (item.pList == this)' failed in ../../../../src/cas/generic/st/ioBlocked.cc line 112

    Mantis 345 fix - Compilation warning: complaint about missing @@ -1494,7 +1505,7 @@ R3.13 client

    Mantis 329 fix - GW hang, pthread_mutex_lock failed: error Invalid argument message

    -

    Mantis 352 fix - gateway hangs temporarily under heavy load on 8-core +

    Mantis 352 fix - gateway hangs temporarily under heavy load on 8-core 64bit RHEL5

      @@ -2015,7 +2026,7 @@ tools to allow specifying the CA priority.

      GCC_EXEC_PREFIX references removed from configuration files

      -

      Definition of GCC_EXEC_PREFIX removed from CONFIG.CrossCommon and +

      Definition of GCC_EXEC_PREFIX removed from CONFIG.CrossCommon and unexport of GCC_EXEC_PREFIX removed from vxWorks and RTEMS builds.

      RTEMS Release

      @@ -3232,7 +3243,7 @@ was returned as -1.17549435E-38. This is now fixed.

      in a <name>_DBD macro definition. An include line will be placed in the <name>Include.dbd for each file specified in the <name>_DBD definition. If a Makefile contains

      -
              DBD=xxx.dbd 
      +
              DBD=xxx.dbd
               xxx_DBD = f1.dbd f2.dbd f3.dbd 

      an xxxInclude.dbd file will be created containing the lines

      diff --git a/src/cas/io/bsdSocket/casIntfIO.cc b/src/cas/io/bsdSocket/casIntfIO.cc index 16cd908e3..a284c1800 100644 --- a/src/cas/io/bsdSocket/casIntfIO.cc +++ b/src/cas/io/bsdSocket/casIntfIO.cc @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ // @@ -32,7 +32,7 @@ const unsigned caServerConnectPendQueueSize = 5u; // // casIntfIO::casIntfIO() // -casIntfIO::casIntfIO ( const caNetAddr & addrIn ) : +casIntfIO::casIntfIO ( const caNetAddr & addrIn ) : sock ( INVALID_SOCKET ), addr ( addrIn.getSockIP() ) { @@ -40,80 +40,79 @@ casIntfIO::casIntfIO ( const caNetAddr & addrIn ) : osiSocklen_t addrSize; bool portChange; - if ( ! osiSockAttach () ) { - throw S_cas_internal; - } + if ( ! osiSockAttach () ) { + throw S_cas_internal; + } - /* - * Setup the server socket - */ - this->sock = epicsSocketCreate ( AF_INET, SOCK_STREAM, IPPROTO_TCP ); - if (this->sock==INVALID_SOCKET) { + /* + * Setup the server socket + */ + this->sock = epicsSocketCreate ( AF_INET, SOCK_STREAM, IPPROTO_TCP ); + if (this->sock == INVALID_SOCKET) { char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - printf ( "No socket error was %s\n", sockErrBuf ); - throw S_cas_noFD; - } + printf ( "No socket error was %s\n", sockErrBuf ); + throw S_cas_noFD; + } epicsSocketEnableAddressReuseDuringTimeWaitState ( this->sock ); - status = bind ( this->sock, - reinterpret_cast (&this->addr), - sizeof(this->addr) ); - if (status<0) { - if (SOCKERRNO == SOCK_EADDRINUSE) { - // - // enable assignment of a default port - // (so the getsockname() call below will - // work correctly) - // - this->addr.sin_port = ntohs (0); - status = bind( + status = bind ( this->sock, + reinterpret_cast (&this->addr), + sizeof(this->addr) ); + if (status < 0) { + if (SOCKERRNO == SOCK_EADDRINUSE || + SOCKERRNO == SOCK_EACCES) { + // + // enable assignment of a default port + // (so the getsockname() call below will + // work correctly) + // + this->addr.sin_port = ntohs (0); + status = bind( this->sock, reinterpret_cast (&this->addr), sizeof(this->addr) ); - } - if (status<0) { + } + if (status < 0) { char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - char buf[64]; - ipAddrToA (&this->addr, buf, sizeof(buf)); - errPrintf ( S_cas_bindFail, - __FILE__, __LINE__, - "- bind TCP IP addr=%s failed because %s", - buf, sockErrBuf ); + char buf[64]; + ipAddrToA (&this->addr, buf, sizeof(buf)); + errlogPrintf ( "CAS: Socket bind TCP to %s failed with %s", + buf, sockErrBuf ); epicsSocketDestroy (this->sock); - throw S_cas_bindFail; - } + throw S_cas_bindFail; + } portChange = true; - } + } else { portChange = false; } - addrSize = ( osiSocklen_t ) sizeof (this->addr); - status = getsockname ( - this->sock, - reinterpret_cast ( &this->addr ), + addrSize = ( osiSocklen_t ) sizeof (this->addr); + status = getsockname ( + this->sock, + reinterpret_cast ( &this->addr ), &addrSize ); - if (status) { + if (status) { char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - errlogPrintf ( "CAS: getsockname() error %s\n", - sockErrBuf ); + errlogPrintf ( "CAS: getsockname() error %s\n", + sockErrBuf ); epicsSocketDestroy (this->sock); - throw S_cas_internal; - } + throw S_cas_internal; + } - // - // be sure of this now so that we can fetch the IP - // address and port number later - // + // + // be sure of this now so that we can fetch the IP + // address and port number later + // assert (this->addr.sin_family == AF_INET); if ( portChange ) { errlogPrintf ( "cas warning: Configured TCP port was unavailable.\n"); - errlogPrintf ( "cas warning: Using dynamically assigned TCP port %hu,\n", + errlogPrintf ( "cas warning: Using dynamically assigned TCP port %hu,\n", ntohs (this->addr.sin_port) ); errlogPrintf ( "cas warning: but now two or more servers share the same UDP port.\n"); errlogPrintf ( "cas warning: Depending on your IP kernel this server may not be\n" ); @@ -121,12 +120,12 @@ casIntfIO::casIntfIO ( const caNetAddr & addrIn ) : } status = listen(this->sock, caServerConnectPendQueueSize); - if(status < 0) { + if (status < 0) { char sockErrBuf[64]; epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - errlogPrintf ( "CAS: listen() error %s\n", sockErrBuf ); + errlogPrintf ( "CAS: listen() error %s\n", sockErrBuf ); epicsSocketDestroy (this->sock); - throw S_cas_internal; + throw S_cas_internal; } } @@ -135,17 +134,17 @@ casIntfIO::casIntfIO ( const caNetAddr & addrIn ) : // casIntfIO::~casIntfIO() { - if (this->sock != INVALID_SOCKET) { - epicsSocketDestroy (this->sock); - } + if (this->sock != INVALID_SOCKET) { + epicsSocketDestroy (this->sock); + } - osiSockRelease (); + osiSockRelease (); } // // newStreamIO::newStreamClient() // -casStreamOS *casIntfIO::newStreamClient ( caServerI & cas, +casStreamOS *casIntfIO::newStreamClient ( caServerI & cas, clientBufMemoryManager & bufMgr ) const { static bool oneMsgFlag = false; @@ -175,14 +174,14 @@ casStreamOS *casIntfIO::newStreamClient ( caServerI & cas, args.sock = newSock; casStreamOS * pOS = new casStreamOS ( cas, bufMgr, args ); if ( ! pOS ) { - errMessage ( S_cas_noMemory, + errMessage ( S_cas_noMemory, "unable to create data structures for a new client" ); epicsSocketDestroy ( newSock ); } else { if ( cas.getDebugLevel() > 0u ) { char pName[64u]; - + pOS->hostName ( pName, sizeof ( pName ) ); errlogPrintf ( "CAS: allocated client object for \"%s\"\n", pName ); } @@ -197,7 +196,7 @@ void casIntfIO::setNonBlocking() { int status; osiSockIoctl_t yes = true; - + status = socket_ioctl(this->sock, FIONBIO, &yes); // X aCC 392 if ( status < 0 ) { char sockErrBuf[64]; diff --git a/src/libCom/osi/os/Darwin/osdSock.h b/src/libCom/osi/os/Darwin/osdSock.h index 961b60663..0700114f0 100644 --- a/src/libCom/osi/os/Darwin/osdSock.h +++ b/src/libCom/osi/os/Darwin/osdSock.h @@ -1,7 +1,7 @@ /*************************************************************************\ * Copyright (c) 2002 The University of Saskatchewan * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* * Author: Eric Norum @@ -38,6 +38,7 @@ typedef socklen_t osiSocklen_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED diff --git a/src/libCom/osi/os/Linux/osdSock.h b/src/libCom/osi/os/Linux/osdSock.h index e689526eb..36e84c0b1 100644 --- a/src/libCom/osi/os/Linux/osdSock.h +++ b/src/libCom/osi/os/Linux/osdSock.h @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* @@ -13,12 +13,12 @@ * Under Linux if we dont define _POSIX_C_SOURCE or _XOPEN_SOURCE * then none of the POSIX stuff (such as signals) can be used * with cc -v. However if one of _POSIX_C_SOURCE or _XOPEN_SOURCE - * are defined then we cant use the socket library. Therefore I - * have been adding the following in order to use POSIX signals + * are defined then we cant use the socket library. Therefore I + * have been adding the following in order to use POSIX signals * and also sockets on Linux with cc -v. What a pain.... * * #ifdef linux - * #define __EXTENSIONS__ + * #define __EXTENSIONS__ * #endif */ @@ -53,6 +53,7 @@ typedef socklen_t osiSocklen_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED @@ -82,4 +83,3 @@ typedef socklen_t osiSocklen_t; #define ifreq_size(pifreq) (sizeof(pifreq->ifr_name)) #endif /*osdSockH*/ - diff --git a/src/libCom/osi/os/RTEMS/osdSock.h b/src/libCom/osi/os/RTEMS/osdSock.h index 0f69b2a2c..e60c1bfd2 100644 --- a/src/libCom/osi/os/RTEMS/osdSock.h +++ b/src/libCom/osi/os/RTEMS/osdSock.h @@ -1,7 +1,7 @@ /*************************************************************************\ * Copyright (c) 2002 The University of Saskatchewan * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* * RTEMS osdSock.h @@ -35,7 +35,7 @@ int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, str #ifdef __cplusplus } #endif - + typedef int SOCKET; #define INVALID_SOCKET (-1) #define SOCKERRNO errno @@ -49,6 +49,7 @@ typedef socklen_t osiSocklen_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED @@ -74,7 +75,7 @@ typedef socklen_t osiSocklen_t; #ifndef INADDR_NONE # define INADDR_NONE (0xffffffff) -#endif +#endif /* * For shutdown() diff --git a/src/libCom/osi/os/WIN32/osdSock.h b/src/libCom/osi/os/WIN32/osdSock.h index e6567e178..17f2afe4a 100644 --- a/src/libCom/osi/os/WIN32/osdSock.h +++ b/src/libCom/osi/os/WIN32/osdSock.h @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ #ifndef osdSockH @@ -14,7 +14,7 @@ #include /* - * winsock2.h changes the structure alignment to 4 if + * winsock2.h changes the structure alignment to 4 if * WIN32 isnt set which can be a source of confusion */ #ifndef WIN32 @@ -48,6 +48,7 @@ typedef int osiSocklen_t; #define SOCK_ENOBUFS WSAENOBUFS #define SOCK_ECONNRESET WSAECONNRESET #define SOCK_ETIMEDOUT WSAETIMEDOUT +#define SOCK_EACCES WSAEACCES #define SOCK_EADDRINUSE WSAEADDRINUSE #define SOCK_ECONNREFUSED WSAECONNREFUSED #define SOCK_ECONNABORTED WSAECONNABORTED diff --git a/src/libCom/osi/os/cygwin32/osdSock.h b/src/libCom/osi/os/cygwin32/osdSock.h index 460839a26..34ac5cc70 100644 --- a/src/libCom/osi/os/cygwin32/osdSock.h +++ b/src/libCom/osi/os/cygwin32/osdSock.h @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* * cygwin32 specific include @@ -49,6 +49,7 @@ typedef int osiSocklen_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED @@ -66,4 +67,3 @@ typedef int osiSocklen_t; #define ifreq_size(pifreq) (sizeof(pifreq->ifr_name)) #endif /*osdSockH*/ - diff --git a/src/libCom/osi/os/freebsd/osdSock.h b/src/libCom/osi/os/freebsd/osdSock.h index 40df63631..b6858d678 100644 --- a/src/libCom/osi/os/freebsd/osdSock.h +++ b/src/libCom/osi/os/freebsd/osdSock.h @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ #ifndef osdSockH @@ -29,7 +29,7 @@ #define IPPORT_USERRESERVED 5000 #endif - + typedef int SOCKET; #define INVALID_SOCKET (-1) #define SOCKERRNO errno @@ -43,6 +43,7 @@ typedef socklen_t osiSocklen_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED @@ -76,4 +77,3 @@ typedef socklen_t osiSocklen_t; #endif #endif /*osdSockH*/ - diff --git a/src/libCom/osi/os/iOS/osdSock.h b/src/libCom/osi/os/iOS/osdSock.h index 136c8f8a9..bebc0ca45 100644 --- a/src/libCom/osi/os/iOS/osdSock.h +++ b/src/libCom/osi/os/iOS/osdSock.h @@ -39,6 +39,7 @@ typedef socklen_t osiSocklen_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED diff --git a/src/libCom/osi/os/solaris/osdSock.h b/src/libCom/osi/os/solaris/osdSock.h index bffcaf367..8b2893626 100644 --- a/src/libCom/osi/os/solaris/osdSock.h +++ b/src/libCom/osi/os/solaris/osdSock.h @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* @@ -39,7 +39,7 @@ typedef int osiSockIoctl_t; #if SOLARIS > 6 || defined ( _SOCKLEN_T ) typedef uint32_t osiSocklen_t; -#else +#else typedef int osiSocklen_t; #endif @@ -51,6 +51,7 @@ typedef int osiSockIoctl_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED @@ -79,9 +80,8 @@ typedef int osiSockIoctl_t; #ifndef INADDR_NONE # define INADDR_NONE (0xffffffff) -#endif +#endif #define ifreq_size(pifreq) (sizeof(pifreq->ifr_name)) #endif /*osdSockH*/ - diff --git a/src/libCom/osi/os/vxWorks/osdSock.h b/src/libCom/osi/os/vxWorks/osdSock.h index f220ea8bd..03ecb3153 100644 --- a/src/libCom/osi/os/vxWorks/osdSock.h +++ b/src/libCom/osi/os/vxWorks/osdSock.h @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* * vxWorks specific socket include @@ -44,7 +44,7 @@ int sysClkRateGet(void); #ifdef __cplusplus } #endif - + typedef int SOCKET; #define INVALID_SOCKET (-1) #define SOCKERRNO errno @@ -72,6 +72,7 @@ typedef int osiSocklen_t; #define SOCK_ENOBUFS ENOBUFS #define SOCK_ECONNRESET ECONNRESET #define SOCK_ETIMEDOUT ETIMEDOUT +#define SOCK_EACCES EACCES #define SOCK_EADDRINUSE EADDRINUSE #define SOCK_ECONNREFUSED ECONNREFUSED #define SOCK_ECONNABORTED ECONNABORTED @@ -92,7 +93,7 @@ typedef int osiSocklen_t; #ifndef INADDR_NONE # define INADDR_NONE (0xffffffff) -#endif +#endif #if defined(_SIZEOF_ADDR_IFREQ) # define ifreq_size(pifreq) _SIZEOF_ADDR_IFREQ(*pifreq) @@ -103,5 +104,3 @@ typedef int osiSocklen_t; #endif #endif /*osdSockH*/ - - diff --git a/src/rsrv/caservertask.c b/src/rsrv/caservertask.c index 51b7e99a8..7867babe6 100644 --- a/src/rsrv/caservertask.c +++ b/src/rsrv/caservertask.c @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* @@ -70,22 +70,22 @@ static void req_server (void *pParm) epicsSignalInstallSigPipeIgnore (); taskwdInsert ( epicsThreadGetIdSelf (), NULL, NULL ); - + rsrvCurrentClient = epicsThreadPrivateCreate (); if ( envGetConfigParamPtr ( &EPICS_CAS_SERVER_PORT ) ) { - ca_server_port = envGetInetPortConfigParam ( &EPICS_CAS_SERVER_PORT, + ca_server_port = envGetInetPortConfigParam ( &EPICS_CAS_SERVER_PORT, (unsigned short) CA_SERVER_PORT ); } else { - ca_server_port = envGetInetPortConfigParam ( &EPICS_CA_SERVER_PORT, + ca_server_port = envGetInetPortConfigParam ( &EPICS_CA_SERVER_PORT, (unsigned short) CA_SERVER_PORT ); } if (IOC_sock != 0 && IOC_sock != INVALID_SOCKET) { epicsSocketDestroy ( IOC_sock ); } - + /* * Open the socket. Use ARPA Internet address format and stream * sockets. Format described in . @@ -100,53 +100,54 @@ static void req_server (void *pParm) /* Zero the sock_addr structure */ memset ( (void *) &serverAddr, 0, sizeof ( serverAddr ) ); serverAddr.sin_family = AF_INET; - serverAddr.sin_addr.s_addr = htonl (INADDR_ANY); + serverAddr.sin_addr.s_addr = htonl (INADDR_ANY); serverAddr.sin_port = htons ( ca_server_port ); /* get server's Internet address */ status = bind ( IOC_sock, (struct sockaddr *) &serverAddr, sizeof ( serverAddr ) ); - if ( status < 0 ) { - if ( SOCKERRNO == SOCK_EADDRINUSE ) { - /* - * enable assignment of a default port - * (so the getsockname() call below will - * work correctly) - */ - serverAddr.sin_port = ntohs (0); - status = bind ( IOC_sock, + if ( status < 0 ) { + if ( SOCKERRNO == SOCK_EADDRINUSE || + SOCKERRNO == SOCK_EACCES ) { + /* + * enable assignment of a default port + * (so the getsockname() call below will + * work correctly) + */ + serverAddr.sin_port = ntohs (0); + status = bind ( IOC_sock, (struct sockaddr *) &serverAddr, sizeof ( serverAddr ) ); - } - if ( status < 0 ) { + } + if ( status < 0 ) { char sockErrBuf[64]; - epicsSocketConvertErrnoToString ( + epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - errlogPrintf ( "CAS: Socket bind error was \"%s\"\n", + errlogPrintf ( "CAS: Socket bind failed with %s\n", sockErrBuf ); epicsThreadSuspendSelf (); - } + } portChange = 1; - } + } else { portChange = 0; } - addrSize = ( osiSocklen_t ) sizeof ( serverAddr ); - status = getsockname ( IOC_sock, - (struct sockaddr *)&serverAddr, &addrSize); - if ( status ) { + addrSize = ( osiSocklen_t ) sizeof ( serverAddr ); + status = getsockname ( IOC_sock, + (struct sockaddr *)&serverAddr, &addrSize); + if ( status ) { char sockErrBuf[64]; - epicsSocketConvertErrnoToString ( + epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - errlogPrintf ( "CAS: getsockname() error %s\n", - sockErrBuf ); + errlogPrintf ( "CAS: getsockname() error %s\n", + sockErrBuf ); epicsThreadSuspendSelf (); - } + } ca_server_port = ntohs (serverAddr.sin_port); if ( portChange ) { errlogPrintf ( "cas warning: Configured TCP port was unavailable.\n"); - errlogPrintf ( "cas warning: Using dynamically assigned TCP port %hu,\n", + errlogPrintf ( "cas warning: Using dynamically assigned TCP port %hu,\n", ca_server_port ); errlogPrintf ( "cas warning: but now two or more servers share the same UDP port.\n"); errlogPrintf ( "cas warning: Depending on your IP kernel this server may not be\n" ); @@ -189,13 +190,13 @@ static void req_server (void *pParm) clientSock = epicsSocketAccept ( IOC_sock, &sockAddr, &addLen ); if ( clientSock == INVALID_SOCKET ) { char sockErrBuf[64]; - epicsSocketConvertErrnoToString ( + epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); errlogPrintf("CAS: Client accept error was \"%s\"\n", sockErrBuf ); epicsThreadSleep(15.0); continue; - } + } else { epicsThreadId id; struct client *pClient; @@ -279,14 +280,14 @@ int rsrv_init (void) castcp_ctl = ctlPause; /* - * go down two levels so that we are below + * go down two levels so that we are below * the TCP and event threads started on behalf * of individual clients */ - tbs = epicsThreadHighestPriorityLevelBelow ( + tbs = epicsThreadHighestPriorityLevelBelow ( epicsThreadPriorityCAServerLow, &priorityOfConnectDaemon ); if ( tbs == epicsThreadBooleanStatusSuccess ) { - tbs = epicsThreadHighestPriorityLevelBelow ( + tbs = epicsThreadHighestPriorityLevelBelow ( priorityOfConnectDaemon, &priorityOfConnectDaemon ); if ( tbs != epicsThreadBooleanStatusSuccess ) { priorityOfConnectDaemon = epicsThreadPriorityCAServerLow; @@ -327,7 +328,7 @@ int rsrv_pause (void) return RSRV_OK; } -static unsigned countChanListBytes ( +static unsigned countChanListBytes ( struct client *client, ELLLIST * pList ) { struct channel_in_use * pciu; @@ -346,7 +347,7 @@ static unsigned countChanListBytes ( return bytes_reserved; } -static void showChanList ( +static void showChanList ( struct client * client, ELLLIST * pList ) { unsigned i = 0u; @@ -354,7 +355,7 @@ static void showChanList ( epicsMutexMustLock ( client->chanListLock ); pciu = (struct channel_in_use *) pList->node.next; while ( pciu ){ - printf( "\t%s(%d%c%c)", + printf( "\t%s(%d%c%c)", pciu->addr.precord->name, ellCount ( &pciu->eventq ), asCheckGet ( pciu->asClientPVT ) ? 'r': '-', @@ -395,28 +396,28 @@ static void log_one_client (struct client *client, unsigned level) send_delay = epicsTimeDiffInSeconds(¤t,&client->time_at_last_send); recv_delay = epicsTimeDiffInSeconds(¤t,&client->time_at_last_recv); - printf ( "%s %s(%s): User=\"%s\", V%u.%u, %d Channels, Priority=%u\n", + printf ( "%s %s(%s): User=\"%s\", V%u.%u, %d Channels, Priority=%u\n", pproto, clientHostName, client->pHostName ? client->pHostName : "", client->pUserName ? client->pUserName : "", CA_MAJOR_PROTOCOL_REVISION, client->minor_version_number, - ellCount(&client->chanList) + + ellCount(&client->chanList) + ellCount(&client->chanPendingUpdateARList), client->priority ); if ( level >= 1 ) { - printf ("\tTask Id=%p, Socket FD=%d\n", - (void *) client->tid, client->sock); - printf( - "\tSecs since last send %6.2f, Secs since last receive %6.2f\n", + printf ("\tTask Id=%p, Socket FD=%d\n", + (void *) client->tid, client->sock); + printf( + "\tSecs since last send %6.2f, Secs since last receive %6.2f\n", send_delay, recv_delay); - printf( - "\tUnprocessed request bytes=%u, Undelivered response bytes=%u\n", + printf( + "\tUnprocessed request bytes=%u, Undelivered response bytes=%u\n", client->recv.cnt - client->recv.stk, - client->send.stk ); - printf( - "\tState=%s%s%s\n", + client->send.stk ); + printf( + "\tState=%s%s%s\n", state[client->disconnect?1:0], client->send.type == mbtLargeTCP ? " jumbo-send-buf" : "", client->recv.type == mbtLargeTCP ? " jumbo-recv-buf" : ""); @@ -425,9 +426,9 @@ static void log_one_client (struct client *client, unsigned level) if ( level >= 2u ) { unsigned bytes_reserved = 0; bytes_reserved += sizeof(struct client); - bytes_reserved += countChanListBytes ( + bytes_reserved += countChanListBytes ( client, & client->chanList ); - bytes_reserved += countChanListBytes ( + bytes_reserved += countChanListBytes ( client, & client->chanPendingUpdateARList ); printf( "\t%d bytes allocated\n", bytes_reserved); showChanList ( client, & client->chanList ); @@ -482,20 +483,20 @@ void epicsShareAPI casr (unsigned level) printf( "UDP Server:\n" ); log_one_client(prsrv_cast_client, level); } - + if (level>=2u) { bytes_reserved = 0u; - bytes_reserved += sizeof (struct client) * + bytes_reserved += sizeof (struct client) * freeListItemsAvail (rsrvClientFreeList); bytes_reserved += sizeof (struct channel_in_use) * freeListItemsAvail (rsrvChanFreeList); bytes_reserved += sizeof(struct event_ext) * freeListItemsAvail (rsrvEventFreeList); - bytes_reserved += MAX_TCP * + bytes_reserved += MAX_TCP * freeListItemsAvail ( rsrvSmallBufFreeListTCP ); - bytes_reserved += rsrvSizeofLargeBufTCP * + bytes_reserved += rsrvSizeofLargeBufTCP * freeListItemsAvail ( rsrvLargeBufFreeListTCP ); - bytes_reserved += rsrvSizeOfPutNotify ( 0 ) * + bytes_reserved += rsrvSizeOfPutNotify ( 0 ) * freeListItemsAvail ( rsrvPutNotifyFreeList ); printf( "There are currently %u bytes on the server's free list\n", (unsigned int) bytes_reserved); @@ -522,7 +523,7 @@ void epicsShareAPI casr (unsigned level) } } -/* +/* * destroy_client () */ void destroy_client ( struct client *client ) @@ -530,7 +531,7 @@ void destroy_client ( struct client *client ) if ( ! client ) { return; } - + if ( client->tid != 0 ) { taskwdRemove ( client->tid ); } @@ -600,12 +601,12 @@ void destroy_client ( struct client *client ) if ( client->pHostName ) { free ( client->pHostName ); - } + } freeListFree ( rsrvClientFreeList, client ); } -static void destroyAllChannels ( +static void destroyAllChannels ( struct client * client, ELLLIST * pList ) { if ( !client->chanListLock || !client->eventqLock ) { @@ -649,7 +650,7 @@ static void destroyAllChannels ( rsrvChannelCount--; UNLOCK_CLIENTQ; if ( status != S_bucket_success ) { - errPrintf ( status, __FILE__, __LINE__, + errPrintf ( status, __FILE__, __LINE__, "Bad id=%d at close", pciu->sid); } status = asRemoveClient(&pciu->asClientPVT); @@ -689,7 +690,7 @@ void destroy_tcp_client ( struct client *client ) if ( client->evuser ) { db_close_events (client->evuser); } - + destroy_client ( client ); } @@ -708,7 +709,7 @@ struct client * create_client ( SOCKET sock, int proto ) spaceAvailOnFreeList = freeListItemsAvail ( rsrvClientFreeList ) > 0 && freeListItemsAvail ( rsrvSmallBufFreeListTCP ) > 0; spaceNeeded = sizeof (struct client) + MAX_TCP; - if ( ! ( osiSufficentSpaceInPool(spaceNeeded) || spaceAvailOnFreeList ) ) { + if ( ! ( osiSufficentSpaceInPool(spaceNeeded) || spaceAvailOnFreeList ) ) { epicsSocketDestroy ( sock ); epicsPrintf ("CAS: no space in pool for a new client (below max block thresh)\n"); return NULL; @@ -719,7 +720,7 @@ struct client * create_client ( SOCKET sock, int proto ) epicsSocketDestroy ( sock ); epicsPrintf ("CAS: no space in pool for a new client (alloc failed)\n"); return NULL; - } + } client->sock = sock; client->proto = proto; @@ -735,8 +736,8 @@ struct client * create_client ( SOCKET sock, int proto ) return NULL; } - client->pUserName = NULL; - client->pHostName = NULL; + client->pUserName = NULL; + client->pHostName = NULL; ellInit ( & client->chanList ); ellInit ( & client->chanPendingUpdateARList ); ellInit ( & client->putNotifyQue ); @@ -774,7 +775,7 @@ struct client * create_client ( SOCKET sock, int proto ) epicsTimeGetCurrent ( &client->time_at_last_recv ); client->minor_version_number = CA_UKN_MINOR_VERSION; client->recvBytesToDrain = 0u; - + return client; } @@ -789,10 +790,10 @@ void casAttachThreadToClient ( struct client *pClient ) void casExpandSendBuffer ( struct client *pClient, ca_uint32_t size ) { - if ( pClient->send.type == mbtSmallTCP && rsrvSizeofLargeBufTCP > MAX_TCP + if ( pClient->send.type == mbtSmallTCP && rsrvSizeofLargeBufTCP > MAX_TCP && size <= rsrvSizeofLargeBufTCP ) { int spaceAvailOnFreeList = freeListItemsAvail ( rsrvLargeBufFreeListTCP ) > 0; - if ( osiSufficentSpaceInPool(rsrvSizeofLargeBufTCP) || spaceAvailOnFreeList ) { + if ( osiSufficentSpaceInPool(rsrvSizeofLargeBufTCP) || spaceAvailOnFreeList ) { char *pNewBuf = ( char * ) freeListCalloc ( rsrvLargeBufFreeListTCP ); if ( pNewBuf ) { memcpy ( pNewBuf, pClient->send.buf, pClient->send.stk ); @@ -810,7 +811,7 @@ void casExpandRecvBuffer ( struct client *pClient, ca_uint32_t size ) if ( pClient->recv.type == mbtSmallTCP && rsrvSizeofLargeBufTCP > MAX_TCP && size <= rsrvSizeofLargeBufTCP) { int spaceAvailOnFreeList = freeListItemsAvail ( rsrvLargeBufFreeListTCP ) > 0; - if ( osiSufficentSpaceInPool(rsrvSizeofLargeBufTCP) || spaceAvailOnFreeList ) { + if ( osiSufficentSpaceInPool(rsrvSizeofLargeBufTCP) || spaceAvailOnFreeList ) { char *pNewBuf = ( char * ) freeListCalloc ( rsrvLargeBufFreeListTCP ); if ( pNewBuf ) { assert ( pClient->recv.cnt >= pClient->recv.stk ); @@ -847,26 +848,26 @@ struct client *create_tcp_client ( SOCKET sock ) * see TCP(4P) this seems to make unsolicited single events much * faster. I take care of queue up as load increases. */ - status = setsockopt ( sock, IPPROTO_TCP, TCP_NODELAY, + status = setsockopt ( sock, IPPROTO_TCP, TCP_NODELAY, (char *) &intTrue, sizeof (intTrue) ); if (status < 0) { errlogPrintf ( "CAS: TCP_NODELAY option set failed\n" ); destroy_client ( client ); return NULL; } - - /* + + /* * turn on KEEPALIVE so if the client crashes * this task will find out and exit */ - status = setsockopt ( sock, SOL_SOCKET, SO_KEEPALIVE, + status = setsockopt ( sock, SOL_SOCKET, SO_KEEPALIVE, (char *) &intTrue, sizeof (intTrue) ); if ( status < 0 ) { errlogPrintf ( "CAS: SO_KEEPALIVE option set failed\n" ); destroy_client ( client ); return NULL; } - + /* * some concern that vxWorks will run out of mBuf's * if this change is made @@ -874,8 +875,8 @@ struct client *create_tcp_client ( SOCKET sock ) * joh 11-10-98 */ #if 0 - /* - * set TCP buffer sizes to be synergistic + /* + * set TCP buffer sizes to be synergistic * with CA internal buffering */ i = MAX_MSG_SIZE; @@ -893,7 +894,7 @@ struct client *create_tcp_client ( SOCKET sock ) return NULL; } #endif - + addrSize = sizeof ( client->addr ); status = getpeername ( sock, (struct sockaddr *)&client->addr, &addrSize ); @@ -926,8 +927,8 @@ struct client *create_tcp_client ( SOCKET sock ) } } - status = db_start_events ( client->evuser, "CAS-event", - NULL, NULL, priorityOfEvents ); + status = db_start_events ( client->evuser, "CAS-event", + NULL, NULL, priorityOfEvents ); if ( status != DB_EVENT_OK ) { errlogPrintf ( "CAS: unable to start the event facility\n" ); destroy_tcp_client ( client ); From a105c6f538a20a6f134c245e5a23e7cc59b48995 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 24 Jan 2017 11:48:36 -0600 Subject: [PATCH 171/226] Always quote Windows PATH arg's --- src/tools/convertRelease.pl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index fd6a527c5..c06a8ee68 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -119,15 +119,14 @@ sub dllPath { unlink $outfile; open(OUT, ">$outfile") or die "$! creating $outfile"; print OUT "\@ECHO OFF\n"; - print OUT "PATH ", join(';', binDirs(), '%PATH%'), "\n"; + print OUT "PATH \"", join(';', binDirs(), '%PATH%'), "\"\n"; close OUT; } sub relPaths { unlink $outfile; open(OUT, ">$outfile") or die "$! creating $outfile"; - print OUT "export PATH=", - join(':', map {m/\s/ ? "\"$_\"" : $_ } binDirs(), '$PATH'), "\n"; + print OUT "export PATH=\"", join(':', binDirs(), '$PATH'), "\"\n"; close OUT; } From 3a0e52fc3fb7b462550e96a93d5bc84eb9666587 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 24 Jan 2017 14:17:37 -0600 Subject: [PATCH 172/226] Fix Windows dllPath.bat properly --- src/tools/convertRelease.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index c06a8ee68..fb2153a34 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -119,7 +119,9 @@ sub dllPath { unlink $outfile; open(OUT, ">$outfile") or die "$! creating $outfile"; print OUT "\@ECHO OFF\n"; - print OUT "PATH \"", join(';', binDirs(), '%PATH%'), "\"\n"; + # This SET syntax is essential for supporting embedded spaces and '&' + # characters in both the PATH variable and the new directory components + print OUT "SET \"PATH=", join(';', binDirs(), '%PATH%'), "\"\n"; close OUT; } From faf691a5be53d9bf723504d940887029ace75e16 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 30 Jan 2017 12:11:29 -0600 Subject: [PATCH 173/226] VS2015 starting to dislike '/' for compiler flags --- configure/os/CONFIG.win32-x86.win32-x86 | 47 ++++++++++----------- configure/os/CONFIG.windows-x64.windows-x64 | 19 ++++----- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 96cde4cf4..022f80736 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -22,7 +22,7 @@ WINLINK = link RCCMD = rc -l 0x409 $(INCLUDES) -fo $@ $< -ARCMD = lib /nologo /verbose /out:$@ $(LIB_OPT_LDFLAGS) $(LIBRARY_LD_OBJS) +ARCMD = lib -nologo -verbose -out:$@ $(LIB_OPT_LDFLAGS) $(LIBRARY_LD_OBJS) BAFCMD = bscmake /nologo /o $@ @@ -67,21 +67,21 @@ OBJ_CFLAG = -Fo # vis c++ compiles the code (and includes # the header files) # -# /MT static multithreaded C RTL -# /MTd static multithreaded C RTL (debug version) -# /MD multithreaded C RTL in DLL -# /MDd multithreaded C RTL in DLL (debug version) +# -MT static multithreaded C RTL +# -MTd static multithreaded C RTL (debug version) +# -MD multithreaded C RTL in DLL +# -MDd multithreaded C RTL in DLL (debug version) VISC_DLL_NO = -DEPICS_DLL_NO VISC_DLL_YES = VISC_DLL = $(VISC_DLL_$(SHARED_LIBRARIES)) VISC_STATIC_CFLAGS_DEBUG_NO = d VISC_STATIC_CFLAGS_DEBUG_YES = VISC_STATIC_CFLAGS_DEBUG = $(VISC_STATIC_CFLAGS_DEBUG_$(HOST_OPT)) -STATIC_CFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) -STATIC_CFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) +STATIC_CFLAGS_YES= -MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) +STATIC_CFLAGS_NO= -MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) # OS vendor c preprocessor -CPP = cl /nologo /C /E +CPP = cl -nologo -C -E # Configure OS vendor C++ compiler # @@ -129,12 +129,12 @@ OBJ_CXXFLAG = -Fo # vis c++ compiles the code (and includes # the header files) # -# /MT static multithreaded C RTL -# /MTd static multithreaded C RTL (debug version) -# /MD multithreaded C RTL in DLL -# /MDd multithreaded C RTL in DLL (debug version) -STATIC_CXXFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) -STATIC_CXXFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) +# -MT static multithreaded C RTL +# -MTd static multithreaded C RTL (debug version) +# -MD multithreaded C RTL in DLL +# -MDd multithreaded C RTL in DLL (debug version) +STATIC_CXXFLAGS_YES= -MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) +STATIC_CXXFLAGS_NO= -MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) STATIC_LDLIBS_YES=ws2_32.lib advapi32.lib user32.lib kernel32.lib winmm.lib STATIC_LDLIBS_NO= @@ -173,10 +173,10 @@ BAF=.bsc BOF=.sbr # Problem: MS Visual C++ does not recognize *.cc as C++ source, -# so we do C++ compiles using the global flag -TP -COMPILER_CXXFLAGS = /TP +# so we do C++ compiles using the global flag -TP +COMPILER_CXXFLAGS = -TP -# Operating system flags +# Operating system flags OP_SYS_CFLAGS = OP_SYS_CXXFLAGS = $(COMPILER_CXXFLAGS) @@ -192,13 +192,13 @@ OP_SYS_CXXFLAGS = $(COMPILER_CXXFLAGS) # '-entry:_DllMainCRTStartup$(DLLENTRY)' DLLENTRY = @12 -WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) \ +WIN32_DLLFLAGS = -subsystem:windows -dll $(OPT_LDFLAGS) \ $(USR_LDFLAGS) $(CMD_LDFLAGS) $(TARGET_LDFLAGS) $(LIB_LDFLAGS) # # specify dll .def file only if it exists # -DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(addsuffix .def,$*))) +DLL_DEF_FLAG = $(addprefix -def:,$(wildcard ../$(addsuffix .def,$*))) # # A WIN32 dll has three parts: @@ -206,9 +206,9 @@ DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(addsuffix .def,$*))) # x.lib: what you link to progs that use the dll (DLL_LINK_LIBNAME) # x.exp: what you need to build the dll (in no variable) # -LINK.shrlib = $(WINLINK) /nologo $(WIN32_DLLFLAGS) /implib:$*.lib /out:$*.dll $(DLL_DEF_FLAG) +LINK.shrlib = $(WINLINK) -nologo $(WIN32_DLLFLAGS) -implib:$*.lib -out:$*.dll $(DLL_DEF_FLAG) LINK.shrlib += $(call PATH_FILTER, $(LIBRARY_LD_OBJS) $(LIBRARY_LD_RESS) $(SHRLIB_LDLIBS)) -MUNCH_CMD = $(CCC) /Fo $@ $^ +MUNCH_CMD = $(CCC) -Fo $@ $^ # adjust names of libraries to build @@ -222,7 +222,7 @@ SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) # -# When SHARED_LIBRARIES is YES we are building a DLL link library +# When SHARED_LIBRARIES is YES we are building a DLL link library # and when SHARED_LIBRARIES is NO we are building an object library # DLL_LINK_LIBNAME_YES = $(BUILD_LIBRARY:%=%.lib) @@ -289,7 +289,7 @@ LINK.cpp = $(WINLINK) -nologo $(STATIC_LDFLAGS) $(LDFLAGS) $(PROD_LDFLAGS) \ #-------------------------------------------------- # UseManifestTool.pl checks MS Visual c++ compiler version number to # decide whether or not to use the Manifest Tool command to embed the -# linker created .manifest file into a library or product target. +# linker created .manifest file into a library or product target. # useManifestTool.pl returns 0(don't use) or 1(use). # MT.exe = mt.exe -nologo -manifest $@.manifest @@ -299,4 +299,3 @@ MT_EXE_COMMAND_NO = $(MT.exe) "-outputresource:$@;\#1" MT_EXE_COMMAND1 = $(MT_EXE_COMMAND_$(STATIC_BUILD)) MT_DLL_COMMAND = $(MT_DLL_COMMAND$(shell $(PERL) $(TOOLS)/useManifestTool.pl)) MT_EXE_COMMAND = $(MT_EXE_COMMAND$(shell $(PERL) $(TOOLS)/useManifestTool.pl)) - diff --git a/configure/os/CONFIG.windows-x64.windows-x64 b/configure/os/CONFIG.windows-x64.windows-x64 index d820dbacc..86d8bb394 100644 --- a/configure/os/CONFIG.windows-x64.windows-x64 +++ b/configure/os/CONFIG.windows-x64.windows-x64 @@ -9,14 +9,13 @@ include $(CONFIG)/os/CONFIG.win32-x86.win32-x86 -include $(CONFIG)/os/CONFIG_SITE.win32-x86.win32-x86 # Modify CONFIG.win32-x86.win32-x86 settings: -ARCH_DEP_CPPFLAGS += /favor:blend -# /favor:blend both AMD64 and INTEL64 -# /favor:AMD64 -# /favor:INTEL64 (new value) -# /favor:EN64T (old value) - -OPT_LDFLAGS += /MACHINE:X64 -# /MACHINE:X64 -# /MACHINE:IA64 (Itanium) -# /MACHINE:X86 +ARCH_DEP_CPPFLAGS += -favor:blend +# -favor:blend both AMD64 and INTEL64 +# -favor:AMD64 +# -favor:INTEL64 (new value) +# -favor:EN64T (old value) +OPT_LDFLAGS += -MACHINE:X64 +# -MACHINE:X64 +# -MACHINE:IA64 (Itanium) +# -MACHINE:X86 From a7f0525ac764ab8b62beb8c2c208a807e93b67f7 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 30 Jan 2017 18:04:47 -0600 Subject: [PATCH 174/226] Update Release Checklist --- documentation/ReleaseChecklist.html | 81 +++++++++++++++-------------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/documentation/ReleaseChecklist.html b/documentation/ReleaseChecklist.html index 0a2cdab5f..1cc67794c 100644 --- a/documentation/ReleaseChecklist.html +++ b/documentation/ReleaseChecklist.html @@ -38,25 +38,24 @@ that should be performed when creating production releases of EPICS Base.

      The Release Process

      The version released on the Feature Freeze date is designated the first -pre-release, -pre1. The first Release Candidate -rc1 is the +pre-release, -pre1. The first release candidate -rc1 is the first version that has undergone widespread testing and which has no known problems in it that are slated to be fixed in this release. New versions should be made at about weekly intervals during the testing and debugging period, and -will be designated as either pre-release versions or Release Candidates by the -Release Manager. A Release Candidate that has received widespread testing for a -week without any additional problems being discovered or significant changes -being committed can be designated as the final release version.

      +will be designated as either pre-release or release candidate versions by the +Release Manager. After a release candidate has been available to the whole +community for testing for at least a week without any additional problems being +reported or significant changes being committed, the branch can be designated as +the final release version.

      Roles

      -

      The following roles are required. The individuals named here have have been -responsible for these tasks in the past and are expected to continue in the -relevent roles unless the Release Manager designates otherwise:

      +

      The following roles are used below:

      -
      Release Manager (Ralph Lange)
      +
      Release Manager ()
      Responsible for managing and tagging the release
      -
      Platform Developers
      +
      Platform Developers (optional)
      Responsible for individual operating system platforms
      Application Developers
      Responsible for support modules that depend on EPICS Base.
      @@ -140,12 +139,12 @@ relevent roles unless the Release Manager designates otherwise:

    • R3.16.1-rcn - — release candidate tag, note the rc is now - lower-case
    • + — release candidate tag +
    cd ~/base/mirror-3.16
    - bzr tag R3.16.1-rcn + bzr tag R3.16.1-rc1
    @@ -156,14 +155,16 @@ relevent roles unless the Release Manager designates otherwise:

    generates a gzipped tarfile directly from the repository:
    cd ~/base
    - bzr export --keywords=publish - --root=base-3.16.1-rcn - -r tag:R3.16.1-rcn - base-3.16.1-rcn.tar.gz + bzr export + --root=base-3.16.1-rc1 + -r tag:R3.16.1-rc1 + base-3.16.1-rc1.tar.gz mirror-3.16
    - This requires that the Bazaar keywords plugin is installed and - configured properly. + Create a GPG signature file of the tarfile as follows: +
    + gpg --armor --sign --detach-sig base-3.16.1-rc1.tar.gz +
    @@ -256,7 +257,7 @@ relevent roles unless the Release Manager designates otherwise:

      Release Manager Obtain a positive Ok to release from all platform developers - once a Release Candidate version has gone a whole week without any + once a release candidate version has gone a whole week without any issues being reported. @@ -285,14 +286,16 @@ relevent roles unless the Release Manager designates otherwise:

    generates a gzipped tarfile directly from the repository:
    cd ~/base
    - bzr export --keywords=publish + bzr export --root=base-3.16.1 -r tag:R3.16.1 base-3.16.1.tar.gz mirror-3.16
    - This requires that the Bazaar keywords plugin is installed and - configured properly. + Create a GPG signature file of the tarfile as follows: +
    + gpg --armor --sign --detach-sig base-3.16.1.tar.gz +
    @@ -301,14 +304,25 @@ relevent roles unless the Release Manager designates otherwise:

    Test the tar file by extracting its contents and building it on at least one supported platform + +   + Release Manager + Upload the release tar file to the Launchpad download area. + + +   + Release Manager + Find all Launchpad bug reports with the status Fix Committed which + have been fixed in this release and mark them Fix Released. + Publish and Announce it   Website Manager - If necessary recreate the tarfile following the instructions above. - Copy the tar file to the Base download area of the website + Copy the tar file and its .asc signature file to the Base + download area of the website.   @@ -338,24 +352,13 @@ relevent roles unless the Release Manager designates otherwise:

      Website Manager - Upload the release tar file to the Launchpad download area. - - -   - Website Manager - Find all Launchpad bug reports with the status Fix Committed which - have been fixed in this release and mark them Fix Released. + Add an entry to the website News page, linking to the new version + webpage.   Release Manager - Email tech-talk - - -   - Website Manager - Add an entry to the website News page, linking to the new version - webpage. + Announce the release on the tech-talk mailing list. From 5783823e251bf00479dccdef771057720c32d01f Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 23 Feb 2017 20:08:46 -0500 Subject: [PATCH 175/226] libCom: revise ipAddrToAscii create multiple light-weight engines to track transactions by engine and cancel all transactions when an engine is released. prior to fix for lp:1527636 this was ensured for the last/only owner for the engine singleton. --- src/libCom/misc/ipAddrToAsciiAsynchronous.cpp | 250 ++++++++++++------ src/libCom/misc/ipAddrToAsciiAsynchronous.h | 4 + 2 files changed, 174 insertions(+), 80 deletions(-) diff --git a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp index 6dbdc405e..c6fea15b4 100644 --- a/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp +++ b/src/libCom/misc/ipAddrToAsciiAsynchronous.cpp @@ -18,6 +18,9 @@ #include #include +//#define EPICS_FREELIST_DEBUG +#define EPICS_PRIVATE_API + #define epicsExportSharedSymbols #include "ipAddrToAsciiAsynchronous.h" #include "epicsThread.h" @@ -45,7 +48,6 @@ public: < ipAddrToAsciiTransactionPrivate, 0x80 > & ); epicsPlacementDeleteOperator (( void *, tsFreeList < ipAddrToAsciiTransactionPrivate, 0x80 > & )) -private: osiSockAddr addr; ipAddrToAsciiEnginePrivate & engine; ipAddrToAsciiCallBack * pCB; @@ -54,7 +56,7 @@ private: void release (); void * operator new ( size_t ); void operator delete ( void * ); - friend class ipAddrToAsciiEnginePrivate; +private: ipAddrToAsciiTransactionPrivate & operator = ( const ipAddrToAsciiTransactionPrivate & ); ipAddrToAsciiTransactionPrivate ( const ipAddrToAsciiTransactionPrivate & ); }; @@ -75,41 +77,54 @@ extern "C" { static void ipAddrToAsciiEngineGlobalMutexConstruct ( void * ); } -// - this class executes the synchronous DNS query -// - it creates one thread -class ipAddrToAsciiEnginePrivate : - public ipAddrToAsciiEngine, - public epicsThreadRunable { -public: - ipAddrToAsciiEnginePrivate (); - virtual ~ipAddrToAsciiEnginePrivate (); - void show ( unsigned level ) const; -private: +namespace { +struct ipAddrToAsciiGlobal : public epicsThreadRunable { + ipAddrToAsciiGlobal(); + virtual ~ipAddrToAsciiGlobal() {} + + virtual void run (); + char nameTmp [1024]; - tsFreeList - < ipAddrToAsciiTransactionPrivate, 0x80 > + tsFreeList + < ipAddrToAsciiTransactionPrivate, 0x80 > transactionFreeList; tsDLList < ipAddrToAsciiTransactionPrivate > labor; mutable epicsMutex mutex; epicsEvent laborEvent; epicsEvent destructorBlockEvent; epicsThread thread; + // pCurrent may be changed by any thread (worker or other) ipAddrToAsciiTransactionPrivate * pCurrent; + // pActive may only be changed by the worker + ipAddrToAsciiTransactionPrivate * pActive; unsigned cancelPendingCount; bool exitFlag; bool callbackInProgress; - static ipAddrToAsciiEnginePrivate * pEngine; +}; +} + +// - this class executes the synchronous DNS query +// - it creates one thread +class ipAddrToAsciiEnginePrivate : + public ipAddrToAsciiEngine { +public: + ipAddrToAsciiEnginePrivate() :refcount(1u), released(false) {} + virtual ~ipAddrToAsciiEnginePrivate () {} + void show ( unsigned level ) const; + + unsigned refcount; + bool released; + + static ipAddrToAsciiGlobal * pEngine; ipAddrToAsciiTransaction & createTransaction (); - void release (); - void run (); - ipAddrToAsciiEnginePrivate ( const ipAddrToAsciiEngine & ); + void release (); + +private: + ipAddrToAsciiEnginePrivate ( const ipAddrToAsciiEngine & ); ipAddrToAsciiEnginePrivate & operator = ( const ipAddrToAsciiEngine & ); - friend class ipAddrToAsciiEngine; - friend class ipAddrToAsciiTransactionPrivate; - friend void ipAddrToAsciiEngineGlobalMutexConstruct ( void * ); }; -ipAddrToAsciiEnginePrivate * ipAddrToAsciiEnginePrivate :: pEngine = 0; +ipAddrToAsciiGlobal * ipAddrToAsciiEnginePrivate :: pEngine = 0; static epicsThreadOnceId ipAddrToAsciiEngineGlobalMutexOnceFlag = EPICS_THREAD_ONCE_INIT; // the users are not required to supply a show routine @@ -124,12 +139,24 @@ ipAddrToAsciiEngine::~ipAddrToAsciiEngine () {} static void ipAddrToAsciiEngineGlobalMutexConstruct ( void * ) { try{ - ipAddrToAsciiEnginePrivate::pEngine = new ipAddrToAsciiEnginePrivate (); + ipAddrToAsciiEnginePrivate::pEngine = new ipAddrToAsciiGlobal (); }catch(std::exception& e){ errlogPrintf("ipAddrToAsciiEnginePrivate ctor fails with: %s\n", e.what()); } } +void ipAddrToAsciiEngine::cleanup() +{ + { + epicsGuard G(ipAddrToAsciiEnginePrivate::pEngine->mutex); + ipAddrToAsciiEnginePrivate::pEngine->exitFlag = true; + } + ipAddrToAsciiEnginePrivate::pEngine->laborEvent.signal(); + ipAddrToAsciiEnginePrivate::pEngine->thread.exitWait(); + delete ipAddrToAsciiEnginePrivate::pEngine; + ipAddrToAsciiEnginePrivate::pEngine = 0; +} + // for now its probably sufficent to allocate one // DNS transaction thread for all codes sharing // the same process that need DNS services but we @@ -141,41 +168,78 @@ ipAddrToAsciiEngine & ipAddrToAsciiEngine::allocate () ipAddrToAsciiEngineGlobalMutexConstruct, 0 ); if(!ipAddrToAsciiEnginePrivate::pEngine) throw std::runtime_error("ipAddrToAsciiEngine::allocate fails"); - return * ipAddrToAsciiEnginePrivate::pEngine; + return * new ipAddrToAsciiEnginePrivate(); } -ipAddrToAsciiEnginePrivate::ipAddrToAsciiEnginePrivate () : +ipAddrToAsciiGlobal::ipAddrToAsciiGlobal () : thread ( *this, "ipToAsciiProxy", epicsThreadGetStackSize(epicsThreadStackBig), epicsThreadPriorityLow ), - pCurrent ( 0 ), cancelPendingCount ( 0u ), exitFlag ( false ), + pCurrent ( 0 ), pActive ( 0 ), cancelPendingCount ( 0u ), exitFlag ( false ), callbackInProgress ( false ) { this->thread.start (); // start the thread } -ipAddrToAsciiEnginePrivate::~ipAddrToAsciiEnginePrivate () -{ - { - epicsGuard < epicsMutex > guard ( this->mutex ); - this->exitFlag = true; - } - this->laborEvent.signal (); - this->thread.exitWait (); -} void ipAddrToAsciiEnginePrivate::release () { + bool last; + { + epicsGuard < epicsMutex > guard ( this->pEngine->mutex ); + if(released) + throw std::logic_error("Engine release() called again!"); + + // released==true prevents new transactions + released = true; + + { + // cancel any pending transactions + tsDLIter < ipAddrToAsciiTransactionPrivate > it(pEngine->labor.firstIter()); + while(it.valid()) { + ipAddrToAsciiTransactionPrivate *trn = it.pointer(); + ++it; + + if(this==&trn->engine) { + trn->pending = false; + pEngine->labor.remove(*trn); + } + } + + // cancel transaction in lookup or callback + if (pEngine->pCurrent && this==&pEngine->pCurrent->engine) { + pEngine->pCurrent->pending = false; + pEngine->pCurrent = 0; + } + + // wait for completion of in-progress callback + pEngine->cancelPendingCount++; + while(pEngine->pActive && this==&pEngine->pActive->engine + && ! pEngine->thread.isCurrentThread()) { + epicsGuardRelease < epicsMutex > unguard ( guard ); + pEngine->destructorBlockEvent.wait(); + } + pEngine->cancelPendingCount--; + if(pEngine->cancelPendingCount) + pEngine->destructorBlockEvent.signal(); + } + + assert(refcount>0); + last = 0==--refcount; + } + if(last) { + delete this; + } } void ipAddrToAsciiEnginePrivate::show ( unsigned level ) const { - epicsGuard < epicsMutex > guard ( this->mutex ); + epicsGuard < epicsMutex > guard ( this->pEngine->mutex ); printf ( "ipAddrToAsciiEngine at %p with %u requests pending\n", - static_cast (this), this->labor.count () ); + static_cast (this), this->pEngine->labor.count () ); if ( level > 0u ) { - tsDLIterConst < ipAddrToAsciiTransactionPrivate > - pItem = this->labor.firstIter (); + tsDLIter < ipAddrToAsciiTransactionPrivate > + pItem = this->pEngine->labor.firstIter (); while ( pItem.valid () ) { pItem->show ( level - 1u ); pItem++; @@ -183,10 +247,10 @@ void ipAddrToAsciiEnginePrivate::show ( unsigned level ) const } if ( level > 1u ) { printf ( "mutex:\n" ); - this->mutex.show ( level - 2u ); + this->pEngine->mutex.show ( level - 2u ); printf ( "laborEvent:\n" ); - this->laborEvent.show ( level - 2u ); - printf ( "exitFlag boolean = %u\n", this->exitFlag ); + this->pEngine->laborEvent.show ( level - 2u ); + printf ( "exitFlag boolean = %u\n", this->pEngine->exitFlag ); printf ( "exit event:\n" ); } } @@ -226,10 +290,20 @@ void ipAddrToAsciiTransactionPrivate::operator delete ( void * ) ipAddrToAsciiTransaction & ipAddrToAsciiEnginePrivate::createTransaction () { - return * new ( this->transactionFreeList ) ipAddrToAsciiTransactionPrivate ( *this ); + epicsGuard G(this->pEngine->mutex); + if(this->released) + throw std::logic_error("createTransaction() on release()'d ipAddrToAsciiEngine"); + + assert(this->refcount>0); + + ipAddrToAsciiTransactionPrivate *ret = new ( this->pEngine->transactionFreeList ) ipAddrToAsciiTransactionPrivate ( *this ); + + this->refcount++; + + return * ret; } -void ipAddrToAsciiEnginePrivate::run () +void ipAddrToAsciiGlobal::run () { epicsGuard < epicsMutex > guard ( this->mutex ); while ( ! this->exitFlag ) { @@ -267,7 +341,7 @@ void ipAddrToAsciiEnginePrivate::run () // fix for lp:1580623 // a destructing cac sets pCurrent to NULL, so // make local copy to avoid race when releasing the guard - ipAddrToAsciiTransactionPrivate *pCur = this->pCurrent; + ipAddrToAsciiTransactionPrivate *pCur = pActive = pCurrent; this->callbackInProgress = true; { @@ -277,6 +351,7 @@ void ipAddrToAsciiEnginePrivate::run () } this->callbackInProgress = false; + pActive = 0; if ( this->pCurrent ) { this->pCurrent->pending = false; @@ -300,44 +375,53 @@ ipAddrToAsciiTransactionPrivate::ipAddrToAsciiTransactionPrivate void ipAddrToAsciiTransactionPrivate::release () { this->~ipAddrToAsciiTransactionPrivate (); - this->engine.transactionFreeList.release ( this ); + this->engine.pEngine->transactionFreeList.release ( this ); } ipAddrToAsciiTransactionPrivate::~ipAddrToAsciiTransactionPrivate () { - epicsGuard < epicsMutex > guard ( this->engine.mutex ); - while ( this->pending ) { - if ( this->engine.pCurrent == this && - this->engine.callbackInProgress && - ! this->engine.thread.isCurrentThread() ) { - // cancel from another thread while callback in progress - // waits for callback to complete - assert ( this->engine.cancelPendingCount < UINT_MAX ); - this->engine.cancelPendingCount++; - { - epicsGuardRelease < epicsMutex > unguard ( guard ); - this->engine.destructorBlockEvent.wait (); - } - assert ( this->engine.cancelPendingCount > 0u ); - this->engine.cancelPendingCount--; - if ( ! this->pending ) { - if ( this->engine.cancelPendingCount ) { - this->engine.destructorBlockEvent.signal (); + ipAddrToAsciiGlobal *pGlobal = this->engine.pEngine; + bool last; + { + epicsGuard < epicsMutex > guard ( pGlobal->mutex ); + while ( this->pending ) { + if ( pGlobal->pCurrent == this && + pGlobal->callbackInProgress && + ! pGlobal->thread.isCurrentThread() ) { + // cancel from another thread while callback in progress + // waits for callback to complete + assert ( pGlobal->cancelPendingCount < UINT_MAX ); + pGlobal->cancelPendingCount++; + { + epicsGuardRelease < epicsMutex > unguard ( guard ); + pGlobal->destructorBlockEvent.wait (); + } + assert ( pGlobal->cancelPendingCount > 0u ); + pGlobal->cancelPendingCount--; + if ( ! this->pending ) { + if ( pGlobal->cancelPendingCount ) { + pGlobal->destructorBlockEvent.signal (); + } + break; } - break; - } - } - else { - if ( this->engine.pCurrent == this ) { - // cancel from callback, or while lookup in progress - this->engine.pCurrent = 0; } else { - // cancel before lookup starts - this->engine.labor.remove ( *this ); + if ( pGlobal->pCurrent == this ) { + // cancel from callback, or while lookup in progress + pGlobal->pCurrent = 0; + } + else { + // cancel before lookup starts + pGlobal->labor.remove ( *this ); + } + this->pending = false; } - this->pending = false; } + assert(this->engine.refcount>0); + last = 0==--this->engine.refcount; + } + if(last) { + delete &this->engine; } } @@ -345,15 +429,21 @@ void ipAddrToAsciiTransactionPrivate::ipAddrToAscii ( const osiSockAddr & addrIn, ipAddrToAsciiCallBack & cbIn ) { bool success; + ipAddrToAsciiGlobal *pGlobal = this->engine.pEngine; { - epicsGuard < epicsMutex > guard ( this->engine.mutex ); - // put some reasonable limit on queue expansion - if ( !this->pending && engine.labor.count () < 16u ) { + epicsGuard < epicsMutex > guard ( pGlobal->mutex ); + + if (this->engine.released) { + errlogPrintf("Warning: ipAddrToAscii on transaction with release()'d ipAddrToAsciiEngine"); + success = false; + + } else if ( !this->pending && pGlobal->labor.count () < 16u ) { + // put some reasonable limit on queue expansion this->addr = addrIn; this->pCB = & cbIn; this->pending = true; - this->engine.labor.add ( *this ); + pGlobal->labor.add ( *this ); success = true; } else { @@ -362,7 +452,7 @@ void ipAddrToAsciiTransactionPrivate::ipAddrToAscii ( } if ( success ) { - this->engine.laborEvent.signal (); + pGlobal->laborEvent.signal (); } else { char autoNameTmp[256]; @@ -379,7 +469,7 @@ osiSockAddr ipAddrToAsciiTransactionPrivate::address () const void ipAddrToAsciiTransactionPrivate::show ( unsigned level ) const { - epicsGuard < epicsMutex > guard ( this->engine.mutex ); + epicsGuard < epicsMutex > guard ( this->engine.pEngine->mutex ); char ipAddr [64]; sockAddrToDottedIP ( &this->addr.sa, ipAddr, sizeof ( ipAddr ) ); printf ( "ipAddrToAsciiTransactionPrivate for address %s\n", ipAddr ); diff --git a/src/libCom/misc/ipAddrToAsciiAsynchronous.h b/src/libCom/misc/ipAddrToAsciiAsynchronous.h index f2de879b6..5da06860a 100644 --- a/src/libCom/misc/ipAddrToAsciiAsynchronous.h +++ b/src/libCom/misc/ipAddrToAsciiAsynchronous.h @@ -44,6 +44,10 @@ public: static ipAddrToAsciiEngine & allocate (); protected: virtual ~ipAddrToAsciiEngine () = 0; +public: +#ifdef EPICS_PRIVATE_API + static void cleanup(); +#endif }; #endif // ifdef ipAddrToAsciiAsynchronous_h From cc946b760c2bc884435a3c21d269e46890868142 Mon Sep 17 00:00:00 2001 From: Ben Franksen Date: Fri, 24 Feb 2017 21:11:11 +0100 Subject: [PATCH 176/226] partly fix lp:1666924, i.e. for rset only, as described in the ticket This means: * typed method definitions for struct rset * using REC_TYPE macro in place of dbCommon * define REC_TYPE as dbCommon unless defined * in record supports, define REC_TYPE before including epics headers * fix a few method types in record supports (e.g. void* -> REC_TYPE*) * fix the type errors gcc finds in dbAccess.c and dbConvert.c --- src/ioc/db/dbAccess.c | 6 ++- src/ioc/db/dbConvert.c | 8 +-- src/ioc/db/test/arrRecord.c | 2 + src/ioc/db/test/xRecord.c | 2 + src/ioc/dbStatic/recSup.h | 84 ++++++++++++++++---------------- src/std/filters/test/arrRecord.c | 2 + src/std/filters/test/xRecord.c | 2 + src/std/rec/aSubRecord.c | 2 + src/std/rec/aaiRecord.c | 2 + src/std/rec/aaoRecord.c | 2 + src/std/rec/aiRecord.c | 12 ++--- src/std/rec/aoRecord.c | 2 + src/std/rec/biRecord.c | 2 + src/std/rec/boRecord.c | 2 + src/std/rec/calcRecord.c | 2 + src/std/rec/calcoutRecord.c | 2 + src/std/rec/compressRecord.c | 2 + src/std/rec/dfanoutRecord.c | 2 + src/std/rec/eventRecord.c | 2 + src/std/rec/fanoutRecord.c | 2 + src/std/rec/histogramRecord.c | 2 + src/std/rec/longinRecord.c | 2 + src/std/rec/longoutRecord.c | 2 + src/std/rec/lsiRecord.c | 2 + src/std/rec/lsoRecord.c | 2 + src/std/rec/mbbiDirectRecord.c | 2 + src/std/rec/mbbiRecord.c | 2 + src/std/rec/mbboDirectRecord.c | 2 + src/std/rec/mbboRecord.c | 2 + src/std/rec/permissiveRecord.c | 2 + src/std/rec/printfRecord.c | 2 + src/std/rec/selRecord.c | 2 + src/std/rec/seqRecord.c | 2 + src/std/rec/stateRecord.c | 2 + src/std/rec/stringinRecord.c | 2 + src/std/rec/stringoutRecord.c | 2 + src/std/rec/subArrayRecord.c | 2 + src/std/rec/subRecord.c | 2 + src/std/rec/waveformRecord.c | 2 + 39 files changed, 127 insertions(+), 53 deletions(-) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index d624fa5e4..1151f655a 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -365,7 +365,11 @@ static void getOptions(DBADDR *paddr, char **poriginal, long *options, memset(pbuffer, '\0', dbr_precision_size); if((field_type==DBF_FLOAT || field_type==DBF_DOUBLE) && prset && prset->get_precision ){ - (*prset->get_precision)(paddr,pbuffer); + long lprecision; + epicsInt32 iprecision; + (*prset->get_precision)(paddr,&lprecision); + iprecision = lprecision; + memcpy(pbuffer, &iprecision, dbr_precision_size); } else { *options ^= DBR_PRECISION; /*Turn off DBR_PRECISION*/ } diff --git a/src/ioc/db/dbConvert.c b/src/ioc/db/dbConvert.c index 0fad81d5a..812887633 100644 --- a/src/ioc/db/dbConvert.c +++ b/src/ioc/db/dbConvert.c @@ -1636,7 +1636,7 @@ static long getFloatString( char *pbuffer = (char *) pto; float *psrc = (float *) paddr->pfield; long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = 0; if (paddr) prset = dbGetRset(paddr); @@ -1849,7 +1849,7 @@ static long getDoubleString( char *pbuffer = (char *) pto; double *psrc = (double *) paddr->pfield; long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = 0; if (paddr) prset = dbGetRset(paddr); @@ -3939,7 +3939,7 @@ static long putFloatString( const float *pbuffer = (const float *) pfrom; char *pdest = (char *) paddr->pfield; long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = dbGetRset(paddr); short size = paddr->field_size; @@ -4152,7 +4152,7 @@ static long putDoubleString( const double *pbuffer = (const double *) pfrom; char *pdest = (char *) paddr->pfield; long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = dbGetRset(paddr); short size = paddr->field_size; diff --git a/src/ioc/db/test/arrRecord.c b/src/ioc/db/test/arrRecord.c index 7dea7caaf..b0b003cc2 100644 --- a/src/ioc/db/test/arrRecord.c +++ b/src/ioc/db/test/arrRecord.c @@ -21,6 +21,8 @@ #include +#define REC_TYPE arrRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" diff --git a/src/ioc/db/test/xRecord.c b/src/ioc/db/test/xRecord.c index 356af0869..ca5861fd4 100644 --- a/src/ioc/db/test/xRecord.c +++ b/src/ioc/db/test/xRecord.c @@ -13,6 +13,8 @@ * Ralph Lange */ +#define REC_TYPE xRecord + #include "dbAccessDefs.h" #include "recSup.h" #include "recGbl.h" diff --git a/src/ioc/dbStatic/recSup.h b/src/ioc/dbStatic/recSup.h index 7ff0b2e18..e2d644142 100644 --- a/src/ioc/dbStatic/recSup.h +++ b/src/ioc/dbStatic/recSup.h @@ -21,56 +21,56 @@ extern "C" { #endif -typedef long (*RECSUPFUN) (); /* ptr to record support function*/ +typedef struct rset rset; -typedef struct rset { /* record support entry table */ - long number; /*number of support routines */ - RECSUPFUN report; /*print report */ - RECSUPFUN init; /*init support */ - RECSUPFUN init_record; /*init record */ - RECSUPFUN process; /*process record */ - RECSUPFUN special; /*special processing */ - RECSUPFUN get_value; /*no longer used */ - RECSUPFUN cvt_dbaddr; /*cvt dbAddr */ - RECSUPFUN get_array_info; - RECSUPFUN put_array_info; - RECSUPFUN get_units; - RECSUPFUN get_precision; - RECSUPFUN get_enum_str; /*get string from enum item*/ - RECSUPFUN get_enum_strs; /*get all enum strings */ - RECSUPFUN put_enum_str; /*put string from enum item*/ - RECSUPFUN get_graphic_double; - RECSUPFUN get_control_double; - RECSUPFUN get_alarm_double; -}rset; +/* defined elsewhere */ +struct dbAddr; +struct dbr_enumStrs; +struct dbr_grDouble; +struct dbr_ctrlDouble; +struct dbr_alDouble; -#define RSETNUMBER ( (sizeof(struct rset) - sizeof(long))/sizeof(RECSUPFUN) ) +#ifndef REC_TYPE +#define REC_TYPE dbCommon +#endif +struct REC_TYPE; + +/* Definition of structure for rset.get_value */ +typedef struct valueDes { + long field_type; + long no_elements; + void * pvalue; +} valueDes; + +/* record support entry table */ +struct rset { + long number; /* number of support routines */ + long (*report)(void *precord); + long (*init)(); + long (*init_record)(struct REC_TYPE *precord, int pass); + long (*process)(struct REC_TYPE *precord); + long (*special)(struct dbAddr *paddr, int after); + long (*get_value)(struct REC_TYPE *precord, struct valueDes *p); + long (*cvt_dbaddr)(struct dbAddr *paddr); + long (*get_array_info)(struct dbAddr *paddr, long *no_elements, long *offset); + long (*put_array_info)(struct dbAddr *paddr, long nNew); + long (*get_units)(struct dbAddr *paddr, char units[/* 8 */]); + long (*get_precision)(struct dbAddr *paddr, long *precision); + long (*get_enum_str)(struct dbAddr *paddr, char *pbuffer); + long (*get_enum_strs)(struct dbAddr *paddr, struct dbr_enumStrs *p); + long (*put_enum_str)(struct dbAddr *paddr, char *pbuffer); + long (*get_graphic_double)(struct dbAddr *paddr, struct dbr_grDouble *p); + long (*get_control_double)(struct dbAddr *paddr, struct dbr_ctrlDouble *p); + long (*get_alarm_double)(struct dbAddr *paddr, struct dbr_alDouble *p); +}; + +#define RSETNUMBER 17 #define S_rec_noRSET (M_recSup| 1) /*Missing record support entry table*/ #define S_rec_noSizeOffset (M_recSup| 2) /*Missing SizeOffset Routine*/ #define S_rec_outMem (M_recSup| 3) /*Out of Memory*/ - -/************************************************************************ - * report(FILE fp,void *precord); - * init(); - * init_record(precord,pass); - * process(void *precord); - * special(struct dbAddr *paddr, after); - * cvt_dbaddr(struct dbAddr *paddr); - * get_array_info(paddr,long *no_elements,long *offset); - * put_array_info(paddr,nNew); - * get_units(paddr,char units[8]); - * get_precision(struct dbAddr *paddr,long *precision); - * get_enum_str(paddr,pbuffer); - * get_enum_strs(paddr,struct dbr_enumStrs *p); - * put_enum_str(paddr,pbuffer); - * get_graphic_double(paddr,struct dbr_grDouble *p); - * get_control_double(paddr,struct dbr_ctrlDouble *p); - * get_alarm_double(paddr,struct dbr_ctrlDouble *p); - ***********************************************************************/ - #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/src/std/filters/test/arrRecord.c b/src/std/filters/test/arrRecord.c index 7dea7caaf..b0b003cc2 100644 --- a/src/std/filters/test/arrRecord.c +++ b/src/std/filters/test/arrRecord.c @@ -21,6 +21,8 @@ #include +#define REC_TYPE arrRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" diff --git a/src/std/filters/test/xRecord.c b/src/std/filters/test/xRecord.c index 568fbb838..ff9492a82 100644 --- a/src/std/filters/test/xRecord.c +++ b/src/std/filters/test/xRecord.c @@ -13,6 +13,8 @@ * Ralph Lange */ +#define REC_TYPE xRecord + #include "dbAccessDefs.h" #include diff --git a/src/std/rec/aSubRecord.c b/src/std/rec/aSubRecord.c index c014dd093..dee78628a 100644 --- a/src/std/rec/aSubRecord.c +++ b/src/std/rec/aSubRecord.c @@ -18,6 +18,8 @@ #include #include +#define REC_TYPE aSubRecord + #include "alarm.h" #include "cantProceed.h" #include "dbDefs.h" diff --git a/src/std/rec/aaiRecord.c b/src/std/rec/aaiRecord.c index 5b370fe4c..25e478dd8 100644 --- a/src/std/rec/aaiRecord.c +++ b/src/std/rec/aaiRecord.c @@ -27,6 +27,8 @@ #include #include +#define REC_TYPE aaiRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "epicsString.h" diff --git a/src/std/rec/aaoRecord.c b/src/std/rec/aaoRecord.c index 565fd2886..3d4e5445f 100644 --- a/src/std/rec/aaoRecord.c +++ b/src/std/rec/aaoRecord.c @@ -27,6 +27,8 @@ #include #include +#define REC_TYPE aaoRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "epicsString.h" diff --git a/src/std/rec/aiRecord.c b/src/std/rec/aiRecord.c index aab5529c7..8b8d8cbb6 100644 --- a/src/std/rec/aiRecord.c +++ b/src/std/rec/aiRecord.c @@ -20,6 +20,8 @@ #include #include +#define REC_TYPE aiRecord + #include "dbDefs.h" #include "errlog.h" #include "epicsMath.h" @@ -47,8 +49,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(void *, int); -static long process(void *); +static long init_record(aiRecord *, int); +static long process(aiRecord *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -102,9 +104,8 @@ static void convert(aiRecord *prec); static void monitor(aiRecord *prec); static long readValue(aiRecord *prec); -static long init_record(void *precord,int pass) +static long init_record(aiRecord *prec, int pass) { - aiRecord *prec = (aiRecord *)precord; aidset *pdset; double eoff = prec->eoff, eslo = prec->eslo; @@ -150,9 +151,8 @@ static long init_record(void *precord,int pass) return(0); } -static long process(void *precord) +static long process(aiRecord *prec) { - aiRecord *prec = (aiRecord *)precord; aidset *pdset = (aidset *)(prec->dset); long status; unsigned char pact=prec->pact; diff --git a/src/std/rec/aoRecord.c b/src/std/rec/aoRecord.c index 06dc1588c..545debd41 100644 --- a/src/std/rec/aoRecord.c +++ b/src/std/rec/aoRecord.c @@ -20,6 +20,8 @@ #include #include +#define REC_TYPE aoRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" diff --git a/src/std/rec/biRecord.c b/src/std/rec/biRecord.c index b6af69a8b..4ac3b18f0 100644 --- a/src/std/rec/biRecord.c +++ b/src/std/rec/biRecord.c @@ -20,6 +20,8 @@ #include #include +#define REC_TYPE biRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/boRecord.c b/src/std/rec/boRecord.c index 88184555e..66e233938 100644 --- a/src/std/rec/boRecord.c +++ b/src/std/rec/boRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE boRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/calcRecord.c b/src/std/rec/calcRecord.c index 39cf2ab56..4e54ce844 100644 --- a/src/std/rec/calcRecord.c +++ b/src/std/rec/calcRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE calcRecord + #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/calcoutRecord.c b/src/std/rec/calcoutRecord.c index c62b3f446..240dc312c 100644 --- a/src/std/rec/calcoutRecord.c +++ b/src/std/rec/calcoutRecord.c @@ -21,6 +21,8 @@ #include #include +#define REC_TYPE calcoutRecord + #include "alarm.h" #include "dbDefs.h" #include "dbAccess.h" diff --git a/src/std/rec/compressRecord.c b/src/std/rec/compressRecord.c index 1df9ee577..f7f0b0c70 100644 --- a/src/std/rec/compressRecord.c +++ b/src/std/rec/compressRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE compressRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/dfanoutRecord.c b/src/std/rec/dfanoutRecord.c index 93c272cbd..a60047776 100644 --- a/src/std/rec/dfanoutRecord.c +++ b/src/std/rec/dfanoutRecord.c @@ -23,6 +23,8 @@ #include #include +#define REC_TYPE dfanoutRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" diff --git a/src/std/rec/eventRecord.c b/src/std/rec/eventRecord.c index a135a3a37..5b092cbd0 100644 --- a/src/std/rec/eventRecord.c +++ b/src/std/rec/eventRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE eventRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/fanoutRecord.c b/src/std/rec/fanoutRecord.c index d54c5c953..7486b0d08 100644 --- a/src/std/rec/fanoutRecord.c +++ b/src/std/rec/fanoutRecord.c @@ -18,6 +18,8 @@ #include #include +#define REC_TYPE fanoutRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/histogramRecord.c b/src/std/rec/histogramRecord.c index f24bba625..3519ec091 100644 --- a/src/std/rec/histogramRecord.c +++ b/src/std/rec/histogramRecord.c @@ -21,6 +21,8 @@ #include #include +#define REC_TYPE histogramRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/longinRecord.c b/src/std/rec/longinRecord.c index f9a9232e3..d89f5e87d 100644 --- a/src/std/rec/longinRecord.c +++ b/src/std/rec/longinRecord.c @@ -20,6 +20,8 @@ #include #include +#define REC_TYPE longinRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/longoutRecord.c b/src/std/rec/longoutRecord.c index b168bf1be..b3dac8b1c 100644 --- a/src/std/rec/longoutRecord.c +++ b/src/std/rec/longoutRecord.c @@ -17,6 +17,8 @@ #include #include +#define REC_TYPE longoutRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/lsiRecord.c b/src/std/rec/lsiRecord.c index ee9e8e2f0..7b30a9db6 100644 --- a/src/std/rec/lsiRecord.c +++ b/src/std/rec/lsiRecord.c @@ -15,6 +15,8 @@ #include #include +#define REC_TYPE lsiRecord + #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/lsoRecord.c b/src/std/rec/lsoRecord.c index 52a6f1aa4..17354235b 100644 --- a/src/std/rec/lsoRecord.c +++ b/src/std/rec/lsoRecord.c @@ -16,6 +16,8 @@ #include #include +#define REC_TYPE lsoRecord + #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/mbbiDirectRecord.c b/src/std/rec/mbbiDirectRecord.c index 5e4d5df8d..0972b8d46 100644 --- a/src/std/rec/mbbiDirectRecord.c +++ b/src/std/rec/mbbiDirectRecord.c @@ -21,6 +21,8 @@ #include #include +#define REC_TYPE mbbiDirectRecord + #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/mbbiRecord.c b/src/std/rec/mbbiRecord.c index c7e008c26..a0714911a 100644 --- a/src/std/rec/mbbiRecord.c +++ b/src/std/rec/mbbiRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE mbbiRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/mbboDirectRecord.c b/src/std/rec/mbboDirectRecord.c index b98597149..05817033c 100644 --- a/src/std/rec/mbboDirectRecord.c +++ b/src/std/rec/mbboDirectRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE mbboDirectRecord + #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/mbboRecord.c b/src/std/rec/mbboRecord.c index 0ba0cbf67..586bd5ab0 100644 --- a/src/std/rec/mbboRecord.c +++ b/src/std/rec/mbboRecord.c @@ -20,6 +20,8 @@ #include #include +#define REC_TYPE mbboRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/permissiveRecord.c b/src/std/rec/permissiveRecord.c index 8242a1992..e0d1aa406 100644 --- a/src/std/rec/permissiveRecord.c +++ b/src/std/rec/permissiveRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE permissiveRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" diff --git a/src/std/rec/printfRecord.c b/src/std/rec/printfRecord.c index 977349ae8..5a5fd7a12 100644 --- a/src/std/rec/printfRecord.c +++ b/src/std/rec/printfRecord.c @@ -14,6 +14,8 @@ #include #include +#define REC_TYPE printfRecord + #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/selRecord.c b/src/std/rec/selRecord.c index 20dcf4a83..240d9928a 100644 --- a/src/std/rec/selRecord.c +++ b/src/std/rec/selRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE selRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" diff --git a/src/std/rec/seqRecord.c b/src/std/rec/seqRecord.c index 13d1cba1f..fb67b2dbf 100644 --- a/src/std/rec/seqRecord.c +++ b/src/std/rec/seqRecord.c @@ -15,6 +15,8 @@ #include #include +#define REC_TYPE seqRecord + #include "alarm.h" #include "callback.h" #include "dbAccess.h" diff --git a/src/std/rec/stateRecord.c b/src/std/rec/stateRecord.c index a052b0728..833422e77 100644 --- a/src/std/rec/stateRecord.c +++ b/src/std/rec/stateRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE stateRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" diff --git a/src/std/rec/stringinRecord.c b/src/std/rec/stringinRecord.c index 19f55866a..cb60caf26 100644 --- a/src/std/rec/stringinRecord.c +++ b/src/std/rec/stringinRecord.c @@ -20,6 +20,8 @@ #include #include +#define REC_TYPE stringinRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/stringoutRecord.c b/src/std/rec/stringoutRecord.c index ea9012911..534ba4c9a 100644 --- a/src/std/rec/stringoutRecord.c +++ b/src/std/rec/stringoutRecord.c @@ -20,6 +20,8 @@ #include #include +#define REC_TYPE stringoutRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/subArrayRecord.c b/src/std/rec/subArrayRecord.c index 197750b81..2182be9ee 100644 --- a/src/std/rec/subArrayRecord.c +++ b/src/std/rec/subArrayRecord.c @@ -23,6 +23,8 @@ #include #include +#define REC_TYPE subArrayRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/subRecord.c b/src/std/rec/subRecord.c index 50a5049b9..e343af0d6 100644 --- a/src/std/rec/subRecord.c +++ b/src/std/rec/subRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE subRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" diff --git a/src/std/rec/waveformRecord.c b/src/std/rec/waveformRecord.c index ab00a39fd..c08460037 100644 --- a/src/std/rec/waveformRecord.c +++ b/src/std/rec/waveformRecord.c @@ -19,6 +19,8 @@ #include #include +#define REC_TYPE waveformRecord + #include "dbDefs.h" #include "epicsPrint.h" #include "epicsString.h" From aaafb1a5de33d7d73ef352f6cd49f9478f75fb29 Mon Sep 17 00:00:00 2001 From: Ben Franksen Date: Sat, 25 Feb 2017 16:42:29 -0500 Subject: [PATCH 177/226] db: call rset::get_precision with wrong type --- src/db/dbConvert.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/db/dbConvert.c b/src/db/dbConvert.c index deb1b1319..8b52edc05 100644 --- a/src/db/dbConvert.c +++ b/src/db/dbConvert.c @@ -1628,7 +1628,7 @@ static long getFloatString( char *pbuffer = (char *)pto; float *psrc=(float *)(paddr->pfield); long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = 0; if(paddr) prset = dbGetRset(paddr); @@ -1838,7 +1838,7 @@ static long getDoubleString( char *pbuffer = (char *)pto; double *psrc=(double *)(paddr->pfield); long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = 0; if(paddr) prset = dbGetRset(paddr); @@ -3940,7 +3940,7 @@ static long putFloatString( const float *pbuffer = (const float *)pfrom; char *pdest=(char *)(paddr->pfield); long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = dbGetRset(paddr); short size=paddr->field_size; @@ -4150,7 +4150,7 @@ static long putDoubleString( const double *pbuffer = (const double *)pfrom; char *pdest=(char *)(paddr->pfield); long status = 0; - int precision = 6; + long precision = 6; struct rset *prset = dbGetRset(paddr); short size=paddr->field_size; From 048b75304d73446eb581c87e294cd1f3c4eff528 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sat, 25 Feb 2017 19:08:46 -0500 Subject: [PATCH 178/226] libCom/test: add ipAddrToAsciiTest --- src/libCom/test/Makefile | 3 + src/libCom/test/ipAddrToAsciiTest.cpp | 161 ++++++++++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 src/libCom/test/ipAddrToAsciiTest.cpp diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index 5f486938f..b79eb11e8 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -151,6 +151,9 @@ epicsMessageQueueTest_SRCS += epicsMessageQueueTest.cpp testHarness_SRCS += epicsMessageQueueTest.cpp TESTS += epicsMessageQueueTest +TESTPROD_HOST += ipAddrToAsciiTest +ipAddrToAsciiTest_SRCS += ipAddrToAsciiTest.cpp +TESTS += ipAddrToAsciiTest # The testHarness runs all the test programs in a known working order. testHarness_SRCS += epicsRunLibComTests.c diff --git a/src/libCom/test/ipAddrToAsciiTest.cpp b/src/libCom/test/ipAddrToAsciiTest.cpp new file mode 100644 index 000000000..c17c1a7cd --- /dev/null +++ b/src/libCom/test/ipAddrToAsciiTest.cpp @@ -0,0 +1,161 @@ +/*************************************************************************\ +* Copyright (c) 2017 Michael Davidsaver +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ + +#include +#include + +#define EPICS_PRIVATE_API + +#include "epicsMutex.h" +#include "epicsGuard.h" +#include "epicsThread.h" +#include "epicsEvent.h" +#include "ipAddrToAsciiAsynchronous.h" + +#include "epicsUnitTest.h" +#include "testMain.h" + +namespace { + +typedef epicsGuard Guard; +typedef epicsGuardRelease UnGuard; + +struct CB : public ipAddrToAsciiCallBack +{ + const char *name; + epicsMutex mutex; + epicsEvent starter, blocker, complete; + bool started, cont, done; + CB(const char *name) : name(name), started(false), cont(false), done(false) {} + virtual ~CB() {} + virtual void transactionComplete ( const char * pHostName ) + { + Guard G(mutex); + started = true; + starter.signal(); + testDiag("In transactionComplete(%s) for %s", pHostName, name); + while(!cont) { + UnGuard U(G); + if(!blocker.wait(2.0)) + break; + } + done = true; + complete.signal(); + } + void waitStart() + { + Guard G(mutex); + while(!started) { + UnGuard U(G); + if(!starter.wait(2.0)) + break; + } + } + void poke() + { + testDiag("Poke"); + Guard G(mutex); + cont = true; + blocker.signal(); + } + void finish() + { + testDiag("Finish"); + Guard G(mutex); + while(!done) { + UnGuard U(G); + if(!complete.wait(2.0)) + break; + } + testDiag("Finished"); + } +}; + +// ensure that lookup of 127.0.0.1 works +void doLookup(ipAddrToAsciiEngine& engine) +{ + testDiag("In doLookup"); + + ipAddrToAsciiTransaction& trn(engine.createTransaction()); + CB cb("cb"); + osiSockAddr addr; + addr.ia.sin_family = AF_INET; + addr.ia.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + addr.ia.sin_port = htons(42); + + testDiag("Start lookup"); + trn.ipAddrToAscii(addr, cb); + cb.poke(); + cb.finish(); + testOk1(cb.cont); + testOk1(cb.done); + + trn.release(); +} + +// Test cancel of pending transaction +void doCancel() +{ + testDiag("In doCancel"); + + ipAddrToAsciiEngine& engine1(ipAddrToAsciiEngine::allocate()); + ipAddrToAsciiEngine& engine2(ipAddrToAsciiEngine::allocate()); + + ipAddrToAsciiTransaction& trn1(engine1.createTransaction()), + & trn2(engine2.createTransaction()); + testOk1(&trn1!=&trn2); + CB cb1("cb1"), cb2("cb2"); + + osiSockAddr addr; + addr.ia.sin_family = AF_INET; + addr.ia.sin_addr.s_addr = htonl(INADDR_LOOPBACK); + addr.ia.sin_port = htons(42); + + // ensure that the worker thread is blocked with a transaction from engine1 + testDiag("Start lookup1"); + trn1.ipAddrToAscii(addr, cb1); + testDiag("Wait start1"); + cb1.waitStart(); + + testDiag("Start lookup2"); + trn2.ipAddrToAscii(addr, cb2); + + testDiag("release engine2, implicitly cancels lookup2"); + engine2.release(); + + cb2.poke(); + testDiag("Wait for lookup2 timeout"); + cb2.finish(); + testOk1(!cb2.done); + + testDiag("Complete lookup1"); + cb1.poke(); + cb1.finish(); + testOk1(cb1.done); + + engine1.release(); + + trn1.release(); + trn2.release(); +} + +} // namespace + +MAIN(ipAddrToAsciiTest) +{ + testPlan(5); + { + ipAddrToAsciiEngine& engine(ipAddrToAsciiEngine::allocate()); + doLookup(engine); + engine.release(); + } + doCancel(); + // TODO: somehow test cancel of in-progress callback + // allow time for any un-canceled transcations to crash us... + epicsThreadSleep(1.0); + ipAddrToAsciiEngine::cleanup(); + return testDone(); +} From 1c3ffa1c7650e8aab8ec79a4050e29547229ffbc Mon Sep 17 00:00:00 2001 From: Ben Franksen Date: Sun, 26 Feb 2017 13:54:58 +0100 Subject: [PATCH 179/226] fixed the wrong fix for getOptions in dbAccess.h --- src/ioc/db/dbAccess.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index 1151f655a..613dc18ed 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -365,11 +365,8 @@ static void getOptions(DBADDR *paddr, char **poriginal, long *options, memset(pbuffer, '\0', dbr_precision_size); if((field_type==DBF_FLOAT || field_type==DBF_DOUBLE) && prset && prset->get_precision ){ - long lprecision; - epicsInt32 iprecision; - (*prset->get_precision)(paddr,&lprecision); - iprecision = lprecision; - memcpy(pbuffer, &iprecision, dbr_precision_size); + struct dbr_precision *pprecision = (struct dbr_precision *)pbuffer; + (*prset->get_precision)(paddr,&pprecision->precision.dp); } else { *options ^= DBR_PRECISION; /*Turn off DBR_PRECISION*/ } From d744b06a289c362a3e158332a820e9ba31c010ab Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 27 Feb 2017 11:07:17 -0500 Subject: [PATCH 180/226] libca: findOrCreateVirtCircuit() can return w/ piiu==NULL --- src/ca/cac.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ca/cac.cpp b/src/ca/cac.cpp index 60f737ad7..3c19e09b9 100644 --- a/src/ca/cac.cpp +++ b/src/ca/cac.cpp @@ -635,11 +635,13 @@ void cac::transferChanToVirtCircuit ( // must occur before moving to new iiu pChan->getPIIU(guard)->uninstallChanDueToSuccessfulSearchResponse ( guard, *pChan, currentTime ); - piiu->installChannel ( - guard, *pChan, sid, typeCode, count ); + if ( piiu ) { + piiu->installChannel ( + guard, *pChan, sid, typeCode, count ); - if ( newIIU ) { - piiu->start ( guard ); + if ( newIIU ) { + piiu->start ( guard ); + } } } From 2a0cd00958c57877e8b68dc5639e3b4e22560bca Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 27 Feb 2017 14:48:30 -0500 Subject: [PATCH 181/226] libca: lock when removing from msgMultiPVList --- src/ca/cac.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ca/cac.cpp b/src/ca/cac.cpp index 3c19e09b9..c7488d76f 100644 --- a/src/ca/cac.cpp +++ b/src/ca/cac.cpp @@ -1306,9 +1306,11 @@ void cac::pvMultiplyDefinedNotify ( msgForMultiplyDefinedPV & mfmdpv, callbackManager mgr ( this->notify, this->cbMutex ); epicsGuard < epicsMutex > guard ( this->mutex ); this->exception ( mgr.cbGuard, guard, ECA_DBLCHNL, buf, __FILE__, __LINE__ ); + + // remove from the list under lock + this->msgMultiPVList.remove ( mfmdpv ); } - // remove from the list and delete msg object - this->msgMultiPVList.remove ( mfmdpv ); + // delete msg object mfmdpv.~msgForMultiplyDefinedPV (); this->mdpvFreeList.release ( & mfmdpv ); } From ff91ede46225b59cfbbde653ea648a44b3c42f16 Mon Sep 17 00:00:00 2001 From: Ben Franksen Date: Fri, 3 Mar 2017 16:41:03 +0100 Subject: [PATCH 182/226] revert use of struct dbr_precision in call to get_precision in dbAccess.c --- src/ioc/db/dbAccess.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index 613dc18ed..b4b25331f 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -365,8 +365,7 @@ static void getOptions(DBADDR *paddr, char **poriginal, long *options, memset(pbuffer, '\0', dbr_precision_size); if((field_type==DBF_FLOAT || field_type==DBF_DOUBLE) && prset && prset->get_precision ){ - struct dbr_precision *pprecision = (struct dbr_precision *)pbuffer; - (*prset->get_precision)(paddr,&pprecision->precision.dp); + (*prset->get_precision)(paddr,(long *)pbuffer); } else { *options ^= DBR_PRECISION; /*Turn off DBR_PRECISION*/ } From 825c075df7f258f85497e49caafcb820ced40e2c Mon Sep 17 00:00:00 2001 From: Ben Franksen Date: Fri, 3 Mar 2017 16:43:50 +0100 Subject: [PATCH 183/226] fixes in recSup and record types according to merge review * removed struct valueDes * made get_value take void (no arguments), added deprecation note * removed misleading array size comment for get_units Also added const to method parameters exactly where called in base with const arguments. --- src/ioc/dbStatic/recSup.h | 19 ++++++------------- src/std/rec/aSubRecord.c | 4 ++-- src/std/rec/aaiRecord.c | 4 ++-- src/std/rec/aaoRecord.c | 4 ++-- src/std/rec/aiRecord.c | 4 ++-- src/std/rec/aoRecord.c | 4 ++-- src/std/rec/biRecord.c | 12 ++++++------ src/std/rec/boRecord.c | 16 ++++++++-------- src/std/rec/calcRecord.c | 4 ++-- src/std/rec/calcoutRecord.c | 4 ++-- src/std/rec/compressRecord.c | 4 ++-- src/std/rec/dfanoutRecord.c | 4 ++-- src/std/rec/histogramRecord.c | 4 ++-- src/std/rec/mbbiRecord.c | 12 ++++++------ src/std/rec/mbboRecord.c | 12 ++++++------ src/std/rec/selRecord.c | 4 ++-- src/std/rec/seqRecord.c | 4 ++-- src/std/rec/subArrayRecord.c | 4 ++-- src/std/rec/subRecord.c | 4 ++-- src/std/rec/waveformRecord.c | 4 ++-- 20 files changed, 62 insertions(+), 69 deletions(-) diff --git a/src/ioc/dbStatic/recSup.h b/src/ioc/dbStatic/recSup.h index e2d644142..21d724e36 100644 --- a/src/ioc/dbStatic/recSup.h +++ b/src/ioc/dbStatic/recSup.h @@ -36,13 +36,6 @@ struct dbr_alDouble; struct REC_TYPE; -/* Definition of structure for rset.get_value */ -typedef struct valueDes { - long field_type; - long no_elements; - void * pvalue; -} valueDes; - /* record support entry table */ struct rset { long number; /* number of support routines */ @@ -51,15 +44,15 @@ struct rset { long (*init_record)(struct REC_TYPE *precord, int pass); long (*process)(struct REC_TYPE *precord); long (*special)(struct dbAddr *paddr, int after); - long (*get_value)(struct REC_TYPE *precord, struct valueDes *p); + long (*get_value)(void); /* DEPRECATED set to NULL */ long (*cvt_dbaddr)(struct dbAddr *paddr); long (*get_array_info)(struct dbAddr *paddr, long *no_elements, long *offset); long (*put_array_info)(struct dbAddr *paddr, long nNew); - long (*get_units)(struct dbAddr *paddr, char units[/* 8 */]); - long (*get_precision)(struct dbAddr *paddr, long *precision); - long (*get_enum_str)(struct dbAddr *paddr, char *pbuffer); - long (*get_enum_strs)(struct dbAddr *paddr, struct dbr_enumStrs *p); - long (*put_enum_str)(struct dbAddr *paddr, char *pbuffer); + long (*get_units)(struct dbAddr *paddr, char *units); + long (*get_precision)(const struct dbAddr *paddr, long *precision); + long (*get_enum_str)(const struct dbAddr *paddr, char *pbuffer); + long (*get_enum_strs)(const struct dbAddr *paddr, struct dbr_enumStrs *p); + long (*put_enum_str)(const struct dbAddr *paddr, const char *pbuffer); long (*get_graphic_double)(struct dbAddr *paddr, struct dbr_grDouble *p); long (*get_control_double)(struct dbAddr *paddr, struct dbr_ctrlDouble *p); long (*get_alarm_double)(struct dbAddr *paddr, struct dbr_alDouble *p); diff --git a/src/std/rec/aSubRecord.c b/src/std/rec/aSubRecord.c index dee78628a..4211ea486 100644 --- a/src/std/rec/aSubRecord.c +++ b/src/std/rec/aSubRecord.c @@ -54,7 +54,7 @@ static long cvt_dbaddr(DBADDR *); static long get_array_info(DBADDR *, long *, long *); static long put_array_info(DBADDR *, long ); static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -356,7 +356,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *pprecision) +static long get_precision(const DBADDR *paddr, long *pprecision) { aSubRecord *prec = (aSubRecord *)paddr->precord; int fieldIndex = dbGetFieldIndex(paddr); diff --git a/src/std/rec/aaiRecord.c b/src/std/rec/aaiRecord.c index 25e478dd8..df1ada7de 100644 --- a/src/std/rec/aaiRecord.c +++ b/src/std/rec/aaiRecord.c @@ -60,7 +60,7 @@ static long cvt_dbaddr(DBADDR *); static long get_array_info(DBADDR *, long *, long *); static long put_array_info(DBADDR *, long); static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -230,7 +230,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { aaiRecord *prec = (aaiRecord *)paddr->precord; diff --git a/src/std/rec/aaoRecord.c b/src/std/rec/aaoRecord.c index 3d4e5445f..c9d0e05b1 100644 --- a/src/std/rec/aaoRecord.c +++ b/src/std/rec/aaoRecord.c @@ -60,7 +60,7 @@ static long cvt_dbaddr(DBADDR *); static long get_array_info(DBADDR *, long *, long *); static long put_array_info(DBADDR *, long); static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -230,7 +230,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { aaoRecord *prec = (aaoRecord *)paddr->precord; diff --git a/src/std/rec/aiRecord.c b/src/std/rec/aiRecord.c index 8b8d8cbb6..8ec5e0089 100644 --- a/src/std/rec/aiRecord.c +++ b/src/std/rec/aiRecord.c @@ -57,7 +57,7 @@ static long special(DBADDR *, int); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -237,7 +237,7 @@ static long get_units(DBADDR *paddr, char *units) return(0); } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { aiRecord *prec=(aiRecord *)paddr->precord; diff --git a/src/std/rec/aoRecord.c b/src/std/rec/aoRecord.c index 545debd41..4dcb4aa23 100644 --- a/src/std/rec/aoRecord.c +++ b/src/std/rec/aoRecord.c @@ -56,7 +56,7 @@ static long special(DBADDR *, int); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -296,7 +296,7 @@ static long get_units(DBADDR * paddr,char *units) return(0); } -static long get_precision(DBADDR *paddr,long *precision) +static long get_precision(const DBADDR *paddr,long *precision) { aoRecord *prec=(aoRecord *)paddr->precord; diff --git a/src/std/rec/biRecord.c b/src/std/rec/biRecord.c index 4ac3b18f0..3331885ed 100644 --- a/src/std/rec/biRecord.c +++ b/src/std/rec/biRecord.c @@ -52,9 +52,9 @@ static long process(biRecord *); #define put_array_info NULL #define get_units NULL #define get_precision NULL -static long get_enum_str(DBADDR *, char *); -static long get_enum_strs(DBADDR *, struct dbr_enumStrs *); -static long put_enum_str(DBADDR *, char *); +static long get_enum_str(const DBADDR *, char *); +static long get_enum_strs(const DBADDR *, struct dbr_enumStrs *); +static long put_enum_str(const DBADDR *, const char *); #define get_graphic_double NULL #define get_control_double NULL #define get_alarm_double NULL @@ -153,7 +153,7 @@ static long process(biRecord *prec) return(status); } -static long get_enum_str(DBADDR *paddr, char *pstring) +static long get_enum_str(const DBADDR *paddr, char *pstring) { biRecord *prec=(biRecord *)paddr->precord; int index; @@ -175,7 +175,7 @@ static long get_enum_str(DBADDR *paddr, char *pstring) return(0); } -static long get_enum_strs(DBADDR *paddr,struct dbr_enumStrs *pes) +static long get_enum_strs(const DBADDR *paddr,struct dbr_enumStrs *pes) { biRecord *prec=(biRecord *)paddr->precord; @@ -188,7 +188,7 @@ static long get_enum_strs(DBADDR *paddr,struct dbr_enumStrs *pes) return(0); } -static long put_enum_str(DBADDR *paddr, char *pstring) +static long put_enum_str(const DBADDR *paddr, const char *pstring) { biRecord *prec=(biRecord *)paddr->precord; diff --git a/src/std/rec/boRecord.c b/src/std/rec/boRecord.c index 66e233938..329ee77ff 100644 --- a/src/std/rec/boRecord.c +++ b/src/std/rec/boRecord.c @@ -53,10 +53,10 @@ static long process(boRecord *); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); -static long get_enum_str(DBADDR *, char *); -static long get_enum_strs(DBADDR *, struct dbr_enumStrs *); -static long put_enum_str(DBADDR *, char *); +static long get_precision(const DBADDR *, long *); +static long get_enum_str(const DBADDR *, char *); +static long get_enum_strs(const DBADDR *, struct dbr_enumStrs *); +static long put_enum_str(const DBADDR *, const char *); #define get_graphic_double NULL static long get_control_double(DBADDR *, struct dbr_ctrlDouble *); #define get_alarm_double NULL @@ -283,7 +283,7 @@ static long get_units(DBADDR *paddr, char *units) return(0); } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { if(dbGetFieldIndex(paddr) == indexof(HIGH)) *precision = boHIGHprecision; @@ -302,7 +302,7 @@ static long get_control_double(DBADDR *paddr,struct dbr_ctrlDouble *pcd) return(0); } -static long get_enum_str(DBADDR *paddr, char *pstring) +static long get_enum_str(const DBADDR *paddr, char *pstring) { boRecord *prec=(boRecord *)paddr->precord; int index; @@ -324,7 +324,7 @@ static long get_enum_str(DBADDR *paddr, char *pstring) return(0); } -static long get_enum_strs(DBADDR *paddr,struct dbr_enumStrs *pes) +static long get_enum_strs(const DBADDR *paddr,struct dbr_enumStrs *pes) { boRecord *prec=(boRecord *)paddr->precord; @@ -337,7 +337,7 @@ static long get_enum_strs(DBADDR *paddr,struct dbr_enumStrs *pes) if(*prec->onam!=0) pes->no_str=2; return(0); } -static long put_enum_str(DBADDR *paddr, char *pstring) +static long put_enum_str(const DBADDR *paddr, const char *pstring) { boRecord *prec=(boRecord *)paddr->precord; diff --git a/src/std/rec/calcRecord.c b/src/std/rec/calcRecord.c index 4e54ce844..f24c6f95a 100644 --- a/src/std/rec/calcRecord.c +++ b/src/std/rec/calcRecord.c @@ -53,7 +53,7 @@ static long special(DBADDR *paddr, int after); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *paddr, char *units); -static long get_precision(DBADDR *paddr, long *precision); +static long get_precision(const DBADDR *paddr, long *precision); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -182,7 +182,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *pprecision) +static long get_precision(const DBADDR *paddr, long *pprecision) { calcRecord *prec = (calcRecord *)paddr->precord; int fieldIndex = dbGetFieldIndex(paddr); diff --git a/src/std/rec/calcoutRecord.c b/src/std/rec/calcoutRecord.c index 240dc312c..f9a8e0e89 100644 --- a/src/std/rec/calcoutRecord.c +++ b/src/std/rec/calcoutRecord.c @@ -56,7 +56,7 @@ static long special(DBADDR *, int); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -410,7 +410,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *pprecision) +static long get_precision(const DBADDR *paddr, long *pprecision) { calcoutRecord *prec = (calcoutRecord *)paddr->precord; int fieldIndex = dbGetFieldIndex(paddr); diff --git a/src/std/rec/compressRecord.c b/src/std/rec/compressRecord.c index f7f0b0c70..5dc836258 100644 --- a/src/std/rec/compressRecord.c +++ b/src/std/rec/compressRecord.c @@ -51,7 +51,7 @@ static long cvt_dbaddr(DBADDR *); static long get_array_info(DBADDR *, long *, long *); static long put_array_info(DBADDR *, long); static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -459,7 +459,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { compressRecord *prec = (compressRecord *) paddr->precord; diff --git a/src/std/rec/dfanoutRecord.c b/src/std/rec/dfanoutRecord.c index a60047776..f24b8491d 100644 --- a/src/std/rec/dfanoutRecord.c +++ b/src/std/rec/dfanoutRecord.c @@ -55,7 +55,7 @@ static long process(dfanoutRecord *); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -139,7 +139,7 @@ static long get_units(DBADDR *paddr,char *units) return(0); } -static long get_precision(DBADDR *paddr,long *precision) +static long get_precision(const DBADDR *paddr,long *precision) { dfanoutRecord *prec=(dfanoutRecord *)paddr->precord; diff --git a/src/std/rec/histogramRecord.c b/src/std/rec/histogramRecord.c index 3519ec091..f3ad331bc 100644 --- a/src/std/rec/histogramRecord.c +++ b/src/std/rec/histogramRecord.c @@ -56,7 +56,7 @@ static long cvt_dbaddr(DBADDR *); static long get_array_info(DBADDR *, long *, long *); #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *paddr,long *precision); +static long get_precision(const DBADDR *paddr,long *precision); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -417,7 +417,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr,long *precision) +static long get_precision(const DBADDR *paddr,long *precision) { histogramRecord *prec = (histogramRecord *) paddr->precord; diff --git a/src/std/rec/mbbiRecord.c b/src/std/rec/mbbiRecord.c index a0714911a..40dd8019a 100644 --- a/src/std/rec/mbbiRecord.c +++ b/src/std/rec/mbbiRecord.c @@ -55,9 +55,9 @@ static long special(DBADDR *, int); #define put_array_info NULL #define get_units NULL #define get_precision NULL -static long get_enum_str(DBADDR *, char *); -static long get_enum_strs(DBADDR *, struct dbr_enumStrs *); -static long put_enum_str(DBADDR *, char *); +static long get_enum_str(const DBADDR *, char *); +static long get_enum_strs(const DBADDR *, struct dbr_enumStrs *); +static long put_enum_str(const DBADDR *, const char *); #define get_graphic_double NULL #define get_control_double NULL #define get_alarm_double NULL @@ -238,7 +238,7 @@ static long special(DBADDR *paddr, int after) } } -static long get_enum_str(DBADDR *paddr, char *pstring) +static long get_enum_str(const DBADDR *paddr, char *pstring) { mbbiRecord *prec = (mbbiRecord *) paddr->precord; int index; @@ -260,7 +260,7 @@ static long get_enum_str(DBADDR *paddr, char *pstring) return 0; } -static long get_enum_strs(DBADDR *paddr, struct dbr_enumStrs *pes) +static long get_enum_strs(const DBADDR *paddr, struct dbr_enumStrs *pes) { mbbiRecord *prec = (mbbiRecord *) paddr->precord; char *pstate = prec->zrst; @@ -276,7 +276,7 @@ static long get_enum_strs(DBADDR *paddr, struct dbr_enumStrs *pes) return 0; } -static long put_enum_str(DBADDR *paddr, char *pstring) +static long put_enum_str(const DBADDR *paddr, const char *pstring) { mbbiRecord *prec = (mbbiRecord *) paddr->precord; char *pstate; diff --git a/src/std/rec/mbboRecord.c b/src/std/rec/mbboRecord.c index 586bd5ab0..3b9669e8a 100644 --- a/src/std/rec/mbboRecord.c +++ b/src/std/rec/mbboRecord.c @@ -54,9 +54,9 @@ static long cvt_dbaddr(DBADDR *); #define put_array_info NULL #define get_units NULL #define get_precision NULL -static long get_enum_str(DBADDR *, char *); -static long get_enum_strs(DBADDR *, struct dbr_enumStrs *); -static long put_enum_str(DBADDR *, char *); +static long get_enum_str(const DBADDR *, char *); +static long get_enum_strs(const DBADDR *, struct dbr_enumStrs *); +static long put_enum_str(const DBADDR *, const char *); #define get_graphic_double NULL #define get_control_double NULL #define get_alarm_double NULL @@ -306,7 +306,7 @@ static long cvt_dbaddr(DBADDR *paddr) return 0; } -static long get_enum_str(DBADDR *paddr, char *pstring) +static long get_enum_str(const DBADDR *paddr, char *pstring) { mbboRecord *prec = (mbboRecord *) paddr->precord; epicsEnum16 *pfield = paddr->pfield; @@ -326,7 +326,7 @@ static long get_enum_str(DBADDR *paddr, char *pstring) return 0; } -static long get_enum_strs(DBADDR *paddr, struct dbr_enumStrs *pes) +static long get_enum_strs(const DBADDR *paddr, struct dbr_enumStrs *pes) { mbboRecord *prec = (mbboRecord *) paddr->precord; const char *pstate; @@ -345,7 +345,7 @@ static long get_enum_strs(DBADDR *paddr, struct dbr_enumStrs *pes) return 0; } -static long put_enum_str(DBADDR *paddr,char *pstring) +static long put_enum_str(const DBADDR *paddr, const char *pstring) { mbboRecord *prec = (mbboRecord *) paddr->precord; const char *pstate; diff --git a/src/std/rec/selRecord.c b/src/std/rec/selRecord.c index 240d9928a..da4208360 100644 --- a/src/std/rec/selRecord.c +++ b/src/std/rec/selRecord.c @@ -48,7 +48,7 @@ static long process(selRecord *); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -145,7 +145,7 @@ static long get_units(DBADDR *paddr, char *units) return(0); } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { selRecord *prec=(selRecord *)paddr->precord; double *pvalue,*plvalue; diff --git a/src/std/rec/seqRecord.c b/src/std/rec/seqRecord.c index fb67b2dbf..7c42eb7aa 100644 --- a/src/std/rec/seqRecord.c +++ b/src/std/rec/seqRecord.c @@ -46,7 +46,7 @@ static long process(seqRecord *prec); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(dbAddr *paddr, long *); +static long get_precision(const DBADDR *paddr, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -299,7 +299,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(dbAddr *paddr, long *pprecision) +static long get_precision(const DBADDR *paddr, long *pprecision) { seqRecord *prec = (seqRecord *) paddr->precord; int fieldOffset = dbGetFieldIndex(paddr) - indexof(DLY1); diff --git a/src/std/rec/subArrayRecord.c b/src/std/rec/subArrayRecord.c index 2182be9ee..b31789980 100644 --- a/src/std/rec/subArrayRecord.c +++ b/src/std/rec/subArrayRecord.c @@ -54,7 +54,7 @@ static long cvt_dbaddr(DBADDR *paddr); static long get_array_info(DBADDR *paddr, long *no_elements, long *offset); static long put_array_info(DBADDR *paddr, long nNew); static long get_units(DBADDR *paddr, char *units); -static long get_precision(DBADDR *paddr, long *precision); +static long get_precision(const DBADDR *paddr, long *precision); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -218,7 +218,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { subArrayRecord *prec = (subArrayRecord *) paddr->precord; diff --git a/src/std/rec/subRecord.c b/src/std/rec/subRecord.c index e343af0d6..5a089aedb 100644 --- a/src/std/rec/subRecord.c +++ b/src/std/rec/subRecord.c @@ -52,7 +52,7 @@ static long special(DBADDR *, int); #define get_array_info NULL #define put_array_info NULL static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -216,7 +216,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *pprecision) +static long get_precision(const DBADDR *paddr, long *pprecision) { subRecord *prec = (subRecord *)paddr->precord; int fieldIndex = dbGetFieldIndex(paddr); diff --git a/src/std/rec/waveformRecord.c b/src/std/rec/waveformRecord.c index c08460037..2b05274e6 100644 --- a/src/std/rec/waveformRecord.c +++ b/src/std/rec/waveformRecord.c @@ -52,7 +52,7 @@ static long cvt_dbaddr(DBADDR *); static long get_array_info(DBADDR *, long *, long *); static long put_array_info(DBADDR *, long); static long get_units(DBADDR *, char *); -static long get_precision(DBADDR *, long *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL @@ -212,7 +212,7 @@ static long get_units(DBADDR *paddr, char *units) return 0; } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { waveformRecord *prec = (waveformRecord *) paddr->precord; From f71fe62bc3a18d73b55bbe2b8ad79f879e2c4d2b Mon Sep 17 00:00:00 2001 From: Ben Franksen Date: Fri, 3 Mar 2017 17:40:24 +0100 Subject: [PATCH 184/226] added release notes entry --- documentation/RELEASE_NOTES.html | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 372f32d7d..ef0b35d07 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -28,6 +28,50 @@ interpreter can be selectively disabled from echoing comments coming from a script by starting those lines with '#-' rather than just '#'.

    +

    Typed record support methods

    + +

    The table of record support functions (rset methods for short) no longer +has entries of type RECSUPFUN (which says: any number and type of +arguments). The RECSUPFUN typedef has been removed and casts to +RECSUPFUN can no longer be used when initializing struct +rset. Record supports can define the macro REC_TYPE to the +name of their record type (including the Record suffix) before +including any headers from base, like this:

    + +
    +#define REC_TYPE xxxRecord
    +
    + +

    This will plug in xxxRecord for the first parameter of +init_record and process. Record types that use +void* here should be changed to use xxxRecord*. If +REC_TYPE is not defined, it will default to dbCommon, +which is suitable for code in base that calls rset methods but not for +record support, unless the methods cast the argument themselves.

    + +

    When compiled against this release, compiler warnings about incompatible +types for the method pointers should be taken seriously. When compiled +against older versions of base, such warnings are unavoidable.

    + +

    Record types written in C++ need to take more drastic measures because of +the stricter type checking in C++. To remain compatible with older versions +of base you need something like:

    + +
    +#include "epicsVersion.h"
    +#define VERSION_INT_3_16 VERSION_INT(3,16,0,2)
    +#if EPICS_VERSION_INT < VERSION_INT_3_16
    +#define RECSUPFUN_CAST (RECSUPFUN)
    +#else
    +#define RECSUPFUN_CAST
    +#endif 
    +
    + +

    in addition to the definition of REC_TYPE, and then replace +(RECSUPFUN) with RECSUPFUN_CAST when initializing the +rset. Further changes might be needed, e.g. to adapt const-ness of +method parameters.

    +

    Changes made between 3.15.3 and 3.16.0.1

    From 214e9534cc64d4bd47b6e1c57a8f16034bf11bbc Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 3 Mar 2017 18:18:57 -0600 Subject: [PATCH 185/226] Allow 'make -q' to work with CHECK_RELEASE=NO --- configure/RULES_BUILD | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index eca015ca7..141757acf 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -4,7 +4,7 @@ # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE is distributed subject to a Software License Agreement found -# in the file LICENSE that is included with this distribution. +# in the file LICENSE that is included with this distribution. #************************************************************************* # # Rules for making things specified in Makefile @@ -104,7 +104,7 @@ TAPFILES += $(TESTSCRIPTS:.t=.tap) endif #--------------------------------------------------------------- -# Libraries +# Libraries # LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) \ @@ -117,16 +117,16 @@ $(INSTALL_LIBS): $(INSTALL_SHRLIBS) $(INSTALL_DLL_LINK_LIBS) $(INSTALL_LOADABL # Main targets -install: buildInstall +install: buildInstall -buildInstall : build +buildInstall: build # Allows rebuild to work with parallel builds option, -j. install: $(patsubst rebuild,clean,$(filter rebuild,$(MAKECMDGOALS))) rebuild: clean install -build : inc +build: inc build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODNAME) \ $(TARGETS) $(TESTSCRIPTS) $(INSTALL_LIB_INSTALLS) @@ -176,7 +176,7 @@ warnRelease: -$(CONVERTRELEASE) checkRelease noCheckRelease: ifeq ($(EPICS_HOST_ARCH),$(T_A)) - @echo "Warning: RELEASE file consistency checks have been disabled" + $(info Warning: RELEASE file consistency checks have been disabled) endif #--------------------------------------------------------------- @@ -289,7 +289,7 @@ endif $(LIBNAME): $(LIBRARY_OBJS) -$(DLL_LINK_LIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS) +$(DLL_LINK_LIBNAME): $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS) $(LIBNAME) $(DLL_LINK_LIBNAME): $(LIB_PREFIX)%$(LIB_SUFFIX): @$(RM) $@ From f71102982f142b82c675d31a3b6a88669d121aaf Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 6 Mar 2017 18:46:46 -0600 Subject: [PATCH 186/226] Fix "make -q" problems with shared library stubs --- configure/RULES_BUILD | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 370fd36c1..abc14cae2 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -279,13 +279,17 @@ endif # RANLIB $(SHRLIBNAME) $(DLLSTUB_LIBNAME) $(TESTSHRLIBNAME) $(TESTDLLSTUB_LIBNAME): \ $(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS) -$(DLLSTUB_LIBNAME): $(SHRLIBNAME); +# Stub library timestamps may be earlier than the DLL itself. +# This order-only prerequisite resolves any related problems. +# The $(LINK.shrlib) command must build both library files if +# the target requires a separate stub library file. +$(DLLSTUB_LIBNAME): | $(SHRLIBNAME); $(SHRLIBNAME): $(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX): @$(RM) $@ $(LINK.shrlib) $(MT_DLL_COMMAND) -$(TESTDLLSTUB_LIBNAME): $(TESTSHRLIBNAME); +$(TESTDLLSTUB_LIBNAME): | $(TESTSHRLIBNAME); $(TESTSHRLIBNAME): $(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX): @$(RM) $@ $(LINK.shrlib) From 40c9e4799bde7c2244251f0e7c678eed60409756 Mon Sep 17 00:00:00 2001 From: Ben Franksen Date: Tue, 21 Mar 2017 17:01:13 +0100 Subject: [PATCH 187/226] use new typed rset only if UNTYPED_RSET is not defined, adapted release notes Also moved the old definition(s) to a separate header file named oldRecSup.h to avoid cluttering the new header file. --- documentation/RELEASE_NOTES.html | 21 ++++++++++++++++++--- src/ioc/dbStatic/Makefile | 1 + src/ioc/dbStatic/oldRecSup.h | 30 ++++++++++++++++++++++++++++++ src/ioc/dbStatic/recSup.h | 6 ++++++ 4 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 src/ioc/dbStatic/oldRecSup.h diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index ef0b35d07..57d401e9d 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -32,9 +32,24 @@ a script by starting those lines with '#-' rather than just '#'.

    The table of record support functions (rset methods for short) no longer has entries of type RECSUPFUN (which says: any number and type of -arguments). The RECSUPFUN typedef has been removed and casts to -RECSUPFUN can no longer be used when initializing struct -rset. Record supports can define the macro REC_TYPE to the +arguments). Instead, rset methods are now typed by default. The +RECSUPFUN typedef has been removed and casts to RECSUPFUN +can no longer be used when initializing struct rset.

    + +

    Existing code (e.g. external record supports) might not compile cleanly +against the new rset definition without changes. Instead of adapting their +code as described further below, users can instead get the old untyped +definitions back by placing

    + +
    +#define UNTYPED_RSET
    +
    + +

    before including headers from base.

    + +

    The following assumes that UNTYPED_RSET has not been defined.

    + +

    Record supports can define the macro REC_TYPE to the name of their record type (including the Record suffix) before including any headers from base, like this:

    diff --git a/src/ioc/dbStatic/Makefile b/src/ioc/dbStatic/Makefile index c962501d9..2836785ba 100644 --- a/src/ioc/dbStatic/Makefile +++ b/src/ioc/dbStatic/Makefile @@ -21,6 +21,7 @@ INC += guigroup.h INC += devSup.h INC += drvSup.h INC += recSup.h +INC += oldRecSup.h INC += dbStaticIocRegister.h dbCore_SRCS += dbStaticLib.c diff --git a/src/ioc/dbStatic/oldRecSup.h b/src/ioc/dbStatic/oldRecSup.h new file mode 100644 index 000000000..35971a670 --- /dev/null +++ b/src/ioc/dbStatic/oldRecSup.h @@ -0,0 +1,30 @@ +/* + * DO NOT INCLUDE THIS FILE + * + * Instead #define UNTYPED_RSET, then #include "recSup.h" + */ + +typedef long (*RECSUPFUN) (); /* ptr to record support function*/ + +typedef struct rset { /* record support entry table */ + long number; /*number of support routines */ + RECSUPFUN report; /*print report */ + RECSUPFUN init; /*init support */ + RECSUPFUN init_record; /*init record */ + RECSUPFUN process; /*process record */ + RECSUPFUN special; /*special processing */ + RECSUPFUN get_value; /*no longer used */ + RECSUPFUN cvt_dbaddr; /*cvt dbAddr */ + RECSUPFUN get_array_info; + RECSUPFUN put_array_info; + RECSUPFUN get_units; + RECSUPFUN get_precision; + RECSUPFUN get_enum_str; /*get string from enum item*/ + RECSUPFUN get_enum_strs; /*get all enum strings */ + RECSUPFUN put_enum_str; /*put string from enum item*/ + RECSUPFUN get_graphic_double; + RECSUPFUN get_control_double; + RECSUPFUN get_alarm_double; +}rset; + +#define RSETNUMBER ( (sizeof(struct rset) - sizeof(long))/sizeof(RECSUPFUN) ) diff --git a/src/ioc/dbStatic/recSup.h b/src/ioc/dbStatic/recSup.h index 21d724e36..6bc6adf90 100644 --- a/src/ioc/dbStatic/recSup.h +++ b/src/ioc/dbStatic/recSup.h @@ -23,6 +23,10 @@ extern "C" { typedef struct rset rset; +#ifdef UNTYPED_RSET +#include "oldRecSup.h" +#else + /* defined elsewhere */ struct dbAddr; struct dbr_enumStrs; @@ -60,6 +64,8 @@ struct rset { #define RSETNUMBER 17 +#endif /* UNTYPED_RSET */ + #define S_rec_noRSET (M_recSup| 1) /*Missing record support entry table*/ #define S_rec_noSizeOffset (M_recSup| 2) /*Missing SizeOffset Routine*/ #define S_rec_outMem (M_recSup| 3) /*Out of Memory*/ From ef2da59c2450a9b8a7124599685bfab4df4156b1 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 24 Mar 2017 17:07:22 +0100 Subject: [PATCH 188/226] Remove REC_TYPE and UNTYPED_RSET/oldRecSup.h; add casts to record types --- src/ioc/db/test/arrRecord.c | 13 +++++++------ src/ioc/db/test/xRecord.c | 9 +++++---- src/ioc/dbStatic/Makefile | 1 - src/ioc/dbStatic/oldRecSup.h | 30 ------------------------------ src/ioc/dbStatic/recSup.h | 17 +++-------------- src/std/filters/test/arrRecord.c | 12 ++++++++---- src/std/rec/aSubRecord.c | 12 ++++++------ src/std/rec/aaiRecord.c | 14 +++++++------- src/std/rec/aaoRecord.c | 14 +++++++------- src/std/rec/aiRecord.c | 12 +++++++----- src/std/rec/aoRecord.c | 16 ++++++++-------- src/std/rec/biRecord.c | 14 +++++++------- src/std/rec/boRecord.c | 14 +++++++------- src/std/rec/calcRecord.c | 10 ++++++---- src/std/rec/calcoutRecord.c | 12 ++++++------ src/std/rec/compressRecord.c | 10 ++++++---- src/std/rec/dfanoutRecord.c | 12 ++++++------ src/std/rec/eventRecord.c | 14 +++++++------- src/std/rec/fanoutRecord.c | 13 ++++++------- src/std/rec/histogramRecord.c | 14 +++++++------- src/std/rec/longinRecord.c | 14 +++++++------- src/std/rec/longoutRecord.c | 13 +++++++------ src/std/rec/lsiRecord.c | 8 ++++---- src/std/rec/lsoRecord.c | 6 ++++-- src/std/rec/mbbiDirectRecord.c | 12 ++++++------ src/std/rec/mbbiRecord.c | 16 ++++++++-------- src/std/rec/mbboDirectRecord.c | 12 ++++++------ src/std/rec/mbboRecord.c | 12 +++++++----- src/std/rec/permissiveRecord.c | 7 +++---- src/std/rec/printfRecord.c | 8 ++++---- src/std/rec/selRecord.c | 12 ++++++------ src/std/rec/seqRecord.c | 14 +++++++------- src/std/rec/stateRecord.c | 7 +++---- src/std/rec/stringinRecord.c | 14 +++++++------- src/std/rec/stringoutRecord.c | 14 +++++++------- src/std/rec/subArrayRecord.c | 13 ++++++------- src/std/rec/subRecord.c | 14 +++++++------- src/std/rec/waveformRecord.c | 12 ++++++------ 38 files changed, 221 insertions(+), 250 deletions(-) delete mode 100644 src/ioc/dbStatic/oldRecSup.h diff --git a/src/ioc/db/test/arrRecord.c b/src/ioc/db/test/arrRecord.c index b0b003cc2..16b1b32e2 100644 --- a/src/ioc/db/test/arrRecord.c +++ b/src/ioc/db/test/arrRecord.c @@ -21,8 +21,6 @@ #include -#define REC_TYPE arrRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" @@ -39,8 +37,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(arrRecord *, int); -static long process(arrRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -77,8 +75,10 @@ rset arrRSET = { }; epicsExportAddress(rset, arrRSET); -static long init_record(arrRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct arrRecord *prec = (struct arrRecord *)pcommon; + if (pass == 0) { if (prec->nelm <= 0) prec->nelm = 1; @@ -97,8 +97,9 @@ static long init_record(arrRecord *prec, int pass) return 0; } -static long process(arrRecord *prec) +static long process(struct dbCommon *pcommon) { + struct arrRecord *prec = (struct arrRecord *)pcommon; if(prec->clbk) (*prec->clbk)(prec); prec->pact = TRUE; diff --git a/src/ioc/db/test/xRecord.c b/src/ioc/db/test/xRecord.c index ca5861fd4..5188bf187 100644 --- a/src/ioc/db/test/xRecord.c +++ b/src/ioc/db/test/xRecord.c @@ -13,8 +13,6 @@ * Ralph Lange */ -#define REC_TYPE xRecord - #include "dbAccessDefs.h" #include "recSup.h" #include "recGbl.h" @@ -28,8 +26,9 @@ #include "devx.h" -static long init_record(xRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct xRecord *prec = (struct xRecord *)pcommon; long ret = 0; xdset *xset = (xdset*)prec->dset; if(!pass) return 0; @@ -43,10 +42,12 @@ static long init_record(xRecord *prec, int pass) return ret; } -static long process(xRecord *prec) +static long process(struct dbCommon *pcommon) { + struct xRecord *prec = (struct xRecord *)pcommon; long ret = 0; xdset *xset = (xdset*)prec->dset; + if(prec->clbk) (*prec->clbk)(prec); prec->pact = TRUE; diff --git a/src/ioc/dbStatic/Makefile b/src/ioc/dbStatic/Makefile index 2836785ba..c962501d9 100644 --- a/src/ioc/dbStatic/Makefile +++ b/src/ioc/dbStatic/Makefile @@ -21,7 +21,6 @@ INC += guigroup.h INC += devSup.h INC += drvSup.h INC += recSup.h -INC += oldRecSup.h INC += dbStaticIocRegister.h dbCore_SRCS += dbStaticLib.c diff --git a/src/ioc/dbStatic/oldRecSup.h b/src/ioc/dbStatic/oldRecSup.h deleted file mode 100644 index 35971a670..000000000 --- a/src/ioc/dbStatic/oldRecSup.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * DO NOT INCLUDE THIS FILE - * - * Instead #define UNTYPED_RSET, then #include "recSup.h" - */ - -typedef long (*RECSUPFUN) (); /* ptr to record support function*/ - -typedef struct rset { /* record support entry table */ - long number; /*number of support routines */ - RECSUPFUN report; /*print report */ - RECSUPFUN init; /*init support */ - RECSUPFUN init_record; /*init record */ - RECSUPFUN process; /*process record */ - RECSUPFUN special; /*special processing */ - RECSUPFUN get_value; /*no longer used */ - RECSUPFUN cvt_dbaddr; /*cvt dbAddr */ - RECSUPFUN get_array_info; - RECSUPFUN put_array_info; - RECSUPFUN get_units; - RECSUPFUN get_precision; - RECSUPFUN get_enum_str; /*get string from enum item*/ - RECSUPFUN get_enum_strs; /*get all enum strings */ - RECSUPFUN put_enum_str; /*put string from enum item*/ - RECSUPFUN get_graphic_double; - RECSUPFUN get_control_double; - RECSUPFUN get_alarm_double; -}rset; - -#define RSETNUMBER ( (sizeof(struct rset) - sizeof(long))/sizeof(RECSUPFUN) ) diff --git a/src/ioc/dbStatic/recSup.h b/src/ioc/dbStatic/recSup.h index 6bc6adf90..4ac1d1389 100644 --- a/src/ioc/dbStatic/recSup.h +++ b/src/ioc/dbStatic/recSup.h @@ -23,30 +23,21 @@ extern "C" { typedef struct rset rset; -#ifdef UNTYPED_RSET -#include "oldRecSup.h" -#else - /* defined elsewhere */ struct dbAddr; +struct dbCommon; struct dbr_enumStrs; struct dbr_grDouble; struct dbr_ctrlDouble; struct dbr_alDouble; -#ifndef REC_TYPE -#define REC_TYPE dbCommon -#endif - -struct REC_TYPE; - /* record support entry table */ struct rset { long number; /* number of support routines */ long (*report)(void *precord); long (*init)(); - long (*init_record)(struct REC_TYPE *precord, int pass); - long (*process)(struct REC_TYPE *precord); + long (*init_record)(struct dbCommon *precord, int pass); + long (*process)(struct dbCommon *precord); long (*special)(struct dbAddr *paddr, int after); long (*get_value)(void); /* DEPRECATED set to NULL */ long (*cvt_dbaddr)(struct dbAddr *paddr); @@ -64,8 +55,6 @@ struct rset { #define RSETNUMBER 17 -#endif /* UNTYPED_RSET */ - #define S_rec_noRSET (M_recSup| 1) /*Missing record support entry table*/ #define S_rec_noSizeOffset (M_recSup| 2) /*Missing SizeOffset Routine*/ #define S_rec_outMem (M_recSup| 3) /*Out of Memory*/ diff --git a/src/std/filters/test/arrRecord.c b/src/std/filters/test/arrRecord.c index b0b003cc2..5648009fa 100644 --- a/src/std/filters/test/arrRecord.c +++ b/src/std/filters/test/arrRecord.c @@ -39,8 +39,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(arrRecord *, int); -static long process(arrRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -77,8 +77,10 @@ rset arrRSET = { }; epicsExportAddress(rset, arrRSET); -static long init_record(arrRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct arrRecord *prec = (struct arrRecord *)pcommon; + if (pass == 0) { if (prec->nelm <= 0) prec->nelm = 1; @@ -97,8 +99,10 @@ static long init_record(arrRecord *prec, int pass) return 0; } -static long process(arrRecord *prec) +static long process(struct dbCommon *pcommon) { + struct arrRecord *prec = (struct arrRecord *)pcommon; + if(prec->clbk) (*prec->clbk)(prec); prec->pact = TRUE; diff --git a/src/std/rec/aSubRecord.c b/src/std/rec/aSubRecord.c index 4211ea486..727c369ac 100644 --- a/src/std/rec/aSubRecord.c +++ b/src/std/rec/aSubRecord.c @@ -18,8 +18,6 @@ #include #include -#define REC_TYPE aSubRecord - #include "alarm.h" #include "cantProceed.h" #include "dbDefs.h" @@ -46,8 +44,8 @@ typedef long (*GENFUNCPTR)(struct aSubRecord *); #define report NULL #define initialize NULL -static long init_record(aSubRecord *, int); -static long process(aSubRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -106,8 +104,9 @@ static const char *Ofldnames[] = { }; -static long init_record(aSubRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct aSubRecord *prec = (struct aSubRecord *)pcommon; STATIC_ASSERT(sizeof(prec->onam)==sizeof(prec->snam)); GENFUNCPTR pfunc; long status; @@ -246,8 +245,9 @@ static long initFields(epicsEnum16 *pft, epicsUInt32 *pno, epicsUInt32 *pne, } -static long process(aSubRecord *prec) +static long process(struct dbCommon *pcommon) { + struct aSubRecord *prec = (struct aSubRecord *)pcommon; int pact = prec->pact; long status = 0; diff --git a/src/std/rec/aaiRecord.c b/src/std/rec/aaiRecord.c index df1ada7de..43cb73b10 100644 --- a/src/std/rec/aaiRecord.c +++ b/src/std/rec/aaiRecord.c @@ -27,8 +27,6 @@ #include #include -#define REC_TYPE aaiRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "epicsString.h" @@ -52,8 +50,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(aaiRecord *, int); -static long process(aaiRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -102,10 +100,11 @@ struct aaidset { /* aai dset */ static void monitor(aaiRecord *); static long readValue(aaiRecord *); -static long init_record(aaiRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { - long status; + struct aaiRecord *prec = (struct aaiRecord *)pcommon; struct aaidset *pdset = (struct aaidset *)(prec->dset); + long status; /* must have dset defined */ if (!pdset) { @@ -155,8 +154,9 @@ static long init_record(aaiRecord *prec, int pass) return 0; } -static long process(aaiRecord *prec) +static long process(struct dbCommon *pcommon) { + struct aaiRecord *prec = (struct aaiRecord *)pcommon; struct aaidset *pdset = (struct aaidset *)(prec->dset); long status; unsigned char pact = prec->pact; diff --git a/src/std/rec/aaoRecord.c b/src/std/rec/aaoRecord.c index c9d0e05b1..853b92cfa 100644 --- a/src/std/rec/aaoRecord.c +++ b/src/std/rec/aaoRecord.c @@ -27,8 +27,6 @@ #include #include -#define REC_TYPE aaoRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "epicsString.h" @@ -52,8 +50,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(aaoRecord *, int); -static long process(aaoRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -102,10 +100,11 @@ struct aaodset { /* aao dset */ static void monitor(aaoRecord *); static long writeValue(aaoRecord *); -static long init_record(aaoRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { - long status; + struct aaoRecord *prec = (struct aaoRecord *)pcommon; struct aaodset *pdset = (struct aaodset *)(prec->dset); + long status; /* must have dset defined */ if (!pdset) { @@ -155,8 +154,9 @@ static long init_record(aaoRecord *prec, int pass) return 0; } -static long process(aaoRecord *prec) +static long process(struct dbCommon *pcommon) { + struct aaoRecord *prec = (struct aaoRecord *)pcommon; struct aaodset *pdset = (struct aaodset *)(prec->dset); long status; unsigned char pact = prec->pact; diff --git a/src/std/rec/aiRecord.c b/src/std/rec/aiRecord.c index 8ec5e0089..692c7f67f 100644 --- a/src/std/rec/aiRecord.c +++ b/src/std/rec/aiRecord.c @@ -49,8 +49,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(aiRecord *, int); -static long process(aiRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -104,8 +104,9 @@ static void convert(aiRecord *prec); static void monitor(aiRecord *prec); static long readValue(aiRecord *prec); -static long init_record(aiRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct aiRecord *prec = (struct aiRecord *)pcommon; aidset *pdset; double eoff = prec->eoff, eslo = prec->eslo; @@ -151,9 +152,10 @@ static long init_record(aiRecord *prec, int pass) return(0); } -static long process(aiRecord *prec) +static long process(struct dbCommon *pcommon) { - aidset *pdset = (aidset *)(prec->dset); + struct aiRecord *prec = (struct aiRecord *)pcommon; + aidset *pdset = (aidset *)(prec->dset); long status; unsigned char pact=prec->pact; epicsTimeStamp timeLast; diff --git a/src/std/rec/aoRecord.c b/src/std/rec/aoRecord.c index 4dcb4aa23..3851de97f 100644 --- a/src/std/rec/aoRecord.c +++ b/src/std/rec/aoRecord.c @@ -20,8 +20,6 @@ #include #include -#define REC_TYPE aoRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" @@ -48,8 +46,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(aoRecord *prec, int pass); -static long process(aoRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -103,9 +101,10 @@ static void convert(aoRecord *, double); static void monitor(aoRecord *); static long writeValue(aoRecord *); -static long init_record(aoRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { - struct aodset *pdset; + struct aoRecord *prec = (struct aoRecord *)pcommon; + struct aodset *pdset; double eoff = prec->eoff, eslo = prec->eslo; double value; @@ -176,9 +175,10 @@ static long init_record(aoRecord *prec, int pass) return(0); } -static long process(aoRecord *prec) +static long process(struct dbCommon *pcommon) { - struct aodset *pdset = (struct aodset *)(prec->dset); + struct aoRecord *prec = (struct aoRecord *)pcommon; + struct aodset *pdset = (struct aodset *)(prec->dset); long status=0; unsigned char pact=prec->pact; double value; diff --git a/src/std/rec/biRecord.c b/src/std/rec/biRecord.c index 3331885ed..7afea3d9d 100644 --- a/src/std/rec/biRecord.c +++ b/src/std/rec/biRecord.c @@ -20,8 +20,6 @@ #include #include -#define REC_TYPE biRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -43,8 +41,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(biRecord *, int); -static long process(biRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -91,8 +89,9 @@ static void checkAlarms(biRecord *); static void monitor(biRecord *); static long readValue(biRecord *); -static long init_record(biRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct biRecord *prec = (struct biRecord *)pcommon; struct bidset *pdset; long status; @@ -118,9 +117,10 @@ static long init_record(biRecord *prec, int pass) return(0); } -static long process(biRecord *prec) +static long process(struct dbCommon *pcommon) { - struct bidset *pdset = (struct bidset *)(prec->dset); + struct biRecord *prec = (struct biRecord *)pcommon; + struct bidset *pdset = (struct bidset *)(prec->dset); long status; unsigned char pact=prec->pact; diff --git a/src/std/rec/boRecord.c b/src/std/rec/boRecord.c index 329ee77ff..537362cf3 100644 --- a/src/std/rec/boRecord.c +++ b/src/std/rec/boRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE boRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -45,8 +43,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(boRecord *, int); -static long process(boRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -130,8 +128,9 @@ static void myCallbackFunc(CALLBACK *arg) dbScanUnlock((struct dbCommon *)prec); } -static long init_record(boRecord *prec,int pass) +static long init_record(struct dbCommon *pcommon,int pass) { + struct boRecord *prec = (struct boRecord *)pcommon; struct bodset *pdset; long status=0; myCallback *pcallback; @@ -191,9 +190,10 @@ static long init_record(boRecord *prec,int pass) return(status); } -static long process(boRecord *prec) +static long process(struct dbCommon *pcommon) { - struct bodset *pdset = (struct bodset *)(prec->dset); + struct boRecord *prec = (struct boRecord *)pcommon; + struct bodset *pdset = (struct bodset *)(prec->dset); long status=0; unsigned char pact=prec->pact; diff --git a/src/std/rec/calcRecord.c b/src/std/rec/calcRecord.c index f24c6f95a..4d9d3094e 100644 --- a/src/std/rec/calcRecord.c +++ b/src/std/rec/calcRecord.c @@ -45,8 +45,8 @@ #define report NULL #define initialize NULL -static long init_record(calcRecord *prec, int pass); -static long process(calcRecord *prec); +static long init_record(struct dbCommon *prec, int pass); +static long process(struct dbCommon *prec); static long special(DBADDR *paddr, int after); #define get_value NULL #define cvt_dbaddr NULL @@ -88,8 +88,9 @@ static void monitor(calcRecord *prec); static int fetch_values(calcRecord *prec); -static long init_record(calcRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct calcRecord *prec = (struct calcRecord *)pcommon; struct link *plink; double *pvalue; int i; @@ -113,8 +114,9 @@ static long init_record(calcRecord *prec, int pass) return 0; } -static long process(calcRecord *prec) +static long process(struct dbCommon *pcommon) { + struct calcRecord *prec = (struct calcRecord *)pcommon; epicsTimeStamp timeLast; prec->pact = TRUE; diff --git a/src/std/rec/calcoutRecord.c b/src/std/rec/calcoutRecord.c index f9a8e0e89..da6cf42d7 100644 --- a/src/std/rec/calcoutRecord.c +++ b/src/std/rec/calcoutRecord.c @@ -21,8 +21,6 @@ #include #include -#define REC_TYPE calcoutRecord - #include "alarm.h" #include "dbDefs.h" #include "dbAccess.h" @@ -48,8 +46,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(calcoutRecord *, int); -static long process(calcoutRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -135,8 +133,9 @@ static long writeValue(calcoutRecord *prec); int calcoutRecDebug; -static long init_record(calcoutRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct calcoutRecord *prec = (struct calcoutRecord *)pcommon; DBLINK *plink; int i; double *pvalue; @@ -215,8 +214,9 @@ static long init_record(calcoutRecord *prec, int pass) return 0; } -static long process(calcoutRecord *prec) +static long process(struct dbCommon *pcommon) { + struct calcoutRecord *prec = (struct calcoutRecord *)pcommon; rpvtStruct *prpvt = prec->rpvt; int doOutput; diff --git a/src/std/rec/compressRecord.c b/src/std/rec/compressRecord.c index 5dc836258..53be24384 100644 --- a/src/std/rec/compressRecord.c +++ b/src/std/rec/compressRecord.c @@ -43,8 +43,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(compressRecord *, int); -static long process(compressRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -314,8 +314,9 @@ static int compress_scalar(struct compressRecord *prec,double *psource) } /*Beginning of record support routines*/ -static long init_record(compressRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct compressRecord *prec = (struct compressRecord *)pcommon; if (pass == 0) { if (prec->nsam < 1) prec->nsam = 1; @@ -326,8 +327,9 @@ static long init_record(compressRecord *prec, int pass) return 0; } -static long process(compressRecord *prec) +static long process(struct dbCommon *pcommon) { + struct compressRecord *prec = (struct compressRecord *)pcommon; long status = 0; long nelements = 0; int alg = prec->alg; diff --git a/src/std/rec/dfanoutRecord.c b/src/std/rec/dfanoutRecord.c index f24b8491d..76ee31bf3 100644 --- a/src/std/rec/dfanoutRecord.c +++ b/src/std/rec/dfanoutRecord.c @@ -23,8 +23,6 @@ #include #include -#define REC_TYPE dfanoutRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" @@ -47,8 +45,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(dfanoutRecord *, int); -static long process(dfanoutRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -93,8 +91,9 @@ static void push_values(dfanoutRecord *); #define OUT_ARG_MAX 8 -static long init_record(dfanoutRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct dfanoutRecord *prec = (struct dfanoutRecord *)pcommon; if (pass==0) return(0); recGblInitConstantLink(&prec->sell,DBF_USHORT,&prec->seln); @@ -104,8 +103,9 @@ static long init_record(dfanoutRecord *prec, int pass) return(0); } -static long process(dfanoutRecord *prec) +static long process(struct dbCommon *pcommon) { + struct dfanoutRecord *prec = (struct dfanoutRecord *)pcommon; long status=0; if (!prec->pact diff --git a/src/std/rec/eventRecord.c b/src/std/rec/eventRecord.c index 5b092cbd0..602023a53 100644 --- a/src/std/rec/eventRecord.c +++ b/src/std/rec/eventRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE eventRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -43,8 +41,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(eventRecord *, int); -static long process(eventRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -93,8 +91,9 @@ static void monitor(eventRecord *); static long readValue(eventRecord *); -static long init_record(eventRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct eventRecord *prec = (struct eventRecord *)pcommon; struct eventdset *pdset; long status=0; @@ -115,9 +114,10 @@ static long init_record(eventRecord *prec, int pass) return(status); } -static long process(eventRecord *prec) +static long process(struct dbCommon *pcommon) { - struct eventdset *pdset = (struct eventdset *)(prec->dset); + struct eventRecord *prec = (struct eventRecord *)pcommon; + struct eventdset *pdset = (struct eventdset *)(prec->dset); long status=0; unsigned char pact=prec->pact; diff --git a/src/std/rec/fanoutRecord.c b/src/std/rec/fanoutRecord.c index 7486b0d08..b5c1e72ae 100644 --- a/src/std/rec/fanoutRecord.c +++ b/src/std/rec/fanoutRecord.c @@ -18,8 +18,6 @@ #include #include -#define REC_TYPE fanoutRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -42,8 +40,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(fanoutRecord *, int); -static long process(fanoutRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -80,9 +78,9 @@ rset fanoutRSET = { }; epicsExportAddress(rset,fanoutRSET); -static long init_record(fanoutRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { - + struct fanoutRecord *prec = (struct fanoutRecord *)pcommon; if (pass == 0) return 0; @@ -90,8 +88,9 @@ static long init_record(fanoutRecord *prec, int pass) return 0; } -static long process(fanoutRecord *prec) +static long process(struct dbCommon *pcommon) { + struct fanoutRecord *prec = (struct fanoutRecord *)pcommon; struct link *plink; epicsUInt16 seln, events; int i; diff --git a/src/std/rec/histogramRecord.c b/src/std/rec/histogramRecord.c index f3ad331bc..84010ee24 100644 --- a/src/std/rec/histogramRecord.c +++ b/src/std/rec/histogramRecord.c @@ -21,8 +21,6 @@ #include #include -#define REC_TYPE histogramRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -48,8 +46,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(histogramRecord *, int); -static long process(histogramRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -164,8 +162,9 @@ static long wdogInit(histogramRecord *prec) return 0; } -static long init_record(histogramRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct histogramRecord *prec = (struct histogramRecord *)pcommon; struct histogramdset *pdset; if (pass == 0) { @@ -214,9 +213,10 @@ static long init_record(histogramRecord *prec, int pass) return 0; } -static long process(histogramRecord *prec) +static long process(struct dbCommon *pcommon) { - struct histogramdset *pdset = (struct histogramdset *) prec->dset; + struct histogramRecord *prec = (struct histogramRecord *)pcommon; + struct histogramdset *pdset = (struct histogramdset *) prec->dset; int pact = prec->pact; long status; diff --git a/src/std/rec/longinRecord.c b/src/std/rec/longinRecord.c index d89f5e87d..dc7eb1b43 100644 --- a/src/std/rec/longinRecord.c +++ b/src/std/rec/longinRecord.c @@ -20,8 +20,6 @@ #include #include -#define REC_TYPE longinRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -44,8 +42,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(longinRecord *, int); -static long process(longinRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -96,8 +94,9 @@ static void monitor(longinRecord *prec); static long readValue(longinRecord *prec); -static long init_record(longinRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct longinRecord *prec = (struct longinRecord *)pcommon; struct longindset *pdset; long status; @@ -131,9 +130,10 @@ static long init_record(longinRecord *prec, int pass) return(0); } -static long process(longinRecord *prec) +static long process(struct dbCommon *pcommon) { - struct longindset *pdset = (struct longindset *)(prec->dset); + struct longinRecord *prec = (struct longinRecord *)pcommon; + struct longindset *pdset = (struct longindset *)(prec->dset); long status; unsigned char pact=prec->pact; epicsTimeStamp timeLast; diff --git a/src/std/rec/longoutRecord.c b/src/std/rec/longoutRecord.c index b3dac8b1c..542706fd0 100644 --- a/src/std/rec/longoutRecord.c +++ b/src/std/rec/longoutRecord.c @@ -41,8 +41,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(longoutRecord *, int); -static long process(longoutRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -93,9 +93,9 @@ static void monitor(longoutRecord *prec); static long writeValue(longoutRecord *prec); static void convert(longoutRecord *prec, epicsInt32 value); - -static long init_record(longoutRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct longoutRecord *prec = (struct longoutRecord *)pcommon; struct longoutdset *pdset; long status=0; @@ -125,9 +125,10 @@ static long init_record(longoutRecord *prec, int pass) return(0); } -static long process(longoutRecord *prec) +static long process(struct dbCommon *pcommon) { - struct longoutdset *pdset = (struct longoutdset *)(prec->dset); + struct longoutRecord *prec = (struct longoutRecord *)pcommon; + struct longoutdset *pdset = (struct longoutdset *)(prec->dset); long status=0; epicsInt32 value; unsigned char pact=prec->pact; diff --git a/src/std/rec/lsiRecord.c b/src/std/rec/lsiRecord.c index 7b30a9db6..81b6785ab 100644 --- a/src/std/rec/lsiRecord.c +++ b/src/std/rec/lsiRecord.c @@ -15,8 +15,6 @@ #include #include -#define REC_TYPE lsiRecord - #include "dbDefs.h" #include "errlog.h" #include "alarm.h" @@ -38,8 +36,9 @@ static void monitor(lsiRecord *); static long readValue(lsiRecord *); -static long init_record(lsiRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct lsiRecord *prec = (struct lsiRecord *)pcommon; lsidset *pdset; if (pass == 0) { @@ -87,8 +86,9 @@ static long init_record(lsiRecord *prec, int pass) return 0; } -static long process(lsiRecord *prec) +static long process(struct dbCommon *pcommon) { + struct lsiRecord *prec = (struct lsiRecord *)pcommon; int pact = prec->pact; lsidset *pdset = (lsidset *) prec->dset; long status = 0; diff --git a/src/std/rec/lsoRecord.c b/src/std/rec/lsoRecord.c index 17354235b..8126e9c5c 100644 --- a/src/std/rec/lsoRecord.c +++ b/src/std/rec/lsoRecord.c @@ -42,8 +42,9 @@ static void monitor(lsoRecord *); static long writeValue(lsoRecord *); -static long init_record(lsoRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct lsoRecord *prec = (struct lsoRecord *)pcommon; lsodset *pdset; if (pass == 0) { @@ -93,8 +94,9 @@ static long init_record(lsoRecord *prec, int pass) return 0; } -static long process(lsoRecord *prec) +static long process(struct dbCommon *pcommon) { + struct lsoRecord *prec = (struct lsoRecord *)pcommon; int pact = prec->pact; lsodset *pdset = (lsodset *) prec->dset; long status = 0; diff --git a/src/std/rec/mbbiDirectRecord.c b/src/std/rec/mbbiDirectRecord.c index 0972b8d46..3d1b3f8b6 100644 --- a/src/std/rec/mbbiDirectRecord.c +++ b/src/std/rec/mbbiDirectRecord.c @@ -21,8 +21,6 @@ #include #include -#define REC_TYPE mbbiDirectRecord - #include "dbDefs.h" #include "errlog.h" #include "alarm.h" @@ -44,8 +42,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(mbbiDirectRecord *, int); -static long process(mbbiDirectRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -96,8 +94,9 @@ static long readValue(mbbiDirectRecord *); #define NUM_BITS 16 -static long init_record(mbbiDirectRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct mbbiDirectRecord *prec = (struct mbbiDirectRecord *)pcommon; struct mbbidset *pdset = (struct mbbidset *) prec->dset; long status = 0; @@ -142,8 +141,9 @@ static long init_record(mbbiDirectRecord *prec, int pass) return status; } -static long process(mbbiDirectRecord *prec) +static long process(struct dbCommon *pcommon) { + struct mbbiDirectRecord *prec = (struct mbbiDirectRecord *)pcommon; struct mbbidset *pdset = (struct mbbidset *) prec->dset; long status; int pact = prec->pact; diff --git a/src/std/rec/mbbiRecord.c b/src/std/rec/mbbiRecord.c index 40dd8019a..72000f45f 100644 --- a/src/std/rec/mbbiRecord.c +++ b/src/std/rec/mbbiRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE mbbiRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -46,8 +44,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(mbbiRecord *, int); -static long process(mbbiRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -113,9 +111,10 @@ static void init_common(mbbiRecord *prec) prec->sdef = FALSE; } -static long init_record(mbbiRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { - struct mbbidset *pdset = (struct mbbidset *) prec->dset; + struct mbbiRecord *prec = (struct mbbiRecord *)pcommon; + struct mbbidset *pdset = (struct mbbidset *) prec->dset; long status = 0; if (pass == 0) @@ -153,9 +152,10 @@ static long init_record(mbbiRecord *prec, int pass) return status; } -static long process(mbbiRecord *prec) +static long process(struct dbCommon *pcommon) { - struct mbbidset *pdset = (struct mbbidset *) prec->dset; + struct mbbiRecord *prec = (struct mbbiRecord *)pcommon; + struct mbbidset *pdset = (struct mbbidset *) prec->dset; long status; int pact = prec->pact; epicsTimeStamp timeLast; diff --git a/src/std/rec/mbboDirectRecord.c b/src/std/rec/mbboDirectRecord.c index 05817033c..b807a98ea 100644 --- a/src/std/rec/mbboDirectRecord.c +++ b/src/std/rec/mbboDirectRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE mbboDirectRecord - #include "dbDefs.h" #include "errlog.h" #include "alarm.h" @@ -44,8 +42,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(mbboDirectRecord *, int); -static long process(mbboDirectRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -98,8 +96,9 @@ static long writeValue(mbboDirectRecord *); #define NUM_BITS 16 -static long init_record(mbboDirectRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct mbboDirectRecord *prec = (struct mbboDirectRecord *)pcommon; struct mbbodset *pdset = (struct mbbodset *) prec->dset; long status = 0; @@ -162,8 +161,9 @@ static long init_record(mbboDirectRecord *prec, int pass) return status; } -static long process(mbboDirectRecord *prec) +static long process(struct dbCommon *pcommon) { + struct mbboDirectRecord *prec = (struct mbboDirectRecord *)pcommon; struct mbbodset *pdset = (struct mbbodset *)(prec->dset); long status = 0; int pact = prec->pact; diff --git a/src/std/rec/mbboRecord.c b/src/std/rec/mbboRecord.c index 3b9669e8a..2a45de38c 100644 --- a/src/std/rec/mbboRecord.c +++ b/src/std/rec/mbboRecord.c @@ -45,8 +45,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(mbboRecord *, int); -static long process(mbboRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -115,8 +115,9 @@ static void init_common(mbboRecord *prec) prec->sdef = FALSE; } -static long init_record(mbboRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct mbboRecord *prec = (struct mbboRecord *)pcommon; struct mbbodset *pdset; long status; @@ -193,9 +194,10 @@ static long init_record(mbboRecord *prec, int pass) return status; } -static long process(mbboRecord *prec) +static long process(struct dbCommon *pcommon) { - struct mbbodset *pdset = (struct mbbodset *) prec->dset; + struct mbboRecord *prec = (struct mbboRecord *)pcommon; + struct mbbodset *pdset = (struct mbbodset *) prec->dset; long status = 0; int pact = prec->pact; diff --git a/src/std/rec/permissiveRecord.c b/src/std/rec/permissiveRecord.c index e0d1aa406..e553931bc 100644 --- a/src/std/rec/permissiveRecord.c +++ b/src/std/rec/permissiveRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE permissiveRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" @@ -39,7 +37,7 @@ #define report NULL #define initialize NULL #define init_record NULL -static long process(permissiveRecord *); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -78,8 +76,9 @@ epicsExportAddress(rset,permissiveRSET); static void monitor(permissiveRecord *); -static long process(permissiveRecord *prec) +static long process(struct dbCommon *pcommon) { + struct permissiveRecord *prec = (struct permissiveRecord *)pcommon; prec->pact=TRUE; prec->udf=FALSE; diff --git a/src/std/rec/printfRecord.c b/src/std/rec/printfRecord.c index 5a5fd7a12..79afb1078 100644 --- a/src/std/rec/printfRecord.c +++ b/src/std/rec/printfRecord.c @@ -14,8 +14,6 @@ #include #include -#define REC_TYPE printfRecord - #include "dbDefs.h" #include "errlog.h" #include "alarm.h" @@ -294,8 +292,9 @@ static void doPrintf(printfRecord *prec) } -static long init_record(printfRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct printfRecord *prec = (struct printfRecord *)pcommon; printfdset *pdset; if (pass == 0) { @@ -329,8 +328,9 @@ static long init_record(printfRecord *prec, int pass) return 0; } -static long process(printfRecord *prec) +static long process(struct dbCommon *pcommon) { + struct printfRecord *prec = (struct printfRecord *)pcommon; int pact = prec->pact; printfdset *pdset; long status = 0; diff --git a/src/std/rec/selRecord.c b/src/std/rec/selRecord.c index da4208360..de5e01712 100644 --- a/src/std/rec/selRecord.c +++ b/src/std/rec/selRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE selRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" @@ -40,8 +38,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(selRecord *, int); -static long process(selRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -86,8 +84,9 @@ static int fetch_values(selRecord *); static void monitor(selRecord *); -static long init_record(selRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct selRecord *prec = (struct selRecord *)pcommon; struct link *plink; int i; double *pvalue; @@ -110,8 +109,9 @@ static long init_record(selRecord *prec, int pass) return(0); } -static long process(selRecord *prec) +static long process(struct dbCommon *pcommon) { + struct selRecord *prec = (struct selRecord *)pcommon; prec->pact = TRUE; if ( RTN_SUCCESS(fetch_values(prec)) ) { do_sel(prec); diff --git a/src/std/rec/seqRecord.c b/src/std/rec/seqRecord.c index 7c42eb7aa..08c370767 100644 --- a/src/std/rec/seqRecord.c +++ b/src/std/rec/seqRecord.c @@ -15,8 +15,6 @@ #include #include -#define REC_TYPE seqRecord - #include "alarm.h" #include "callback.h" #include "dbAccess.h" @@ -38,8 +36,8 @@ static void processCallback(CALLBACK *arg); /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(seqRecord *prec, int pass); -static long process(seqRecord *prec); +static long init_record(struct dbCommon *prec, int pass); +static long process(struct dbCommon *prec); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -103,8 +101,9 @@ typedef struct seqRecPvt { } seqRecPvt; -static long init_record(seqRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct seqRecord *prec = (struct seqRecord *)pcommon; int index; linkGrp *grp; seqRecPvt *pseqRecPvt; @@ -132,8 +131,9 @@ static long init_record(seqRecord *prec, int pass) return 0; } -static long process(seqRecord *prec) +static long process(struct dbCommon *pcommon) { + struct seqRecord *prec = (struct seqRecord *)pcommon; seqRecPvt *pcb = (seqRecPvt *) prec->dpvt; linkGrp *pgrp; epicsUInt16 lmask; @@ -208,7 +208,7 @@ static void processNextLink(seqRecord *prec) if (pgrp == NULL) { /* None left, finish up. */ - prec->rset->process(prec); + prec->rset->process((dbCommon *)prec); return; } diff --git a/src/std/rec/stateRecord.c b/src/std/rec/stateRecord.c index 833422e77..ca5df0295 100644 --- a/src/std/rec/stateRecord.c +++ b/src/std/rec/stateRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE stateRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" @@ -40,7 +38,7 @@ #define report NULL #define initialize NULL #define init_record NULL -static long process(stateRecord *); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -79,8 +77,9 @@ epicsExportAddress(rset,stateRSET); static void monitor(stateRecord *); -static long process(stateRecord *prec) +static long process(struct dbCommon *pcommon) { + struct stateRecord *prec = (struct stateRecord *)pcommon; prec->udf = FALSE; prec->pact=TRUE; diff --git a/src/std/rec/stringinRecord.c b/src/std/rec/stringinRecord.c index cb60caf26..28d4aaed0 100644 --- a/src/std/rec/stringinRecord.c +++ b/src/std/rec/stringinRecord.c @@ -20,8 +20,6 @@ #include #include -#define REC_TYPE stringinRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -42,8 +40,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(stringinRecord *, int); -static long process(stringinRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -92,8 +90,9 @@ static void monitor(stringinRecord *); static long readValue(stringinRecord *); -static long init_record(stringinRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct stringinRecord *prec = (struct stringinRecord *)pcommon; STATIC_ASSERT(sizeof(prec->oval)==sizeof(prec->val)); struct stringindset *pdset; long status; @@ -127,9 +126,10 @@ static long init_record(stringinRecord *prec, int pass) /* */ -static long process(stringinRecord *prec) +static long process(struct dbCommon *pcommon) { - struct stringindset *pdset = (struct stringindset *)(prec->dset); + struct stringinRecord *prec = (struct stringinRecord *)pcommon; + struct stringindset *pdset = (struct stringindset *)(prec->dset); long status; unsigned char pact=prec->pact; diff --git a/src/std/rec/stringoutRecord.c b/src/std/rec/stringoutRecord.c index 534ba4c9a..7ea2c4c11 100644 --- a/src/std/rec/stringoutRecord.c +++ b/src/std/rec/stringoutRecord.c @@ -20,8 +20,6 @@ #include #include -#define REC_TYPE stringoutRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -44,8 +42,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(stringoutRecord *, int); -static long process(stringoutRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL @@ -94,8 +92,9 @@ static void monitor(stringoutRecord *); static long writeValue(stringoutRecord *); -static long init_record(stringoutRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct stringoutRecord *prec = (struct stringoutRecord *)pcommon; STATIC_ASSERT(sizeof(prec->oval)==sizeof(prec->val)); struct stringoutdset *pdset; long status=0; @@ -127,9 +126,10 @@ static long init_record(stringoutRecord *prec, int pass) return(0); } -static long process(stringoutRecord *prec) +static long process(struct dbCommon *pcommon) { - struct stringoutdset *pdset = (struct stringoutdset *)(prec->dset); + struct stringoutRecord *prec = (struct stringoutRecord *)pcommon; + struct stringoutdset *pdset = (struct stringoutdset *)(prec->dset); long status=0; unsigned char pact=prec->pact; diff --git a/src/std/rec/subArrayRecord.c b/src/std/rec/subArrayRecord.c index b31789980..3de610c26 100644 --- a/src/std/rec/subArrayRecord.c +++ b/src/std/rec/subArrayRecord.c @@ -23,8 +23,6 @@ #include #include -#define REC_TYPE subArrayRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" @@ -46,8 +44,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(subArrayRecord *prec, int pass); -static long process(subArrayRecord *prec); +static long init_record(struct dbCommon *prec, int pass); +static long process(struct dbCommon *prec); #define special NULL #define get_value NULL static long cvt_dbaddr(DBADDR *paddr); @@ -97,9 +95,9 @@ static void monitor(subArrayRecord *prec); static long readValue(subArrayRecord *prec); - -static long init_record(subArrayRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct subArrayRecord *prec = (struct subArrayRecord *)pcommon; struct sadset *pdset; if (pass==0){ @@ -131,8 +129,9 @@ static long init_record(subArrayRecord *prec, int pass) return 0; } -static long process(subArrayRecord *prec) +static long process(struct dbCommon *pcommon) { + struct subArrayRecord *prec = (struct subArrayRecord *)pcommon; struct sadset *pdset = (struct sadset *)(prec->dset); long status; unsigned char pact=prec->pact; diff --git a/src/std/rec/subRecord.c b/src/std/rec/subRecord.c index 5a089aedb..f440eca14 100644 --- a/src/std/rec/subRecord.c +++ b/src/std/rec/subRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE subRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "epicsMath.h" @@ -44,8 +42,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(subRecord *, int); -static long process(subRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); static long special(DBADDR *, int); #define get_value NULL #define cvt_dbaddr NULL @@ -89,8 +87,9 @@ static void monitor(subRecord *); #define INP_ARG_MAX 12 -static long init_record(subRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct subRecord *prec = (struct subRecord *)pcommon; SUBFUNCPTR psubroutine; struct link *plink; int i; @@ -133,8 +132,9 @@ static long init_record(subRecord *prec, int pass) return 0; } -static long process(subRecord *prec) +static long process(struct dbCommon *pcommon) { + struct subRecord *prec = (struct subRecord *)pcommon; long status = 0; int pact = prec->pact; @@ -173,7 +173,7 @@ static long special(DBADDR *paddr, int after) if (!after) { if (prec->snam[0] == 0 && prec->pact) prec->pact = FALSE; - prec->rpro = FALSE; + prec->rpro = FALSE; return 0; } diff --git a/src/std/rec/waveformRecord.c b/src/std/rec/waveformRecord.c index 2b05274e6..5d3963e3c 100644 --- a/src/std/rec/waveformRecord.c +++ b/src/std/rec/waveformRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE waveformRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "epicsString.h" @@ -44,8 +42,8 @@ /* Create RSET - Record Support Entry Table*/ #define report NULL #define initialize NULL -static long init_record(waveformRecord *, int); -static long process(waveformRecord *); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL static long cvt_dbaddr(DBADDR *); @@ -92,8 +90,9 @@ struct wfdset { /* waveform dset */ static void monitor(waveformRecord *); static long readValue(waveformRecord *); -static long init_record(waveformRecord *prec, int pass) +static long init_record(struct dbCommon *pcommon, int pass) { + struct waveformRecord *prec = (struct waveformRecord *)pcommon; struct wfdset *pdset; if (pass==0){ @@ -131,8 +130,9 @@ static long init_record(waveformRecord *prec, int pass) return (*pdset->init_record)(prec); } -static long process(waveformRecord *prec) +static long process(struct dbCommon *pcommon) { + struct waveformRecord *prec = (struct waveformRecord *)pcommon; struct wfdset *pdset = (struct wfdset *)(prec->dset); unsigned char pact=prec->pact; From 4f8134c63ccc73c4d64d07469774ab653e36c96a Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 24 Mar 2017 17:08:07 +0100 Subject: [PATCH 189/226] Fix xxxRecord in templates to make exampleApp work --- .../base/top/exampleApp/src/xxxRecord.c | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/template/base/top/exampleApp/src/xxxRecord.c b/src/template/base/top/exampleApp/src/xxxRecord.c index f4b65d204..c2693c48e 100644 --- a/src/template/base/top/exampleApp/src/xxxRecord.c +++ b/src/template/base/top/exampleApp/src/xxxRecord.c @@ -25,21 +25,21 @@ /* Create RSET - Record Support Entry Table */ #define report NULL #define initialize NULL -static long init_record(); -static long process(); +static long init_record(struct dbCommon *, int); +static long process(struct dbCommon *); #define special NULL #define get_value NULL #define cvt_dbaddr NULL #define get_array_info NULL #define put_array_info NULL -static long get_units(); -static long get_precision(); +static long get_units(DBADDR *, char *); +static long get_precision(const DBADDR *, long *); #define get_enum_str NULL #define get_enum_strs NULL #define put_enum_str NULL -static long get_graphic_double(); -static long get_control_double(); -static long get_alarm_double(); +static long get_graphic_double(DBADDR *, struct dbr_grDouble *); +static long get_control_double(DBADDR *, struct dbr_ctrlDouble *); +static long get_alarm_double(DBADDR *, struct dbr_alDouble *); rset xxxRSET={ RSETNUMBER, @@ -75,9 +75,9 @@ typedef struct xxxset { /* xxx input dset */ static void checkAlarms(xxxRecord *prec); static void monitor(xxxRecord *prec); -static long init_record(void *precord,int pass) +static long init_record(struct dbCommon *pcommon, int pass) { - xxxRecord *prec = (xxxRecord *)precord; + xxxRecord *prec = (xxxRecord *)pcommon; xxxdset *pdset; long status; @@ -99,9 +99,9 @@ static long init_record(void *precord,int pass) return(0); } -static long process(void *precord) +static long process(struct dbCommon *pcommon) { - xxxRecord *prec = (xxxRecord *)precord; + xxxRecord *prec = (xxxRecord *)pcommon; xxxdset *pdset = (xxxdset *)(prec->dset); long status; unsigned char pact=prec->pact; @@ -138,7 +138,7 @@ static long get_units(DBADDR *paddr, char *units) return(0); } -static long get_precision(DBADDR *paddr, long *precision) +static long get_precision(const DBADDR *paddr, long *precision) { xxxRecord *prec=(xxxRecord *)paddr->precord; From 0b410c1b03b1dfa6686b81e42a4759f31cb3473c Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 24 Mar 2017 17:16:18 +0100 Subject: [PATCH 190/226] Update release notes entry --- documentation/RELEASE_NOTES.html | 36 +++++++------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 57d401e9d..3a86e6da2 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -37,32 +37,12 @@ arguments). Instead, rset methods are now typed by default. The can no longer be used when initializing struct rset.

    Existing code (e.g. external record supports) might not compile cleanly -against the new rset definition without changes. Instead of adapting their -code as described further below, users can instead get the old untyped -definitions back by placing

    +against the new rset definition without changes. -
    -#define UNTYPED_RSET
    -
    - -

    before including headers from base.

    - -

    The following assumes that UNTYPED_RSET has not been defined.

    - -

    Record supports can define the macro REC_TYPE to the -name of their record type (including the Record suffix) before -including any headers from base, like this:

    - -
    -#define REC_TYPE xxxRecord
    -
    - -

    This will plug in xxxRecord for the first parameter of -init_record and process. Record types that use -void* here should be changed to use xxxRecord*. If -REC_TYPE is not defined, it will default to dbCommon, -which is suitable for code in base that calls rset methods but not for -record support, unless the methods cast the argument themselves.

    +

    The first parameter of init_record and process has been +changed to struct dbCommon *. Record types that use +void* here should be changed to use struct dbCommon*, and +cast the argument to their own xxxRecord *.

    When compiled against this release, compiler warnings about incompatible types for the method pointers should be taken seriously. When compiled @@ -82,9 +62,9 @@ of base you need something like:

    #endif
  • -

    in addition to the definition of REC_TYPE, and then replace -(RECSUPFUN) with RECSUPFUN_CAST when initializing the -rset. Further changes might be needed, e.g. to adapt const-ness of +

    and then replace (RECSUPFUN) with RECSUPFUN_CAST +when initializing the rset. +Further changes might be needed, e.g. to adapt const-ness of method parameters.


    From 89a858f6558c3440ef5d17eca597cbc0f9275f5c Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Mon, 27 Mar 2017 09:49:30 +0200 Subject: [PATCH 191/226] Remove remaining REC_TYPE defines --- src/std/filters/test/arrRecord.c | 2 -- src/std/filters/test/xRecord.c | 2 -- src/std/rec/aiRecord.c | 2 -- src/std/rec/calcRecord.c | 2 -- src/std/rec/compressRecord.c | 2 -- src/std/rec/longoutRecord.c | 2 -- src/std/rec/lsoRecord.c | 2 -- src/std/rec/mbboRecord.c | 2 -- 8 files changed, 16 deletions(-) diff --git a/src/std/filters/test/arrRecord.c b/src/std/filters/test/arrRecord.c index 5648009fa..8f1881f02 100644 --- a/src/std/filters/test/arrRecord.c +++ b/src/std/filters/test/arrRecord.c @@ -21,8 +21,6 @@ #include -#define REC_TYPE arrRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "dbAccess.h" diff --git a/src/std/filters/test/xRecord.c b/src/std/filters/test/xRecord.c index ff9492a82..568fbb838 100644 --- a/src/std/filters/test/xRecord.c +++ b/src/std/filters/test/xRecord.c @@ -13,8 +13,6 @@ * Ralph Lange */ -#define REC_TYPE xRecord - #include "dbAccessDefs.h" #include diff --git a/src/std/rec/aiRecord.c b/src/std/rec/aiRecord.c index 692c7f67f..31ce25ac6 100644 --- a/src/std/rec/aiRecord.c +++ b/src/std/rec/aiRecord.c @@ -20,8 +20,6 @@ #include #include -#define REC_TYPE aiRecord - #include "dbDefs.h" #include "errlog.h" #include "epicsMath.h" diff --git a/src/std/rec/calcRecord.c b/src/std/rec/calcRecord.c index 4d9d3094e..9c4e02317 100644 --- a/src/std/rec/calcRecord.c +++ b/src/std/rec/calcRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE calcRecord - #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/compressRecord.c b/src/std/rec/compressRecord.c index 53be24384..4b4de5f15 100644 --- a/src/std/rec/compressRecord.c +++ b/src/std/rec/compressRecord.c @@ -19,8 +19,6 @@ #include #include -#define REC_TYPE compressRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/longoutRecord.c b/src/std/rec/longoutRecord.c index 542706fd0..8a9c1cf4e 100644 --- a/src/std/rec/longoutRecord.c +++ b/src/std/rec/longoutRecord.c @@ -17,8 +17,6 @@ #include #include -#define REC_TYPE longoutRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" diff --git a/src/std/rec/lsoRecord.c b/src/std/rec/lsoRecord.c index 8126e9c5c..625f5d77c 100644 --- a/src/std/rec/lsoRecord.c +++ b/src/std/rec/lsoRecord.c @@ -16,8 +16,6 @@ #include #include -#define REC_TYPE lsoRecord - #include "dbDefs.h" #include "errlog.h" #include "alarm.h" diff --git a/src/std/rec/mbboRecord.c b/src/std/rec/mbboRecord.c index 2a45de38c..c3e89a1ca 100644 --- a/src/std/rec/mbboRecord.c +++ b/src/std/rec/mbboRecord.c @@ -20,8 +20,6 @@ #include #include -#define REC_TYPE mbboRecord - #include "dbDefs.h" #include "epicsPrint.h" #include "alarm.h" From 6397204354bd54fbba883f08d7fb3a5de5fd0823 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Mon, 27 Mar 2017 09:51:32 +0200 Subject: [PATCH 192/226] Update release notes, C++ instructions are tested --- documentation/RELEASE_NOTES.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 3a86e6da2..8cf6e2705 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -37,7 +37,9 @@ arguments). Instead, rset methods are now typed by default. The can no longer be used when initializing struct rset.

    Existing code (e.g. external record supports) might not compile cleanly -against the new rset definition without changes. +against the new rset definition without changes, but after making these +changes the result should still compile and work properly against older +versions of Base.

    The first parameter of init_record and process has been changed to struct dbCommon *. Record types that use @@ -54,8 +56,7 @@ of base you need something like:

     #include "epicsVersion.h"
    -#define VERSION_INT_3_16 VERSION_INT(3,16,0,2)
    -#if EPICS_VERSION_INT < VERSION_INT_3_16
    +#if EPICS_VERSION_INT < VERSION_INT(3,16,0,2)
     #define RECSUPFUN_CAST (RECSUPFUN)
     #else
     #define RECSUPFUN_CAST
    
    From 19be96ec3af81ff2b63dd1d888675593bdcbf693 Mon Sep 17 00:00:00 2001
    From: Ralph Lange 
    Date: Wed, 29 Mar 2017 10:26:13 +0200
    Subject: [PATCH 193/226] Add opt-in switch USE_TYPED_RSET
    
    ---
     src/ioc/dbStatic/recSup.h | 39 +++++++++++++++++++++++++++++++++++++--
     1 file changed, 37 insertions(+), 2 deletions(-)
    
    diff --git a/src/ioc/dbStatic/recSup.h b/src/ioc/dbStatic/recSup.h
    index 4ac1d1389..9fea4c86b 100644
    --- a/src/ioc/dbStatic/recSup.h
    +++ b/src/ioc/dbStatic/recSup.h
    @@ -21,7 +21,7 @@
     extern "C" {
     #endif
     
    -typedef struct rset rset;
    +/* RSET definition */
     
     /* defined elsewhere */
     struct dbAddr;
    @@ -32,7 +32,7 @@ struct dbr_ctrlDouble;
     struct dbr_alDouble;
     
     /* record support entry table */
    -struct rset {
    +struct typed_rset {
         long number; /* number of support routines */
         long (*report)(void *precord);
         long (*init)();
    @@ -53,6 +53,41 @@ struct rset {
         long (*get_alarm_double)(struct dbAddr *paddr, struct dbr_alDouble *p);
     };
     
    +#ifdef USE_TYPED_RSET
    +
    +typedef struct typed_rset rset;
    +
    +#else
    +
    +/* pre-3.16 old untyped RSET definition - DEPRECATED */
    +
    +typedef long (*RECSUPFUN) ();      /* ptr to record support function*/
    +
    +struct rset {	/* record support entry table */
    +    long		number;		/*number of support routines	*/
    +    RECSUPFUN	report;		/*print report			*/
    +    RECSUPFUN	init;		/*init support			*/
    +    RECSUPFUN	init_record;	/*init record			*/
    +    RECSUPFUN	process;	/*process record		*/
    +    RECSUPFUN	special;	/*special processing		*/
    +    RECSUPFUN	get_value;	/*no longer used		*/
    +    RECSUPFUN	cvt_dbaddr;	/*cvt  dbAddr			*/
    +    RECSUPFUN	get_array_info;
    +    RECSUPFUN	put_array_info;
    +    RECSUPFUN	get_units;
    +    RECSUPFUN	get_precision;
    +    RECSUPFUN	get_enum_str;	/*get string from enum item*/
    +    RECSUPFUN	get_enum_strs;	/*get all enum strings		*/
    +    RECSUPFUN	put_enum_str;	/*put string from enum item*/
    +    RECSUPFUN	get_graphic_double;
    +    RECSUPFUN	get_control_double;
    +    RECSUPFUN	get_alarm_double;
    +};
    +
    +typedef struct rset rset;
    +
    +#endif
    +
     #define RSETNUMBER 17
     
     #define S_rec_noRSET     (M_recSup| 1) /*Missing record support entry table*/
    
    From 26a4e1489ff8b0f990774785845daf8194f96e4a Mon Sep 17 00:00:00 2001
    From: Ralph Lange 
    Date: Thu, 30 Mar 2017 14:30:53 +0200
    Subject: [PATCH 194/226] Make compilation inside Base USE_TYPED_RSET
    
    ---
     configure/CONFIG_BASE | 3 ++-
     1 file changed, 2 insertions(+), 1 deletion(-)
    
    diff --git a/configure/CONFIG_BASE b/configure/CONFIG_BASE
    index 1957a8f56..70d68bb32 100644
    --- a/configure/CONFIG_BASE
    +++ b/configure/CONFIG_BASE
    @@ -36,6 +36,7 @@ ifdef BASE_TOP
       SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
       # Windows only allows 2 levels of version numbering
       PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
    +  BASE_CPPFLAGS += -DUSE_TYPED_RSET
     endif # BASE_TOP
     
     #---------------------------------------------------------------
    @@ -45,7 +46,7 @@ endif # BASE_TOP
     OSITHREAD_USE_DEFAULT_STACK = NO
     OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
     
    -BASE_CPPFLAGS = $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
    +BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
     
     #---------------------------------------------------------------
     # Where to find the installed build tools
    
    From 0f2e26bc4cdd04afcf124f38c6cd0cd3bbc13bfa Mon Sep 17 00:00:00 2001
    From: Ralph Lange 
    Date: Thu, 30 Mar 2017 14:33:06 +0200
    Subject: [PATCH 195/226] Make generated code always use typed_rset   always
     cast to cover old-style supports
    
    ---
     src/ioc/registry/registryRecordType.h   | 3 +--
     src/tools/registerRecordDeviceDriver.pl | 5 +++--
     2 files changed, 4 insertions(+), 4 deletions(-)
    
    diff --git a/src/ioc/registry/registryRecordType.h b/src/ioc/registry/registryRecordType.h
    index 1d4c80cdd..29ba714e8 100644
    --- a/src/ioc/registry/registryRecordType.h
    +++ b/src/ioc/registry/registryRecordType.h
    @@ -18,13 +18,12 @@ extern "C" {
     #endif
     
     struct dbRecordType;
    -struct rset;
     struct dbBase;
     
     typedef int (*computeSizeOffset)(struct dbRecordType *pdbRecordType);
     
     typedef struct recordTypeLocation {
    -    struct rset *prset;
    +    struct typed_rset *prset;
         computeSizeOffset sizeOffset;
     }recordTypeLocation;
     
    diff --git a/src/tools/registerRecordDeviceDriver.pl b/src/tools/registerRecordDeviceDriver.pl
    index 34f1b59cb..5d56ecb3e 100644
    --- a/src/tools/registerRecordDeviceDriver.pl
    +++ b/src/tools/registerRecordDeviceDriver.pl
    @@ -69,6 +69,7 @@ print $out (<< "END");
     #include "iocsh.h"
     #include "iocshRegisterCommon.h"
     #include "registryCommon.h"
    +#include "recSup.h"
     
     END
     
    @@ -94,7 +95,7 @@ if (%rectypes) {
     
         if (@rtypnames) {
             # Declare the record support entry tables
    -        print $out wrap('epicsShareExtern rset ', '    ',
    +        print $out wrap('epicsShareExtern typed_rset ', '    ',
                 join(', ', map {"*pvar_rset_${_}RSET"} @rtypnames)), ";\n\n";
     
             # Declare the RecordSizeOffset functions
    @@ -110,7 +111,7 @@ if (%rectypes) {
             # List of pointers to each RSET and RecordSizeOffset function
             print $out "static const recordTypeLocation rtl[] = {\n";
             print $out join(",\n", map {
    -                "    {pvar_rset_${_}RSET, pvar_func_${_}RecordSizeOffset}"
    +                "    {(struct typed_rset *)pvar_rset_${_}RSET, pvar_func_${_}RecordSizeOffset}"
                 } @rtypnames);
             print $out "\n};\n\n";
         }
    
    From 2f510af6038ad88a1b4da317961c832689d1a22d Mon Sep 17 00:00:00 2001
    From: Ralph Lange 
    Date: Thu, 30 Mar 2017 14:35:24 +0200
    Subject: [PATCH 196/226] Use (typed) rset instead of (untyped) struct rset
     inside Base
    
    ---
     src/ioc/db/dbAccess.c              | 22 +++++++++++-----------
     src/ioc/db/dbAccessDefs.h          |  3 ++-
     src/ioc/db/dbChannel.c             |  2 +-
     src/ioc/db/dbCommon.dbd            |  2 +-
     src/ioc/db/dbConvert.c             | 12 ++++++------
     src/ioc/db/dbFastLinkConv.c        |  8 ++++----
     src/ioc/dbStatic/dbBase.h          |  3 ++-
     src/ioc/misc/iocInit.c             |  6 +++---
     src/std/dev/asSubRecordFunctions.c |  4 ++--
     src/std/filters/arr.c              |  2 +-
     src/std/rec/test/asTestLib.c       |  2 +-
     11 files changed, 34 insertions(+), 32 deletions(-)
    
    diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c
    index b4b25331f..8e3b81fce 100644
    --- a/src/ioc/db/dbAccess.c
    +++ b/src/ioc/db/dbAccess.c
    @@ -108,7 +108,7 @@ void dbSpcAsRegisterCallback(SPC_ASCALLBACK func)
     long dbPutSpecial(DBADDR *paddr,int pass)
     {
         long int	(*pspecial)()=NULL;
    -    struct rset	*prset;
    +    rset        *prset;
         dbCommon 	*precord = paddr->precord;
         long	status=0;
         long	special=paddr->special;
    @@ -140,7 +140,7 @@ long dbPutSpecial(DBADDR *paddr,int pass)
     }
     
     static void get_enum_strs(DBADDR *paddr, char **ppbuffer,
    -	struct rset *prset,long	*options)
    +    rset *prset,long	*options)
     {
     	short		field_type=paddr->field_type;
     	dbFldDes	*pdbFldDes = paddr->pfldDes;
    @@ -200,7 +200,7 @@ choice_common:
     }
     
     static void get_graphics(DBADDR *paddr, char **ppbuffer,
    -	struct rset *prset,long	*options)
    +    rset *prset,long	*options)
     {
     	struct			dbr_grDouble grd;
     	int			got_data=FALSE;
    @@ -240,7 +240,7 @@ static void get_graphics(DBADDR *paddr, char **ppbuffer,
     }
     
     static void get_control(DBADDR *paddr, char **ppbuffer,
    -	struct rset *prset,long	*options)
    +    rset *prset,long	*options)
     {
     	struct dbr_ctrlDouble	ctrld;
     	int			got_data=FALSE;
    @@ -280,7 +280,7 @@ static void get_control(DBADDR *paddr, char **ppbuffer,
     }
     
     static void get_alarm(DBADDR *paddr, char **ppbuffer,
    -    struct rset *prset, long *options)
    +    rset *prset, long *options)
     {
         char *pbuffer = *ppbuffer;
         struct dbr_alDouble ald = {epicsNAN, epicsNAN, epicsNAN, epicsNAN};
    @@ -325,7 +325,7 @@ static void getOptions(DBADDR *paddr, char **poriginal, long *options,
             void *pflin)
     {
     	db_field_log	*pfl= (db_field_log *)pflin;
    -	struct rset	*prset;
    +    rset	*prset;
             short		field_type;
     	dbCommon	*pcommon;
     	char		*pbuffer = *poriginal;
    @@ -394,7 +394,7 @@ static void getOptions(DBADDR *paddr, char **poriginal, long *options,
     	*poriginal = pbuffer;
     }
     
    -struct rset * dbGetRset(const struct dbAddr *paddr)
    +rset * dbGetRset(const struct dbAddr *paddr)
     {
     	struct dbFldDes *pfldDes = paddr->pfldDes;
     
    @@ -468,7 +468,7 @@ long dbScanPassive(dbCommon *pfrom, dbCommon *pto)
      */
     long dbProcess(dbCommon *precord)
     {
    -    struct rset *prset = precord->rset;
    +    rset *prset = precord->rset;
         dbRecordType *pdbRecordType = precord->rdes;
         unsigned char tpro = precord->tpro;
         char context[40] = "";
    @@ -647,7 +647,7 @@ long dbNameToAddr(const char *pname, DBADDR *paddr)
         paddr->dbr_field_type = mapDBFToDBR[dbfType];
     
         if (paddr->special == SPC_DBADDR) {
    -        struct rset *prset = dbGetRset(paddr);
    +        rset *prset = dbGetRset(paddr);
     
             /* Let record type modify paddr */
             if (prset && prset->cvt_dbaddr) {
    @@ -827,7 +827,7 @@ long dbGet(DBADDR *paddr, short dbrType,
         db_field_log *pfl = (db_field_log *)pflin;
         short field_type;
         long capacity, no_elements, offset;
    -    struct rset *prset;
    +    rset *prset;
         long status = 0;
     
         if (options && *options)
    @@ -1224,7 +1224,7 @@ long dbPut(DBADDR *paddr, short dbrType,
         long no_elements  = paddr->no_elements;
         long special      = paddr->special;
         void *pfieldsave  = paddr->pfield;
    -    struct rset *prset = dbGetRset(paddr);
    +    rset *prset = dbGetRset(paddr);
         long status = 0;
         long offset;
         dbFldDes *pfldDes;
    diff --git a/src/ioc/db/dbAccessDefs.h b/src/ioc/db/dbAccessDefs.h
    index 8fbf4d551..8427fe0fc 100644
    --- a/src/ioc/db/dbAccessDefs.h
    +++ b/src/ioc/db/dbAccessDefs.h
    @@ -20,6 +20,7 @@
     #include "epicsTime.h"
     #include "dbBase.h"
     #include "dbAddr.h"
    +#include "recSup.h"
     
     #ifdef INCLdb_accessh_epicsExportSharedSymbols
     #   define epicsExportSharedSymbols
    @@ -202,7 +203,7 @@ struct dbr_alDouble     {DBRalDouble};
     #define S_db_bufFull    (M_dbAccess|68) /*Buffer full*/
     
     epicsShareFunc long dbPutSpecial(struct dbAddr *paddr,int pass);
    -epicsShareFunc struct rset * dbGetRset(const struct dbAddr *paddr);
    +epicsShareFunc rset * dbGetRset(const struct dbAddr *paddr);
     epicsShareFunc long dbPutAttribute(
         const char *recordTypename,const char *name,const char*value);
     epicsShareFunc int dbIsValueField(const struct dbFldDes *pdbFldDes);
    diff --git a/src/ioc/db/dbChannel.c b/src/ioc/db/dbChannel.c
    index 6e08f3c19..d506e96b9 100644
    --- a/src/ioc/db/dbChannel.c
    +++ b/src/ioc/db/dbChannel.c
    @@ -509,7 +509,7 @@ dbChannel * dbChannelCreate(const char *name)
         paddr->dbr_field_type = mapDBFToDBR[dbfType];
     
         if (paddr->special == SPC_DBADDR) {
    -        struct rset *prset = dbGetRset(paddr);
    +        rset *prset = dbGetRset(paddr);
     
             /* Let record type modify paddr */
             if (prset && prset->cvt_dbaddr) {
    diff --git a/src/ioc/db/dbCommon.dbd b/src/ioc/db/dbCommon.dbd
    index c01847c71..1b093e6a8 100644
    --- a/src/ioc/db/dbCommon.dbd
    +++ b/src/ioc/db/dbCommon.dbd
    @@ -197,7 +197,7 @@
     		prompt("Address of RSET")
     		special(SPC_NOMOD)
     		interest(4)
    -		extra("struct rset         *rset")
    +        extra("struct typed_rset   *rset")
     	}
     	field(DSET,DBF_NOACCESS) {
     		prompt("DSET address")
    diff --git a/src/ioc/db/dbConvert.c b/src/ioc/db/dbConvert.c
    index 812887633..92a004804 100644
    --- a/src/ioc/db/dbConvert.c
    +++ b/src/ioc/db/dbConvert.c
    @@ -1637,7 +1637,7 @@ static long getFloatString(
         float *psrc = (float *) paddr->pfield;
         long status = 0;
         long precision = 6;
    -    struct rset *prset = 0;
    +    rset *prset = 0;
     
         if (paddr) prset = dbGetRset(paddr);
         if (prset && (prset->get_precision))
    @@ -1850,7 +1850,7 @@ static long getDoubleString(
         double *psrc = (double *) paddr->pfield;
         long        status = 0;
         long         precision = 6;
    -    struct rset *prset = 0;
    +    rset *prset = 0;
     
         if (paddr) prset = dbGetRset(paddr);
         if (prset && (prset->get_precision))
    @@ -2061,7 +2061,7 @@ static long getEnumString(
         void *pto, long nRequest, long no_elements, long offset)
     {
         char *pbuffer = (char *) pto;
    -    struct rset *prset;
    +    rset *prset;
         long        status;
     
         if ((prset=dbGetRset(paddr)) && (prset->get_enum_str))
    @@ -2602,7 +2602,7 @@ static long putStringEnum(
         const void *pfrom, long nRequest, long no_elements, long offset)
     {
         const char *pbuffer = (const char *) pfrom;
    -    struct rset         *prset;
    +    rset         *prset;
         epicsEnum16 *pfield = (epicsEnum16*) paddr->pfield;
         long                status;
         unsigned int        nchoices,ind;
    @@ -3940,7 +3940,7 @@ static long putFloatString(
         char        *pdest = (char *) paddr->pfield;
         long        status = 0;
         long         precision = 6;
    -    struct rset *prset = dbGetRset(paddr);
    +    rset *prset = dbGetRset(paddr);
         short size = paddr->field_size;
     
         if (prset && (prset->get_precision))
    @@ -4153,7 +4153,7 @@ static long putDoubleString(
         char        *pdest = (char *) paddr->pfield;
         long        status = 0;
         long        precision = 6;
    -    struct rset *prset = dbGetRset(paddr);
    +    rset *prset = dbGetRset(paddr);
         short size = paddr->field_size;
     
         if (prset && (prset->get_precision))
    diff --git a/src/ioc/db/dbFastLinkConv.c b/src/ioc/db/dbFastLinkConv.c
    index 8bd053033..637e2122c 100644
    --- a/src/ioc/db/dbFastLinkConv.c
    +++ b/src/ioc/db/dbFastLinkConv.c
    @@ -256,7 +256,7 @@ static long cvt_st_e(
          epicsEnum16 *to,
          const dbAddr *paddr)
      {
    -   struct rset 		*prset = 0;
    +   rset 		*prset = 0;
        long 		status;
        epicsEnum16	*pfield= (epicsEnum16*)(paddr->pfield);
        unsigned int		nchoices,ind;
    @@ -782,7 +782,7 @@ static long cvt_f_st(
          char *to,
          const dbAddr *paddr)
      {
    -   struct rset *prset = 0;
    +   rset *prset = 0;
        long status = 0;
        long precision = 6;
     
    @@ -863,7 +863,7 @@ static long cvt_d_st(
          char *to,
          const dbAddr *paddr)
      {
    -   struct rset *prset = 0;
    +   rset *prset = 0;
        long status = 0;
        long precision = 6;
     
    @@ -1009,7 +1009,7 @@ static long cvt_e_st_get(
          char *to,
          const dbAddr *paddr)
      {
    -   struct rset *prset = 0;
    +   rset *prset = 0;
        long status;
     
        if(paddr) prset = dbGetRset(paddr);
    diff --git a/src/ioc/dbStatic/dbBase.h b/src/ioc/dbStatic/dbBase.h
    index e58afd8ad..c7a7d7dc5 100644
    --- a/src/ioc/dbStatic/dbBase.h
    +++ b/src/ioc/dbStatic/dbBase.h
    @@ -18,6 +18,7 @@
     #include "dbFldTypes.h"
     #include "ellLib.h"
     #include "dbDefs.h"
    +#include "recSup.h"
     
     typedef struct dbMenu {
     	ELLNODE		node;
    @@ -150,7 +151,7 @@ typedef struct dbRecordType {
         short		indvalFlddes;	/*ind in papFldDes*/
         dbFldDes 	**papFldDes;	/* ptr to array of ptr to fldDes*/
         /*The following are only available on run time system*/
    -    struct	rset	*prset;
    +    rset        *prset;
         int		rec_size;	/*record size in bytes          */
     }dbRecordType;
     
    diff --git a/src/ioc/misc/iocInit.c b/src/ioc/misc/iocInit.c
    index 9ff7f722f..795ef5341 100644
    --- a/src/ioc/misc/iocInit.c
    +++ b/src/ioc/misc/iocInit.c
    @@ -402,7 +402,7 @@ static void initRecSup(void)
              pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
             recordTypeLocation *precordTypeLocation =
                 registryRecordTypeFind(pdbRecordType->name);
    -        struct rset *prset;
    +        rset *prset;
     
             if (!precordTypeLocation) {
                 errlogPrintf("iocInit record support for %s not found\n",
    @@ -487,7 +487,7 @@ static void iterateRecords(recIterFunc func, void *user)
     static void doInitRecord0(dbRecordType *pdbRecordType, dbCommon *precord,
         void *user)
     {
    -    struct rset *prset = pdbRecordType->prset;
    +    rset *prset = pdbRecordType->prset;
         devSup *pdevSup;
     
         if (!prset) return;         /* unlikely */
    @@ -542,7 +542,7 @@ static void doResolveLinks(dbRecordType *pdbRecordType, dbCommon *precord,
     static void doInitRecord1(dbRecordType *pdbRecordType, dbCommon *precord,
         void *user)
     {
    -    struct rset *prset = pdbRecordType->prset;
    +    rset *prset = pdbRecordType->prset;
     
         if (!prset) return;         /* unlikely */
     
    diff --git a/src/std/dev/asSubRecordFunctions.c b/src/std/dev/asSubRecordFunctions.c
    index 957db300a..76943e94b 100644
    --- a/src/std/dev/asSubRecordFunctions.c
    +++ b/src/std/dev/asSubRecordFunctions.c
    @@ -38,10 +38,10 @@ static void myCallback(CALLBACK *pcallback)
     {
         ASDBCALLBACK	*pasdbcallback = (ASDBCALLBACK *)pcallback;
         subRecord	*precord;
    -    struct rset		*prset;
    +    rset		*prset;
     
         callbackGetUser(precord,pcallback);
    -    prset=(struct rset *)(precord->rset);
    +    prset=(rset *)(precord->rset);
         precord->val = 0.0;
         if(pasdbcallback->status) {
     	recGblSetSevr(precord,READ_ALARM,precord->brsv);
    diff --git a/src/std/filters/arr.c b/src/std/filters/arr.c
    index 9e183ac15..7a4960bcf 100644
    --- a/src/std/filters/arr.c
    +++ b/src/std/filters/arr.c
    @@ -94,7 +94,7 @@ static db_field_log* filter(void* pvt, dbChannel *chan, db_field_log *pfl)
     {
         myStruct *my = (myStruct*) pvt;
         struct dbCommon *prec;
    -    struct rset *prset;
    +    rset *prset;
         long start = my->start;
         long end = my->end;
         long nTarget = 0;
    diff --git a/src/std/rec/test/asTestLib.c b/src/std/rec/test/asTestLib.c
    index 62b5e62fc..18139233f 100644
    --- a/src/std/rec/test/asTestLib.c
    +++ b/src/std/rec/test/asTestLib.c
    @@ -204,7 +204,7 @@ static void hookPass1(initHookState state)
             testFail("missing rec1");
             testSkip(3, "missing record");
         } else {
    -        struct rset *prset = dbGetRset(&addr);
    +        rset *prset = dbGetRset(&addr);
             dbfType ftype = addr.field_type;
             long count=-1, offset=-1, maxcount = addr.no_elements;
             testOk1(prset && prset->get_array_info && prset->put_array_info);
    
    From ecf5ab4a4c72d5ac941b2fdc34677179aaa5bfb6 Mon Sep 17 00:00:00 2001
    From: Ralph Lange 
    Date: Thu, 30 Mar 2017 16:14:09 +0200
    Subject: [PATCH 197/226] Deprecate RECSUPFUN and the untyped struct rset.
    
    ---
     src/ioc/dbStatic/recSup.h | 7 ++++---
     1 file changed, 4 insertions(+), 3 deletions(-)
    
    diff --git a/src/ioc/dbStatic/recSup.h b/src/ioc/dbStatic/recSup.h
    index 9fea4c86b..91309898e 100644
    --- a/src/ioc/dbStatic/recSup.h
    +++ b/src/ioc/dbStatic/recSup.h
    @@ -16,6 +16,7 @@
     #define INCrecSuph 1
     
     #include "errMdef.h"
    +#include "compilerDependencies.h"
     
     #ifdef __cplusplus
     extern "C" {
    @@ -61,7 +62,7 @@ typedef struct typed_rset rset;
     
     /* pre-3.16 old untyped RSET definition - DEPRECATED */
     
    -typedef long (*RECSUPFUN) ();      /* ptr to record support function*/
    +typedef long (*RECSUPFUN) () EPICS_DEPRECATED;      /* ptr to record support function*/
     
     struct rset {	/* record support entry table */
         long		number;		/*number of support routines	*/
    @@ -82,9 +83,9 @@ struct rset {	/* record support entry table */
         RECSUPFUN	get_graphic_double;
         RECSUPFUN	get_control_double;
         RECSUPFUN	get_alarm_double;
    -};
    +} EPICS_DEPRECATED;
     
    -typedef struct rset rset;
    +typedef struct rset rset EPICS_DEPRECATED;
     
     #endif
     
    
    From bad1b0ead3beb208a4a136575c6f1b3a954ceece Mon Sep 17 00:00:00 2001
    From: Ralph Lange 
    Date: Thu, 30 Mar 2017 16:26:54 +0200
    Subject: [PATCH 198/226] Update release notes with opt-in instructions
    
    ---
     documentation/RELEASE_NOTES.html | 16 +++++++++++-----
     1 file changed, 11 insertions(+), 5 deletions(-)
    
    diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html
    index 8cf6e2705..1904be820 100644
    --- a/documentation/RELEASE_NOTES.html
    +++ b/documentation/RELEASE_NOTES.html
    @@ -33,12 +33,18 @@ a script by starting those lines with '#-' rather than just '#'.

    The table of record support functions (rset methods for short) no longer has entries of type RECSUPFUN (which says: any number and type of arguments). Instead, rset methods are now typed by default. The -RECSUPFUN typedef has been removed and casts to RECSUPFUN -can no longer be used when initializing struct rset.

    +RECSUPFUN typedef has been deprecated and casts to it as well as +using the untyped struct rset will create compilation warnings.

    -

    Existing code (e.g. external record supports) might not compile cleanly -against the new rset definition without changes, but after making these -changes the result should still compile and work properly against older +

    Existing code (e.g. external record supports) will generate such +warnings when compiled against this version of Base, but it will work +without changes.

    + +

    For a conversion period, the new typed rset definitions are activated +by defining USE_TYPED_RSET, preferably by setting +USR_CPPFLAGS += -DUSE_TYPED_RSET inside a Makefile. +After activating the new typed rset in this way and making the following +changes, the result should still compile and work properly against older versions of Base.

    The first parameter of init_record and process has been From 9e778511ee6e2f27c3e852b41d4305cca9471028 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 30 Mar 2017 16:35:54 +0200 Subject: [PATCH 199/226] Add opt-in switch to makeBaseApp example --- src/template/base/top/exampleApp/src/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/template/base/top/exampleApp/src/Makefile b/src/template/base/top/exampleApp/src/Makefile index d319437ad..fe010d583 100644 --- a/src/template/base/top/exampleApp/src/Makefile +++ b/src/template/base/top/exampleApp/src/Makefile @@ -4,6 +4,9 @@ include $(TOP)/configure/CONFIG #---------------------------------------- # ADD MACRO DEFINITIONS BELOW HERE +# Use typed rset structure (see 3.16.1 release notes) +USR_CPPFLAGS += -DUSE_TYPED_RSET + # xxxRecord.h will be created from xxxRecord.dbd DBDINC += xxxRecord From 6884e0ce6131ae92631953240a3573259fc33ec8 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 30 Mar 2017 17:08:00 +0200 Subject: [PATCH 200/226] Moved .bzrignore to .gitignore --- .bzrignore | 9 --------- .gitignore | 11 +++++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) delete mode 100644 .bzrignore create mode 100644 .gitignore diff --git a/.bzrignore b/.bzrignore deleted file mode 100644 index df0e03ed6..000000000 --- a/.bzrignore +++ /dev/null @@ -1,9 +0,0 @@ -./bin -./lib -./db -./dbd -./html -./include -./templates -**/O.* -./QtC-* diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..a8499e2f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +/bin/ +/lib/ +/db/ +/dbd/ +/html/ +/include/ +/templates/ +O.* +/QtC-* +*.orig +*.log From 4c06cdc660f8e5642e226a0db2040cc19dd59a03 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 30 Mar 2017 17:10:52 +0200 Subject: [PATCH 201/226] Move .bzrignore to .gitignore --- .bzrignore | 9 --------- .gitignore | 11 +++++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) delete mode 100644 .bzrignore create mode 100644 .gitignore diff --git a/.bzrignore b/.bzrignore deleted file mode 100644 index df0e03ed6..000000000 --- a/.bzrignore +++ /dev/null @@ -1,9 +0,0 @@ -./bin -./lib -./db -./dbd -./html -./include -./templates -**/O.* -./QtC-* diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..a8499e2f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +/bin/ +/lib/ +/db/ +/dbd/ +/html/ +/include/ +/templates/ +O.* +/QtC-* +*.orig +*.log From f164b14ba11272864910a539aea9c35e5b44f85b Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Thu, 30 Mar 2017 17:08:00 +0200 Subject: [PATCH 202/226] Moved .bzrignore to .gitignore --- .bzrignore | 9 --------- .gitignore | 11 +++++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) delete mode 100644 .bzrignore create mode 100644 .gitignore diff --git a/.bzrignore b/.bzrignore deleted file mode 100644 index df0e03ed6..000000000 --- a/.bzrignore +++ /dev/null @@ -1,9 +0,0 @@ -./bin -./lib -./db -./dbd -./html -./include -./templates -**/O.* -./QtC-* diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..a8499e2f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +/bin/ +/lib/ +/db/ +/dbd/ +/html/ +/include/ +/templates/ +O.* +/QtC-* +*.orig +*.log From 5726ca696423252f08c2ee8dda1a8e38e3d772fa Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 31 Mar 2017 15:01:51 +0200 Subject: [PATCH 203/226] libCom/test: add network libraries for Windows builds --- src/libCom/test/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index b79eb11e8..6800b5cdf 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -11,6 +11,7 @@ TOP=../../.. include $(TOP)/configure/CONFIG PROD_LIBS += Com +PROD_SYS_LIBS_WIN32 += ws2_32 advapi32 user32 TESTPROD_HOST += epicsUnitTestTest epicsUnitTestTest_SRCS += epicsUnitTestTest.c From e0af3e2af502ce16cc352e5f5b6b55b26213d5a5 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 31 Mar 2017 12:08:03 -0500 Subject: [PATCH 204/226] Adjusted .gitignore patterns --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a8499e2f2..c3040f162 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/cfg/ /bin/ /lib/ /db/ @@ -5,7 +6,7 @@ /html/ /include/ /templates/ -O.* +O.*/ /QtC-* *.orig *.log From 5a73ac59a19c593978f95632400c2edd9d9647de Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 31 Mar 2017 12:08:03 -0500 Subject: [PATCH 205/226] Adjusted .gitignore patterns --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a8499e2f2..c3040f162 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/cfg/ /bin/ /lib/ /db/ @@ -5,7 +6,7 @@ /html/ /include/ /templates/ -O.* +O.*/ /QtC-* *.orig *.log From 23a856ae9b22b1d5ccdfc0fa061346567afeceb6 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 31 Mar 2017 12:08:03 -0500 Subject: [PATCH 206/226] Adjusted .gitignore patterns --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a8499e2f2..c3040f162 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/cfg/ /bin/ /lib/ /db/ @@ -5,7 +6,7 @@ /html/ /include/ /templates/ -O.* +O.*/ /QtC-* *.orig *.log From 9bfc8d8fad4050bdfbf08297aebea0d58d8148c2 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Mon, 3 Apr 2017 09:55:06 +0200 Subject: [PATCH 207/226] Update release notes as per Michael's review comment --- documentation/RELEASE_NOTES.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 1904be820..c90c945ef 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -62,11 +62,15 @@ of base you need something like:

     #include "epicsVersion.h"
    +#ifdef VERSION_INT
     #if EPICS_VERSION_INT < VERSION_INT(3,16,0,2)
     #define RECSUPFUN_CAST (RECSUPFUN)
     #else
     #define RECSUPFUN_CAST
    -#endif 
    +#endif
    +#else
    +#define RECSUPFUN_CAST (RECSUPFUN)
    +#endif
     

    and then replace (RECSUPFUN) with RECSUPFUN_CAST From 0f31e35b87b42c17a80e712697969b3ef4079924 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 6 Apr 2017 20:25:55 -0400 Subject: [PATCH 208/226] db/test: add dbPutGetTest --- src/ioc/db/test/Makefile | 9 +++- src/ioc/db/test/dbPutGetTest.c | 79 +++++++++++++++++++++++++++++++++ src/ioc/db/test/dbPutGetTest.db | 35 +++++++++++++++ 3 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 src/ioc/db/test/dbPutGetTest.c create mode 100644 src/ioc/db/test/dbPutGetTest.db diff --git a/src/ioc/db/test/Makefile b/src/ioc/db/test/Makefile index 3d7b340ed..215545f4a 100644 --- a/src/ioc/db/test/Makefile +++ b/src/ioc/db/test/Makefile @@ -131,7 +131,14 @@ recGblCheckDeadbandTest_SRCS += dbTestIoc_registerRecordDeviceDriver.cpp testHarness_SRCS += recGblCheckDeadbandTest.c TESTS += recGblCheckDeadbandTest -# The testHarness runs all the test programs in a known working order. +TESTPROD_HOST += testPutGetTest +testPutGetTest_SRCS += dbPutGetTest.c +testPutGetTest_SRCS += dbTestIoc_registerRecordDeviceDriver.cpp +testHarness_SRCS += dbPutGetTest.db +TESTFILES += ../dbPutGetTest.db +TESTS += testPutGetTest + +# This runs all the test programs in a known working order: testHarness_SRCS += epicsRunDbTests.c dbTestHarness_SRCS += $(testHarness_SRCS) diff --git a/src/ioc/db/test/dbPutGetTest.c b/src/ioc/db/test/dbPutGetTest.c new file mode 100644 index 000000000..5c3bbf045 --- /dev/null +++ b/src/ioc/db/test/dbPutGetTest.c @@ -0,0 +1,79 @@ + +#include + +#include +#include +#include +#include +#include + +static +void testdbGetStringEqual(const char *pv, const char *expected) +{ + const char *actual; + int ok; + DBENTRY ent; + + dbInitEntry(pdbbase, &ent); + + if(dbFindRecord(&ent, pv)) { + testFail("Failed to find record '%s'", pv); + return; + } + + actual = dbGetString(&ent); + ok = (!actual && !expected) + || (actual && expected && strcmp(actual, expected)==0); + + testOk(ok, "dbGetString(\"%s\") -> \"%s\" == \"%s\"", pv, actual, expected); + + dbFinishEntry(&ent); +} + +static +void testGetString(void) +{ + testDiag("testGetString()"); + + testdbGetStringEqual("recempty.DTYP", "Soft Channel"); + testdbGetStringEqual("recempty.DESC", ""); + testdbGetStringEqual("recempty.PHAS", "0"); + testdbGetStringEqual("recempty.TSE" , "0"); + testdbGetStringEqual("recempty.DISA", "0"); + testdbGetStringEqual("recempty.DISV", "0"); + + testdbGetStringEqual("recoverwrite.DTYP", "Soft Channel"); + testdbGetStringEqual("recoverwrite.DESC", ""); + testdbGetStringEqual("recoverwrite.PHAS", "0"); + testdbGetStringEqual("recoverwrite.TSE" , "0"); + testdbGetStringEqual("recoverwrite.DISA", "0"); + testdbGetStringEqual("recoverwrite.DISV", "0"); +} + +static +void testStringMax(void) +{ + testDiag("testStringMax()"); + + testdbGetStringEqual("recmax.DISA", "-1"); +} + +void dbTestIoc_registerRecordDeviceDriver(struct dbBase *); + +MAIN(dbPutGet) +{ + testPlan(13); + testdbPrepare(); + + testdbReadDatabase("dbTestIoc.dbd", NULL, NULL); + dbTestIoc_registerRecordDeviceDriver(pdbbase); + testdbReadDatabase("dbPutGetTest.db", NULL, NULL); + + testGetString(); + + testStringMax(); + + testdbCleanup(); + + return testDone(); +} diff --git a/src/ioc/db/test/dbPutGetTest.db b/src/ioc/db/test/dbPutGetTest.db new file mode 100644 index 000000000..096dbe2e4 --- /dev/null +++ b/src/ioc/db/test/dbPutGetTest.db @@ -0,0 +1,35 @@ + +record(x, "recempty") { +# empty string is the same "0" for numeric fields + field(DTYP, "") + field(DESC, "") + field(PHAS, "") + field(TSE , "") + field(DISA, "") + field(DISV, "") +} + +record(x, "recoverwrite") { +# first with non-default values +# field(DTYP, "Scan I/O") + field(DESC, "hello") + field(PHAS, "2") + field(TSE , "5") + field(DISA, "6") + field(DISV, "7") +} + +record(x, "recoverwrite") { +# now restore default values + field(DTYP, "") + field(DESC, "") + field(PHAS, "") + field(TSE , "") + field(TSEL, "") + field(DISA, "") + field(DISV, "") +} + +record(x, "recmax") { + field(DISA, "0xffffffff") +} From 8edefb9d6330a25f19db6b78249e87fe6f985748 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 6 Apr 2017 20:27:03 -0400 Subject: [PATCH 209/226] dbUnitTest: add testdbGetArrFieldEqual() --- src/ioc/db/dbUnitTest.c | 65 +++++++++++++++++++++++++++++++++++++++++ src/ioc/db/dbUnitTest.h | 17 +++++++++++ 2 files changed, 82 insertions(+) diff --git a/src/ioc/db/dbUnitTest.c b/src/ioc/db/dbUnitTest.c index 48d92a7fd..374a3eb51 100644 --- a/src/ioc/db/dbUnitTest.c +++ b/src/ioc/db/dbUnitTest.c @@ -190,6 +190,71 @@ void testdbVGetFieldEqual(const char* pv, short dbrType, va_list ap) } } +void testdbGetArrFieldEqual(const char* pv, short dbfType, long nRequest, unsigned long cnt, const void *pbuf) +{ + DBADDR addr; + const long vSize = dbValueSize(dbfType); + const long nStore = vSize * nRequest; + long status; + void *gbuf, *gstore; + + if(dbNameToAddr(pv, &addr)) { + testFail("Missing PV \"%s\"", pv); + return; + } + + gbuf = gstore = malloc(nStore); + if(!gbuf && nStore!=0) { /* note that malloc(0) is allowed to return NULL on success */ + testFail("Allocation failed esize=%ld total=%ld", vSize, nStore); + return; + } + + status = dbGetField(&addr, dbfType, gbuf, NULL, &nRequest, NULL); + if (status) { + testFail("dbGetField(\"%s\", %d, ...) -> %#lx", pv, dbfType, status); + + } else { + unsigned match = nRequest==cnt; + long n, N = nRequest < cnt ? nRequest : cnt; + + if(!match) + testDiag("Length mis-match. expected=%lu actual=%lu", cnt, nRequest); + + for(n=0; n pbufcnt will detect truncation. + * nRequest < pbufcnt always fails. + * nRequest ==pbufcnt checks prefix (actual may be longer than expected) + */ +epicsShareFunc void testdbGetArrFieldEqual(const char* pv, short dbfType, long nRequest, unsigned long pbufcnt, const void *pbuf); + epicsShareFunc dbCommon* testdbRecordPtr(const char* pv); #ifdef __cplusplus From 188825309309be74f3a4c2f26397c9ce36a806a5 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sat, 1 Apr 2017 14:24:01 -0400 Subject: [PATCH 210/226] db: fix dbGet() of link fields as DBF_CHAR dbGet() DBF_CHAR with nRequest==1 not handled correctly. Results in crash. --- src/ioc/db/dbAccess.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index 6a9adb76f..a13ea566d 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -738,28 +738,34 @@ static long getLinkValue(DBADDR *paddr, short dbrType, { dbCommon *precord = paddr->precord; dbFldDes *pfldDes = paddr->pfldDes; + /* size of pbuf storage in bytes, including space for trailing nil */ int maxlen; DBENTRY dbEntry; long status; + long nReq = nRequest ? *nRequest : 1; + + /* dbFindRecord() below will always succeed as we have a + * valid DBADDR, so no point to check again. + * Request for zero elements always succeeds + */ + if(!nReq) + return 0; switch (dbrType) { case DBR_STRING: - maxlen = MAX_STRING_SIZE - 1; - if (nRequest && *nRequest > 1) *nRequest = 1; + maxlen = MAX_STRING_SIZE; + nReq = 1; break; case DBR_DOUBLE: /* Needed for dbCa links */ - if (nRequest && *nRequest) *nRequest = 1; + if (nRequest) *nRequest = 1; *(double *)pbuf = epicsNAN; return 0; case DBR_CHAR: case DBR_UCHAR: - if (nRequest && *nRequest > 0) { - maxlen = *nRequest - 1; - break; - } - /* else fall through ... */ + maxlen = nReq; + break; default: return S_db_badDbrtype; } @@ -768,10 +774,13 @@ static long getLinkValue(DBADDR *paddr, short dbrType, status = dbFindRecord(&dbEntry, precord->name); if (!status) status = dbFindField(&dbEntry, pfldDes->name); if (!status) { - char *rtnString = dbGetString(&dbEntry); + const char *rtnString = dbGetString(&dbEntry); - strncpy(pbuf, rtnString, --maxlen); - pbuf[maxlen] = 0; + strncpy(pbuf, rtnString, maxlen-1); + pbuf[maxlen-1] = 0; + if(dbrType!=DBR_STRING) + nReq = strlen(pbuf)+1; + if(nRequest) *nRequest = nReq; } dbFinishEntry(&dbEntry); return status; From fc8d4c2b5f3b50be57cdf002596469df8a42dcdc Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 4 Apr 2017 20:55:21 -0400 Subject: [PATCH 211/226] db/test: dbPutGetTest add test for lp:1678494 --- src/ioc/db/test/dbPutGetTest.c | 33 ++++++++++++++++++++++++++++++++- src/ioc/db/test/dbPutGetTest.db | 6 ++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/ioc/db/test/dbPutGetTest.c b/src/ioc/db/test/dbPutGetTest.c index 5c3bbf045..69cb09812 100644 --- a/src/ioc/db/test/dbPutGetTest.c +++ b/src/ioc/db/test/dbPutGetTest.c @@ -1,6 +1,7 @@ #include +#include #include #include #include @@ -58,11 +59,33 @@ void testStringMax(void) testdbGetStringEqual("recmax.DISA", "-1"); } +static +void testLongLink(void) +{ + testDiag("testLonkLink()"); + + testdbGetFieldEqual("lnktest.INP", DBR_STRING, "lnktarget NPP NMS"); + testdbGetFieldEqual("lnktest.INP$", DBR_STRING, "lnktarget NPP NMS"); + testDiag("dbGet() w/ nRequest==1 gets only trailing nil"); + testdbGetFieldEqual("lnktest.INP$", DBR_CHAR, '\0'); + testdbGetArrFieldEqual("lnktest.INP$", DBR_CHAR, 19, 18, "lnktarget NPP NMS"); + + testDiag("get w/ truncation"); + testdbGetArrFieldEqual("lnktest.INP$", DBR_CHAR, 0, 0, NULL); + testdbGetArrFieldEqual("lnktest.INP$", DBR_CHAR, 1, 1, ""); + testdbGetArrFieldEqual("lnktest.INP$", DBR_CHAR, 2, 2, "l"); + testdbGetArrFieldEqual("lnktest.INP$", DBR_CHAR, 3, 3, "ln"); + testdbGetArrFieldEqual("lnktest.INP$", DBR_CHAR, 17, 17, "lnktarget NPP NM"); + testdbGetArrFieldEqual("lnktest.INP$", DBR_CHAR, 18, 18, "lnktarget NPP NMS"); + + testdbGetArrFieldEqual("lnktest.INP", DBR_STRING, 2, 1, "lnktarget NPP NMS"); +} + void dbTestIoc_registerRecordDeviceDriver(struct dbBase *); MAIN(dbPutGet) { - testPlan(13); + testPlan(24); testdbPrepare(); testdbReadDatabase("dbTestIoc.dbd", NULL, NULL); @@ -73,6 +96,14 @@ MAIN(dbPutGet) testStringMax(); + eltc(0); + testIocInitOk(); + eltc(1); + + testLongLink(); + + testIocShutdownOk(); + testdbCleanup(); return testDone(); diff --git a/src/ioc/db/test/dbPutGetTest.db b/src/ioc/db/test/dbPutGetTest.db index 096dbe2e4..bacaa5638 100644 --- a/src/ioc/db/test/dbPutGetTest.db +++ b/src/ioc/db/test/dbPutGetTest.db @@ -33,3 +33,9 @@ record(x, "recoverwrite") { record(x, "recmax") { field(DISA, "0xffffffff") } + +record(x, "lnktarget") {} + +record(x, "lnktest") { + field(INP, "lnktarget NPP NMS") +} From 8ebfd0821aca0a29555a119db87ddb552132c524 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 4 Apr 2017 21:11:36 -0400 Subject: [PATCH 212/226] db: fix dbGet() for attributes as long string dbGet() of "rec.RTYP$" with DBF_CHAR and nRequest==1 not handled correctly. Results in crash. --- src/ioc/db/dbAccess.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index a13ea566d..97e9c9ad4 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -790,28 +790,31 @@ static long getAttrValue(DBADDR *paddr, short dbrType, char *pbuf, long *nRequest) { int maxlen; + long nReq = nRequest ? *nRequest : 1; if (!paddr->pfield) return S_db_badField; switch (dbrType) { case DBR_STRING: - maxlen = MAX_STRING_SIZE - 1; - if (nRequest && *nRequest > 1) *nRequest = 1; + maxlen = MAX_STRING_SIZE; + nReq = 1; break; case DBR_CHAR: case DBR_UCHAR: - if (nRequest && *nRequest > 0) { - maxlen = *nRequest - 1; - break; - } + maxlen = nReq; + break; + /* else fall through ... */ default: return S_db_badDbrtype; } - strncpy(pbuf, paddr->pfield, --maxlen); - pbuf[maxlen] = 0; + strncpy(pbuf, paddr->pfield, maxlen-1); + pbuf[maxlen-1] = 0; + if(dbrType!=DBR_STRING) + nReq = strlen(pbuf)+1; + if(nRequest) *nRequest = nReq; return 0; } From 5e082bb75d6b3f7ba49cb46bcb3e22ebc16b4cfd Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 4 Apr 2017 21:13:07 -0400 Subject: [PATCH 213/226] db/test: dbPutGetTest check for dbGet() attribute crash --- src/ioc/db/test/dbPutGetTest.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/ioc/db/test/dbPutGetTest.c b/src/ioc/db/test/dbPutGetTest.c index 69cb09812..1f3c5813d 100644 --- a/src/ioc/db/test/dbPutGetTest.c +++ b/src/ioc/db/test/dbPutGetTest.c @@ -81,11 +81,29 @@ void testLongLink(void) testdbGetArrFieldEqual("lnktest.INP", DBR_STRING, 2, 1, "lnktarget NPP NMS"); } +static +void testLongAttr(void) +{ + testDiag("testLongAttr()"); + + testdbGetFieldEqual("lnktest.RTYP", DBR_STRING, "x"); + testdbGetFieldEqual("lnktest.RTYP$", DBR_STRING, "x"); + testDiag("dbGet() w/ nRequest==1 gets only trailing nil"); + testdbGetFieldEqual("lnktest.RTYP$", DBR_CHAR, '\0'); + + testdbGetArrFieldEqual("lnktest.RTYP$", DBR_CHAR, 4, 2, "x"); + + testDiag("get w/ truncation"); + testdbGetArrFieldEqual("lnktest.RTYP$", DBR_CHAR, 0, 0, NULL); + testdbGetArrFieldEqual("lnktest.RTYP$", DBR_CHAR, 1, 1, ""); + testdbGetArrFieldEqual("lnktest.RTYP$", DBR_CHAR, 2, 2, "x"); +} + void dbTestIoc_registerRecordDeviceDriver(struct dbBase *); MAIN(dbPutGet) { - testPlan(24); + testPlan(31); testdbPrepare(); testdbReadDatabase("dbTestIoc.dbd", NULL, NULL); @@ -101,6 +119,7 @@ MAIN(dbPutGet) eltc(1); testLongLink(); + testLongAttr(); testIocShutdownOk(); From 739a112becd12b85b2c5a184a1c9a8e8e4c45909 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 6 Apr 2017 18:42:54 -0400 Subject: [PATCH 214/226] db: dbGet() ensure long string nil and actual string length --- src/ioc/db/dbAccess.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index 97e9c9ad4..4b232b37e 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -942,6 +942,15 @@ long dbGet(DBADDR *paddr, short dbrType, localAddr.pfield = (char *) pfl->u.r.field; status = convert(&localAddr, pbuf, n, capacity, offset); } + + if(!status && dbrType==DBF_CHAR && nRequest && + paddr->pfldDes && paddr->pfldDes->field_type==DBF_STRING) + { + /* long string ensure nil and truncate to actual length */ + long nReq = *nRequest; + pbuf[nReq-1] = '\0'; + *nRequest = strlen(pbuf)+1; + } } done: paddr->pfield = pfieldsave; From b624222a0fbe47c7bf92adbe59bb5625264ce96b Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 6 Apr 2017 18:43:17 -0400 Subject: [PATCH 215/226] db/test: dbPutGetTest check dbGet() of long string field --- src/ioc/db/test/dbPutGetTest.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/ioc/db/test/dbPutGetTest.c b/src/ioc/db/test/dbPutGetTest.c index 1f3c5813d..61b31a785 100644 --- a/src/ioc/db/test/dbPutGetTest.c +++ b/src/ioc/db/test/dbPutGetTest.c @@ -99,11 +99,31 @@ void testLongAttr(void) testdbGetArrFieldEqual("lnktest.RTYP$", DBR_CHAR, 2, 2, "x"); } +static +void testLongField(void) +{ + testDiag("testLongField()"); + + testdbGetFieldEqual("lnktest.NAME", DBR_STRING, "lnktest"); + testdbGetFieldEqual("lnktest.NAME$", DBR_STRING, "108"); + testDiag("dbGet() w/ nRequest==1 gets only trailing nil"); + testdbGetFieldEqual("lnktest.NAME$", DBR_CHAR, '\0'); + testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 10, 8, "lnktest"); + + testDiag("get w/ truncation"); + testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 0, 0, NULL); + testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 1, 1, ""); + testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 2, 2, "l"); + testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 3, 3, "ln"); + testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 7, 7, "lnktes"); + testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 8, 8, "lnktest"); +} + void dbTestIoc_registerRecordDeviceDriver(struct dbBase *); MAIN(dbPutGet) { - testPlan(31); + testPlan(41); testdbPrepare(); testdbReadDatabase("dbTestIoc.dbd", NULL, NULL); @@ -120,6 +140,7 @@ MAIN(dbPutGet) testLongLink(); testLongAttr(); + testLongField(); testIocShutdownOk(); From 352fd32c457f6f94835d3f56b2b3d72426d04dde Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 12 Apr 2017 20:30:23 -0400 Subject: [PATCH 216/226] libCom/test: add ipAddrToAsciiTest to testHarness --- src/libCom/test/Makefile | 1 + src/libCom/test/epicsRunLibComTests.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index 6800b5cdf..6239e0b41 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -154,6 +154,7 @@ TESTS += epicsMessageQueueTest TESTPROD_HOST += ipAddrToAsciiTest ipAddrToAsciiTest_SRCS += ipAddrToAsciiTest.cpp +testHarness_SRCS += ipAddrToAsciiTest.cpp TESTS += ipAddrToAsciiTest # The testHarness runs all the test programs in a known working order. diff --git a/src/libCom/test/epicsRunLibComTests.c b/src/libCom/test/epicsRunLibComTests.c index 81290644a..16d316592 100644 --- a/src/libCom/test/epicsRunLibComTests.c +++ b/src/libCom/test/epicsRunLibComTests.c @@ -41,6 +41,7 @@ int macEnvExpandTest(void); int ringPointerTest(void); int ringBytesTest(void); int blockingSockTest(void); +int ipAddrToAsciiTest(void); int epicsSockResolveTest(void); int taskwdTest(void); int epicsExitTest(void); @@ -102,6 +103,8 @@ void epicsRunLibComTests(void) runTest(ringBytesTest); runTest(blockingSockTest); + + runTest(ipAddrToAsciiTest); runTest(epicsSockResolveTest); From 1f90e984918f9ef169570ae79b37ee605284255f Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sat, 15 Apr 2017 19:34:04 -0400 Subject: [PATCH 217/226] libCom/test: ipAddrToAsciiTest skip cleanup unless valgrind is possible --- src/libCom/test/ipAddrToAsciiTest.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libCom/test/ipAddrToAsciiTest.cpp b/src/libCom/test/ipAddrToAsciiTest.cpp index c17c1a7cd..0999555b6 100644 --- a/src/libCom/test/ipAddrToAsciiTest.cpp +++ b/src/libCom/test/ipAddrToAsciiTest.cpp @@ -7,6 +7,8 @@ #include #include +#include + #define EPICS_PRIVATE_API #include "epicsMutex.h" @@ -156,6 +158,10 @@ MAIN(ipAddrToAsciiTest) // TODO: somehow test cancel of in-progress callback // allow time for any un-canceled transcations to crash us... epicsThreadSleep(1.0); + +#ifndef NVALGRIND ipAddrToAsciiEngine::cleanup(); +#endif + return testDone(); } From 0c02c5cb30c7e1e384b6438a8e78e0fec65ac771 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sat, 15 Apr 2017 19:38:56 -0400 Subject: [PATCH 218/226] update notes --- documentation/RELEASE_NOTES.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 859ff7b29..b2465e53c 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -13,6 +13,12 @@ +

    Fix DNS related crash on exit

    + +

    The attempt to fix DNS related delays for short lived CLI programs (eg. caget) +in lp:1527636 introduced a bug which cased these short lived clients to crash on exit. +This bug should now be fixed.

    +

    Server bind issue on Windows

    When a National Instruments network variables CA server is already running on From d4552af39b5006aa5f3a9d2d0c67411464ec54b9 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 17 Apr 2017 11:47:21 -0500 Subject: [PATCH 219/226] Fix and test for macLib losing error status Problem found & diagnosed by Mark Rivers. --- src/libCom/macLib/macCore.c | 4 ++-- src/libCom/test/macLibTest.c | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libCom/macLib/macCore.c b/src/libCom/macLib/macCore.c index f550ed7dc..ba1c84fa4 100644 --- a/src/libCom/macLib/macCore.c +++ b/src/libCom/macLib/macCore.c @@ -857,9 +857,9 @@ static void refer ( MAC_HANDLE *handle, MAC_ENTRY *entry, int level, if ( !refentry->visited ) { /* reference is good, use it */ if ( !handle->dirty ) { - /* copy the already-expanded value, and its error status! */ + /* copy the already-expanded value, merge any error status */ cpy2val( refentry->value, &v, valend ); - entry->error = refentry->error; + entry->error = entry->error || refentry->error; } else { /* translate raw value */ const char *rv = refentry->rawval; diff --git a/src/libCom/test/macLibTest.c b/src/libCom/test/macLibTest.c index 1f00a6ac7..7f1e2c544 100644 --- a/src/libCom/test/macLibTest.c +++ b/src/libCom/test/macLibTest.c @@ -65,7 +65,7 @@ static void ovcheck(void) MAIN(macLibTest) { - testPlan(89); + testPlan(91); if (macCreateHandle(&h, NULL)) testAbort("macCreateHandle() failed"); @@ -203,6 +203,9 @@ MAIN(macLibTest) /* STR2 = "VAL2" */ check("${FOO}", " VAL2"); + check("$(FOO)$(FOO1)", "!VAL2$(FOO1,undefined)"); + check("$(FOO1)$(FOO)", "!$(FOO1,undefined)VAL2"); + macPutValue(h, "BAR","${FOO}"); /* FOO = "${BAR}" */ /* BAR = "${FOO}" */ From f3841c4767397acea160d7131ea4996c19714623 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 17 Apr 2017 18:58:19 -0400 Subject: [PATCH 220/226] avoid void* += --- src/ioc/db/dbUnitTest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ioc/db/dbUnitTest.c b/src/ioc/db/dbUnitTest.c index 374a3eb51..7764f78a8 100644 --- a/src/ioc/db/dbUnitTest.c +++ b/src/ioc/db/dbUnitTest.c @@ -190,13 +190,13 @@ void testdbVGetFieldEqual(const char* pv, short dbrType, va_list ap) } } -void testdbGetArrFieldEqual(const char* pv, short dbfType, long nRequest, unsigned long cnt, const void *pbuf) +void testdbGetArrFieldEqual(const char* pv, short dbfType, long nRequest, unsigned long cnt, const void *pbufraw) { DBADDR addr; const long vSize = dbValueSize(dbfType); const long nStore = vSize * nRequest; long status; - void *gbuf, *gstore; + char *gbuf, *gstore, *pbuf = pbuf; if(dbNameToAddr(pv, &addr)) { testFail("Missing PV \"%s\"", pv); From 6f9905d06059461ca9eea7da6af4ecb2b928b136 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 18 Apr 2017 14:48:54 -0500 Subject: [PATCH 221/226] Fix dbUnitTest.c --- src/ioc/db/dbUnitTest.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ioc/db/dbUnitTest.c b/src/ioc/db/dbUnitTest.c index 7764f78a8..a92f8de7d 100644 --- a/src/ioc/db/dbUnitTest.c +++ b/src/ioc/db/dbUnitTest.c @@ -196,7 +196,8 @@ void testdbGetArrFieldEqual(const char* pv, short dbfType, long nRequest, unsign const long vSize = dbValueSize(dbfType); const long nStore = vSize * nRequest; long status; - char *gbuf, *gstore, *pbuf = pbuf; + char *gbuf, *gstore; + const char *pbuf = pbufraw; if(dbNameToAddr(pv, &addr)) { testFail("Missing PV \"%s\"", pv); From b8f542fc0d9c127a4ee22cb586d131c47c2a3d16 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 18 Apr 2017 14:49:40 -0500 Subject: [PATCH 222/226] Add a plan to std/filters/test/syncTest.c --- src/std/filters/test/syncTest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/std/filters/test/syncTest.c b/src/std/filters/test/syncTest.c index ce9b23d01..eea24508b 100644 --- a/src/std/filters/test/syncTest.c +++ b/src/std/filters/test/syncTest.c @@ -140,7 +140,7 @@ MAIN(syncTest) int i; dbEventCtx evtctx; - testPlan(0); + testPlan(139); dbChannelInit(); evtctx = db_init_events(); From aca7b44a0556d741f5c54e3c8d6507028c5ad26a Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 20 Apr 2017 11:42:52 -0500 Subject: [PATCH 223/226] Supress MS warning C4251 --- configure/os/CONFIG.win32-x86.win32-x86 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 022f80736..863841923 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -101,11 +101,12 @@ CODE_CPPFLAGS += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE # Compiler flags for C++ files # -# -W use warning level N -# (maximum lint level warnings at level 4) -# -w44355 set "'this' used in the base initializer list" to be level 4 +# -W disable warnings from levels > n +# -w set warning m to level n +# -w44355 "'this' used in the base initializer list" # -w44344 "behavior change: use of explicit template arguments results in ..." -WARN_CXXFLAGS_YES = -W3 -w44355 -w44344 +# -w44251 "class needs to have dll-interface to be used by clients of ..." +WARN_CXXFLAGS_YES = -W3 -w44355 -w44344 -w44251 WARN_CXXFLAGS_NO = -W1 # From 9f01c475421ccfcad25607773e2d9b72a002bce3 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 20 Apr 2017 16:23:36 -0500 Subject: [PATCH 224/226] Allow whitespace before comments in AS config files Fixes lp: #1677302 Makes the lexer patterns more like dbStatic. Handle non-printable invalid characters in input properly. --- src/as/asLib_lex.l | 52 ++++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/src/as/asLib_lex.l b/src/as/asLib_lex.l index 5e0451925..924105c14 100644 --- a/src/as/asLib_lex.l +++ b/src/as/asLib_lex.l @@ -3,18 +3,21 @@ * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. \*************************************************************************/ -digit [0-9] -name [a-zA-Z0-9_\-:\.\[\]<>;] -notquote [^\"] -escapequote \\\" -string {notquote}|{escapequote} +newline "\n" +backslash "\\" +doublequote "\"" +comment "#" whitespace [ \t\r] +escape {backslash}. +stringchar [^"\n\\] + +name [a-zA-Z0-9_\-+:.\[\]<>;] +digit [0-9] punctuation [(){},] -link [A-L] +link [A-L] %{ static ASINPUTFUNCPTR *my_yyinput; @@ -37,46 +40,55 @@ HAG { return(tokenHAG); } ASG { return(tokenASG); } RULE { return(tokenRULE); } CALC { return(tokenCALC); } + INP{link} { yylval.Int = (unsigned char)yytext[3]; yylval.Int -= 'A'; return(tokenINP); - } +} {digit}+ { /*integer*/ yylval.Int = atoi((char *)yytext); return(tokenINTEGER); - } +} {name}+ { /*unquoted string*/ yylval.Str=asStrdup(yytext); return(tokenSTRING); - } +} -\"{string}*\" { /*quoted string*/ - /* making sure that neither double quote gets passed back */ +{doublequote}({stringchar}|{escape})*{doublequote} { /* quoted string */ yylval.Str=asStrdup(yytext+1); yylval.Str[strlen(yylval.Str)-1] = '\0'; return(tokenSTRING); - } +} + +{doublequote}({stringchar}|{escape})*{newline} { /* bad string */ + yyerror("Newline in quoted string, closing quote missing"); +} {punctuation} { return(yytext[0]); } -^#.* -{whitespace} ; +{newline} { line_num++; } -\n { line_num ++;} +{comment}.* ; +{whitespace} ; . { char message[40]; YY_BUFFER_STATE *dummy=0; - sprintf(message,"invalid character '%c'",yytext[0]); + if (isprint((int) yytext[0])) { + sprintf(message, "Invalid character '%c'", yytext[0]); + } + else { + sprintf(message, "Invalid character 0x%2.2x", yytext[0]); + } yyerror(message); /*The following suppress compiler warning messages*/ if (0) yyunput('c',(unsigned char *) message); if (0) yy_switch_to_buffer(*dummy); - } +} %% From 64c16c0f6e7fecb4a65c059efff005067541630a Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 20 Apr 2017 16:27:20 -0500 Subject: [PATCH 225/226] Cleanup in asLib Improve error messages. Remove unnecessary pointer casts. --- src/as/asLib.y | 16 ++- src/as/asLibRoutines.c | 276 +++++++++++++++++++++-------------------- 2 files changed, 146 insertions(+), 146 deletions(-) diff --git a/src/as/asLib.y b/src/as/asLib.y index 7e2803158..55d48ebad 100644 --- a/src/as/asLib.y +++ b/src/as/asLib.y @@ -3,9 +3,8 @@ * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. \*************************************************************************/ %{ static int yyerror(char *); @@ -29,9 +28,7 @@ static ASGRULE *yyAsgRule=NULL; %union { int Int; - char Char; char *Str; - double Real; } %% @@ -208,11 +205,12 @@ rule_hag_list_name: tokenSTRING static int yyerror(char *str) { - if (strlen(str)) epicsPrintf("%s\n", str); - epicsPrintf("Access Security file error at line %d\n", - line_num); + if (strlen(str)) + errlogPrintf("%s at line %d\n", str, line_num); + else + errlogPrintf("Error at line %d\n", line_num); yyFailed = TRUE; - return(0); + return 0; } static int myParse(ASINPUTFUNCPTR inputfunction) { diff --git a/src/as/asLibRoutines.c b/src/as/asLibRoutines.c index 2a5c0d798..be3f1e2ef 100644 --- a/src/as/asLibRoutines.c +++ b/src/as/asLibRoutines.c @@ -1,12 +1,10 @@ -/* share/src/as/asLibRoutines.c */ /*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. -* EPICS BASE Versions 3.13.7 -* and higher are distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* Author: Marty Kraimer Date: 10-15-93 */ @@ -21,7 +19,7 @@ #include "epicsThread.h" #include "cantProceed.h" #include "epicsMutex.h" -#include "epicsPrint.h" +#include "errlog.h" #include "gpHash.h" #include "freeList.h" #include "macLib.h" @@ -111,7 +109,7 @@ long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction) pasg = (ASG *)ellFirst(&pasbasenew->asgList); while(pasg) { pasg->pavalue = asCalloc(CALCPERFORM_NARGS, sizeof(double)); - pasg = (ASG *)ellNext((ELLNODE *)pasg); + pasg = (ASG *)ellNext(&pasg->node); } gphInitPvt(&pasbasenew->phash, 256); /*Hash each uagname and each hagname*/ @@ -121,12 +119,12 @@ long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction) while(puagname) { pgphentry = gphAdd(pasbasenew->phash,puagname->user,puag); if(!pgphentry) { - epicsPrintf("Duplicated user '%s' in UAG '%s'\n", + errlogPrintf("Duplicated user '%s' in UAG '%s'\n", puagname->user, puag->name); } - puagname = (UAGNAME *)ellNext((ELLNODE *)puagname); + puagname = (UAGNAME *)ellNext(&puagname->node); } - puag = (UAG *)ellNext((ELLNODE *)puag); + puag = (UAG *)ellNext(&puag->node); } phag = (HAG *)ellFirst(&pasbasenew->hagList); while(phag) { @@ -134,12 +132,12 @@ long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction) while(phagname) { pgphentry = gphAdd(pasbasenew->phash,phagname->host,phag); if(!pgphentry) { - epicsPrintf("Duplicated host '%s' in HAG '%s'\n", + errlogPrintf("Duplicated host '%s' in HAG '%s'\n", phagname->host, phag->name); } - phagname = (HAGNAME *)ellNext((ELLNODE *)phagname); + phagname = (HAGNAME *)ellNext(&phagname->node); } - phag = (HAG *)ellNext((ELLNODE *)phag); + phag = (HAG *)ellNext(&phag->node); } pasbaseold = (ASBASE *)pasbase; pasbase = (ASBASE volatile *)pasbasenew; @@ -152,12 +150,12 @@ long epicsShareAPI asInitialize(ASINPUTFUNCPTR inputfunction) while(poldasg) { poldmem = (ASGMEMBER *)ellFirst(&poldasg->memberList); while(poldmem) { - pnextoldmem = (ASGMEMBER *)ellNext((ELLNODE *)poldmem); - ellDelete(&poldasg->memberList,(ELLNODE *)poldmem); + pnextoldmem = (ASGMEMBER *)ellNext(&poldmem->node); + ellDelete(&poldasg->memberList,&poldmem->node); status = asAddMemberPvt(&poldmem,poldmem->asgName); poldmem = pnextoldmem; } - poldasg = (ASG *)ellNext((ELLNODE *)poldasg); + poldasg = (ASG *)ellNext(&poldasg->node); } asFreeAll(pasbaseold); } @@ -203,7 +201,7 @@ static int myInputFunction(char *buf, int max_size) n = macExpandString(macHandle,mac_input_buffer, my_buffer,BUF_SIZE); if(n<0) { - epicsPrintf("access security: macExpandString failed\n" + errlogPrintf("access security: macExpandString failed\n" "input line: %s\n",mac_input_buffer); return(0); } @@ -243,7 +241,7 @@ long epicsShareAPI asInitFP(FILE *fp,const char *substitutions) macHandle = NULL; } else { macInstallMacros(macHandle,macPairs); - free((void *)macPairs); + free(macPairs); mac_input_buffer = mac_buffer; } } @@ -279,13 +277,13 @@ long epicsShareAPI asRemoveMember(ASMEMBERPVT *asMemberPvt) return(S_asLib_clientsExist); } if(pasgmember->pasg) { - ellDelete(&pasgmember->pasg->memberList,(ELLNODE *)pasgmember); + ellDelete(&pasgmember->pasg->memberList,&pasgmember->node); } else { errMessage(-1,"Logic error in asRemoveMember"); UNLOCK; return(-1); } - free((void *)pasgmember); + free(pasgmember); *asMemberPvt = NULL; UNLOCK; return(0); @@ -301,7 +299,7 @@ long epicsShareAPI asChangeGroup(ASMEMBERPVT *asMemberPvt,const char *newAsgName if(!pasgmember) return(S_asLib_badMember); LOCK; if(pasgmember->pasg) { - ellDelete(&pasgmember->pasg->memberList,(ELLNODE *)pasgmember); + ellDelete(&pasgmember->pasg->memberList,&pasgmember->node); } else { errMessage(-1,"Logic error in asChangeGroup"); UNLOCK; @@ -353,7 +351,7 @@ long epicsShareAPI asAddClient(ASCLIENTPVT *pasClientPvt,ASMEMBERPVT asMemberPvt pasgclient->user = user; pasgclient->host = host; LOCK; - ellAdd(&pasgmember->clientList,(ELLNODE *)pasgclient); + ellAdd(&pasgmember->clientList,&pasgclient->node); status = asComputePvt(pasgclient); UNLOCK; return(status); @@ -395,7 +393,7 @@ long epicsShareAPI asRemoveClient(ASCLIENTPVT *asClientPvt) UNLOCK; return(-1); } - ellDelete(&pasgMember->clientList,(ELLNODE *)pasgclient); + ellDelete(&pasgMember->clientList,&pasgclient->node); UNLOCK; freeListFree(freeListPvt,pasgclient); *asClientPvt = NULL; @@ -508,10 +506,10 @@ int epicsShareAPI asDumpFP( if(puagname) fprintf(fp," {"); else fprintf(fp,"\n"); while(puagname) { fprintf(fp,"%s",puagname->user); - puagname = (UAGNAME *)ellNext((ELLNODE *)puagname); + puagname = (UAGNAME *)ellNext(&puagname->node); if(puagname) fprintf(fp,","); else fprintf(fp,"}\n"); } - puag = (UAG *)ellNext((ELLNODE *)puag); + puag = (UAG *)ellNext(&puag->node); } phag = (HAG *)ellFirst(&pasbase->hagList); if(!phag) fprintf(fp,"No HAGs\n"); @@ -521,10 +519,10 @@ int epicsShareAPI asDumpFP( if(phagname) fprintf(fp," {"); else fprintf(fp,"\n"); while(phagname) { fprintf(fp,"%s",phagname->host); - phagname = (HAGNAME *)ellNext((ELLNODE *)phagname); + phagname = (HAGNAME *)ellNext(&phagname->node); if(phagname) fprintf(fp,","); else fprintf(fp,"}\n"); } - phag = (HAG *)ellNext((ELLNODE *)phag); + phag = (HAG *)ellNext(&phag->node); } pasg = (ASG *)ellFirst(&pasbase->asgList); if(!pasg) fprintf(fp,"No ASGs\n"); @@ -552,7 +550,7 @@ int epicsShareAPI asDumpFP( fprintf(fp," value=%f",pasg->pavalue[pasginp->inpIndex]); } fprintf(fp,"\n"); - pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp); + pasginp = (ASGINP *)ellNext(&pasginp->node); } while(pasgrule) { int print_end_brace; @@ -572,14 +570,14 @@ int epicsShareAPI asDumpFP( if(pasguag) fprintf(fp,"\t\tUAG("); while(pasguag) { fprintf(fp,"%s",pasguag->puag->name); - pasguag = (ASGUAG *)ellNext((ELLNODE *)pasguag); + pasguag = (ASGUAG *)ellNext(&pasguag->node); if(pasguag) fprintf(fp,","); else fprintf(fp,")\n"); } pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList); if(pasghag) fprintf(fp,"\t\tHAG("); while(pasghag) { fprintf(fp,"%s",pasghag->phag->name); - pasghag = (ASGHAG *)ellNext((ELLNODE *)pasghag); + pasghag = (ASGHAG *)ellNext(&pasghag->node); if(pasghag) fprintf(fp,","); else fprintf(fp,")\n"); } if(pasgrule->calc) { @@ -589,7 +587,7 @@ int epicsShareAPI asDumpFP( fprintf(fp,"\n"); } if(print_end_brace) fprintf(fp,"\t}\n"); - pasgrule = (ASGRULE *)ellNext((ELLNODE *)pasgrule); + pasgrule = (ASGRULE *)ellNext(&pasgrule->node); } pasgmember = (ASGMEMBER *)ellFirst(&pasg->memberList); if(!verbose) pasgmember = NULL; @@ -616,12 +614,12 @@ int epicsShareAPI asDumpFP( fprintf(fp," Illegal Access %d",pasgclient->access); if(clientcallback) clientcallback(pasgclient,fp); fprintf(fp,"\n"); - pasgclient = (ASGCLIENT *)ellNext((ELLNODE *)pasgclient); + pasgclient = (ASGCLIENT *)ellNext(&pasgclient->node); } - pasgmember = (ASGMEMBER *)ellNext((ELLNODE *)pasgmember); + pasgmember = (ASGMEMBER *)ellNext(&pasgmember->node); } if(print_end_brace) fprintf(fp,"}\n"); - pasg = (ASG *)ellNext((ELLNODE *)pasg); + pasg = (ASG *)ellNext(&pasg->node); } return(0); } @@ -641,7 +639,7 @@ int epicsShareAPI asDumpUagFP(FILE *fp,const char *uagname) if(!puag) fprintf(fp,"No UAGs\n"); while(puag) { if(uagname && strcmp(uagname,puag->name)!=0) { - puag = (UAG *)ellNext((ELLNODE *)puag); + puag = (UAG *)ellNext(&puag->node); continue; } fprintf(fp,"UAG(%s)",puag->name); @@ -649,10 +647,10 @@ int epicsShareAPI asDumpUagFP(FILE *fp,const char *uagname) if(puagname) fprintf(fp," {"); else fprintf(fp,"\n"); while(puagname) { fprintf(fp,"%s",puagname->user); - puagname = (UAGNAME *)ellNext((ELLNODE *)puagname); + puagname = (UAGNAME *)ellNext(&puagname->node); if(puagname) fprintf(fp,","); else fprintf(fp,"}\n"); } - puag = (UAG *)ellNext((ELLNODE *)puag); + puag = (UAG *)ellNext(&puag->node); } return(0); } @@ -672,7 +670,7 @@ int epicsShareAPI asDumpHagFP(FILE *fp,const char *hagname) if(!phag) fprintf(fp,"No HAGs\n"); while(phag) { if(hagname && strcmp(hagname,phag->name)!=0) { - phag = (HAG *)ellNext((ELLNODE *)phag); + phag = (HAG *)ellNext(&phag->node); continue; } fprintf(fp,"HAG(%s)",phag->name); @@ -680,10 +678,10 @@ int epicsShareAPI asDumpHagFP(FILE *fp,const char *hagname) if(phagname) fprintf(fp," {"); else fprintf(fp,"\n"); while(phagname) { fprintf(fp,"%s",phagname->host); - phagname = (HAGNAME *)ellNext((ELLNODE *)phagname); + phagname = (HAGNAME *)ellNext(&phagname->node); if(phagname) fprintf(fp,","); else fprintf(fp,"}\n"); } - phag = (HAG *)ellNext((ELLNODE *)phag); + phag = (HAG *)ellNext(&phag->node); } return(0); } @@ -708,7 +706,7 @@ int epicsShareAPI asDumpRulesFP(FILE *fp,const char *asgname) int print_end_brace; if(asgname && strcmp(asgname,pasg->name)!=0) { - pasg = (ASG *)ellNext((ELLNODE *)pasg); + pasg = (ASG *)ellNext(&pasg->node); continue; } fprintf(fp,"ASG(%s)",pasg->name); @@ -728,7 +726,7 @@ int epicsShareAPI asDumpRulesFP(FILE *fp,const char *asgname) fprintf(fp," INVALID"); fprintf(fp," value=%f",pasg->pavalue[pasginp->inpIndex]); fprintf(fp,"\n"); - pasginp = (ASGINP *)ellNext((ELLNODE *)pasginp); + pasginp = (ASGINP *)ellNext(&pasginp->node); } while(pasgrule) { int print_end_brace; @@ -748,14 +746,14 @@ int epicsShareAPI asDumpRulesFP(FILE *fp,const char *asgname) if(pasguag) fprintf(fp,"\t\tUAG("); while(pasguag) { fprintf(fp,"%s",pasguag->puag->name); - pasguag = (ASGUAG *)ellNext((ELLNODE *)pasguag); + pasguag = (ASGUAG *)ellNext(&pasguag->node); if(pasguag) fprintf(fp,","); else fprintf(fp,")\n"); } pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList); if(pasghag) fprintf(fp,"\t\tHAG("); while(pasghag) { fprintf(fp,"%s",pasghag->phag->name); - pasghag = (ASGHAG *)ellNext((ELLNODE *)pasghag); + pasghag = (ASGHAG *)ellNext(&pasghag->node); if(pasghag) fprintf(fp,","); else fprintf(fp,")\n"); } if(pasgrule->calc) { @@ -764,10 +762,10 @@ int epicsShareAPI asDumpRulesFP(FILE *fp,const char *asgname) fprintf(fp,"\n"); } if(print_end_brace) fprintf(fp,"\t}\n"); - pasgrule = (ASGRULE *)ellNext((ELLNODE *)pasgrule); + pasgrule = (ASGRULE *)ellNext(&pasgrule->node); } if(print_end_brace) fprintf(fp,"}\n"); - pasg = (ASG *)ellNext((ELLNODE *)pasg); + pasg = (ASG *)ellNext(&pasg->node); } return(0); } @@ -791,7 +789,7 @@ int epicsShareAPI asDumpMemFP(FILE *fp,const char *asgname, while(pasg) { if(asgname && strcmp(asgname,pasg->name)!=0) { - pasg = (ASG *)ellNext((ELLNODE *)pasg); + pasg = (ASG *)ellNext(&pasg->node); continue; } fprintf(fp,"ASG(%s)\n",pasg->name); @@ -820,11 +818,11 @@ int epicsShareAPI asDumpMemFP(FILE *fp,const char *asgname, else fprintf(fp," Illegal Access %d",pasgclient->access); fprintf(fp,"\n"); - pasgclient = (ASGCLIENT *)ellNext((ELLNODE *)pasgclient); + pasgclient = (ASGCLIENT *)ellNext(&pasgclient->node); } - pasgmember = (ASGMEMBER *)ellNext((ELLNODE *)pasgmember); + pasgmember = (ASGMEMBER *)ellNext(&pasgmember->node); } - pasg = (ASG *)ellNext((ELLNODE *)pasg); + pasg = (ASG *)ellNext(&pasg->node); } return(0); } @@ -875,23 +873,23 @@ static long asAddMemberPvt(ASMEMBERPVT *pasMemberPvt,const char *asgName) pgroup = (ASG *)ellFirst(&pasbase->asgList); while(pgroup) { if(strcmp(pgroup->name,pasgmember->asgName)==0) goto got_it; - pgroup = (ASG *)ellNext((ELLNODE *)pgroup); + pgroup = (ASG *)ellNext(&pgroup->node); } /* Put it in DEFAULT*/ pgroup = (ASG *)ellFirst(&pasbase->asgList); while(pgroup) { if(strcmp(pgroup->name,DEFAULT)==0) goto got_it; - pgroup = (ASG *)ellNext((ELLNODE *)pgroup); + pgroup = (ASG *)ellNext(&pgroup->node); } errMessage(-1,"Logic Error in asAddMember"); return(-1); got_it: pasgmember->pasg = pgroup; - ellAdd(&pgroup->memberList,(ELLNODE *)pasgmember); + ellAdd(&pgroup->memberList,&pasgmember->node); pasgclient = (ASGCLIENT *)ellFirst(&pasgmember->clientList); while(pasgclient) { asComputePvt((ASCLIENTPVT)pasgclient); - pasgclient = (ASGCLIENT *)ellNext((ELLNODE *)pasgclient); + pasgclient = (ASGCLIENT *)ellNext(&pasgclient->node); } return(0); } @@ -904,7 +902,7 @@ static long asComputeAllAsgPvt(void) pasg = (ASG *)ellFirst(&pasbase->asgList); while(pasg) { asComputeAsgPvt(pasg); - pasg = (ASG *)ellNext((ELLNODE *)pasg); + pasg = (ASG *)ellNext(&pasg->node); } return(0); } @@ -930,7 +928,7 @@ static long asComputeAsgPvt(ASG *pasg) pasgrule->result = ((result>.99) && (result<1.01)) ? 1 : 0; } } - pasgrule = (ASGRULE *)ellNext((ELLNODE *)pasgrule); + pasgrule = (ASGRULE *)ellNext(&pasgrule->node); } pasg->inpChanged = FALSE; pasgmember = (ASGMEMBER *)ellFirst(&pasg->memberList); @@ -938,9 +936,9 @@ static long asComputeAsgPvt(ASG *pasg) pasgclient = (ASGCLIENT *)ellFirst(&pasgmember->clientList); while(pasgclient) { asComputePvt((ASCLIENTPVT)pasgclient); - pasgclient = (ASGCLIENT *)ellNext((ELLNODE *)pasgclient); + pasgclient = (ASGCLIENT *)ellNext(&pasgclient->node); } - pasgmember = (ASGMEMBER *)ellNext((ELLNODE *)pasgmember); + pasgmember = (ASGMEMBER *)ellNext(&pasgmember->node); } return(0); } @@ -979,7 +977,7 @@ static long asComputePvt(ASCLIENTPVT asClientPvt) pgphentry = gphFind(pasbase->phash,pasgclient->user,puag); if(pgphentry) goto check_hag; } - pasguag = (ASGUAG *)ellNext((ELLNODE *)pasguag); + pasguag = (ASGUAG *)ellNext(&pasguag->node); } goto next_rule; } @@ -995,7 +993,7 @@ check_hag: pgphentry=gphFind(pasbase->phash,pasgclient->host,phag); if(pgphentry) goto check_calc; } - pasghag = (ASGHAG *)ellNext((ELLNODE *)pasghag); + pasghag = (ASGHAG *)ellNext(&pasghag->node); } goto next_rule; } @@ -1006,7 +1004,7 @@ check_calc: trapMask = pasgrule->trapMask; } next_rule: - pasgrule = (ASGRULE *)ellNext((ELLNODE *)pasgrule); + pasgrule = (ASGRULE *)ellNext(&pasgrule->node); } pasgclient->access = access; pasgclient->trapMask = trapMask; @@ -1033,70 +1031,70 @@ static void asFreeAll(ASBASE *pasbase) while(puag) { puagname = (UAGNAME *)ellFirst(&puag->list); while(puagname) { - pnext = ellNext((ELLNODE *)puagname); - ellDelete(&puag->list,(ELLNODE *)puagname); - free((void *)puagname); + pnext = ellNext(&puagname->node); + ellDelete(&puag->list,&puagname->node); + free(puagname); puagname = pnext; } - pnext = ellNext((ELLNODE *)puag); - ellDelete(&pasbase->uagList,(ELLNODE *)puag); - free((void *)puag); + pnext = ellNext(&puag->node); + ellDelete(&pasbase->uagList,&puag->node); + free(puag); puag = pnext; } phag = (HAG *)ellFirst(&pasbase->hagList); while(phag) { phagname = (HAGNAME *)ellFirst(&phag->list); while(phagname) { - pnext = ellNext((ELLNODE *)phagname); - ellDelete(&phag->list,(ELLNODE *)phagname); - free((void *)phagname); + pnext = ellNext(&phagname->node); + ellDelete(&phag->list,&phagname->node); + free(phagname); phagname = pnext; } - pnext = ellNext((ELLNODE *)phag); - ellDelete(&pasbase->hagList,(ELLNODE *)phag); - free((void *)phag); + pnext = ellNext(&phag->node); + ellDelete(&pasbase->hagList,&phag->node); + free(phag); phag = pnext; } pasg = (ASG *)ellFirst(&pasbase->asgList); while(pasg) { - free((void *)pasg->pavalue); + free(pasg->pavalue); pasginp = (ASGINP *)ellFirst(&pasg->inpList); while(pasginp) { - pnext = ellNext((ELLNODE *)pasginp); - ellDelete(&pasg->inpList,(ELLNODE *)pasginp); - free((void *)pasginp); + pnext = ellNext(&pasginp->node); + ellDelete(&pasg->inpList,&pasginp->node); + free(pasginp); pasginp = pnext; } pasgrule = (ASGRULE *)ellFirst(&pasg->ruleList); while(pasgrule) { - free((void *)pasgrule->calc); - free((void *)pasgrule->rpcl); + free(pasgrule->calc); + free(pasgrule->rpcl); pasguag = (ASGUAG *)ellFirst(&pasgrule->uagList); while(pasguag) { - pnext = ellNext((ELLNODE *)pasguag); - ellDelete(&pasgrule->uagList,(ELLNODE *)pasguag); - free((void *)pasguag); + pnext = ellNext(&pasguag->node); + ellDelete(&pasgrule->uagList,&pasguag->node); + free(pasguag); pasguag = pnext; } pasghag = (ASGHAG *)ellFirst(&pasgrule->hagList); while(pasghag) { - pnext = ellNext((ELLNODE *)pasghag); - ellDelete(&pasgrule->hagList,(ELLNODE *)pasghag); - free((void *)pasghag); + pnext = ellNext(&pasghag->node); + ellDelete(&pasgrule->hagList,&pasghag->node); + free(pasghag); pasghag = pnext; } - pnext = ellNext((ELLNODE *)pasgrule); - ellDelete(&pasg->ruleList,(ELLNODE *)pasgrule); - free((void *)pasgrule); + pnext = ellNext(&pasgrule->node); + ellDelete(&pasg->ruleList,&pasgrule->node); + free(pasgrule); pasgrule = pnext; } - pnext = ellNext((ELLNODE *)pasg); - ellDelete(&pasbase->asgList,(ELLNODE *)pasg); - free((void *)pasg); + pnext = ellNext(&pasg->node); + ellDelete(&pasbase->asgList,&pasg->node); + free(pasg); pasg = pnext; } gphFreeMem(pasbase->phash); - free((void *)pasbase); + free(pasbase); } /*Beginning of routines called by lex code*/ @@ -1117,17 +1115,17 @@ static UAG *asUagAdd(const char *uagName) errlogPrintf("Duplicate User Access Group named '%s'\n", uagName); return(NULL); } - pnext = (UAG *)ellNext((ELLNODE *)pnext); + pnext = (UAG *)ellNext(&pnext->node); } puag = asCalloc(1,sizeof(UAG)+strlen(uagName)+1); ellInit(&puag->list); puag->name = (char *)(puag+1); strcpy(puag->name,uagName); if(pnext==NULL) { /*Add to end of list*/ - ellAdd(&pasbase->uagList,(ELLNODE *)puag); + ellAdd(&pasbase->uagList,&puag->node); } else { - pprev = (UAG *)ellPrevious((ELLNODE *)pnext); - ellInsert(&pasbase->uagList,(ELLNODE *)pprev,(ELLNODE *)puag); + pprev = (UAG *)ellPrevious(&pnext->node); + ellInsert(&pasbase->uagList,&pprev->node,&puag->node); } return(puag); } @@ -1140,7 +1138,7 @@ static long asUagAddUser(UAG *puag,const char *user) puagname = asCalloc(1,sizeof(UAGNAME)+strlen(user)+1); puagname->user = (char *)(puagname+1); strcpy(puagname->user,user); - ellAdd(&puag->list,(ELLNODE *)puagname); + ellAdd(&puag->list,&puagname->node); return(0); } @@ -1161,17 +1159,17 @@ static HAG *asHagAdd(const char *hagName) errlogPrintf("Duplicate Host Access Group named '%s'\n", hagName); return(NULL); } - pnext = (HAG *)ellNext((ELLNODE *)pnext); + pnext = (HAG *)ellNext(&pnext->node); } phag = asCalloc(1,sizeof(HAG)+strlen(hagName)+1); ellInit(&phag->list); phag->name = (char *)(phag+1); strcpy(phag->name,hagName); if(pnext==NULL) { /*Add to end of list*/ - ellAdd(&pasbase->hagList,(ELLNODE *)phag); + ellAdd(&pasbase->hagList,&phag->node); } else { - pprev = (HAG *)ellPrevious((ELLNODE *)pnext); - ellInsert(&pasbase->hagList,(ELLNODE *)pprev,(ELLNODE *)phag); + pprev = (HAG *)ellPrevious(&pnext->node); + ellInsert(&pasbase->hagList,&pprev->node,&phag->node); } return(phag); } @@ -1188,7 +1186,7 @@ static long asHagAddHost(HAG *phag,const char *host) for (i = 0; i < len; i++) { phagname->host[i] = (char)tolower((int)host[i]); } - ellAdd(&phag->list, (ELLNODE *)phagname); + ellAdd(&phag->list, &phagname->node); return 0; } @@ -1214,7 +1212,7 @@ static ASG *asAsgAdd(const char *asgName) errlogPrintf("Duplicate Access Security Group named '%s'\n", asgName); return(NULL); } - pnext = (ASG *)ellNext((ELLNODE *)pnext); + pnext = (ASG *)ellNext(&pnext->node); } pasg = asCalloc(1,sizeof(ASG)+strlen(asgName)+1); ellInit(&pasg->inpList); @@ -1223,10 +1221,10 @@ static ASG *asAsgAdd(const char *asgName) pasg->name = (char *)(pasg+1); strcpy(pasg->name,asgName); if(pnext==NULL) { /*Add to end of list*/ - ellAdd(&pasbase->asgList,(ELLNODE *)pasg); + ellAdd(&pasbase->asgList,&pasg->node); } else { - pprev = (ASG *)ellPrevious((ELLNODE *)pnext); - ellInsert(&pasbase->asgList,(ELLNODE *)pprev,(ELLNODE *)pasg); + pprev = (ASG *)ellPrevious(&pnext->node); + ellInsert(&pasbase->asgList,&pprev->node,&pasg->node); } return(pasg); } @@ -1241,7 +1239,7 @@ static long asAsgAddInp(ASG *pasg,const char *inp,int inpIndex) strcpy(pasginp->inp,inp); pasginp->pasg = pasg; pasginp->inpIndex = inpIndex; - ellAdd(&pasg->inpList,(ELLNODE *)pasginp); + ellAdd(&pasg->inpList,&pasginp->node); return(0); } @@ -1256,7 +1254,7 @@ static ASGRULE *asAsgAddRule(ASG *pasg,asAccessRights access,int level) pasgrule->level = level; ellInit(&pasgrule->uagList); ellInit(&pasgrule->hagList); - ellAdd(&pasg->ruleList,(ELLNODE *)pasgrule); + ellAdd(&pasg->ruleList,&pasgrule->node); return(pasgrule); } @@ -1267,52 +1265,56 @@ static long asAsgAddRuleOptions(ASGRULE *pasgrule,int trapMask) return(0); } -static long asAsgRuleUagAdd(ASGRULE *pasgrule,const char *name) +static long asAsgRuleUagAdd(ASGRULE *pasgrule, const char *name) { ASGUAG *pasguag; UAG *puag; ASBASE *pasbase = (ASBASE *)pasbasenew; - long status; - if(!pasgrule) return(0); + if (!pasgrule) + return 0; + puag = (UAG *)ellFirst(&pasbase->uagList); - while(puag) { - if(strcmp(puag->name,name)==0) break; - puag = (UAG *)ellNext((ELLNODE *)puag); + while (puag) { + if (strcmp(puag->name, name)==0) + break; + puag = (UAG *)ellNext(&puag->node); } - if(!puag){ - status = S_asLib_noUag; - errlogPrintf("No User Access Group named '%s' defined\n", name); - return(S_asLib_noUag); + if (!puag){ + errlogPrintf("No User Access Group named '%s' defined\n", name); + return S_asLib_noUag; } - pasguag = asCalloc(1,sizeof(ASGUAG)); + + pasguag = asCalloc(1, sizeof(ASGUAG)); pasguag->puag = puag; - ellAdd(&pasgrule->uagList,(ELLNODE *)pasguag); - return(0); + ellAdd(&pasgrule->uagList, &pasguag->node); + return 0; } -static long asAsgRuleHagAdd(ASGRULE *pasgrule,const char *name) +static long asAsgRuleHagAdd(ASGRULE *pasgrule, const char *name) { ASGHAG *pasghag; HAG *phag; ASBASE *pasbase = (ASBASE *)pasbasenew; - long status; - if(!pasgrule) return(0); + if (!pasgrule) + return 0; + phag = (HAG *)ellFirst(&pasbase->hagList); - while(phag) { - if(strcmp(phag->name,name)==0) break; - phag = (HAG *)ellNext((ELLNODE *)phag); + while (phag) { + if (strcmp(phag->name, name)==0) + break; + phag = (HAG *)ellNext(&phag->node); } - if(!phag){ - status = S_asLib_noHag; - errlogPrintf("No Host Access Group named '%s' defined\n", name); - return(S_asLib_noHag); + if (!phag){ + errlogPrintf("No Host Access Group named '%s' defined\n", name); + return S_asLib_noHag; } - pasghag = asCalloc(1,sizeof(ASGHAG)); + + pasghag = asCalloc(1, sizeof(ASGHAG)); pasghag->phag = phag; - ellAdd(&pasgrule->hagList,(ELLNODE *)pasghag); - return(0); + ellAdd(&pasgrule->hagList, &pasghag->node); + return 0; } static long asAsgRuleCalc(ASGRULE *pasgrule,const char *calc) @@ -1329,8 +1331,8 @@ static long asAsgRuleCalc(ASGRULE *pasgrule,const char *calc) pasgrule->rpcl = asCalloc(1, INFIX_TO_POSTFIX_SIZE(insize)); status = postfix(pasgrule->calc, pasgrule->rpcl, &err); if(status) { - free((void *)pasgrule->calc); - free((void *)pasgrule->rpcl); + free(pasgrule->calc); + free(pasgrule->rpcl); pasgrule->calc = NULL; pasgrule->rpcl = NULL; status = S_asLib_badCalc; @@ -1340,8 +1342,8 @@ static long asAsgRuleCalc(ASGRULE *pasgrule,const char *calc) calcArgUsage(pasgrule->rpcl, &pasgrule->inpUsed, &stores); /* Until someone proves stores are not dangerous, don't allow them */ if (stores) { - free((void *)pasgrule->calc); - free((void *)pasgrule->rpcl); + free(pasgrule->calc); + free(pasgrule->rpcl); pasgrule->calc = NULL; pasgrule->rpcl = NULL; status = S_asLib_badCalc; From 22b10adf29bcf43964d1fea0b1fb06bd05679696 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 21 Apr 2017 14:53:54 -0400 Subject: [PATCH 226/226] ioc/db: testdbGetFieldEqual() detect zero size --- src/ioc/db/dbUnitTest.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ioc/db/dbUnitTest.c b/src/ioc/db/dbUnitTest.c index a92f8de7d..9e3f7d6d0 100644 --- a/src/ioc/db/dbUnitTest.c +++ b/src/ioc/db/dbUnitTest.c @@ -163,6 +163,9 @@ void testdbVGetFieldEqual(const char* pv, short dbrType, va_list ap) if(status) { testFail("dbGetField(\"%s\",%d,...) returns %ld", pv, dbrType, status); return; + } else if(nReq==0) { + testFail("dbGetField(\"%s\", %d, ...) -> zero length", pv, dbrType); + return; } switch(dbrType) {