diff --git a/src/ioc/dbStatic/dbBase.h b/src/ioc/dbStatic/dbBase.h index 6ee9f7c22..6ef2d2b3c 100644 --- a/src/ioc/dbStatic/dbBase.h +++ b/src/ioc/dbStatic/dbBase.h @@ -76,7 +76,8 @@ typedef struct dbFldDes{ /* field description */ short indRecordType; /*within dbRecordType.papFldDes */ short special; /*Special processing requirements */ dbfType field_type; /*Field type as defined in dbFldTypes.h */ - short process_passive;/*should dbPutField process passive */ + unsigned int process_passive:1;/*should dbPutField process passive */ + unsigned int prop:1;/*field is a metadata, post DBE_PROPERTY on change*/ ctType base; /*base for integer to string conversions*/ short promptgroup; /*prompt, i.e. gui group */ short interest; /*interest level */ diff --git a/src/ioc/dbStatic/dbLexRoutines.c b/src/ioc/dbStatic/dbLexRoutines.c index 6e957fe10..801a27845 100644 --- a/src/ioc/dbStatic/dbLexRoutines.c +++ b/src/ioc/dbStatic/dbLexRoutines.c @@ -580,6 +580,13 @@ static void dbRecordtypeFieldItem(char *name,char *value) yyerrorAbort("menu not found"); return; } + if(strcmp(name,"prop")==0) { + if(strcmp(value, "YES")==0) + pdbFldDes->prop = 1; + else + pdbFldDes->prop = 0; + return; + } } static void dbRecordtypeCdef(char *text) { diff --git a/src/tools/DBD/Recfield.pm b/src/tools/DBD/Recfield.pm index cdf8e2747..b0bc7af56 100644 --- a/src/tools/DBD/Recfield.pm +++ b/src/tools/DBD/Recfield.pm @@ -35,7 +35,8 @@ our %field_attrs = ( base => qr/^(?:DECIMAL|HEX)$/, size => qr/^\d+$/, extra => qr/^.*$/, - menu => qr/^$RXident$/o + menu => qr/^$RXident$/o, + prop => qr/^(?:YES|NO)$/ ); sub new {