Merge lp:~epics-core/epics-base/postdbrprop into lp:~epics-core/epics-base/3.15

Proposed by mdavidsaver
Status: Merged
Approved by: Andrew Johnson
Approved revision: 12457
Merged at revision: 12457
Proposed branch: lp:~epics-core/epics-base/postdbrprop
Merge into: lp:~epics-core/epics-base/3.15
Diff against target: 1295 lines (+237/-82)
24 files modified
documentation/RELEASE_NOTES.html (+7/-0)
src/ioc/db/dbAccess.c (+7/-1)
src/ioc/dbStatic/dbBase.h (+20/-19)
src/ioc/dbStatic/dbLexRoutines.c (+68/-61)
src/ioc/dbStatic/dbStaticLib.c (+2/-0)
src/std/rec/aSubRecord.dbd (+1/-0)
src/std/rec/aaiRecord.dbd (+4/-0)
src/std/rec/aaoRecord.dbd (+4/-0)
src/std/rec/aiRecord.dbd (+12/-0)
src/std/rec/aoRecord.dbd (+14/-0)
src/std/rec/biRecord.dbd (+2/-0)
src/std/rec/boRecord.dbd (+2/-0)
src/std/rec/calcRecord.dbd (+12/-0)
src/std/rec/calcoutRecord.dbd (+12/-0)
src/std/rec/compressRecord.dbd (+4/-0)
src/std/rec/dfanoutRecord.dbd (+12/-0)
src/std/rec/histogramRecord.dbd (+5/-0)
src/std/rec/longinRecord.dbd (+7/-0)
src/std/rec/longoutRecord.dbd (+9/-0)
src/std/rec/selRecord.dbd (+11/-0)
src/std/rec/subArrayRecord.dbd (+4/-0)
src/std/rec/subRecord.dbd (+12/-0)
src/std/rec/waveformRecord.dbd (+4/-0)
src/tools/DBD/Recfield.pm (+2/-1)
To merge this branch: bzr merge lp:~epics-core/epics-base/postdbrprop
Reviewer Review Type Date Requested Status
Andrew Johnson Approve
Review via email: mp+197290@code.launchpad.net

Description of the change

(This branch should have been named "postdbeprop", but I mis-typed and don't want the trouble of correcting this now)

The branch adds posting of DBE_PROPERTY events when CA metadata/property fields are written with dbPut(). These fields are marked in the recordtype's .dbd file with "prop(YES)".

Changes are made to recognise the prop() field attribute and store it. The attribute is added to all Base recordtypes except mbbi and mbbo where it is not added for the *ST fields as this is already handled by the recordtype's support code.

Also, dbPut() is modified to post a monitor whenever a "prop(YES)" field is written. No attempt to detect field value changes is made. The event is posted for all monitors on the record with DBE_PROPERTY, not just the VAL field. This is done to support recordtypes with more than one VAL type field.

Associated documentation in lp:~mdavidsaver/epics-appdev/postdbeprop

To post a comment you must log in.
Revision history for this message
Andrew Johnson (anj) wrote :

Like, merging...

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'documentation/RELEASE_NOTES.html'
2--- documentation/RELEASE_NOTES.html 2013-06-28 17:35:43 +0000
3+++ documentation/RELEASE_NOTES.html 2013-11-30 20:14:29 +0000
4@@ -15,6 +15,13 @@
5 <h2 align="center">Changes between 3.15.0.1 and 3.15.0.2</h2>
6 <!-- Insert new items immediately below here ... -->
7
8+<h3>Post DBE_PROPERTY events automatically</h3>
9+
10+<p>A new record field attribute "prop(YES)" is added to identify fields
11+holding CA meta-data. Changes to fields so marked will cause a event
12+to be sent to all subscriptions to that record for DBE_PROPERTY.
13+Meta-data fields are marked for all Base recordtypes.</p>
14+
15 <h3>errlogRemoveListener() routine changed</h3>
16
17 <p>Code that calls <tt>errlogRemoveListener(myfunc)</tt> must be modified to use
18
19=== modified file 'src/ioc/db/dbAccess.c'
20--- src/ioc/db/dbAccess.c 2013-10-03 21:04:03 +0000
21+++ src/ioc/db/dbAccess.c 2013-11-30 20:14:29 +0000
22@@ -1208,13 +1208,19 @@
23 }
24
25 /* Propagate monitor events for this field, */
26- /* unless the field field is VAL and PP is true. */
27+ /* unless the field is VAL and PP is true. */
28 pfldDes = paddr->pfldDes;
29 isValueField = dbIsValueField(pfldDes);
30 if (isValueField) precord->udf = FALSE;
31 if (precord->mlis.count &&
32 !(isValueField && pfldDes->process_passive))
33 db_post_events(precord, paddr->pfield, DBE_VALUE | DBE_LOG);
34+ /* If this field is a property (metadata) field,
35+ * then post a property change event (even if the field
36+ * didn't change).
37+ */
38+ if (precord->mlis.count && pfldDes->prop)
39+ db_post_events(precord, NULL, DBE_PROPERTY);
40
41 return status;
42 }
43
44=== modified file 'src/ioc/dbStatic/dbBase.h'
45--- src/ioc/dbStatic/dbBase.h 2012-04-27 17:21:39 +0000
46+++ src/ioc/dbStatic/dbBase.h 2013-11-30 20:14:29 +0000
47@@ -69,25 +69,26 @@
48 }brkTable;
49
50 typedef struct dbFldDes{ /* field description */
51- char *prompt; /*Prompt string for DCT*/
52- char *name; /*Field name*/
53- char *extra; /*C def for DBF_NOACCESS*/
54- struct dbRecordType *pdbRecordType;
55- short indRecordType; /*within dbRecordType.papFldDes */
56- short special; /*Special processing requirements */
57- dbfType field_type; /*Field type as defined in dbFldTypes.h */
58- short process_passive;/*should dbPutField process passive */
59- ctType base; /*base for integer to string conversions*/
60- short promptgroup; /*prompt, i.e. gui group */
61- short interest; /*interest level */
62- asLevel as_level; /*access security level */
63- char *initial; /*initial value */
64- /*If (DBF_MENU,DBF_DEVICE) ftPvt is (pdbMenu,pdbDeviceMenu) */
65- void *ftPvt;
66- /*On no runtime following only set for STRING */
67- short size; /*length in bytes of a field element */
68- /*The following are only available on run time system*/
69- short offset; /*Offset in bytes from beginning of record*/
70+ char *prompt; /*Prompt string for DCT*/
71+ char *name; /*Field name*/
72+ char *extra; /*C def for DBF_NOACCESS*/
73+ struct dbRecordType *pdbRecordType;
74+ short indRecordType; /*within dbRecordType.papFldDes */
75+ short special; /*Special processing requirements */
76+ dbfType field_type; /*Field type as defined in dbFldTypes.h */
77+ unsigned int process_passive:1;/*should dbPutField process passive */
78+ unsigned int prop:1;/*field is a metadata, post DBE_PROPERTY on change*/
79+ ctType base; /*base for integer to string conversions*/
80+ short promptgroup; /*prompt, i.e. gui group */
81+ short interest; /*interest level */
82+ asLevel as_level; /*access security level */
83+ char *initial; /*initial value */
84+ /*If (DBF_MENU,DBF_DEVICE) ftPvt is (pdbMenu,pdbDeviceMenu) */
85+ void *ftPvt;
86+ /*On no runtime following only set for STRING */
87+ short size; /*length in bytes of a field element */
88+ /*The following are only available on run time system*/
89+ short offset; /*Offset in bytes from beginning of record*/
90 }dbFldDes;
91
92 typedef struct dbInfoNode { /*non-field per-record information*/
93
94=== modified file 'src/ioc/dbStatic/dbLexRoutines.c'
95--- src/ioc/dbStatic/dbLexRoutines.c 2012-07-31 19:04:38 +0000
96+++ src/ioc/dbStatic/dbLexRoutines.c 2013-11-30 20:14:29 +0000
97@@ -498,87 +498,94 @@
98 if(duplicate) return;
99 pdbFldDes = (dbFldDes *)getLastTemp();
100 if(strcmp(name,"asl")==0) {
101- if(strcmp(value,"ASL0")==0) {
102- pdbFldDes->as_level = ASL0;
103- } else if(strcmp(value,"ASL1")==0) {
104- pdbFldDes->as_level = ASL1;
105- } else {
106- yyerror("Illegal Access Security value: Must be ASL0 or ASL1");
107- }
108- return;
109+ if(strcmp(value,"ASL0")==0) {
110+ pdbFldDes->as_level = ASL0;
111+ } else if(strcmp(value,"ASL1")==0) {
112+ pdbFldDes->as_level = ASL1;
113+ } else {
114+ yyerror("Illegal Access Security value: Must be ASL0 or ASL1");
115+ }
116+ return;
117 }
118 if(strcmp(name,"initial")==0) {
119- pdbFldDes->initial = epicsStrDup(value);
120- return;
121+ pdbFldDes->initial = epicsStrDup(value);
122+ return;
123 }
124 if(strcmp(name,"promptgroup")==0) {
125- int i;
126- for(i=0; i<GUI_NTYPES; i++) {
127- if(strcmp(value,pamapguiGroup[i].strvalue)==0) {
128- pdbFldDes->promptgroup = pamapguiGroup[i].value;
129- return;
130- }
131- }
132- yyerror("Illegal promptgroup. See guigroup.h for legal values");
133- return;
134+ int i;
135+ for(i=0; i<GUI_NTYPES; i++) {
136+ if(strcmp(value,pamapguiGroup[i].strvalue)==0) {
137+ pdbFldDes->promptgroup = pamapguiGroup[i].value;
138+ return;
139+ }
140+ }
141+ yyerror("Illegal promptgroup. See guigroup.h for legal values");
142+ return;
143 }
144 if(strcmp(name,"prompt")==0) {
145- pdbFldDes->prompt = epicsStrDup(value);
146- return;
147+ pdbFldDes->prompt = epicsStrDup(value);
148+ return;
149 }
150 if(strcmp(name,"special")==0) {
151- int i;
152- for(i=0; i<SPC_NTYPES; i++) {
153- if(strcmp(value,pamapspcType[i].strvalue)==0) {
154- pdbFldDes->special = pamapspcType[i].value;
155- return;
156- }
157- }
158- if(sscanf(value,"%hd",&pdbFldDes->special)==1) {
159- return;
160- }
161- yyerror("Illegal special value.");
162- return;
163+ int i;
164+ for(i=0; i<SPC_NTYPES; i++) {
165+ if(strcmp(value,pamapspcType[i].strvalue)==0) {
166+ pdbFldDes->special = pamapspcType[i].value;
167+ return;
168+ }
169+ }
170+ if(sscanf(value,"%hd",&pdbFldDes->special)==1) {
171+ return;
172+ }
173+ yyerror("Illegal special value.");
174+ return;
175 }
176 if(strcmp(name,"pp")==0) {
177- if((strcmp(value,"YES")==0) || (strcmp(value,"TRUE")==0)) {
178- pdbFldDes->process_passive = TRUE;
179- } else if((strcmp(value,"NO")==0) || (strcmp(value,"FALSE")==0)) {
180- pdbFldDes->process_passive = FALSE;
181- } else {
182- yyerror("Illegal value. Must be NO or YES");
183- }
184- return;
185+ if((strcmp(value,"YES")==0) || (strcmp(value,"TRUE")==0)) {
186+ pdbFldDes->process_passive = TRUE;
187+ } else if((strcmp(value,"NO")==0) || (strcmp(value,"FALSE")==0)) {
188+ pdbFldDes->process_passive = FALSE;
189+ } else {
190+ yyerror("Illegal value. Must be NO or YES");
191+ }
192+ return;
193 }
194 if(strcmp(name,"interest")==0) {
195- if(sscanf(value,"%hd",&pdbFldDes->interest)!=1)
196- yyerror("Illegal value. Must be integer");
197- return;
198+ if(sscanf(value,"%hd",&pdbFldDes->interest)!=1)
199+ yyerror("Illegal value. Must be integer");
200+ return;
201 }
202 if(strcmp(name,"base")==0) {
203- if(strcmp(value,"DECIMAL")==0) {
204- pdbFldDes->base = CT_DECIMAL;
205- } else if(strcmp(value,"HEX")==0) {
206- pdbFldDes->base = CT_HEX;
207- } else {
208- yyerror("Illegal value. Must be CT_DECIMAL or CT_HEX");
209- }
210- return;
211+ if(strcmp(value,"DECIMAL")==0) {
212+ pdbFldDes->base = CT_DECIMAL;
213+ } else if(strcmp(value,"HEX")==0) {
214+ pdbFldDes->base = CT_HEX;
215+ } else {
216+ yyerror("Illegal value. Must be CT_DECIMAL or CT_HEX");
217+ }
218+ return;
219 }
220 if(strcmp(name,"size")==0) {
221- if(sscanf(value,"%hd",&pdbFldDes->size)!=1)
222- yyerror("Illegal value. Must be integer");
223- return;
224+ if(sscanf(value,"%hd",&pdbFldDes->size)!=1)
225+ yyerror("Illegal value. Must be integer");
226+ return;
227 }
228 if(strcmp(name,"extra")==0) {
229- pdbFldDes->extra = epicsStrDup(value);
230- return;
231+ pdbFldDes->extra = epicsStrDup(value);
232+ return;
233 }
234 if(strcmp(name,"menu")==0) {
235- pdbFldDes->ftPvt = (dbMenu *)dbFindMenu(pdbbase,value);
236- if(!pdbbase->ignoreMissingMenus && !pdbFldDes->ftPvt)
237- yyerrorAbort("menu not found");
238- return;
239+ pdbFldDes->ftPvt = (dbMenu *)dbFindMenu(pdbbase,value);
240+ if(!pdbbase->ignoreMissingMenus && !pdbFldDes->ftPvt)
241+ yyerrorAbort("menu not found");
242+ return;
243+ }
244+ if(strcmp(name,"prop")==0) {
245+ if(strcmp(value, "YES")==0)
246+ pdbFldDes->prop = 1;
247+ else
248+ pdbFldDes->prop = 0;
249+ return;
250 }
251 }
252
253
254
255=== modified file 'src/ioc/dbStatic/dbStaticLib.c'
256--- src/ioc/dbStatic/dbStaticLib.c 2013-06-14 18:55:22 +0000
257+++ src/ioc/dbStatic/dbStaticLib.c 2013-11-30 20:14:29 +0000
258@@ -971,6 +971,7 @@
259 pdbFldDes->size);
260 }
261 if(pdbFldDes->process_passive) fprintf(fp,"\t\tpp(TRUE)\n");
262+ if(pdbFldDes->prop) fprintf(fp,"\t\tprop(YES)\n");
263 if(pdbFldDes->base) fprintf(fp,"\t\tbase(HEX)\n");
264 if(pdbFldDes->interest)
265 fprintf(fp,"\t\tinterest(%d)\n",pdbFldDes->interest);
266@@ -3140,6 +3141,7 @@
267 else
268 printf("\t field_type: %s\n", pamapdbfType[j].strvalue);
269 printf("\tprocess_passive: %hd\n",pdbFldDes->process_passive);
270+ printf("\t property: %hd\n",pdbFldDes->prop);
271 printf("\t base: %d\n",pdbFldDes->base);
272 if(!pdbFldDes->promptgroup) {
273 printf("\t promptgroup: %d\n",pdbFldDes->promptgroup);
274
275=== modified file 'src/std/rec/aSubRecord.dbd'
276--- src/std/rec/aSubRecord.dbd 2012-10-18 05:10:12 +0000
277+++ src/std/rec/aSubRecord.dbd 2013-11-30 20:14:29 +0000
278@@ -77,6 +77,7 @@
279 prompt("Display Precision")
280 promptgroup(GUI_DISPLAY)
281 interest(1)
282+ prop(YES)
283 }
284 field(EFLG,DBF_MENU) {
285 prompt("Output Event Flag")
286
287=== modified file 'src/std/rec/aaiRecord.dbd'
288--- src/std/rec/aaiRecord.dbd 2010-05-27 14:45:21 +0000
289+++ src/std/rec/aaiRecord.dbd 2013-11-30 20:14:29 +0000
290@@ -24,6 +24,7 @@
291 prompt("Display Precision")
292 promptgroup(GUI_ALARMS)
293 interest(1)
294+ prop(YES)
295 }
296 field(INP,DBF_INLINK) {
297 prompt("Input Specification")
298@@ -35,16 +36,19 @@
299 promptgroup(GUI_BITS2)
300 interest(1)
301 size(16)
302+ prop(YES)
303 }
304 field(HOPR,DBF_DOUBLE) {
305 prompt("High Operating Range")
306 promptgroup(GUI_CALC)
307 interest(1)
308+ prop(YES)
309 }
310 field(LOPR,DBF_DOUBLE) {
311 prompt("Low Operating Range")
312 promptgroup(GUI_CLOCK)
313 interest(1)
314+ prop(YES)
315 }
316 field(NELM,DBF_ULONG) {
317 prompt("Number of Elements")
318
319=== modified file 'src/std/rec/aaoRecord.dbd'
320--- src/std/rec/aaoRecord.dbd 2010-05-27 14:45:21 +0000
321+++ src/std/rec/aaoRecord.dbd 2013-11-30 20:14:29 +0000
322@@ -24,6 +24,7 @@
323 prompt("Display Precision")
324 promptgroup(GUI_ALARMS)
325 interest(1)
326+ prop(YES)
327 }
328 field(OUT,DBF_OUTLINK) {
329 prompt("Output Specification")
330@@ -35,16 +36,19 @@
331 promptgroup(GUI_BITS2)
332 interest(1)
333 size(16)
334+ prop(YES)
335 }
336 field(HOPR,DBF_DOUBLE) {
337 prompt("High Operating Range")
338 promptgroup(GUI_CALC)
339 interest(1)
340+ prop(YES)
341 }
342 field(LOPR,DBF_DOUBLE) {
343 prompt("Low Operating Range")
344 promptgroup(GUI_CLOCK)
345 interest(1)
346+ prop(YES)
347 }
348 field(NELM,DBF_ULONG) {
349 prompt("Number of Elements")
350
351=== modified file 'src/std/rec/aiRecord.dbd'
352--- src/std/rec/aiRecord.dbd 2010-01-06 22:05:49 +0000
353+++ src/std/rec/aiRecord.dbd 2013-11-30 20:14:29 +0000
354@@ -24,6 +24,7 @@
355 prompt("Display Precision")
356 promptgroup(GUI_DISPLAY)
357 interest(1)
358+ prop(YES)
359 }
360 field(LINR,DBF_MENU) {
361 prompt("Linearization")
362@@ -52,16 +53,19 @@
363 promptgroup(GUI_DISPLAY)
364 interest(1)
365 size(16)
366+ prop(YES)
367 }
368 field(HOPR,DBF_DOUBLE) {
369 prompt("High Operating Range")
370 promptgroup(GUI_DISPLAY)
371 interest(1)
372+ prop(YES)
373 }
374 field(LOPR,DBF_DOUBLE) {
375 prompt("Low Operating Range")
376 promptgroup(GUI_DISPLAY)
377 interest(1)
378+ prop(YES)
379 }
380 field(AOFF,DBF_DOUBLE) {
381 prompt("Adjustment Offset")
382@@ -86,30 +90,35 @@
383 promptgroup(GUI_ALARMS)
384 pp(TRUE)
385 interest(1)
386+ prop(YES)
387 }
388 field(LOLO,DBF_DOUBLE) {
389 prompt("Lolo Alarm Limit")
390 promptgroup(GUI_ALARMS)
391 pp(TRUE)
392 interest(1)
393+ prop(YES)
394 }
395 field(HIGH,DBF_DOUBLE) {
396 prompt("High Alarm Limit")
397 promptgroup(GUI_ALARMS)
398 pp(TRUE)
399 interest(1)
400+ prop(YES)
401 }
402 field(LOW,DBF_DOUBLE) {
403 prompt("Low Alarm Limit")
404 promptgroup(GUI_ALARMS)
405 pp(TRUE)
406 interest(1)
407+ prop(YES)
408 }
409 field(HHSV,DBF_MENU) {
410 prompt("Hihi Severity")
411 promptgroup(GUI_ALARMS)
412 pp(TRUE)
413 interest(1)
414+ prop(YES)
415 menu(menuAlarmSevr)
416 }
417 field(LLSV,DBF_MENU) {
418@@ -117,6 +126,7 @@
419 promptgroup(GUI_ALARMS)
420 pp(TRUE)
421 interest(1)
422+ prop(YES)
423 menu(menuAlarmSevr)
424 }
425 field(HSV,DBF_MENU) {
426@@ -124,6 +134,7 @@
427 promptgroup(GUI_ALARMS)
428 pp(TRUE)
429 interest(1)
430+ prop(YES)
431 menu(menuAlarmSevr)
432 }
433 field(LSV,DBF_MENU) {
434@@ -131,6 +142,7 @@
435 promptgroup(GUI_ALARMS)
436 pp(TRUE)
437 interest(1)
438+ prop(YES)
439 menu(menuAlarmSevr)
440 }
441 field(HYST,DBF_DOUBLE) {
442
443=== modified file 'src/std/rec/aoRecord.dbd'
444--- src/std/rec/aoRecord.dbd 2002-07-12 21:35:43 +0000
445+++ src/std/rec/aoRecord.dbd 2013-11-30 20:14:29 +0000
446@@ -53,6 +53,7 @@
447 prompt("Display Precision")
448 promptgroup(GUI_DISPLAY)
449 interest(1)
450+ prop(YES)
451 }
452 field(LINR,DBF_MENU) {
453 prompt("Linearization")
454@@ -81,6 +82,7 @@
455 promptgroup(GUI_DISPLAY)
456 interest(1)
457 size(16)
458+ prop(YES)
459 }
460 field(ROFF,DBF_LONG) {
461 prompt("Raw Offset, obsolete")
462@@ -105,22 +107,26 @@
463 promptgroup(GUI_OUTPUT)
464 pp(TRUE)
465 interest(1)
466+ prop(YES)
467 }
468 field(DRVL,DBF_DOUBLE) {
469 prompt("Drive Low Limit")
470 promptgroup(GUI_OUTPUT)
471 pp(TRUE)
472 interest(1)
473+ prop(YES)
474 }
475 field(HOPR,DBF_DOUBLE) {
476 prompt("High Operating Range")
477 promptgroup(GUI_DISPLAY)
478 interest(1)
479+ prop(YES)
480 }
481 field(LOPR,DBF_DOUBLE) {
482 prompt("Low Operating Range")
483 promptgroup(GUI_DISPLAY)
484 interest(1)
485+ prop(YES)
486 }
487 field(AOFF,DBF_DOUBLE) {
488 prompt("Adjustment Offset")
489@@ -139,30 +145,35 @@
490 promptgroup(GUI_ALARMS)
491 pp(TRUE)
492 interest(1)
493+ prop(YES)
494 }
495 field(LOLO,DBF_DOUBLE) {
496 prompt("Lolo Alarm Limit")
497 promptgroup(GUI_ALARMS)
498 pp(TRUE)
499 interest(1)
500+ prop(YES)
501 }
502 field(HIGH,DBF_DOUBLE) {
503 prompt("High Alarm Limit")
504 promptgroup(GUI_ALARMS)
505 pp(TRUE)
506 interest(1)
507+ prop(YES)
508 }
509 field(LOW,DBF_DOUBLE) {
510 prompt("Low Alarm Limit")
511 promptgroup(GUI_ALARMS)
512 pp(TRUE)
513 interest(1)
514+ prop(YES)
515 }
516 field(HHSV,DBF_MENU) {
517 prompt("Hihi Severity")
518 promptgroup(GUI_ALARMS)
519 pp(TRUE)
520 interest(1)
521+ prop(YES)
522 menu(menuAlarmSevr)
523 }
524 field(LLSV,DBF_MENU) {
525@@ -170,6 +181,7 @@
526 promptgroup(GUI_ALARMS)
527 pp(TRUE)
528 interest(1)
529+ prop(YES)
530 menu(menuAlarmSevr)
531 }
532 field(HSV,DBF_MENU) {
533@@ -177,6 +189,7 @@
534 promptgroup(GUI_ALARMS)
535 pp(TRUE)
536 interest(1)
537+ prop(YES)
538 menu(menuAlarmSevr)
539 }
540 field(LSV,DBF_MENU) {
541@@ -184,6 +197,7 @@
542 promptgroup(GUI_ALARMS)
543 pp(TRUE)
544 interest(1)
545+ prop(YES)
546 menu(menuAlarmSevr)
547 }
548 field(HYST,DBF_DOUBLE) {
549
550=== modified file 'src/std/rec/biRecord.dbd'
551--- src/std/rec/biRecord.dbd 2009-06-08 19:55:49 +0000
552+++ src/std/rec/biRecord.dbd 2013-11-30 20:14:29 +0000
553@@ -47,6 +47,7 @@
554 pp(TRUE)
555 interest(1)
556 size(26)
557+ prop(YES)
558 }
559 field(ONAM,DBF_STRING) {
560 prompt("One Name")
561@@ -54,6 +55,7 @@
562 pp(TRUE)
563 interest(1)
564 size(26)
565+ prop(YES)
566 }
567 field(RVAL,DBF_ULONG) {
568 prompt("Raw Value")
569
570=== modified file 'src/std/rec/boRecord.dbd'
571--- src/std/rec/boRecord.dbd 2012-01-21 22:35:40 +0000
572+++ src/std/rec/boRecord.dbd 2013-11-30 20:14:29 +0000
573@@ -42,6 +42,7 @@
574 pp(TRUE)
575 interest(1)
576 size(26)
577+ prop(YES)
578 }
579 field(ONAM,DBF_STRING) {
580 prompt("One Name")
581@@ -49,6 +50,7 @@
582 pp(TRUE)
583 interest(1)
584 size(26)
585+ prop(YES)
586 }
587 field(RVAL,DBF_ULONG) {
588 prompt("Raw Value")
589
590=== modified file 'src/std/rec/calcRecord.dbd'
591--- src/std/rec/calcRecord.dbd 2010-05-28 09:16:45 +0000
592+++ src/std/rec/calcRecord.dbd 2013-11-30 20:14:29 +0000
593@@ -85,51 +85,60 @@
594 promptgroup(GUI_DISPLAY)
595 interest(1)
596 size(16)
597+ prop(YES)
598 }
599 field(PREC,DBF_SHORT) {
600 prompt("Display Precision")
601 promptgroup(GUI_DISPLAY)
602 interest(1)
603+ prop(YES)
604 }
605 field(HOPR,DBF_DOUBLE) {
606 prompt("High Operating Rng")
607 promptgroup(GUI_DISPLAY)
608 interest(1)
609+ prop(YES)
610 }
611 field(LOPR,DBF_DOUBLE) {
612 prompt("Low Operating Range")
613 promptgroup(GUI_DISPLAY)
614 interest(1)
615+ prop(YES)
616 }
617 field(HIHI,DBF_DOUBLE) {
618 prompt("Hihi Alarm Limit")
619 promptgroup(GUI_ALARMS)
620 pp(TRUE)
621 interest(1)
622+ prop(YES)
623 }
624 field(LOLO,DBF_DOUBLE) {
625 prompt("Lolo Alarm Limit")
626 promptgroup(GUI_ALARMS)
627 pp(TRUE)
628 interest(1)
629+ prop(YES)
630 }
631 field(HIGH,DBF_DOUBLE) {
632 prompt("High Alarm Limit")
633 promptgroup(GUI_ALARMS)
634 pp(TRUE)
635 interest(1)
636+ prop(YES)
637 }
638 field(LOW,DBF_DOUBLE) {
639 prompt("Low Alarm Limit")
640 promptgroup(GUI_ALARMS)
641 pp(TRUE)
642 interest(1)
643+ prop(YES)
644 }
645 field(HHSV,DBF_MENU) {
646 prompt("Hihi Severity")
647 promptgroup(GUI_ALARMS)
648 pp(TRUE)
649 interest(1)
650+ prop(YES)
651 menu(menuAlarmSevr)
652 }
653 field(LLSV,DBF_MENU) {
654@@ -137,6 +146,7 @@
655 promptgroup(GUI_ALARMS)
656 pp(TRUE)
657 interest(1)
658+ prop(YES)
659 menu(menuAlarmSevr)
660 }
661 field(HSV,DBF_MENU) {
662@@ -144,6 +154,7 @@
663 promptgroup(GUI_ALARMS)
664 pp(TRUE)
665 interest(1)
666+ prop(YES)
667 menu(menuAlarmSevr)
668 }
669 field(LSV,DBF_MENU) {
670@@ -151,6 +162,7 @@
671 promptgroup(GUI_ALARMS)
672 pp(TRUE)
673 interest(1)
674+ prop(YES)
675 menu(menuAlarmSevr)
676 }
677 field(AFTC, DBF_DOUBLE) {
678
679=== modified file 'src/std/rec/calcoutRecord.dbd'
680--- src/std/rec/calcoutRecord.dbd 2012-06-22 22:58:12 +0000
681+++ src/std/rec/calcoutRecord.dbd 2013-11-30 20:14:29 +0000
682@@ -285,51 +285,60 @@
683 promptgroup(GUI_DISPLAY)
684 interest(1)
685 size(16)
686+ prop(YES)
687 }
688 field(PREC,DBF_SHORT) {
689 prompt("Display Precision")
690 promptgroup(GUI_DISPLAY)
691 interest(1)
692+ prop(YES)
693 }
694 field(HOPR,DBF_DOUBLE) {
695 prompt("High Operating Rng")
696 promptgroup(GUI_DISPLAY)
697 interest(1)
698+ prop(YES)
699 }
700 field(LOPR,DBF_DOUBLE) {
701 prompt("Low Operating Range")
702 promptgroup(GUI_DISPLAY)
703 interest(1)
704+ prop(YES)
705 }
706 field(HIHI,DBF_DOUBLE) {
707 prompt("Hihi Alarm Limit")
708 promptgroup(GUI_ALARMS)
709 pp(TRUE)
710 interest(1)
711+ prop(YES)
712 }
713 field(LOLO,DBF_DOUBLE) {
714 prompt("Lolo Alarm Limit")
715 promptgroup(GUI_ALARMS)
716 pp(TRUE)
717 interest(1)
718+ prop(YES)
719 }
720 field(HIGH,DBF_DOUBLE) {
721 prompt("High Alarm Limit")
722 promptgroup(GUI_ALARMS)
723 pp(TRUE)
724 interest(1)
725+ prop(YES)
726 }
727 field(LOW,DBF_DOUBLE) {
728 prompt("Low Alarm Limit")
729 promptgroup(GUI_ALARMS)
730 pp(TRUE)
731 interest(1)
732+ prop(YES)
733 }
734 field(HHSV,DBF_MENU) {
735 prompt("Hihi Severity")
736 promptgroup(GUI_ALARMS)
737 pp(TRUE)
738 interest(1)
739+ prop(YES)
740 menu(menuAlarmSevr)
741 }
742 field(LLSV,DBF_MENU) {
743@@ -337,6 +346,7 @@
744 promptgroup(GUI_ALARMS)
745 pp(TRUE)
746 interest(1)
747+ prop(YES)
748 menu(menuAlarmSevr)
749 }
750 field(HSV,DBF_MENU) {
751@@ -344,6 +354,7 @@
752 promptgroup(GUI_ALARMS)
753 pp(TRUE)
754 interest(1)
755+ prop(YES)
756 menu(menuAlarmSevr)
757 }
758 field(LSV,DBF_MENU) {
759@@ -351,6 +362,7 @@
760 promptgroup(GUI_ALARMS)
761 pp(TRUE)
762 interest(1)
763+ prop(YES)
764 menu(menuAlarmSevr)
765 }
766 field(HYST,DBF_DOUBLE) {
767
768=== modified file 'src/std/rec/compressRecord.dbd'
769--- src/std/rec/compressRecord.dbd 2011-06-08 16:16:26 +0000
770+++ src/std/rec/compressRecord.dbd 2013-11-30 20:14:29 +0000
771@@ -70,22 +70,26 @@
772 prompt("High Operating Range")
773 promptgroup(GUI_DISPLAY)
774 interest(1)
775+ prop(YES)
776 }
777 field(LOPR,DBF_DOUBLE) {
778 prompt("Low Operating Range")
779 promptgroup(GUI_DISPLAY)
780 interest(1)
781+ prop(YES)
782 }
783 field(PREC,DBF_SHORT) {
784 prompt("Display Precision")
785 promptgroup(GUI_DISPLAY)
786 interest(1)
787+ prop(YES)
788 }
789 field(EGU,DBF_STRING) {
790 prompt("EngineeringUnits")
791 promptgroup(GUI_DISPLAY)
792 interest(1)
793 size(16)
794+ prop(YES)
795 }
796 field(OFF,DBF_ULONG) {
797 prompt("Offset")
798
799=== modified file 'src/std/rec/dfanoutRecord.dbd'
800--- src/std/rec/dfanoutRecord.dbd 2002-07-12 21:35:43 +0000
801+++ src/std/rec/dfanoutRecord.dbd 2013-11-30 20:14:29 +0000
802@@ -91,51 +91,60 @@
803 promptgroup(GUI_DISPLAY)
804 interest(1)
805 size(16)
806+ prop(YES)
807 }
808 field(PREC,DBF_SHORT) {
809 prompt("Display Precision")
810 promptgroup(GUI_DISPLAY)
811 interest(1)
812+ prop(YES)
813 }
814 field(HOPR,DBF_DOUBLE) {
815 prompt("High Operating Range")
816 promptgroup(GUI_DISPLAY)
817 interest(1)
818+ prop(YES)
819 }
820 field(LOPR,DBF_DOUBLE) {
821 prompt("Low Operating Range")
822 promptgroup(GUI_DISPLAY)
823 interest(1)
824+ prop(YES)
825 }
826 field(HIHI,DBF_DOUBLE) {
827 prompt("Hihi Alarm Limit")
828 promptgroup(GUI_ALARMS)
829 pp(TRUE)
830 interest(1)
831+ prop(YES)
832 }
833 field(LOLO,DBF_DOUBLE) {
834 prompt("Lolo Alarm Limit")
835 promptgroup(GUI_ALARMS)
836 pp(TRUE)
837 interest(1)
838+ prop(YES)
839 }
840 field(HIGH,DBF_DOUBLE) {
841 prompt("High Alarm Limit")
842 promptgroup(GUI_ALARMS)
843 pp(TRUE)
844 interest(1)
845+ prop(YES)
846 }
847 field(LOW,DBF_DOUBLE) {
848 prompt("Low Alarm Limit")
849 promptgroup(GUI_ALARMS)
850 pp(TRUE)
851 interest(1)
852+ prop(YES)
853 }
854 field(HHSV,DBF_MENU) {
855 prompt("Hihi Severity")
856 promptgroup(GUI_ALARMS)
857 pp(TRUE)
858 interest(1)
859+ prop(YES)
860 menu(menuAlarmSevr)
861 }
862 field(LLSV,DBF_MENU) {
863@@ -143,6 +152,7 @@
864 promptgroup(GUI_ALARMS)
865 pp(TRUE)
866 interest(1)
867+ prop(YES)
868 menu(menuAlarmSevr)
869 }
870 field(HSV,DBF_MENU) {
871@@ -150,6 +160,7 @@
872 promptgroup(GUI_ALARMS)
873 pp(TRUE)
874 interest(1)
875+ prop(YES)
876 menu(menuAlarmSevr)
877 }
878 field(LSV,DBF_MENU) {
879@@ -157,6 +168,7 @@
880 promptgroup(GUI_ALARMS)
881 pp(TRUE)
882 interest(1)
883+ prop(YES)
884 menu(menuAlarmSevr)
885 }
886 field(HYST,DBF_DOUBLE) {
887
888=== modified file 'src/std/rec/histogramRecord.dbd'
889--- src/std/rec/histogramRecord.dbd 2012-01-21 22:35:40 +0000
890+++ src/std/rec/histogramRecord.dbd 2013-11-30 20:14:29 +0000
891@@ -46,12 +46,14 @@
892 promptgroup(GUI_HIST)
893 special(SPC_RESET)
894 interest(1)
895+ prop(YES)
896 }
897 field(LLIM,DBF_DOUBLE) {
898 prompt("Lower Signal Limit ")
899 promptgroup(GUI_HIST)
900 special(SPC_RESET)
901 interest(1)
902+ prop(YES)
903 }
904 field(WDTH,DBF_DOUBLE) {
905 prompt("Element Width")
906@@ -66,6 +68,7 @@
907 prompt("Display Precision")
908 promptgroup(GUI_DISPLAY)
909 interest(1)
910+ prop(YES)
911 }
912 field(SVL,DBF_INLINK) {
913 prompt("Signal Value Location")
914@@ -128,11 +131,13 @@
915 prompt("High Operating Range")
916 promptgroup(GUI_DISPLAY)
917 interest(1)
918+ prop(YES)
919 }
920 field(LOPR,DBF_ULONG) {
921 prompt("Low Operating Range")
922 promptgroup(GUI_DISPLAY)
923 interest(1)
924+ prop(YES)
925 }
926 }
927
928
929=== modified file 'src/std/rec/longinRecord.dbd'
930--- src/std/rec/longinRecord.dbd 2010-05-28 09:16:45 +0000
931+++ src/std/rec/longinRecord.dbd 2013-11-30 20:14:29 +0000
932@@ -25,40 +25,47 @@
933 promptgroup(GUI_DISPLAY)
934 interest(1)
935 size(16)
936+ prop(YES)
937 }
938 field(HOPR,DBF_LONG) {
939 prompt("High Operating Range")
940 promptgroup(GUI_DISPLAY)
941 interest(1)
942+ prop(YES)
943 }
944 field(LOPR,DBF_LONG) {
945 prompt("Low Operating Range")
946 promptgroup(GUI_DISPLAY)
947 interest(1)
948+ prop(YES)
949 }
950 field(HIHI,DBF_LONG) {
951 prompt("Hihi Alarm Limit")
952 promptgroup(GUI_ALARMS)
953 pp(TRUE)
954 interest(1)
955+ prop(YES)
956 }
957 field(LOLO,DBF_LONG) {
958 prompt("Lolo Alarm Limit")
959 promptgroup(GUI_ALARMS)
960 pp(TRUE)
961 interest(1)
962+ prop(YES)
963 }
964 field(HIGH,DBF_LONG) {
965 prompt("High Alarm Limit")
966 promptgroup(GUI_ALARMS)
967 pp(TRUE)
968 interest(1)
969+ prop(YES)
970 }
971 field(LOW,DBF_LONG) {
972 prompt("Low Alarm Limit")
973 promptgroup(GUI_ALARMS)
974 pp(TRUE)
975 interest(1)
976+ prop(YES)
977 }
978 field(HHSV,DBF_MENU) {
979 prompt("Hihi Severity")
980
981=== modified file 'src/std/rec/longoutRecord.dbd'
982--- src/std/rec/longoutRecord.dbd 2002-07-12 21:35:43 +0000
983+++ src/std/rec/longoutRecord.dbd 2013-11-30 20:14:29 +0000
984@@ -36,52 +36,61 @@
985 promptgroup(GUI_DISPLAY)
986 interest(1)
987 size(16)
988+ prop(YES)
989 }
990 field(DRVH,DBF_LONG) {
991 prompt("Drive High Limit")
992 promptgroup(GUI_OUTPUT)
993 pp(TRUE)
994 interest(1)
995+ prop(YES)
996 }
997 field(DRVL,DBF_LONG) {
998 prompt("Drive Low Limit")
999 promptgroup(GUI_OUTPUT)
1000 pp(TRUE)
1001 interest(1)
1002+ prop(YES)
1003 }
1004 field(HOPR,DBF_LONG) {
1005 prompt("High Operating Range")
1006 promptgroup(GUI_DISPLAY)
1007 interest(1)
1008+ prop(YES)
1009 }
1010 field(LOPR,DBF_LONG) {
1011 prompt("Low Operating Range")
1012 promptgroup(GUI_DISPLAY)
1013 interest(1)
1014+ prop(YES)
1015 }
1016 field(HIHI,DBF_LONG) {
1017 prompt("Hihi Alarm Limit")
1018 promptgroup(GUI_ALARMS)
1019 pp(TRUE)
1020 interest(1)
1021+ prop(YES)
1022 }
1023 field(LOLO,DBF_LONG) {
1024 prompt("Lolo Alarm Limit")
1025 promptgroup(GUI_ALARMS)
1026 pp(TRUE)
1027 interest(1)
1028+ prop(YES)
1029 }
1030 field(HIGH,DBF_LONG) {
1031 prompt("High Alarm Limit")
1032 promptgroup(GUI_ALARMS)
1033 pp(TRUE)
1034 interest(1)
1035+ prop(YES)
1036 }
1037 field(LOW,DBF_LONG) {
1038 prompt("Low Alarm Limit")
1039 promptgroup(GUI_ALARMS)
1040 pp(TRUE)
1041 interest(1)
1042+ prop(YES)
1043 }
1044 field(HHSV,DBF_MENU) {
1045 prompt("Hihi Severity")
1046
1047=== modified file 'src/std/rec/selRecord.dbd'
1048--- src/std/rec/selRecord.dbd 2005-08-29 19:49:39 +0000
1049+++ src/std/rec/selRecord.dbd 2013-11-30 20:14:29 +0000
1050@@ -103,46 +103,54 @@
1051 promptgroup(GUI_DISPLAY)
1052 interest(1)
1053 size(16)
1054+ prop(YES)
1055 }
1056 field(HOPR,DBF_DOUBLE) {
1057 prompt("High Operating Rng")
1058 promptgroup(GUI_DISPLAY)
1059 interest(1)
1060+ prop(YES)
1061 }
1062 field(LOPR,DBF_DOUBLE) {
1063 prompt("Low Operating Range")
1064 promptgroup(GUI_DISPLAY)
1065 interest(1)
1066+ prop(YES)
1067 }
1068 field(HIHI,DBF_DOUBLE) {
1069 prompt("Hihi Alarm Limit")
1070 promptgroup(GUI_ALARMS)
1071 pp(TRUE)
1072 interest(1)
1073+ prop(YES)
1074 }
1075 field(LOLO,DBF_DOUBLE) {
1076 prompt("Lolo Alarm Limit")
1077 promptgroup(GUI_ALARMS)
1078 pp(TRUE)
1079 interest(1)
1080+ prop(YES)
1081 }
1082 field(HIGH,DBF_DOUBLE) {
1083 prompt("High Alarm Limit")
1084 promptgroup(GUI_ALARMS)
1085 pp(TRUE)
1086 interest(1)
1087+ prop(YES)
1088 }
1089 field(LOW,DBF_DOUBLE) {
1090 prompt("Low Alarm Limit")
1091 promptgroup(GUI_ALARMS)
1092 pp(TRUE)
1093 interest(1)
1094+ prop(YES)
1095 }
1096 field(HHSV,DBF_MENU) {
1097 prompt("Hihi Severity")
1098 promptgroup(GUI_ALARMS)
1099 pp(TRUE)
1100 interest(1)
1101+ prop(YES)
1102 menu(menuAlarmSevr)
1103 }
1104 field(LLSV,DBF_MENU) {
1105@@ -150,6 +158,7 @@
1106 promptgroup(GUI_ALARMS)
1107 pp(TRUE)
1108 interest(1)
1109+ prop(YES)
1110 menu(menuAlarmSevr)
1111 }
1112 field(HSV,DBF_MENU) {
1113@@ -157,6 +166,7 @@
1114 promptgroup(GUI_ALARMS)
1115 pp(TRUE)
1116 interest(1)
1117+ prop(YES)
1118 menu(menuAlarmSevr)
1119 }
1120 field(LSV,DBF_MENU) {
1121@@ -164,6 +174,7 @@
1122 promptgroup(GUI_ALARMS)
1123 pp(TRUE)
1124 interest(1)
1125+ prop(YES)
1126 menu(menuAlarmSevr)
1127 }
1128 field(HYST,DBF_DOUBLE) {
1129
1130=== modified file 'src/std/rec/subArrayRecord.dbd'
1131--- src/std/rec/subArrayRecord.dbd 2002-07-12 21:35:43 +0000
1132+++ src/std/rec/subArrayRecord.dbd 2013-11-30 20:14:29 +0000
1133@@ -20,6 +20,7 @@
1134 prompt("Display Precision")
1135 promptgroup(GUI_COMMON)
1136 interest(1)
1137+ prop(YES)
1138 }
1139 field(FTVL,DBF_MENU) {
1140 prompt("Field Type of Value")
1141@@ -38,16 +39,19 @@
1142 promptgroup(GUI_BITS2)
1143 interest(1)
1144 size(16)
1145+ prop(YES)
1146 }
1147 field(HOPR,DBF_DOUBLE) {
1148 prompt("High Operating Range")
1149 promptgroup(GUI_CALC)
1150 interest(1)
1151+ prop(YES)
1152 }
1153 field(LOPR,DBF_DOUBLE) {
1154 prompt("Low Operating Range")
1155 promptgroup(GUI_CLOCK)
1156 interest(1)
1157+ prop(YES)
1158 }
1159 field(MALM,DBF_ULONG) {
1160 prompt("Maximum Elements ")
1161
1162=== modified file 'src/std/rec/subRecord.dbd'
1163--- src/std/rec/subRecord.dbd 2008-04-24 16:30:37 +0000
1164+++ src/std/rec/subRecord.dbd 2013-11-30 20:14:29 +0000
1165@@ -100,45 +100,53 @@
1166 promptgroup(GUI_DISPLAY)
1167 interest(1)
1168 size(16)
1169+ prop(YES)
1170 }
1171 field(HOPR,DBF_DOUBLE) {
1172 prompt("High Operating Rng")
1173 promptgroup(GUI_DISPLAY)
1174 interest(1)
1175+ prop(YES)
1176 }
1177 field(LOPR,DBF_DOUBLE) {
1178 prompt("Low Operating Range")
1179 promptgroup(GUI_DISPLAY)
1180 interest(1)
1181+ prop(YES)
1182 }
1183 field(HIHI,DBF_DOUBLE) {
1184 prompt("Hihi Alarm Limit")
1185 promptgroup(GUI_ALARMS)
1186 pp(TRUE)
1187 interest(1)
1188+ prop(YES)
1189 }
1190 field(LOLO,DBF_DOUBLE) {
1191 prompt("Lolo Alarm Limit")
1192 promptgroup(GUI_ALARMS)
1193 pp(TRUE)
1194 interest(1)
1195+ prop(YES)
1196 }
1197 field(HIGH,DBF_DOUBLE) {
1198 prompt("High Alarm Limit")
1199 promptgroup(GUI_ALARMS)
1200 pp(TRUE)
1201 interest(1)
1202+ prop(YES)
1203 }
1204 field(LOW,DBF_DOUBLE) {
1205 prompt("Low Alarm Limit")
1206 promptgroup(GUI_ALARMS)
1207 pp(TRUE)
1208 interest(1)
1209+ prop(YES)
1210 }
1211 field(PREC,DBF_SHORT) {
1212 prompt("Display Precision")
1213 promptgroup(GUI_DISPLAY)
1214 interest(1)
1215+ prop(YES)
1216 }
1217 field(BRSV,DBF_MENU) {
1218 prompt("Bad Return Severity")
1219@@ -152,6 +160,7 @@
1220 promptgroup(GUI_ALARMS)
1221 pp(TRUE)
1222 interest(1)
1223+ prop(YES)
1224 menu(menuAlarmSevr)
1225 }
1226 field(LLSV,DBF_MENU) {
1227@@ -159,6 +168,7 @@
1228 promptgroup(GUI_ALARMS)
1229 pp(TRUE)
1230 interest(1)
1231+ prop(YES)
1232 menu(menuAlarmSevr)
1233 }
1234 field(HSV,DBF_MENU) {
1235@@ -166,6 +176,7 @@
1236 promptgroup(GUI_ALARMS)
1237 pp(TRUE)
1238 interest(1)
1239+ prop(YES)
1240 menu(menuAlarmSevr)
1241 }
1242 field(LSV,DBF_MENU) {
1243@@ -173,6 +184,7 @@
1244 promptgroup(GUI_ALARMS)
1245 pp(TRUE)
1246 interest(1)
1247+ prop(YES)
1248 menu(menuAlarmSevr)
1249 }
1250 field(HYST,DBF_DOUBLE) {
1251
1252=== modified file 'src/std/rec/waveformRecord.dbd'
1253--- src/std/rec/waveformRecord.dbd 2009-04-03 21:05:40 +0000
1254+++ src/std/rec/waveformRecord.dbd 2013-11-30 20:14:29 +0000
1255@@ -29,6 +29,7 @@
1256 prompt("Display Precision")
1257 promptgroup(GUI_DISPLAY)
1258 interest(1)
1259+ prop(YES)
1260 }
1261 field(INP,DBF_INLINK) {
1262 prompt("Input Specification")
1263@@ -40,16 +41,19 @@
1264 promptgroup(GUI_DISPLAY)
1265 interest(1)
1266 size(16)
1267+ prop(YES)
1268 }
1269 field(HOPR,DBF_DOUBLE) {
1270 prompt("High Operating Range")
1271 promptgroup(GUI_DISPLAY)
1272 interest(1)
1273+ prop(YES)
1274 }
1275 field(LOPR,DBF_DOUBLE) {
1276 prompt("Low Operating Range")
1277 promptgroup(GUI_DISPLAY)
1278 interest(1)
1279+ prop(YES)
1280 }
1281 field(NELM,DBF_ULONG) {
1282 prompt("Number of Elements")
1283
1284=== modified file 'src/tools/DBD/Recfield.pm'
1285--- src/tools/DBD/Recfield.pm 2012-08-22 21:54:54 +0000
1286+++ src/tools/DBD/Recfield.pm 2013-11-30 20:14:29 +0000
1287@@ -35,7 +35,8 @@
1288 base => qr/^(?:DECIMAL|HEX)$/,
1289 size => qr/^\d+$/,
1290 extra => qr/^.*$/,
1291- menu => qr/^$RXident$/o
1292+ menu => qr/^$RXident$/o,
1293+ prop => qr/^(?:YES|NO)$/
1294 );
1295
1296 sub new {

Subscribers

People subscribed via source and target branches

to all changes: