--- /dev/null
+#Makefile at top of application tree
+TOP = .
+include $(TOP)/configure/CONFIG
+DIRS := $(DIRS) $(filter-out $(DIRS), configure)
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *App))
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *app))
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard iocBoot))
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard iocboot))
+include $(TOP)/configure/RULES_TOP
--- /dev/null
+# CONFIG
+
+include $(TOP)/configure/RELEASE
+-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH)
+-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common
+ifdef T_A
+-include $(TOP)/configure/RELEASE.Common.$(T_A)
+-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
+endif
+
+CONFIG=$(EPICS_BASE)/configure
+include $(CONFIG)/CONFIG
+
+# Override for definition in base
+INSTALL_LOCATION = $(TOP)
+include $(TOP)/configure/CONFIG_SITE
+-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH)
+-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
+
+ifdef T_A
+ -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A)
+ -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
+
+ -include $(TOP)/configure/O.$(T_A)/CONFIG_APP_INCLUDE
+endif
+
--- /dev/null
+# CONFIG_SITE
+
+# Make any application-specific changes to the EPICS build
+# configuration variables in this file.
+#
+# Host/target specific settings can be specified in files named
+# CONFIG_SITE.$(EPICS_HOST_ARCH).Common
+# CONFIG_SITE.Common.$(T_A)
+# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
+
+# Set this when you only want to compile this application
+# for a subset of the cross-compiled target architectures
+# that Base is built for.
+#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
+
+# Set this when your IOC and the host use different paths
+# to access the application. This will be needed to boot
+# from a Microsoft FTP server or with some NFS mounts.
+# You must rebuild in the iocBoot directory for this to
+# take effect.
+#IOCS_APPL_TOP = <path to application top as seen by IOC>
+
+# If you don't want to install into $(TOP) then
+# define INSTALL_LOCATION here
+#INSTALL_LOCATION=<fullpathname>
+
--- /dev/null
+# Makefile
+
+TOP=..
+
+include $(TOP)/configure/CONFIG
+
+# CHECK_RELEASE controls the consistency checking of the support
+# applications defined in the $(TOP)/configure/RELEASE* files.
+# Normally CHECK_RELEASE should be set to YES.
+# Set CHECK_RELEASE to NO to disable checking completely.
+# Set CHECK_RELEASE to WARN to perform consistency checking,
+# but continue the build even if conflicts are found.
+CHECK_RELEASE = YES
+
+TARGETS = $(CONFIG_TARGETS)
+CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
+
+include $(TOP)/configure/RULES
+
--- /dev/null
+# Do not modify this file, changes made here will
+# be lost when the application is next rebuilt.
+
+export TOP
+export EPICS_BASE
+EPICS_BASE_HOST_BIN = $(strip $(EPICS_BASE))/bin/$(EPICS_HOST_ARCH)
+EPICS_BASE_HOST_LIB = $(strip $(EPICS_BASE))/bin/$(EPICS_HOST_ARCH)
+EPICS_BASE_BIN = $(strip $(EPICS_BASE))/bin/linux-x86
+EPICS_BASE_LIB = $(strip $(EPICS_BASE))/lib/linux-x86
+SHRLIB_SEARCH_DIRS += $(EPICS_BASE_LIB)
+RELEASE_INCLUDES += -I$(strip $(EPICS_BASE))/include/os/$(OS_CLASS)
+RELEASE_INCLUDES += -I$(strip $(EPICS_BASE))/include
+RELEASE_DBDFLAGS += -I $(strip $(EPICS_BASE))/dbd
--- /dev/null
+#This Makefile created by makeMakefile.pl
+
+
+all :
+ $(MAKE) -f ../Makefile TOP=../.. T_A=linux-x86 $@
+
+.DEFAULT: force
+ $(MAKE) -f ../Makefile TOP=../.. T_A=linux-x86 $@
+
+force: ;
--- /dev/null
+# Do not modify this file, changes made here will
+# be lost when the application is next rebuilt.
+
--- /dev/null
+#RELEASE Location of external products
+#
+# IF YOU MAKE ANY CHANGES to this file you MUST at least run
+# "gnumake" in this directory afterwards; you usually need
+# to run "gnumake rebuild" in the application's top level
+# directory each time this file is changed.
+#
+# NOTE: The build does not check dependencies against files
+# that are outside this application, thus you should run
+# "gnumake distclean install" in the top directory each time
+# EPICS_BASE, SNCSEQ, or any other external module defined
+# in the RELEASE file is rebuilt.
+#
+# Host/target specific settings can be specified in files named
+# RELEASE.$(EPICS_HOST_ARCH).Common
+# RELEASE.Common.$(T_A)
+# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
+
+TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
+
+#If using the sequencer, point SNCSEQ at its top directory:
+#SNCSEQ=$(EPICS_BASE)/../modules/soft/seq
+
+# EPICS_BASE usually appears last so other apps can override stuff:
+EPICS_BASE=/home/scs/base-3.14.9
+
+#Capfast users may need the following definitions
+#CAPFAST_TEMPLATES=
+#SCH2EDIF_PATH=
+
--- /dev/null
+# RULES
+
+include $(EPICS_BASE)/configure/RULES
+
+# Library should be rebuilt because LIBOBJS may have changed.
+$(LIBNAME): ../Makefile
--- /dev/null
+#RULES.ioc
+include $(EPICS_BASE)/configure/RULES.ioc
--- /dev/null
+#RULES_DIRS
+include $(EPICS_BASE)/configure/RULES_DIRS
--- /dev/null
+#RULES_TOP
+include $(EPICS_BASE)/configure/RULES_TOP
+
--- /dev/null
+record(ai, "$(user):aiExample")
+{
+ field(DESC, "Analog input")
+ field(INP, "$(user):calcExample.VAL NPP NMS")
+ field(EGUF, "10")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(LOPR, "0")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(calc, "$(user):calcExample")
+{
+ field(DESC, "Counter")
+ field(SCAN,"1 second")
+ field(FLNK, "$(user):aiExample")
+ field(CALC, "(A<B)?(A+C):D")
+ field(INPA, "$(user):calcExample.VAL NPP NMS")
+ field(INPB, "9")
+ field(INPC, "1")
+ field(INPD, "0")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(xxx, "$(user):xxxExample")
+{
+ field(DESC, "xxx record")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(compress,"$(user):compressExample")
+{
+ field(DESC, "Circular buffer")
+ field(INP,"$(user):aiExample.VAL CP NMS")
+ field(ALG,"Circular Buffer")
+ field(NSAM,"10")
+ field(HOPR,"10")
+ field(EGU,"Counts")
+}
+
--- /dev/null
+record(calc, "$(user):calcExample$(no)")
+{
+ field(DESC, "Counter No. $(no)")
+ field(SCAN,"$(scan)")
+ field(FLNK, "$(user):aiExample$(no)")
+ field(CALC, "(A<B)?(A+C):D")
+ field(INPA, "$(user):calcExample$(no).VAL NPP NMS")
+ field(INPB, "9")
+ field(INPC, "1")
+ field(INPD, "0")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(ai, "$(user):aiExample$(no)")
+{
+ field(DESC, "Analog input No. $(no)")
+ field(INP, "$(user):calcExample$(no).VAL NPP NMS")
+ field(EGUF, "10")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(LOPR, "0")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
--- /dev/null
+record(sub,"$(user):subExample")
+{
+ field(INAM,"mySubInit")
+ field(SNAM,"mySubProcess")
+}
--- /dev/null
+record(genSub,"HAD:$(eb)") {\r
+ field(DESC,"General Subroutine Record")\r
+ field(SCAN,"1 second")\r
+ field(PINI,"NO")\r
+ field(PHAS,"0")\r
+ field(EVNT,"0")\r
+ field(DISV,"1")\r
+ field(LFLG,"IGNORE")\r
+ field(EFLG,"ALWAYS")\r
+ field(SDIS,"0.0000000000000000e+00")\r
+ field(DISS,"NO_ALARM")\r
+ field(PRIO,"LOW")\r
+ field(FLNK,"0.000000000000000e+00")\r
+ field(SUBL,"0.0000000000000000e+00")\r
+ field(BRSV,"NO_ALARM")\r
+ field(INAM,"evtbuild_init")\r
+ field(SNAM,"evtbuild_proc")\r
+ field(FTA,"LONG")\r
+ field(FTB,"LONG")\r
+ field(FTC,"LONG")\r
+ field(FTD,"LONG")\r
+ field(FTE,"LONG")\r
+ field(FTF,"LONG")\r
+ field(FTG,"LONG")\r
+ field(FTH,"LONG")\r
+ field(FTVA,"LONG")\r
+ field(FTVB,"LONG")\r
+ field(FTVC,"LONG")\r
+ field(FTVD,"LONG")\r
+ field(FTVE,"LONG")\r
+ field(FTVF,"LONG")\r
+ field(FTVG,"LONG")\r
+ field(FTVH,"LONG")\r
+ field(NOA,"50")\r
+ field(NOB,"50")\r
+ field(NOC,"50")\r
+ field(NOD,"50")\r
+ field(NOE,"50")\r
+ field(NOF,"50")\r
+ field(NOG,"50")\r
+ field(NOH,"50")\r
+ field(NOVA,"1")\r
+ field(NOVB,"1")\r
+ field(NOVC,"1")\r
+ field(NOVD,"1")\r
+ field(NOVE,"1")\r
+ field(NOVF,"1")\r
+ field(NOVG,"100")\r
+ field(NOVH,"1")\r
+ field(OUTA,"HAD:$(eb):nrOfMsgs PP NMS")\r
+ field(OUTB,"HAD:$(eb):byteWrit PP NMS") \r
+ field(OUTC,"HAD:$(eb):evtsComp PP NMS")\r
+ field(OUTD,"HAD:$(eb):evtsDisc PP NMS")\r
+ field(OUTE,"HAD:$(eb):evtsDataErr PP NMS")\r
+ field(OUTF,"HAD:$(eb):evtsTagErr PP NMS") \r
+ field(OUTG,"HAD:$(eb):evtbuildBuff PP NMS")\r
+ field(OUTH,"HAD:$(eb):status PP NMS")\r
+}\r
+record(longin,"HAD:$(eb):nrOfMsgs")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):byteWrit")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsComp")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsDisc")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsDataErr")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsTagErr")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):status")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(waveform,"HAD:$(eb):evtbuildBuff")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+ field(NELM,"100")\r
+ field(FTVL,"LONG")\r
+}\r
+record(sub,"HAD:genRunId") {\r
+ field(DESC, "subroutine")\r
+ field(SCAN, "1 second")\r
+ field(INPA, "HAD:$(eb):byteWrit")\r
+ field(INPB, "HAD:$(eb):status")\r
+ field(INAM, "genRunId_init")\r
+ field(SNAM, "genRunId_proc")\r
+}\r
+record(sub,"HAD:writeRunId") {\r
+ field(DESC, "subroutine")\r
+ field(SCAN, "1 second")\r
+ field(INPA, "HAD:genRunId")\r
+ field(INPB, "")\r
+ field(INAM, "writeRunId_init")\r
+ field(SNAM, "writeRunId_proc")\r
+}\r
--- /dev/null
+# Example substitutions file
+
+file "db/dbExample1.db" {
+ { user = "scs" }
+}
+
+file db/dbExample2.db {
+ pattern { user, no, scan }
+ { "scs", 1, "1 second" }
+ { "scs", 2, "2 second" }
+ { "scs", 3, "5 second" }
+}
--- /dev/null
+# Example substitutions file
+
+file "db/dbExample1.db" {
+ { user = "scsHost" }
+}
+
+file db/dbExample2.db {
+ pattern { user, no, scan }
+ { "scsHost", 1, "1 second" }
+ { "scsHost", 2, "2 second" }
+ { "scsHost", 3, "5 second" }
+}
--- /dev/null
+menu(stringoutPOST) {
+ choice(stringoutPOST_OnChange,"On Change")
+ choice(stringoutPOST_Always,"Always")
+}
+menu(stringinPOST) {
+ choice(stringinPOST_OnChange,"On Change")
+ choice(stringinPOST_Always,"Always")
+}
+menu(seqSELM) {
+ choice(seqSELM_All,"All")
+ choice(seqSELM_Specified,"Specified")
+ choice(seqSELM_Mask,"Mask")
+}
+menu(selSELM) {
+ choice(selSELM_Specified,"Specified")
+ choice(selSELM_High_Signal,"High Signal")
+ choice(selSELM_Low_Signal,"Low Signal")
+ choice(selSELM_Median_Signal,"Median Signal")
+}
+menu(menuYesNo) {
+ choice(menuYesNoNO,"NO")
+ choice(menuYesNoYES,"YES")
+}
+menu(menuSimm) {
+ choice(menuSimmNO,"NO")
+ choice(menuSimmYES,"YES")
+ choice(menuSimmRAW,"RAW")
+}
+menu(menuScan) {
+ choice(menuScanPassive,"Passive")
+ choice(menuScanEvent,"Event")
+ choice(menuScanI_O_Intr,"I/O Intr")
+ choice(menuScan10_second,"10 second")
+ choice(menuScan5_second,"5 second")
+ choice(menuScan2_second,"2 second")
+ choice(menuScan1_second,"1 second")
+ choice(menuScan_5_second,".5 second")
+ choice(menuScan_2_second,".2 second")
+ choice(menuScan_1_second,".1 second")
+}
+menu(menuPriority) {
+ choice(menuPriorityLOW,"LOW")
+ choice(menuPriorityMEDIUM,"MEDIUM")
+ choice(menuPriorityHIGH,"HIGH")
+}
+menu(menuOmsl) {
+ choice(menuOmslsupervisory,"supervisory")
+ choice(menuOmslclosed_loop,"closed_loop")
+}
+menu(menuIvoa) {
+ choice(menuIvoaContinue_normally,"Continue normally")
+ choice(menuIvoaDon_t_drive_outputs,"Don't drive outputs")
+ choice(menuIvoaSet_output_to_IVOV,"Set output to IVOV")
+}
+menu(menuFtype) {
+ choice(menuFtypeSTRING,"STRING")
+ choice(menuFtypeCHAR,"CHAR")
+ choice(menuFtypeUCHAR,"UCHAR")
+ choice(menuFtypeSHORT,"SHORT")
+ choice(menuFtypeUSHORT,"USHORT")
+ choice(menuFtypeLONG,"LONG")
+ choice(menuFtypeULONG,"ULONG")
+ choice(menuFtypeFLOAT,"FLOAT")
+ choice(menuFtypeDOUBLE,"DOUBLE")
+ choice(menuFtypeENUM,"ENUM")
+}
+menu(menuConvert) {
+ choice(menuConvertNO_CONVERSION,"NO CONVERSION")
+ choice(menuConvertSLOPE,"SLOPE")
+ choice(menuConvertLINEAR,"LINEAR")
+ choice(menuConverttypeKdegF,"typeKdegF")
+ choice(menuConverttypeKdegC,"typeKdegC")
+ choice(menuConverttypeJdegF,"typeJdegF")
+ choice(menuConverttypeJdegC,"typeJdegC")
+ choice(menuConverttypeEdegF,"typeEdegF(ixe only)")
+ choice(menuConverttypeEdegC,"typeEdegC(ixe only)")
+ choice(menuConverttypeTdegF,"typeTdegF")
+ choice(menuConverttypeTdegC,"typeTdegC")
+ choice(menuConverttypeRdegF,"typeRdegF")
+ choice(menuConverttypeRdegC,"typeRdegC")
+ choice(menuConverttypeSdegF,"typeSdegF")
+ choice(menuConverttypeSdegC,"typeSdegC")
+}
+menu(menuCompress) {
+ choice(menuCompressN_to_1_First_Value,"N to 1 First Value")
+ choice(menuCompressN_to_1_Low_Value,"N to 1 Low Value")
+ choice(menuCompressN_to_1_High_Value,"N to 1 High Value")
+ choice(menuCompressN_to_1_Average,"N to 1 Average")
+}
+menu(menuArrType) {
+ choice(menuArrType8_bit_integers,"8 bit integers")
+ choice(menuArrType16_bit_integers,"16 bit integers")
+ choice(menuArrType32_bit_integers,"32 bit integers")
+ choice(menuArrTypeIEEE_floating_point,"IEEE floating point")
+}
+menu(menuAlarmStat) {
+ choice(menuAlarmStatNO_ALARM,"NO_ALARM")
+ choice(menuAlarmStatREAD,"READ")
+ choice(menuAlarmStatWRITE,"WRITE")
+ choice(menuAlarmStatHIHI,"HIHI")
+ choice(menuAlarmStatHIGH,"HIGH")
+ choice(menuAlarmStatLOLO,"LOLO")
+ choice(menuAlarmStatLOW,"LOW")
+ choice(menuAlarmStatSTATE,"STATE")
+ choice(menuAlarmStatCOS,"COS")
+ choice(menuAlarmStatCOMM,"COMM")
+ choice(menuAlarmStatTIMEOUT,"TIMEOUT")
+ choice(menuAlarmStatHWLIMIT,"HWLIMIT")
+ choice(menuAlarmStatCALC,"CALC")
+ choice(menuAlarmStatSCAN,"SCAN")
+ choice(menuAlarmStatLINK,"LINK")
+ choice(menuAlarmStatSOFT,"SOFT")
+ choice(menuAlarmStatBAD_SUB,"BAD_SUB")
+ choice(menuAlarmStatUDF,"UDF")
+ choice(menuAlarmStatDISABLE,"DISABLE")
+ choice(menuAlarmStatSIMM,"SIMM")
+ choice(menuAlarmStatREAD_ACCESS,"READ_ACCESS")
+ choice(menuAlarmStatWRITE_ACCESS,"WRITE_ACCESS")
+}
+menu(menuAlarmSevr) {
+ choice(menuAlarmSevrNO_ALARM,"NO_ALARM")
+ choice(menuAlarmSevrMINOR,"MINOR")
+ choice(menuAlarmSevrMAJOR,"MAJOR")
+ choice(menuAlarmSevrINVALID,"INVALID")
+}
+menu(genSubLFLG) {
+ choice(genSubLFLG_IGNORE,"IGNORE")
+ choice(genSubLFLG_READ,"READ")
+}
+menu(genSubEFLG) {
+ choice(genSubEFLG_NEVER,"NEVER")
+ choice(genSubEFLG_ON_CHANGE,"ON CHANGE")
+ choice(genSubEFLG_ALWAYS,"ALWAYS")
+}
+menu(fanoutSELM) {
+ choice(fanoutSELM_All,"All")
+ choice(fanoutSELM_Specified,"Specified")
+ choice(fanoutSELM_Mask,"Mask")
+}
+menu(dfanoutSELM) {
+ choice(dfanoutSELM_All,"All")
+ choice(dfanoutSELM_Specified,"Specified")
+ choice(dfanoutSELM_Mask,"Mask")
+}
+menu(compressALG) {
+ choice(compressALG_N_to_1_Low_Value,"N to 1 Low Value")
+ choice(compressALG_N_to_1_High_Value,"N to 1 High Value")
+ choice(compressALG_N_to_1_Average,"N to 1 Average")
+ choice(compressALG_Average,"Average")
+ choice(compressALG_Circular_Buffer,"Circular Buffer")
+ choice(compressALG_N_to_1_Median,"N to 1 Median")
+}
+menu(calcoutOOPT) {
+ choice(calcoutOOPT_Every_Time,"Every Time")
+ choice(calcoutOOPT_On_Change,"On Change")
+ choice(calcoutOOPT_When_Zero,"When Zero")
+ choice(calcoutOOPT_When_Non_zero,"When Non-zero")
+ choice(calcoutOOPT_Transition_To_Zero,"Transition To Zero")
+ choice(calcoutOOPT_Transition_To_Non_zero,"Transition To Non-zero")
+}
+menu(calcoutINAV) {
+ choice(calcoutINAV_EXT_NC,"Ext PV NC")
+ choice(calcoutINAV_EXT,"Ext PV OK")
+ choice(calcoutINAV_LOC,"Local PV")
+ choice(calcoutINAV_CON,"Constant")
+}
+menu(calcoutINAP) {
+ choice(calcoutINAP_No,"No PROC on Change")
+ choice(calcoutINAP_Yes,"PROC on Change")
+}
+menu(calcoutDOPT) {
+ choice(calcoutDOPT_Use_VAL,"Use CALC")
+ choice(calcoutDOPT_Use_OVAL,"Use OCAL")
+}
+menu(aoOIF) {
+ choice(aoOIF_Full,"Full")
+ choice(aoOIF_Incremental,"Incremental")
+}
+recordtype(ai) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Current EGU Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LINR,DBF_MENU) {
+ prompt("Linearization")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ menu(menuConvert)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUF,DBF_DOUBLE) {
+ prompt("Engineer Units Full")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUL,DBF_DOUBLE) {
+ prompt("Engineer Units Low")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(AOFF,DBF_DOUBLE) {
+ prompt("Adjustment Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ASLO,DBF_DOUBLE) {
+ prompt("Adjustment Slope")
+ initial("1")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SMOO,DBF_DOUBLE) {
+ prompt("Smoothing")
+ promptgroup(GUI_CONVERT)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ESLO,DBF_DOUBLE) {
+ prompt("Raw to EGU Slope")
+ initial("1")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(EOFF,DBF_DOUBLE) {
+ prompt("Raw to EGU Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(ROFF,DBF_LONG) {
+ prompt("Raw Offset, obsolete")
+ pp(TRUE)
+ interest(2)
+ }
+ field(PBRK,DBF_NOACCESS) {
+ prompt("Ptrto brkTable")
+ special(SPC_NOMOD)
+ extra("void * pbrk")
+ interest(4)
+ }
+ field(INIT,DBF_SHORT) {
+ prompt("Initialized?")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LBRK,DBF_SHORT) {
+ prompt("LastBreak Point")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RVAL,DBF_LONG) {
+ prompt("Current Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_LONG) {
+ prompt("Previous Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_DOUBLE) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(ao) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Desired Output")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_DOUBLE) {
+ prompt("Output Value")
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OROC,DBF_DOUBLE) {
+ prompt("Output Rate of Chang")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(OIF,DBF_MENU) {
+ prompt("Out Full/Incremental")
+ promptgroup(GUI_OUTPUT)
+ menu(aoOIF)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LINR,DBF_MENU) {
+ prompt("Linearization")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ menu(menuConvert)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUF,DBF_DOUBLE) {
+ prompt("Eng Units Full")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUL,DBF_DOUBLE) {
+ prompt("Eng Units Low")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(ROFF,DBF_LONG) {
+ prompt("Raw Offset, obsolete")
+ pp(TRUE)
+ interest(2)
+ }
+ field(EOFF,DBF_DOUBLE) {
+ prompt("EGU to Raw Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(ESLO,DBF_DOUBLE) {
+ prompt("EGU to Raw Slope")
+ initial("1")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(DRVH,DBF_DOUBLE) {
+ prompt("Drive High Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(DRVL,DBF_DOUBLE) {
+ prompt("Drive Low Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(AOFF,DBF_DOUBLE) {
+ prompt("Adjustment Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ASLO,DBF_DOUBLE) {
+ prompt("Adjustment Slope")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(RVAL,DBF_LONG) {
+ prompt("Current Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_LONG) {
+ prompt("Previous Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RBV,DBF_LONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_LONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(PVAL,DBF_DOUBLE) {
+ prompt("Previous value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(PBRK,DBF_NOACCESS) {
+ prompt("Ptrto brkTable")
+ special(SPC_NOMOD)
+ extra("void * pbrk")
+ interest(4)
+ }
+ field(INIT,DBF_SHORT) {
+ prompt("Initialized?")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LBRK,DBF_SHORT) {
+ prompt("LastBreak Point")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_DOUBLE) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+ field(OMOD,DBF_UCHAR) {
+ prompt("Was OVAL modified?")
+ special(SPC_NOMOD)
+ }
+}
+recordtype(bi) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(ZSV,DBF_MENU) {
+ prompt("Zero Error Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(OSV,DBF_MENU) {
+ prompt("One Error Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Svr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ZNAM,DBF_STRING) {
+ prompt("Zero Name")
+ promptgroup(GUI_CALC)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("One Name")
+ promptgroup(GUI_CLOCK)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_ULONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(bo) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Current Value")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("Seconds to Hold High")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(ZNAM,DBF_STRING) {
+ prompt("Zero Name")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("One Name")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPVT,DBF_NOACCESS) {
+ prompt("Record Private")
+ special(SPC_NOMOD)
+ extra("void * rpvt")
+ interest(4)
+ }
+ field(WDPT,DBF_NOACCESS) {
+ prompt("Watch Dog Timer ID")
+ special(SPC_NOMOD)
+ extra("void * wdpt")
+ interest(4)
+ }
+ field(ZSV,DBF_MENU) {
+ prompt("Zero Error Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(OSV,DBF_MENU) {
+ prompt("One Error Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Sevr")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RBV,DBF_ULONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_ULONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID outpt action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_USHORT) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+}
+recordtype(calc) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ asl(ASL0)
+ }
+ field(CALC,DBF_STRING) {
+ prompt("Calculation")
+ initial("0")
+ promptgroup(GUI_CALC)
+ special(103)
+ size(40)
+ pp(TRUE)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RPCL,DBF_NOACCESS) {
+ prompt("Reverse Polish Calc")
+ special(SPC_NOMOD)
+ extra("char rpcl[INFIX_TO_POSTFIX_SIZE(40)]")
+ interest(4)
+ }
+}
+recordtype(calcout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VERS,DBF_DOUBLE) {
+ prompt("Code Version")
+ initial("1")
+ special(SPC_NOMOD)
+ }
+ field(RPVT,DBF_NOACCESS) {
+ prompt("Record Private")
+ special(SPC_NOMOD)
+ extra("struct rpvtStruct *rpvt")
+ interest(4)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ promptgroup(GUI_OUTPUT)
+ asl(ASL0)
+ }
+ field(PVAL,DBF_DOUBLE) {
+ prompt("Previous Value")
+ }
+ field(CALC,DBF_STRING) {
+ prompt("Calculation")
+ initial("0")
+ promptgroup(GUI_CALC)
+ special(103)
+ size(40)
+ pp(TRUE)
+ }
+ field(CLCV,DBF_LONG) {
+ prompt("CALC Valid")
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ special(100)
+ interest(1)
+ }
+ field(INAV,DBF_MENU) {
+ prompt("INPA PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INBV,DBF_MENU) {
+ prompt("INPB PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INCV,DBF_MENU) {
+ prompt("INPC PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INDV,DBF_MENU) {
+ prompt("INPD PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INEV,DBF_MENU) {
+ prompt("INPE PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INFV,DBF_MENU) {
+ prompt("INPF PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INGV,DBF_MENU) {
+ prompt("INPG PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INHV,DBF_MENU) {
+ prompt("INPH PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INIV,DBF_MENU) {
+ prompt("INPI PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INJV,DBF_MENU) {
+ prompt("INPJ PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INKV,DBF_MENU) {
+ prompt("INPK PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INLV,DBF_MENU) {
+ prompt("INPL PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(OUTV,DBF_MENU) {
+ prompt("OUT PV Status")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(OOPT,DBF_MENU) {
+ prompt("Output Execute Opt")
+ promptgroup(GUI_CALC)
+ menu(calcoutOOPT)
+ interest(1)
+ }
+ field(ODLY,DBF_DOUBLE) {
+ prompt("Output Execute Delay")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ asl(ASL0)
+ }
+ field(DLYA,DBF_USHORT) {
+ prompt("Output Delay Active")
+ special(SPC_NOMOD)
+ asl(ASL0)
+ }
+ field(DOPT,DBF_MENU) {
+ prompt("Output Data Opt")
+ promptgroup(GUI_CALC)
+ menu(calcoutDOPT)
+ interest(1)
+ }
+ field(OCAL,DBF_STRING) {
+ prompt("Output Calculation")
+ initial("0")
+ promptgroup(GUI_CALC)
+ special(103)
+ size(40)
+ pp(TRUE)
+ }
+ field(OCLV,DBF_LONG) {
+ prompt("OCAL Valid")
+ interest(1)
+ }
+ field(OEVT,DBF_USHORT) {
+ prompt("Event To Issue")
+ promptgroup(GUI_CLOCK)
+ asl(ASL0)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_DOUBLE) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(OVAL,DBF_DOUBLE) {
+ prompt("Output Value")
+ asl(ASL0)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(POVL,DBF_DOUBLE) {
+ prompt("Prev Value of OVAL")
+ asl(ASL0)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RPCL,DBF_NOACCESS) {
+ prompt("Reverse Polish Calc")
+ special(SPC_NOMOD)
+ extra("char rpcl[INFIX_TO_POSTFIX_SIZE(40)]")
+ interest(4)
+ }
+ field(ORPC,DBF_NOACCESS) {
+ prompt("Reverse Polish OCalc")
+ special(SPC_NOMOD)
+ extra("char orpc[INFIX_TO_POSTFIX_SIZE(40)]")
+ interest(4)
+ }
+}
+recordtype(compress) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_NOACCESS) {
+ prompt("Value")
+ special(SPC_DBADDR)
+ extra("void * val")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_COMPRESS)
+ interest(1)
+ }
+ field(RES,DBF_SHORT) {
+ prompt("Reset")
+ special(101)
+ interest(3)
+ asl(ASL0)
+ }
+ field(ALG,DBF_MENU) {
+ prompt("Compression Algorithm")
+ promptgroup(GUI_ALARMS)
+ special(101)
+ menu(compressALG)
+ interest(1)
+ }
+ field(NSAM,DBF_ULONG) {
+ prompt("Number of Values")
+ initial("1")
+ promptgroup(GUI_COMPRESS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(N,DBF_ULONG) {
+ prompt("N to 1 Compression")
+ initial("1")
+ promptgroup(GUI_COMPRESS)
+ special(101)
+ interest(1)
+ }
+ field(IHIL,DBF_DOUBLE) {
+ prompt("Init High Interest Lim")
+ promptgroup(GUI_COMPRESS)
+ interest(1)
+ }
+ field(ILIL,DBF_DOUBLE) {
+ prompt("Init Low Interest Lim")
+ promptgroup(GUI_COMPRESS)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("EngineeringUnits")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(OFF,DBF_ULONG) {
+ prompt("Offset")
+ special(SPC_NOMOD)
+ }
+ field(NUSE,DBF_ULONG) {
+ prompt("Number Used")
+ special(SPC_NOMOD)
+ }
+ field(BPTR,DBF_NOACCESS) {
+ prompt("Buffer Pointer")
+ special(SPC_NOMOD)
+ extra("double *bptr")
+ interest(4)
+ }
+ field(SPTR,DBF_NOACCESS) {
+ prompt("Summing Buffer Ptr")
+ special(SPC_NOMOD)
+ extra("double *sptr")
+ interest(4)
+ }
+ field(WPTR,DBF_NOACCESS) {
+ prompt("Working Buffer Ptr")
+ special(SPC_NOMOD)
+ extra("double *wptr")
+ interest(4)
+ }
+ field(INPN,DBF_LONG) {
+ prompt("Number of elements in Working Buffer")
+ special(SPC_NOMOD)
+ interest(4)
+ }
+ field(CVB,DBF_DOUBLE) {
+ prompt("Compress Value Buffer")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(INX,DBF_ULONG) {
+ prompt("Compressed Array Inx")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(dfanout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Desired Output")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_LINKS)
+ menu(dfanoutSELM)
+ interest(1)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Link Selection")
+ initial("1")
+ interest(1)
+ }
+ field(SELL,DBF_INLINK) {
+ prompt("Link Selection Loc")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(OUTA,DBF_OUTLINK) {
+ prompt("Output Spec A")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTB,DBF_OUTLINK) {
+ prompt("Output Spec B")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTC,DBF_OUTLINK) {
+ prompt("Output Spec C")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTD,DBF_OUTLINK) {
+ prompt("Output Spec D")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTE,DBF_OUTLINK) {
+ prompt("Output Spec E")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTF,DBF_OUTLINK) {
+ prompt("Output Spec F")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTG,DBF_OUTLINK) {
+ prompt("Output Spec G")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTH,DBF_OUTLINK) {
+ prompt("Output Spec H")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(event) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Event Number To Post")
+ promptgroup(GUI_INPUTS)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_USHORT) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(fanout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Used to trigger")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_LINKS)
+ menu(fanoutSELM)
+ interest(1)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Link Selection")
+ initial("1")
+ interest(1)
+ }
+ field(SELL,DBF_INLINK) {
+ prompt("Link Selection Loc")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK1,DBF_FWDLINK) {
+ prompt("Forward Link 1")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK2,DBF_FWDLINK) {
+ prompt("Forward Link 2")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK3,DBF_FWDLINK) {
+ prompt("Forward Link 3")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK4,DBF_FWDLINK) {
+ prompt("Forward Link 4")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK5,DBF_FWDLINK) {
+ prompt("Forward Link 5")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK6,DBF_FWDLINK) {
+ prompt("Forward Link 6")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+}
+recordtype(longin) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Current value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_LONG) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_LONG) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_LONG) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_LONG) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_LONG) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_LONG) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_LONG) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_LONG) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_LONG) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_LONG) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_LONG) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_LONG) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_LONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(longout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Desired Output")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(DRVH,DBF_LONG) {
+ prompt("Drive High Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(DRVL,DBF_LONG) {
+ prompt("Drive Low Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HOPR,DBF_LONG) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_LONG) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_LONG) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_LONG) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_LONG) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_LONG) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_LONG) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_LONG) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_LONG) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_LONG) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_LONG) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_LONG) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_LONG) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+}
+recordtype(mbbi) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(ZRVL,DBF_ULONG) {
+ prompt("Zero Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ONVL,DBF_ULONG) {
+ prompt("One Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TWVL,DBF_ULONG) {
+ prompt("Two Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(THVL,DBF_ULONG) {
+ prompt("Three Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FRVL,DBF_ULONG) {
+ prompt("Four Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FVVL,DBF_ULONG) {
+ prompt("Five Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SXVL,DBF_ULONG) {
+ prompt("Six Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SVVL,DBF_ULONG) {
+ prompt("Seven Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(EIVL,DBF_ULONG) {
+ prompt("Eight Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(NIVL,DBF_ULONG) {
+ prompt("Nine Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TEVL,DBF_ULONG) {
+ prompt("Ten Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ELVL,DBF_ULONG) {
+ prompt("Eleven Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TVVL,DBF_ULONG) {
+ prompt("Twelve Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TTVL,DBF_ULONG) {
+ prompt("Thirteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FTVL,DBF_ULONG) {
+ prompt("Fourteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FFVL,DBF_ULONG) {
+ prompt("Fifteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ZRST,DBF_STRING) {
+ prompt("Zero String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONST,DBF_STRING) {
+ prompt("One String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWST,DBF_STRING) {
+ prompt("Two String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THST,DBF_STRING) {
+ prompt("Three String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRST,DBF_STRING) {
+ prompt("Four String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVST,DBF_STRING) {
+ prompt("Five String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXST,DBF_STRING) {
+ prompt("Six String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVST,DBF_STRING) {
+ prompt("Seven String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EIST,DBF_STRING) {
+ prompt("Eight String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NIST,DBF_STRING) {
+ prompt("Nine String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TEST,DBF_STRING) {
+ prompt("Ten String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELST,DBF_STRING) {
+ prompt("Eleven String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVST,DBF_STRING) {
+ prompt("Twelve String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTST,DBF_STRING) {
+ prompt("Thirteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTST,DBF_STRING) {
+ prompt("Fourteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFST,DBF_STRING) {
+ prompt("Fifteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ZRSV,DBF_MENU) {
+ prompt("State Zero Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONSV,DBF_MENU) {
+ prompt("State One Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWSV,DBF_MENU) {
+ prompt("State Two Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THSV,DBF_MENU) {
+ prompt("State Three Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRSV,DBF_MENU) {
+ prompt("State Four Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVSV,DBF_MENU) {
+ prompt("State Five Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXSV,DBF_MENU) {
+ prompt("State Six Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVSV,DBF_MENU) {
+ prompt("State Seven Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EISV,DBF_MENU) {
+ prompt("State Eight Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NISV,DBF_MENU) {
+ prompt("State Nine Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TESV,DBF_MENU) {
+ prompt("State Ten Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELSV,DBF_MENU) {
+ prompt("State Eleven Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVSV,DBF_MENU) {
+ prompt("State Twelve Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTSV,DBF_MENU) {
+ prompt("State Thirteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTSV,DBF_MENU) {
+ prompt("State Fourteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFSV,DBF_MENU) {
+ prompt("State Fifteen Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(UNSV,DBF_MENU) {
+ prompt("Unknown State Severity")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Svr")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SDEF,DBF_SHORT) {
+ prompt("States Defined")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_USHORT) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SVAL,DBF_ULONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(mbbiDirect) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SDEF,DBF_SHORT) {
+ prompt("States Defined")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_USHORT) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SVAL,DBF_ULONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(B0,DBF_UCHAR) {
+ prompt("Bit 0")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B1,DBF_UCHAR) {
+ prompt("Bit 1")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B2,DBF_UCHAR) {
+ prompt("Bit 2")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B3,DBF_UCHAR) {
+ prompt("Bit 3")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B4,DBF_UCHAR) {
+ prompt("Bit 4")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B5,DBF_UCHAR) {
+ prompt("Bit 5")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B6,DBF_UCHAR) {
+ prompt("Bit 6")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B7,DBF_UCHAR) {
+ prompt("Bit 7")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B8,DBF_UCHAR) {
+ prompt("Bit 8")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B9,DBF_UCHAR) {
+ prompt("Bit 9")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BA,DBF_UCHAR) {
+ prompt("Bit A")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BB,DBF_UCHAR) {
+ prompt("Bit B")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BC,DBF_UCHAR) {
+ prompt("Bit C")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BD,DBF_UCHAR) {
+ prompt("Bit D")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BE,DBF_UCHAR) {
+ prompt("Bit E")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BF,DBF_UCHAR) {
+ prompt("Bit F")
+ pp(TRUE)
+ interest(1)
+ }
+}
+recordtype(mbbo) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Desired Value")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_DBADDR)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_MBB)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(ZRVL,DBF_ULONG) {
+ prompt("Zero Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ONVL,DBF_ULONG) {
+ prompt("One Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TWVL,DBF_ULONG) {
+ prompt("Two Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(THVL,DBF_ULONG) {
+ prompt("Three Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FRVL,DBF_ULONG) {
+ prompt("Four Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FVVL,DBF_ULONG) {
+ prompt("Five Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SXVL,DBF_ULONG) {
+ prompt("Six Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SVVL,DBF_ULONG) {
+ prompt("Seven Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(EIVL,DBF_ULONG) {
+ prompt("Eight Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(NIVL,DBF_ULONG) {
+ prompt("Nine Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TEVL,DBF_ULONG) {
+ prompt("Ten Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ELVL,DBF_ULONG) {
+ prompt("Eleven Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TVVL,DBF_ULONG) {
+ prompt("Twelve Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TTVL,DBF_ULONG) {
+ prompt("Thirteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FTVL,DBF_ULONG) {
+ prompt("Fourteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FFVL,DBF_ULONG) {
+ prompt("Fifteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ZRST,DBF_STRING) {
+ prompt("Zero String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONST,DBF_STRING) {
+ prompt("One String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWST,DBF_STRING) {
+ prompt("Two String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THST,DBF_STRING) {
+ prompt("Three String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRST,DBF_STRING) {
+ prompt("Four String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVST,DBF_STRING) {
+ prompt("Five String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXST,DBF_STRING) {
+ prompt("Six String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVST,DBF_STRING) {
+ prompt("Seven String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EIST,DBF_STRING) {
+ prompt("Eight String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NIST,DBF_STRING) {
+ prompt("Nine String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TEST,DBF_STRING) {
+ prompt("Ten String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELST,DBF_STRING) {
+ prompt("Eleven String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVST,DBF_STRING) {
+ prompt("Twelve String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTST,DBF_STRING) {
+ prompt("Thirteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTST,DBF_STRING) {
+ prompt("Fourteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFST,DBF_STRING) {
+ prompt("Fifteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ZRSV,DBF_MENU) {
+ prompt("State Zero Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONSV,DBF_MENU) {
+ prompt("State One Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWSV,DBF_MENU) {
+ prompt("State Two Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THSV,DBF_MENU) {
+ prompt("State Three Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRSV,DBF_MENU) {
+ prompt("State Four Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVSV,DBF_MENU) {
+ prompt("State Five Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXSV,DBF_MENU) {
+ prompt("State Six Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVSV,DBF_MENU) {
+ prompt("State Seven Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EISV,DBF_MENU) {
+ prompt("State Eight Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NISV,DBF_MENU) {
+ prompt("State Nine Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TESV,DBF_MENU) {
+ prompt("State Ten Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELSV,DBF_MENU) {
+ prompt("State Eleven Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVSV,DBF_MENU) {
+ prompt("State Twelve Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTSV,DBF_MENU) {
+ prompt("State Thirteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTSV,DBF_MENU) {
+ prompt("State Fourteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFSV,DBF_MENU) {
+ prompt("State Fifteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(UNSV,DBF_MENU) {
+ prompt("Unknown State Sevr")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Sevr")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RBV,DBF_ULONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_ULONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SDEF,DBF_SHORT) {
+ prompt("States Defined")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_USHORT) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID outpt action")
+ promptgroup(GUI_MBB)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_USHORT) {
+ prompt("INVALID output value")
+ promptgroup(GUI_MBB)
+ interest(2)
+ }
+}
+recordtype(mbboDirect) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Word")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_MBB)
+ special(101)
+ menu(menuOmsl)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(B0,DBF_UCHAR) {
+ prompt("Bit 0")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B1,DBF_UCHAR) {
+ prompt("Bit 1")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B2,DBF_UCHAR) {
+ prompt("Bit 2")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B3,DBF_UCHAR) {
+ prompt("Bit 3")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B4,DBF_UCHAR) {
+ prompt("Bit 4")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B5,DBF_UCHAR) {
+ prompt("Bit 5")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B6,DBF_UCHAR) {
+ prompt("Bit 6")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B7,DBF_UCHAR) {
+ prompt("Bit 7")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B8,DBF_UCHAR) {
+ prompt("Bit 8")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B9,DBF_UCHAR) {
+ prompt("Bit 9")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BA,DBF_UCHAR) {
+ prompt("Bit 10")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BB,DBF_UCHAR) {
+ prompt("Bit 11")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BC,DBF_UCHAR) {
+ prompt("Bit 12")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BD,DBF_UCHAR) {
+ prompt("Bit 13")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BE,DBF_UCHAR) {
+ prompt("Bit 14")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BF,DBF_UCHAR) {
+ prompt("Bit 15")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ special(SPC_NOMOD)
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RBV,DBF_ULONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_ULONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_ULONG) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_ULONG) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_ULONG) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID outpt action")
+ promptgroup(GUI_MBB)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_USHORT) {
+ prompt("INVALID output value")
+ promptgroup(GUI_MBB)
+ interest(2)
+ }
+}
+recordtype(permissive) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LABL,DBF_STRING) {
+ prompt("Button Label")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Status")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_USHORT) {
+ prompt("Old Status")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(WFLG,DBF_USHORT) {
+ prompt("Wait Flag")
+ pp(TRUE)
+ }
+ field(OFLG,DBF_USHORT) {
+ prompt("Old Flag")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(sel) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ special(SPC_NOMOD)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_INPUTS)
+ menu(selSELM)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Index value")
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(NVL,DBF_INLINK) {
+ prompt("Index Value Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(NLST,DBF_USHORT) {
+ prompt("Last Index Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(seq) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Used to trigger")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_INPUTS)
+ menu(seqSELM)
+ interest(1)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Link Selection")
+ initial("1")
+ interest(1)
+ }
+ field(SELL,DBF_INLINK) {
+ prompt("Link Selection Loc")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(DLY1,DBF_DOUBLE) {
+ prompt("Delay 1")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DOL1,DBF_INLINK) {
+ prompt("Input link1")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DO1,DBF_DOUBLE) {
+ prompt("Constant input 1")
+ interest(1)
+ }
+ field(LNK1,DBF_OUTLINK) {
+ prompt("Output Link 1")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DLY2,DBF_DOUBLE) {
+ prompt("Delay 2")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DOL2,DBF_INLINK) {
+ prompt("Input link 2")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DO2,DBF_DOUBLE) {
+ prompt("Constant input 2")
+ interest(1)
+ }
+ field(LNK2,DBF_OUTLINK) {
+ prompt("Output Link 2")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DLY3,DBF_DOUBLE) {
+ prompt("Delay 3")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DOL3,DBF_INLINK) {
+ prompt("Input link 3")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DO3,DBF_DOUBLE) {
+ prompt("Constant input 3")
+ interest(1)
+ }
+ field(LNK3,DBF_OUTLINK) {
+ prompt("Output Link 3")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DLY4,DBF_DOUBLE) {
+ prompt("Delay 4")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DOL4,DBF_INLINK) {
+ prompt("Input link 4")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DO4,DBF_DOUBLE) {
+ prompt("Constant input 4")
+ interest(1)
+ }
+ field(LNK4,DBF_OUTLINK) {
+ prompt("Output Link 4")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DLY5,DBF_DOUBLE) {
+ prompt("Delay 5")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DOL5,DBF_INLINK) {
+ prompt("Input link 5")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DO5,DBF_DOUBLE) {
+ prompt("Constant input 5")
+ interest(1)
+ }
+ field(LNK5,DBF_OUTLINK) {
+ prompt("Output Link 5")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DLY6,DBF_DOUBLE) {
+ prompt("Delay 6")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DOL6,DBF_INLINK) {
+ prompt("Input link 6")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DO6,DBF_DOUBLE) {
+ prompt("Constant input 6")
+ interest(1)
+ }
+ field(LNK6,DBF_OUTLINK) {
+ prompt("Output Link 6")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DLY7,DBF_DOUBLE) {
+ prompt("Delay 7")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOL7,DBF_INLINK) {
+ prompt("Input link 7")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DO7,DBF_DOUBLE) {
+ prompt("Constant input 7")
+ interest(1)
+ }
+ field(LNK7,DBF_OUTLINK) {
+ prompt("Output Link 7")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DLY8,DBF_DOUBLE) {
+ prompt("Delay 8")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOL8,DBF_INLINK) {
+ prompt("Input link 8")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DO8,DBF_DOUBLE) {
+ prompt("Constant input 8")
+ interest(1)
+ }
+ field(LNK8,DBF_OUTLINK) {
+ prompt("Output Link 8")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DLY9,DBF_DOUBLE) {
+ prompt("Delay 9")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOL9,DBF_INLINK) {
+ prompt("Input link 9")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DO9,DBF_DOUBLE) {
+ prompt("Constant input 9")
+ interest(1)
+ }
+ field(LNK9,DBF_OUTLINK) {
+ prompt("Output Link 9")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DLYA,DBF_DOUBLE) {
+ prompt("Delay 10")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOLA,DBF_INLINK) {
+ prompt("Input link 10")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOA,DBF_DOUBLE) {
+ prompt("Constant input 10")
+ interest(1)
+ }
+ field(LNKA,DBF_OUTLINK) {
+ prompt("Output Link 10")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+}
+recordtype(state) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_STRING) {
+ prompt("Value")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_STRING) {
+ prompt("Prev Value")
+ special(SPC_NOMOD)
+ size(20)
+ interest(3)
+ }
+}
+recordtype(stringin) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_STRING) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ size(40)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_STRING) {
+ prompt("Previous Value")
+ special(SPC_NOMOD)
+ size(40)
+ interest(3)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(MPST,DBF_MENU) {
+ prompt("Post Value Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringinPOST)
+ interest(1)
+ }
+ field(APST,DBF_MENU) {
+ prompt("Post Archive Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringinPOST)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_STRING) {
+ prompt("Simulation Value")
+ size(40)
+ pp(TRUE)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(stringout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_STRING) {
+ prompt("Current Value")
+ promptgroup(GUI_OUTPUT)
+ size(40)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_STRING) {
+ prompt("Previous Value")
+ special(SPC_NOMOD)
+ size(40)
+ interest(3)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(MPST,DBF_MENU) {
+ prompt("Post Value Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringoutPOST)
+ interest(1)
+ }
+ field(APST,DBF_MENU) {
+ prompt("Post Archive Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringoutPOST)
+ interest(1)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_STRING) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ size(40)
+ interest(2)
+ }
+}
+recordtype(sub) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INAM,DBF_STRING) {
+ prompt("Init Routine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(SNAM,DBF_STRING) {
+ prompt("Subroutine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(SADR,DBF_NOACCESS) {
+ prompt("Subroutine Address")
+ special(SPC_NOMOD)
+ extra("void * sadr")
+ interest(4)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(BRSV,DBF_MENU) {
+ prompt("Bad Return Severity")
+ promptgroup(GUI_SUB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(subArray) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_NOACCESS) {
+ prompt("Value")
+ special(SPC_DBADDR)
+ extra("void * val")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_COMMON)
+ interest(1)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Field Type of Value")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_BITS1)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units Name")
+ promptgroup(GUI_BITS2)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_CLOCK)
+ interest(1)
+ }
+ field(MALM,DBF_ULONG) {
+ prompt("Maximum Elements ")
+ initial("1")
+ promptgroup(GUI_CLOCK)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NELM,DBF_ULONG) {
+ prompt("Number of Elements")
+ initial("1")
+ promptgroup(GUI_COMPRESS)
+ pp(TRUE)
+ }
+ field(INDX,DBF_ULONG) {
+ prompt("Substring Index")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ }
+ field(BUSY,DBF_SHORT) {
+ prompt("Busy Indicator")
+ special(SPC_NOMOD)
+ }
+ field(NORD,DBF_LONG) {
+ prompt("Number elements read")
+ special(SPC_NOMOD)
+ }
+ field(BPTR,DBF_NOACCESS) {
+ prompt("Buffer Pointer")
+ special(SPC_NOMOD)
+ extra("void * bptr")
+ interest(4)
+ }
+}
+recordtype(waveform) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_NOACCESS) {
+ prompt("Value")
+ special(SPC_DBADDR)
+ extra("void * val")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(RARM,DBF_SHORT) {
+ prompt("Rearm the waveform")
+ promptgroup(GUI_WAVE)
+ pp(TRUE)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(NELM,DBF_ULONG) {
+ prompt("Number of Elements")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Field Type of Value")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(BUSY,DBF_SHORT) {
+ prompt("Busy Indicator")
+ special(SPC_NOMOD)
+ }
+ field(NORD,DBF_ULONG) {
+ prompt("Number elements read")
+ special(SPC_NOMOD)
+ }
+ field(BPTR,DBF_NOACCESS) {
+ prompt("Buffer Pointer")
+ special(SPC_NOMOD)
+ extra("void * bptr")
+ interest(4)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(xxx) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Current EGU Value")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_FLOAT) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_FLOAT) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_FLOAT) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_FLOAT) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_FLOAT) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_FLOAT) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(genSub) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VERS,DBF_DOUBLE) {
+ prompt("Version Number")
+ promptgroup(GUI_DISPLAY)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Subr. return value")
+ asl(ASL0)
+ }
+ field(OVAL,DBF_LONG) {
+ prompt("Old return value")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(SADR,DBF_LONG) {
+ prompt("Subroutine Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OSAD,DBF_LONG) {
+ prompt("Old Subr. Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(LFLG,DBF_MENU) {
+ prompt("Link Flag")
+ promptgroup(GUI_OUTPUT)
+ menu(genSubLFLG)
+ interest(1)
+ }
+ field(EFLG,DBF_MENU) {
+ prompt("Event Flag")
+ promptgroup(GUI_OUTPUT)
+ menu(genSubEFLG)
+ interest(1)
+ }
+ field(SUBL,DBF_INLINK) {
+ prompt("Subroutine Input Link")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INAM,DBF_STRING) {
+ prompt("Init Routine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(SNAM,DBF_STRING) {
+ prompt("Process Subr. Name")
+ promptgroup(GUI_SUB)
+ special(100)
+ size(40)
+ interest(1)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("Old Subroutine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(BRSV,DBF_MENU) {
+ prompt("Bad Return Severity")
+ promptgroup(GUI_SUB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input Link A")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input Link B")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input Link C")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input Link D")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input Link E")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input Link F")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input Link G")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input Link H")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input Link I")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input Link J")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input Link K")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input Link L")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPM,DBF_INLINK) {
+ prompt("Input Link M")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPN,DBF_INLINK) {
+ prompt("Input Link N")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPO,DBF_INLINK) {
+ prompt("Input Link O")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPP,DBF_INLINK) {
+ prompt("Input Link P")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPQ,DBF_INLINK) {
+ prompt("Input Link Q")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPR,DBF_INLINK) {
+ prompt("Input Link R")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPS,DBF_INLINK) {
+ prompt("Input Link S")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPT,DBF_INLINK) {
+ prompt("Input Link T")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPU,DBF_INLINK) {
+ prompt("Input Link U")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFA,DBF_STRING) {
+ prompt("Input Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFB,DBF_STRING) {
+ prompt("Input Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFC,DBF_STRING) {
+ prompt("Input Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFD,DBF_STRING) {
+ prompt("Input Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFE,DBF_STRING) {
+ prompt("Input Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFF,DBF_STRING) {
+ prompt("Input Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFG,DBF_STRING) {
+ prompt("Input Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFH,DBF_STRING) {
+ prompt("Input Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFI,DBF_STRING) {
+ prompt("Input Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFJ,DBF_STRING) {
+ prompt("Input Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFK,DBF_STRING) {
+ prompt("Input Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFL,DBF_STRING) {
+ prompt("Input Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFM,DBF_STRING) {
+ prompt("Input Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFN,DBF_STRING) {
+ prompt("Input Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFO,DBF_STRING) {
+ prompt("Input Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFP,DBF_STRING) {
+ prompt("Input Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFQ,DBF_STRING) {
+ prompt("Input Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFR,DBF_STRING) {
+ prompt("Input Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFS,DBF_STRING) {
+ prompt("Input Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFT,DBF_STRING) {
+ prompt("Input Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFU,DBF_STRING) {
+ prompt("Input Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(A,DBF_NOACCESS) {
+ prompt("Value of Input A")
+ special(SPC_DBADDR)
+ extra("void *a")
+ interest(1)
+ asl(ASL0)
+ }
+ field(B,DBF_NOACCESS) {
+ prompt("Value of Input B")
+ special(SPC_DBADDR)
+ extra("void *b")
+ interest(1)
+ asl(ASL0)
+ }
+ field(C,DBF_NOACCESS) {
+ prompt("Value of Input C")
+ special(SPC_DBADDR)
+ extra("void *c")
+ interest(1)
+ asl(ASL0)
+ }
+ field(D,DBF_NOACCESS) {
+ prompt("Value of Input D")
+ special(SPC_DBADDR)
+ extra("void *d")
+ interest(1)
+ asl(ASL0)
+ }
+ field(E,DBF_NOACCESS) {
+ prompt("Value of Input E")
+ special(SPC_DBADDR)
+ extra("void *e")
+ interest(1)
+ asl(ASL0)
+ }
+ field(F,DBF_NOACCESS) {
+ prompt("Value of Input F")
+ special(SPC_DBADDR)
+ extra("void *f")
+ interest(1)
+ asl(ASL0)
+ }
+ field(G,DBF_NOACCESS) {
+ prompt("Value of Input G")
+ special(SPC_DBADDR)
+ extra("void *g")
+ interest(1)
+ asl(ASL0)
+ }
+ field(H,DBF_NOACCESS) {
+ prompt("Value of Input H")
+ special(SPC_DBADDR)
+ extra("void *h")
+ interest(1)
+ asl(ASL0)
+ }
+ field(I,DBF_NOACCESS) {
+ prompt("Value of Input I")
+ special(SPC_DBADDR)
+ extra("void *i")
+ interest(1)
+ asl(ASL0)
+ }
+ field(J,DBF_NOACCESS) {
+ prompt("Value of Input J")
+ special(SPC_DBADDR)
+ extra("void *j")
+ pp(TRUE)
+ interest(1)
+ asl(ASL0)
+ }
+ field(K,DBF_NOACCESS) {
+ prompt("Value of Input K")
+ special(SPC_DBADDR)
+ extra("void *k")
+ interest(1)
+ asl(ASL0)
+ }
+ field(L,DBF_NOACCESS) {
+ prompt("Value of Input L")
+ special(SPC_DBADDR)
+ extra("void *l")
+ interest(1)
+ asl(ASL0)
+ }
+ field(M,DBF_NOACCESS) {
+ prompt("Value of Input M")
+ special(SPC_DBADDR)
+ extra("void *m")
+ interest(1)
+ asl(ASL0)
+ }
+ field(N,DBF_NOACCESS) {
+ prompt("Value of Input N")
+ special(SPC_DBADDR)
+ extra("void *n")
+ interest(1)
+ asl(ASL0)
+ }
+ field(O,DBF_NOACCESS) {
+ prompt("Value of Input O")
+ special(SPC_DBADDR)
+ extra("void *o")
+ interest(1)
+ asl(ASL0)
+ }
+ field(P,DBF_NOACCESS) {
+ prompt("Value of Input P")
+ special(SPC_DBADDR)
+ extra("void *p")
+ interest(1)
+ asl(ASL0)
+ }
+ field(Q,DBF_NOACCESS) {
+ prompt("Value of Input Q")
+ special(SPC_DBADDR)
+ extra("void *q")
+ interest(1)
+ asl(ASL0)
+ }
+ field(R,DBF_NOACCESS) {
+ prompt("Value of Input R")
+ special(SPC_DBADDR)
+ extra("void *r")
+ interest(1)
+ asl(ASL0)
+ }
+ field(S,DBF_NOACCESS) {
+ prompt("Value of Input S")
+ special(SPC_DBADDR)
+ extra("void *s")
+ interest(1)
+ asl(ASL0)
+ }
+ field(T,DBF_NOACCESS) {
+ prompt("Value of Input T")
+ special(SPC_DBADDR)
+ extra("void *t")
+ interest(1)
+ asl(ASL0)
+ }
+ field(U,DBF_NOACCESS) {
+ prompt("Value of Input U")
+ special(SPC_DBADDR)
+ extra("void *u")
+ interest(1)
+ asl(ASL0)
+ }
+ field(FTA,DBF_MENU) {
+ prompt("Type of A")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTB,DBF_MENU) {
+ prompt("Type of B")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTC,DBF_MENU) {
+ prompt("Type of C")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTD,DBF_MENU) {
+ prompt("Type of D")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTE,DBF_MENU) {
+ prompt("Type of E")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTF,DBF_MENU) {
+ prompt("Type of F")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTG,DBF_MENU) {
+ prompt("Type of G")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTH,DBF_MENU) {
+ prompt("Type of H")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTI,DBF_MENU) {
+ prompt("Type of I")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTJ,DBF_MENU) {
+ prompt("Type of J")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTK,DBF_MENU) {
+ prompt("Type of K")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTL,DBF_MENU) {
+ prompt("Type of L")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTM,DBF_MENU) {
+ prompt("Type of M")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTN,DBF_MENU) {
+ prompt("Type of N")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTO,DBF_MENU) {
+ prompt("Type of O")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTP,DBF_MENU) {
+ prompt("Type of P")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTQ,DBF_MENU) {
+ prompt("Type of Q")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTR,DBF_MENU) {
+ prompt("Type of R")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTS,DBF_MENU) {
+ prompt("Type of S")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTT,DBF_MENU) {
+ prompt("Type of T")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTU,DBF_MENU) {
+ prompt("Type of U")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(NOA,DBF_ULONG) {
+ prompt("No. in A")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOB,DBF_ULONG) {
+ prompt("No. in B")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOC,DBF_ULONG) {
+ prompt("No. in C")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOD,DBF_ULONG) {
+ prompt("No. in D")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOE,DBF_ULONG) {
+ prompt("No. in E")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOF,DBF_ULONG) {
+ prompt("No. in F")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOG,DBF_ULONG) {
+ prompt("No. in G")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOH,DBF_ULONG) {
+ prompt("No. in H")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOI,DBF_ULONG) {
+ prompt("No. in I")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOJ,DBF_ULONG) {
+ prompt("No. in J")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOK,DBF_ULONG) {
+ prompt("No. in K")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOL,DBF_ULONG) {
+ prompt("No. in L")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOM,DBF_ULONG) {
+ prompt("No. in M")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NON,DBF_ULONG) {
+ prompt("No. in N")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOO,DBF_ULONG) {
+ prompt("No. in O")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOP,DBF_ULONG) {
+ prompt("No. in P")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOQ,DBF_ULONG) {
+ prompt("No. in Q")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOR,DBF_ULONG) {
+ prompt("No. in R")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOS,DBF_ULONG) {
+ prompt("No. in S")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOT,DBF_ULONG) {
+ prompt("No. in T")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOU,DBF_ULONG) {
+ prompt("No. in U")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTA,DBF_OUTLINK) {
+ prompt("Output Link A")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTB,DBF_OUTLINK) {
+ prompt("Output Link B")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTC,DBF_OUTLINK) {
+ prompt("Output Link C")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTD,DBF_OUTLINK) {
+ prompt("Output Link D")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTE,DBF_OUTLINK) {
+ prompt("Output Link E")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTF,DBF_OUTLINK) {
+ prompt("Output Link F")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTG,DBF_OUTLINK) {
+ prompt("Output Link G")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTH,DBF_OUTLINK) {
+ prompt("Output Link H")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTI,DBF_OUTLINK) {
+ prompt("Output Link I")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTJ,DBF_OUTLINK) {
+ prompt("Output Link J")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTK,DBF_OUTLINK) {
+ prompt("Output Link K")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTL,DBF_OUTLINK) {
+ prompt("Output Link L")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTM,DBF_OUTLINK) {
+ prompt("Output Link M")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTN,DBF_OUTLINK) {
+ prompt("Output Link N")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTO,DBF_OUTLINK) {
+ prompt("Output Link O")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTP,DBF_OUTLINK) {
+ prompt("Output Link P")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTQ,DBF_OUTLINK) {
+ prompt("Output Link Q")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTR,DBF_OUTLINK) {
+ prompt("Output Link R")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTS,DBF_OUTLINK) {
+ prompt("Output Link S")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTT,DBF_OUTLINK) {
+ prompt("Output Link T")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTU,DBF_OUTLINK) {
+ prompt("Output Link U")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFVA,DBF_STRING) {
+ prompt("Output Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVB,DBF_STRING) {
+ prompt("Output Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVC,DBF_STRING) {
+ prompt("Output Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVD,DBF_STRING) {
+ prompt("Output Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVE,DBF_STRING) {
+ prompt("Output Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVF,DBF_STRING) {
+ prompt("Output Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVG,DBF_STRING) {
+ prompt("Output Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVH,DBF_STRING) {
+ prompt("Output Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVI,DBF_STRING) {
+ prompt("Output Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVJ,DBF_STRING) {
+ prompt("Output Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVK,DBF_STRING) {
+ prompt("Output Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVL,DBF_STRING) {
+ prompt("Output Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVM,DBF_STRING) {
+ prompt("Output Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVN,DBF_STRING) {
+ prompt("Output Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVO,DBF_STRING) {
+ prompt("Output Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVP,DBF_STRING) {
+ prompt("Output Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVQ,DBF_STRING) {
+ prompt("Output Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVR,DBF_STRING) {
+ prompt("Output Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVS,DBF_STRING) {
+ prompt("Output Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVT,DBF_STRING) {
+ prompt("Output Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVU,DBF_STRING) {
+ prompt("Output Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(VALA,DBF_NOACCESS) {
+ prompt("Value of Output A")
+ special(SPC_DBADDR)
+ extra("void *vala")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALB,DBF_NOACCESS) {
+ prompt("Value of Output B")
+ special(SPC_DBADDR)
+ extra("void *valb")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALC,DBF_NOACCESS) {
+ prompt("Value of Output C")
+ special(SPC_DBADDR)
+ extra("void *valc")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALD,DBF_NOACCESS) {
+ prompt("Value of Output D")
+ special(SPC_DBADDR)
+ extra("void *vald")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALE,DBF_NOACCESS) {
+ prompt("Value of Output E")
+ special(SPC_DBADDR)
+ extra("void *vale")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALF,DBF_NOACCESS) {
+ prompt("Value of Output F")
+ special(SPC_DBADDR)
+ extra("void *valf")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALG,DBF_NOACCESS) {
+ prompt("Value of Output G")
+ special(SPC_DBADDR)
+ extra("void *valg")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALH,DBF_NOACCESS) {
+ prompt("Value of Output H")
+ special(SPC_DBADDR)
+ extra("void *valh")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALI,DBF_NOACCESS) {
+ prompt("Value of Output I")
+ special(SPC_DBADDR)
+ extra("void *vali")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALJ,DBF_NOACCESS) {
+ prompt("Value of Output J")
+ special(SPC_DBADDR)
+ extra("void *valj")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALK,DBF_NOACCESS) {
+ prompt("Value of Output K")
+ special(SPC_DBADDR)
+ extra("void *valk")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALL,DBF_NOACCESS) {
+ prompt("Value of Output L")
+ special(SPC_DBADDR)
+ extra("void *vall")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALM,DBF_NOACCESS) {
+ prompt("Value of Output M")
+ special(SPC_DBADDR)
+ extra("void *valm")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALN,DBF_NOACCESS) {
+ prompt("Value of Output N")
+ special(SPC_DBADDR)
+ extra("void *valn")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALO,DBF_NOACCESS) {
+ prompt("Value of Output O")
+ special(SPC_DBADDR)
+ extra("void *valo")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALP,DBF_NOACCESS) {
+ prompt("Value of Output P")
+ special(SPC_DBADDR)
+ extra("void *valp")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALQ,DBF_NOACCESS) {
+ prompt("Value of Output Q")
+ special(SPC_DBADDR)
+ extra("void *valq")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALR,DBF_NOACCESS) {
+ prompt("Value of Output R")
+ special(SPC_DBADDR)
+ extra("void *valr")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALS,DBF_NOACCESS) {
+ prompt("Value of Output S")
+ special(SPC_DBADDR)
+ extra("void *vals")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALT,DBF_NOACCESS) {
+ prompt("Value of Output T")
+ special(SPC_DBADDR)
+ extra("void *valt")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALU,DBF_NOACCESS) {
+ prompt("Value of Output U")
+ special(SPC_DBADDR)
+ extra("void *valu")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLA,DBF_NOACCESS) {
+ prompt("Old Output A")
+ special(SPC_NOMOD)
+ extra("void *ovla")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLB,DBF_NOACCESS) {
+ prompt("Old Output B")
+ special(SPC_NOMOD)
+ extra("void *ovlb")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLC,DBF_NOACCESS) {
+ prompt("Old Output C")
+ special(SPC_NOMOD)
+ extra("void *ovlc")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLD,DBF_NOACCESS) {
+ prompt("Old Output D")
+ special(SPC_NOMOD)
+ extra("void *ovld")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLE,DBF_NOACCESS) {
+ prompt("Old Output E")
+ special(SPC_NOMOD)
+ extra("void *ovle")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLF,DBF_NOACCESS) {
+ prompt("Old Output F")
+ special(SPC_NOMOD)
+ extra("void *ovlf")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLG,DBF_NOACCESS) {
+ prompt("Old Output G")
+ special(SPC_NOMOD)
+ extra("void *ovlg")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLH,DBF_NOACCESS) {
+ prompt("Old Output H")
+ special(SPC_NOMOD)
+ extra("void *ovlh")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLI,DBF_NOACCESS) {
+ prompt("Old Output I")
+ special(SPC_NOMOD)
+ extra("void *ovli")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLJ,DBF_NOACCESS) {
+ prompt("Old Output J")
+ special(SPC_NOMOD)
+ extra("void *ovlj")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLK,DBF_NOACCESS) {
+ prompt("Old Output K")
+ special(SPC_NOMOD)
+ extra("void *ovlk")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLL,DBF_NOACCESS) {
+ prompt("Old Output L")
+ special(SPC_NOMOD)
+ extra("void *ovll")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLM,DBF_NOACCESS) {
+ prompt("Old Output M")
+ special(SPC_NOMOD)
+ extra("void *ovlm")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLN,DBF_NOACCESS) {
+ prompt("Old Output N")
+ special(SPC_NOMOD)
+ extra("void *ovln")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLO,DBF_NOACCESS) {
+ prompt("Old Output O")
+ special(SPC_NOMOD)
+ extra("void *ovlo")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLP,DBF_NOACCESS) {
+ prompt("Old Output P")
+ special(SPC_NOMOD)
+ extra("void *ovlp")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLQ,DBF_NOACCESS) {
+ prompt("Old Output Q")
+ special(SPC_NOMOD)
+ extra("void *ovlq")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLR,DBF_NOACCESS) {
+ prompt("Old Output R")
+ special(SPC_NOMOD)
+ extra("void *ovlr")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLS,DBF_NOACCESS) {
+ prompt("Old Output S")
+ special(SPC_NOMOD)
+ extra("void *ovls")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLT,DBF_NOACCESS) {
+ prompt("Old Output T")
+ special(SPC_NOMOD)
+ extra("void *ovlt")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLU,DBF_NOACCESS) {
+ prompt("Old Output U")
+ special(SPC_NOMOD)
+ extra("void *ovlu")
+ interest(1)
+ asl(ASL0)
+ }
+ field(FTVA,DBF_MENU) {
+ prompt("Type of VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVB,DBF_MENU) {
+ prompt("Type of VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVC,DBF_MENU) {
+ prompt("Type of VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVD,DBF_MENU) {
+ prompt("Type of VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVE,DBF_MENU) {
+ prompt("Type of VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVF,DBF_MENU) {
+ prompt("Type of VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVG,DBF_MENU) {
+ prompt("Type of VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVH,DBF_MENU) {
+ prompt("Type of VALH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVI,DBF_MENU) {
+ prompt("Type of VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVJ,DBF_MENU) {
+ prompt("Type of VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVK,DBF_MENU) {
+ prompt("Type of VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Type of VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVM,DBF_MENU) {
+ prompt("Type of VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVN,DBF_MENU) {
+ prompt("Type of VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVO,DBF_MENU) {
+ prompt("Type of VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVP,DBF_MENU) {
+ prompt("Type of VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVQ,DBF_MENU) {
+ prompt("Type of VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVR,DBF_MENU) {
+ prompt("Type of VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVS,DBF_MENU) {
+ prompt("Type of VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVT,DBF_MENU) {
+ prompt("Type of VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVU,DBF_MENU) {
+ prompt("Type of VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(NOVA,DBF_ULONG) {
+ prompt("No. in VALA")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVB,DBF_ULONG) {
+ prompt("No. in VALB")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVC,DBF_ULONG) {
+ prompt("No. in VALC")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVD,DBF_ULONG) {
+ prompt("No. in VALD")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVE,DBF_ULONG) {
+ prompt("No. in VALE")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVF,DBF_ULONG) {
+ prompt("No. in VALF")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVG,DBF_ULONG) {
+ prompt("No. in VALG")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVH,DBF_ULONG) {
+ prompt("No. in VAlH")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVI,DBF_ULONG) {
+ prompt("No. in VALI")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVJ,DBF_ULONG) {
+ prompt("No. in VALJ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVK,DBF_ULONG) {
+ prompt("No. in VALK")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVL,DBF_ULONG) {
+ prompt("No. in VALL")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVM,DBF_ULONG) {
+ prompt("No. in VALM")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVN,DBF_ULONG) {
+ prompt("No. in VALN")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVO,DBF_ULONG) {
+ prompt("No. in VALO")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVP,DBF_ULONG) {
+ prompt("No. in VALP")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVQ,DBF_ULONG) {
+ prompt("No. in VALQ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVR,DBF_ULONG) {
+ prompt("No. in VALR")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVS,DBF_ULONG) {
+ prompt("No. in VALS")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVT,DBF_ULONG) {
+ prompt("No. in VALT")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVU,DBF_ULONG) {
+ prompt("No. in VALU")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVA,DBF_ULONG) {
+ prompt("Total bytes for VALA")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVB,DBF_ULONG) {
+ prompt("Total bytes for VALB")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVC,DBF_ULONG) {
+ prompt("Total bytes for VALC")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVD,DBF_ULONG) {
+ prompt("Total bytes for VALD")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVE,DBF_ULONG) {
+ prompt("Total bytes for VALE")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVF,DBF_ULONG) {
+ prompt("Total bytes for VALF")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVG,DBF_ULONG) {
+ prompt("Total bytes for VALG")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVH,DBF_ULONG) {
+ prompt("Total bytes for VAlH")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVI,DBF_ULONG) {
+ prompt("Total bytes for VALI")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVJ,DBF_ULONG) {
+ prompt("Total bytes for VALJ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVK,DBF_ULONG) {
+ prompt("Total bytes for VALK")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVL,DBF_ULONG) {
+ prompt("Total bytes for VALL")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVM,DBF_ULONG) {
+ prompt("Total bytes for VALM")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVN,DBF_ULONG) {
+ prompt("Total bytes for VALN")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVO,DBF_ULONG) {
+ prompt("Total bytes for VALO")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVP,DBF_ULONG) {
+ prompt("Total bytes for VALP")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVQ,DBF_ULONG) {
+ prompt("Total bytes for VALQ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVR,DBF_ULONG) {
+ prompt("Total bytes for VALR")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVS,DBF_ULONG) {
+ prompt("Total bytes for VALS")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVT,DBF_ULONG) {
+ prompt("Total bytes for VALT")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVU,DBF_ULONG) {
+ prompt("Total bytes for VALU")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+}
+device(ai,CONSTANT,devAiSoft,"Soft Channel")
+device(ai,CONSTANT,devAiSoftRaw,"Raw Soft Channel")
+device(ao,CONSTANT,devAoSoft,"Soft Channel")
+device(ao,CONSTANT,devAoSoftRaw,"Raw Soft Channel")
+device(ao,CONSTANT,devAoSoftCallback,"Async Soft Channel")
+device(bi,CONSTANT,devBiSoft,"Soft Channel")
+device(bi,CONSTANT,devBiSoftRaw,"Raw Soft Channel")
+device(bo,CONSTANT,devBoSoft,"Soft Channel")
+device(bo,CONSTANT,devBoSoftRaw,"Raw Soft Channel")
+device(bo,CONSTANT,devBoSoftCallback,"Async Soft Channel")
+device(calcout,CONSTANT,devCalcoutSoft,"Soft Channel")
+device(calcout,CONSTANT,devCalcoutSoftCallback,"Async Soft Channel")
+device(event,CONSTANT,devEventSoft,"Soft Channel")
+device(longin,CONSTANT,devLiSoft,"Soft Channel")
+device(longout,CONSTANT,devLoSoft,"Soft Channel")
+device(longout,CONSTANT,devLoSoftCallback,"Async Soft Channel")
+device(mbbi,CONSTANT,devMbbiSoft,"Soft Channel")
+device(mbbi,CONSTANT,devMbbiSoftRaw,"Raw Soft Channel")
+device(mbbiDirect,CONSTANT,devMbbiDirectSoft,"Soft Channel")
+device(mbbiDirect,CONSTANT,devMbbiDirectSoftRaw,"Raw Soft Channel")
+device(mbbo,CONSTANT,devMbboSoft,"Soft Channel")
+device(mbbo,CONSTANT,devMbboSoftRaw,"Raw Soft Channel")
+device(mbbo,CONSTANT,devMbboSoftCallback,"Async Soft Channel")
+device(mbboDirect,CONSTANT,devMbboDirectSoft,"Soft Channel")
+device(mbboDirect,CONSTANT,devMbboDirectSoftRaw,"Raw Soft Channel")
+device(mbboDirect,CONSTANT,devMbboDirectSoftCallback,"Async Soft Channel")
+device(stringin,CONSTANT,devSiSoft,"Soft Channel")
+device(stringin,INST_IO,devTimestampSI,"Soft Timestamp")
+device(stringout,CONSTANT,devSoSoft,"Soft Channel")
+device(stringout,CONSTANT,devSoSoftCallback,"Async Soft Channel")
+device(subArray,CONSTANT,devSASoft,"Soft Channel")
+device(waveform,CONSTANT,devWfSoft,"Soft Channel")
+device(xxx,CONSTANT,devXxxSoft,"SoftChannel")
+registrar(asSub)
+function(evtbuild_init)
+function(evtbuild_proc)
+function(genRunId_init)
+function(genRunId_proc)
+function(writeRunId_init)
+function(writeRunId_proc)
+variable(asCaDebug,int)
+variable(dbRecordsOnceOnly,int)
+variable(evtbuildDebug,int)
+variable(genrunidDebug,int)
+variable(writerunidDebug,int)
--- /dev/null
+menu(genSubLFLG) {
+ choice(genSubLFLG_IGNORE,"IGNORE")
+ choice(genSubLFLG_READ,"READ")
+}
+
+menu(genSubEFLG) {
+ choice(genSubEFLG_NEVER,"NEVER")
+ choice(genSubEFLG_ON_CHANGE,"ON CHANGE")
+ choice(genSubEFLG_ALWAYS,"ALWAYS")
+}
+recordtype(genSub) {
+ include "dbCommon.dbd"
+ field(VERS,DBF_DOUBLE) {
+ prompt("Version Number")
+ promptgroup(GUI_DISPLAY)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Subr. return value")
+ asl(ASL0)
+ }
+ field(OVAL,DBF_LONG) {
+ prompt("Old return value")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(SADR,DBF_LONG) {
+ prompt("Subroutine Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OSAD,DBF_LONG) {
+ prompt("Old Subr. Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(LFLG,DBF_MENU) {
+ prompt("Link Flag")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ menu(genSubLFLG)
+ }
+ field(EFLG,DBF_MENU) {
+ prompt("Event Flag")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ menu(genSubEFLG)
+ }
+ field(SUBL,DBF_INLINK) {
+ prompt("Subroutine Input Link")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INAM,DBF_STRING) {
+ prompt("Init Routine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(SNAM,DBF_STRING) {
+ prompt("Process Subr. Name")
+ promptgroup(GUI_SUB)
+ special(SPC_MOD)
+ interest(1)
+ size(40)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("Old Subroutine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(BRSV,DBF_MENU) {
+ prompt("Bad Return Severity")
+ promptgroup(GUI_SUB)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input Link A")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input Link B")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input Link C")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input Link D")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input Link E")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input Link F")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input Link G")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input Link H")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input Link I")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input Link J")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input Link K")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input Link L")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPM,DBF_INLINK) {
+ prompt("Input Link M")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPN,DBF_INLINK) {
+ prompt("Input Link N")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPO,DBF_INLINK) {
+ prompt("Input Link O")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPP,DBF_INLINK) {
+ prompt("Input Link P")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPQ,DBF_INLINK) {
+ prompt("Input Link Q")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPR,DBF_INLINK) {
+ prompt("Input Link R")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPS,DBF_INLINK) {
+ prompt("Input Link S")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPT,DBF_INLINK) {
+ prompt("Input Link T")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPU,DBF_INLINK) {
+ prompt("Input Link U")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFA,DBF_STRING) {
+ prompt("Input Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFB,DBF_STRING) {
+ prompt("Input Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFC,DBF_STRING) {
+ prompt("Input Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFD,DBF_STRING) {
+ prompt("Input Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFE,DBF_STRING) {
+ prompt("Input Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFF,DBF_STRING) {
+ prompt("Input Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFG,DBF_STRING) {
+ prompt("Input Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFH,DBF_STRING) {
+ prompt("Input Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFI,DBF_STRING) {
+ prompt("Input Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFJ,DBF_STRING) {
+ prompt("Input Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFK,DBF_STRING) {
+ prompt("Input Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFL,DBF_STRING) {
+ prompt("Input Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFM,DBF_STRING) {
+ prompt("Input Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFN,DBF_STRING) {
+ prompt("Input Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFO,DBF_STRING) {
+ prompt("Input Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFP,DBF_STRING) {
+ prompt("Input Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFQ,DBF_STRING) {
+ prompt("Input Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFR,DBF_STRING) {
+ prompt("Input Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFS,DBF_STRING) {
+ prompt("Input Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFT,DBF_STRING) {
+ prompt("Input Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFU,DBF_STRING) {
+ prompt("Input Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(A,DBF_NOACCESS) {
+ prompt("Value of Input A")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *a")
+ }
+ field(B,DBF_NOACCESS) {
+ prompt("Value of Input B")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *b")
+ }
+ field(C,DBF_NOACCESS) {
+ prompt("Value of Input C")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *c")
+ }
+ field(D,DBF_NOACCESS) {
+ prompt("Value of Input D")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *d")
+ }
+ field(E,DBF_NOACCESS) {
+ prompt("Value of Input E")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *e")
+ }
+ field(F,DBF_NOACCESS) {
+ prompt("Value of Input F")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *f")
+ }
+ field(G,DBF_NOACCESS) {
+ prompt("Value of Input G")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *g")
+ }
+ field(H,DBF_NOACCESS) {
+ prompt("Value of Input H")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *h")
+ }
+ field(I,DBF_NOACCESS) {
+ prompt("Value of Input I")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *i")
+ }
+ field(J,DBF_NOACCESS) {
+ prompt("Value of Input J")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ pp(TRUE)
+ interest(1)
+ size(4)
+ extra("void *j")
+ }
+ field(K,DBF_NOACCESS) {
+ prompt("Value of Input K")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *k")
+ }
+ field(L,DBF_NOACCESS) {
+ prompt("Value of Input L")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *l")
+ }
+ field(M,DBF_NOACCESS) {
+ prompt("Value of Input M")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *m")
+ }
+ field(N,DBF_NOACCESS) {
+ prompt("Value of Input N")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *n")
+ }
+ field(O,DBF_NOACCESS) {
+ prompt("Value of Input O")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *o")
+ }
+ field(P,DBF_NOACCESS) {
+ prompt("Value of Input P")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *p")
+ }
+ field(Q,DBF_NOACCESS) {
+ prompt("Value of Input Q")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *q")
+ }
+ field(R,DBF_NOACCESS) {
+ prompt("Value of Input R")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *r")
+ }
+ field(S,DBF_NOACCESS) {
+ prompt("Value of Input S")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *s")
+ }
+ field(T,DBF_NOACCESS) {
+ prompt("Value of Input T")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *t")
+ }
+ field(U,DBF_NOACCESS) {
+ prompt("Value of Input U")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *u")
+ }
+ field(FTA,DBF_MENU) {
+ prompt("Type of A")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTB,DBF_MENU) {
+ prompt("Type of B")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTC,DBF_MENU) {
+ prompt("Type of C")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTD,DBF_MENU) {
+ prompt("Type of D")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTE,DBF_MENU) {
+ prompt("Type of E")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTF,DBF_MENU) {
+ prompt("Type of F")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTG,DBF_MENU) {
+ prompt("Type of G")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTH,DBF_MENU) {
+ prompt("Type of H")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTI,DBF_MENU) {
+ prompt("Type of I")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTJ,DBF_MENU) {
+ prompt("Type of J")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTK,DBF_MENU) {
+ prompt("Type of K")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTL,DBF_MENU) {
+ prompt("Type of L")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTM,DBF_MENU) {
+ prompt("Type of M")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTN,DBF_MENU) {
+ prompt("Type of N")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTO,DBF_MENU) {
+ prompt("Type of O")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTP,DBF_MENU) {
+ prompt("Type of P")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTQ,DBF_MENU) {
+ prompt("Type of Q")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTR,DBF_MENU) {
+ prompt("Type of R")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTS,DBF_MENU) {
+ prompt("Type of S")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTT,DBF_MENU) {
+ prompt("Type of T")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTU,DBF_MENU) {
+ prompt("Type of U")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(NOA,DBF_ULONG) {
+ prompt("No. in A")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOB,DBF_ULONG) {
+ prompt("No. in B")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOC,DBF_ULONG) {
+ prompt("No. in C")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOD,DBF_ULONG) {
+ prompt("No. in D")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOE,DBF_ULONG) {
+ prompt("No. in E")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOF,DBF_ULONG) {
+ prompt("No. in F")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOG,DBF_ULONG) {
+ prompt("No. in G")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOH,DBF_ULONG) {
+ prompt("No. in H")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOI,DBF_ULONG) {
+ prompt("No. in I")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOJ,DBF_ULONG) {
+ prompt("No. in J")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOK,DBF_ULONG) {
+ prompt("No. in K")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOL,DBF_ULONG) {
+ prompt("No. in L")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOM,DBF_ULONG) {
+ prompt("No. in M")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NON,DBF_ULONG) {
+ prompt("No. in N")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOO,DBF_ULONG) {
+ prompt("No. in O")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOP,DBF_ULONG) {
+ prompt("No. in P")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOQ,DBF_ULONG) {
+ prompt("No. in Q")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOR,DBF_ULONG) {
+ prompt("No. in R")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOS,DBF_ULONG) {
+ prompt("No. in S")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOT,DBF_ULONG) {
+ prompt("No. in T")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOU,DBF_ULONG) {
+ prompt("No. in U")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(OUTA,DBF_OUTLINK) {
+ prompt("Output Link A")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTB,DBF_OUTLINK) {
+ prompt("Output Link B")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTC,DBF_OUTLINK) {
+ prompt("Output Link C")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTD,DBF_OUTLINK) {
+ prompt("Output Link D")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTE,DBF_OUTLINK) {
+ prompt("Output Link E")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTF,DBF_OUTLINK) {
+ prompt("Output Link F")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTG,DBF_OUTLINK) {
+ prompt("Output Link G")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTH,DBF_OUTLINK) {
+ prompt("Output Link H")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTI,DBF_OUTLINK) {
+ prompt("Output Link I")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTJ,DBF_OUTLINK) {
+ prompt("Output Link J")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTK,DBF_OUTLINK) {
+ prompt("Output Link K")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTL,DBF_OUTLINK) {
+ prompt("Output Link L")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTM,DBF_OUTLINK) {
+ prompt("Output Link M")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTN,DBF_OUTLINK) {
+ prompt("Output Link N")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTO,DBF_OUTLINK) {
+ prompt("Output Link O")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTP,DBF_OUTLINK) {
+ prompt("Output Link P")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTQ,DBF_OUTLINK) {
+ prompt("Output Link Q")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTR,DBF_OUTLINK) {
+ prompt("Output Link R")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTS,DBF_OUTLINK) {
+ prompt("Output Link S")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTT,DBF_OUTLINK) {
+ prompt("Output Link T")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTU,DBF_OUTLINK) {
+ prompt("Output Link U")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFVA,DBF_STRING) {
+ prompt("Output Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVB,DBF_STRING) {
+ prompt("Output Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVC,DBF_STRING) {
+ prompt("Output Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVD,DBF_STRING) {
+ prompt("Output Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVE,DBF_STRING) {
+ prompt("Output Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVF,DBF_STRING) {
+ prompt("Output Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVG,DBF_STRING) {
+ prompt("Output Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVH,DBF_STRING) {
+ prompt("Output Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVI,DBF_STRING) {
+ prompt("Output Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVJ,DBF_STRING) {
+ prompt("Output Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVK,DBF_STRING) {
+ prompt("Output Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVL,DBF_STRING) {
+ prompt("Output Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVM,DBF_STRING) {
+ prompt("Output Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVN,DBF_STRING) {
+ prompt("Output Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVO,DBF_STRING) {
+ prompt("Output Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVP,DBF_STRING) {
+ prompt("Output Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVQ,DBF_STRING) {
+ prompt("Output Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVR,DBF_STRING) {
+ prompt("Output Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVS,DBF_STRING) {
+ prompt("Output Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVT,DBF_STRING) {
+ prompt("Output Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVU,DBF_STRING) {
+ prompt("Output Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(VALA,DBF_NOACCESS) {
+ prompt("Value of Output A")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vala")
+ }
+ field(VALB,DBF_NOACCESS) {
+ prompt("Value of Output B")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valb")
+ }
+ field(VALC,DBF_NOACCESS) {
+ prompt("Value of Output C")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valc")
+ }
+ field(VALD,DBF_NOACCESS) {
+ prompt("Value of Output D")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vald")
+ }
+ field(VALE,DBF_NOACCESS) {
+ prompt("Value of Output E")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vale")
+ }
+ field(VALF,DBF_NOACCESS) {
+ prompt("Value of Output F")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valf")
+ }
+ field(VALG,DBF_NOACCESS) {
+ prompt("Value of Output G")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valg")
+ }
+ field(VALH,DBF_NOACCESS) {
+ prompt("Value of Output H")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valh")
+ }
+ field(VALI,DBF_NOACCESS) {
+ prompt("Value of Output I")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vali")
+ }
+ field(VALJ,DBF_NOACCESS) {
+ prompt("Value of Output J")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valj")
+ }
+ field(VALK,DBF_NOACCESS) {
+ prompt("Value of Output K")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valk")
+ }
+ field(VALL,DBF_NOACCESS) {
+ prompt("Value of Output L")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vall")
+ }
+ field(VALM,DBF_NOACCESS) {
+ prompt("Value of Output M")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valm")
+ }
+ field(VALN,DBF_NOACCESS) {
+ prompt("Value of Output N")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valn")
+ }
+ field(VALO,DBF_NOACCESS) {
+ prompt("Value of Output O")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valo")
+ }
+ field(VALP,DBF_NOACCESS) {
+ prompt("Value of Output P")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valp")
+ }
+ field(VALQ,DBF_NOACCESS) {
+ prompt("Value of Output Q")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valq")
+ }
+ field(VALR,DBF_NOACCESS) {
+ prompt("Value of Output R")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valr")
+ }
+ field(VALS,DBF_NOACCESS) {
+ prompt("Value of Output S")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vals")
+ }
+ field(VALT,DBF_NOACCESS) {
+ prompt("Value of Output T")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valt")
+ }
+ field(VALU,DBF_NOACCESS) {
+ prompt("Value of Output U")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valu")
+ }
+ field(OVLA,DBF_NOACCESS) {
+ prompt("Old Output A")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovla")
+ }
+ field(OVLB,DBF_NOACCESS) {
+ prompt("Old Output B")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlb")
+ }
+ field(OVLC,DBF_NOACCESS) {
+ prompt("Old Output C")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlc")
+ }
+ field(OVLD,DBF_NOACCESS) {
+ prompt("Old Output D")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovld")
+ }
+ field(OVLE,DBF_NOACCESS) {
+ prompt("Old Output E")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovle")
+ }
+ field(OVLF,DBF_NOACCESS) {
+ prompt("Old Output F")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlf")
+ }
+ field(OVLG,DBF_NOACCESS) {
+ prompt("Old Output G")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlg")
+ }
+ field(OVLH,DBF_NOACCESS) {
+ prompt("Old Output H")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlh")
+ }
+ field(OVLI,DBF_NOACCESS) {
+ prompt("Old Output I")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovli")
+ }
+ field(OVLJ,DBF_NOACCESS) {
+ prompt("Old Output J")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlj")
+ }
+ field(OVLK,DBF_NOACCESS) {
+ prompt("Old Output K")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlk")
+ }
+ field(OVLL,DBF_NOACCESS) {
+ prompt("Old Output L")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovll")
+ }
+ field(OVLM,DBF_NOACCESS) {
+ prompt("Old Output M")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlm")
+ }
+ field(OVLN,DBF_NOACCESS) {
+ prompt("Old Output N")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovln")
+ }
+ field(OVLO,DBF_NOACCESS) {
+ prompt("Old Output O")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlo")
+ }
+ field(OVLP,DBF_NOACCESS) {
+ prompt("Old Output P")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlp")
+ }
+ field(OVLQ,DBF_NOACCESS) {
+ prompt("Old Output Q")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlq")
+ }
+ field(OVLR,DBF_NOACCESS) {
+ prompt("Old Output R")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlr")
+ }
+ field(OVLS,DBF_NOACCESS) {
+ prompt("Old Output S")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovls")
+ }
+ field(OVLT,DBF_NOACCESS) {
+ prompt("Old Output T")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlt")
+ }
+ field(OVLU,DBF_NOACCESS) {
+ prompt("Old Output U")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlu")
+ }
+ field(FTVA,DBF_MENU) {
+ prompt("Type of VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVB,DBF_MENU) {
+ prompt("Type of VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVC,DBF_MENU) {
+ prompt("Type of VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVD,DBF_MENU) {
+ prompt("Type of VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVE,DBF_MENU) {
+ prompt("Type of VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVF,DBF_MENU) {
+ prompt("Type of VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVG,DBF_MENU) {
+ prompt("Type of VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVH,DBF_MENU) {
+ prompt("Type of VALH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVI,DBF_MENU) {
+ prompt("Type of VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVJ,DBF_MENU) {
+ prompt("Type of VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVK,DBF_MENU) {
+ prompt("Type of VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Type of VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVM,DBF_MENU) {
+ prompt("Type of VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVN,DBF_MENU) {
+ prompt("Type of VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVO,DBF_MENU) {
+ prompt("Type of VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVP,DBF_MENU) {
+ prompt("Type of VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVQ,DBF_MENU) {
+ prompt("Type of VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVR,DBF_MENU) {
+ prompt("Type of VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVS,DBF_MENU) {
+ prompt("Type of VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVT,DBF_MENU) {
+ prompt("Type of VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVU,DBF_MENU) {
+ prompt("Type of VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(NOVA,DBF_ULONG) {
+ prompt("No. in VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVB,DBF_ULONG) {
+ prompt("No. in VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVC,DBF_ULONG) {
+ prompt("No. in VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVD,DBF_ULONG) {
+ prompt("No. in VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVE,DBF_ULONG) {
+ prompt("No. in VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVF,DBF_ULONG) {
+ prompt("No. in VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVG,DBF_ULONG) {
+ prompt("No. in VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVH,DBF_ULONG) {
+ prompt("No. in VAlH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVI,DBF_ULONG) {
+ prompt("No. in VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVJ,DBF_ULONG) {
+ prompt("No. in VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVK,DBF_ULONG) {
+ prompt("No. in VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVL,DBF_ULONG) {
+ prompt("No. in VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVM,DBF_ULONG) {
+ prompt("No. in VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVN,DBF_ULONG) {
+ prompt("No. in VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVO,DBF_ULONG) {
+ prompt("No. in VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVP,DBF_ULONG) {
+ prompt("No. in VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVQ,DBF_ULONG) {
+ prompt("No. in VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVR,DBF_ULONG) {
+ prompt("No. in VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVS,DBF_ULONG) {
+ prompt("No. in VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVT,DBF_ULONG) {
+ prompt("No. in VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVU,DBF_ULONG) {
+ prompt("No. in VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVA,DBF_ULONG) {
+ prompt("Total bytes for VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVB,DBF_ULONG) {
+ prompt("Total bytes for VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVC,DBF_ULONG) {
+ prompt("Total bytes for VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVD,DBF_ULONG) {
+ prompt("Total bytes for VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVE,DBF_ULONG) {
+ prompt("Total bytes for VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVF,DBF_ULONG) {
+ prompt("Total bytes for VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVG,DBF_ULONG) {
+ prompt("Total bytes for VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVH,DBF_ULONG) {
+ prompt("Total bytes for VAlH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVI,DBF_ULONG) {
+ prompt("Total bytes for VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVJ,DBF_ULONG) {
+ prompt("Total bytes for VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVK,DBF_ULONG) {
+ prompt("Total bytes for VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVL,DBF_ULONG) {
+ prompt("Total bytes for VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVM,DBF_ULONG) {
+ prompt("Total bytes for VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVN,DBF_ULONG) {
+ prompt("Total bytes for VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVO,DBF_ULONG) {
+ prompt("Total bytes for VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVP,DBF_ULONG) {
+ prompt("Total bytes for VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVQ,DBF_ULONG) {
+ prompt("Total bytes for VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVR,DBF_ULONG) {
+ prompt("Total bytes for VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVS,DBF_ULONG) {
+ prompt("Total bytes for VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVT,DBF_ULONG) {
+ prompt("Total bytes for VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVU,DBF_ULONG) {
+ prompt("Total bytes for VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+}
--- /dev/null
+recordtype(xxx) {
+ include "dbCommon.dbd"
+ field(VAL,DBF_DOUBLE) {
+ prompt("Current EGU Value")
+ asl(ASL0)
+ pp(TRUE)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ size(16)
+ }
+ field(HOPR,DBF_FLOAT) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_FLOAT) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_FLOAT) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_FLOAT) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_FLOAT) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_FLOAT) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
--- /dev/null
+include "xxxRecord.dbd"
+device(xxx,CONSTANT,devXxxSoft,"SoftChannel")
--- /dev/null
+TOP=../..
+include $(TOP)/configure/CONFIG
+#----------------------------------------
+# ADD MACRO DEFINITIONS AFTER THIS LINE
+
+#----------------------------------------------------
+# Optimization of db files using dbst (DEFAULT: NO)
+#DB_OPT = YES
+
+#----------------------------------------------------
+# Create and install (or just install)
+# databases, templates, substitutions like this
+DB += evtbuild.db
+DB += user.substitutions
+DB += userHost.substitutions
+
+#----------------------------------------------------
+# If <anyname>.db template is not named <anyname>*.template add
+# <anyname>_TEMPLATE = <templatename>
+
+include $(TOP)/configure/RULES
+#----------------------------------------
+# ADD RULES AFTER THIS LINE
+
--- /dev/null
+#This Makefile created by makeMakefile.pl
+
+
+all :
+ $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86 $@
+
+.DEFAULT: force
+ $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86 $@
+
+force: ;
--- /dev/null
+record(ai, "$(user):aiExample")
+{
+ field(DESC, "Analog input")
+ field(INP, "$(user):calcExample.VAL NPP NMS")
+ field(EGUF, "10")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(LOPR, "0")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(calc, "$(user):calcExample")
+{
+ field(DESC, "Counter")
+ field(SCAN,"1 second")
+ field(FLNK, "$(user):aiExample")
+ field(CALC, "(A<B)?(A+C):D")
+ field(INPA, "$(user):calcExample.VAL NPP NMS")
+ field(INPB, "9")
+ field(INPC, "1")
+ field(INPD, "0")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(xxx, "$(user):xxxExample")
+{
+ field(DESC, "xxx record")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(compress,"$(user):compressExample")
+{
+ field(DESC, "Circular buffer")
+ field(INP,"$(user):aiExample.VAL CP NMS")
+ field(ALG,"Circular Buffer")
+ field(NSAM,"10")
+ field(HOPR,"10")
+ field(EGU,"Counts")
+}
+
--- /dev/null
+record(calc, "$(user):calcExample$(no)")
+{
+ field(DESC, "Counter No. $(no)")
+ field(SCAN,"$(scan)")
+ field(FLNK, "$(user):aiExample$(no)")
+ field(CALC, "(A<B)?(A+C):D")
+ field(INPA, "$(user):calcExample$(no).VAL NPP NMS")
+ field(INPB, "9")
+ field(INPC, "1")
+ field(INPD, "0")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
+record(ai, "$(user):aiExample$(no)")
+{
+ field(DESC, "Analog input No. $(no)")
+ field(INP, "$(user):calcExample$(no).VAL NPP NMS")
+ field(EGUF, "10")
+ field(EGU, "Counts")
+ field(HOPR, "10")
+ field(LOPR, "0")
+ field(HIHI, "8")
+ field(HIGH, "6")
+ field(LOW, "4")
+ field(LOLO, "2")
+ field(HHSV, "MAJOR")
+ field(HSV, "MINOR")
+ field(LSV, "MINOR")
+ field(LLSV, "MAJOR")
+}
--- /dev/null
+record(sub,"$(user):subExample")
+{
+ field(INAM,"mySubInit")
+ field(SNAM,"mySubProcess")
+}
--- /dev/null
+record(genSub,"HAD:$(eb)") {\r
+ field(DESC,"General Subroutine Record")\r
+ field(SCAN,"1 second")\r
+ field(PINI,"NO")\r
+ field(PHAS,"0")\r
+ field(EVNT,"0")\r
+ field(DISV,"1")\r
+ field(LFLG,"IGNORE")\r
+ field(EFLG,"ALWAYS")\r
+ field(SDIS,"0.0000000000000000e+00")\r
+ field(DISS,"NO_ALARM")\r
+ field(PRIO,"LOW")\r
+ field(FLNK,"0.000000000000000e+00")\r
+ field(SUBL,"0.0000000000000000e+00")\r
+ field(BRSV,"NO_ALARM")\r
+ field(INAM,"evtbuild_init")\r
+ field(SNAM,"evtbuild_proc")\r
+ field(FTA,"LONG")\r
+ field(FTB,"LONG")\r
+ field(FTC,"LONG")\r
+ field(FTD,"LONG")\r
+ field(FTE,"LONG")\r
+ field(FTF,"LONG")\r
+ field(FTG,"LONG")\r
+ field(FTH,"LONG")\r
+ field(FTVA,"LONG")\r
+ field(FTVB,"LONG")\r
+ field(FTVC,"LONG")\r
+ field(FTVD,"LONG")\r
+ field(FTVE,"LONG")\r
+ field(FTVF,"LONG")\r
+ field(FTVG,"LONG")\r
+ field(FTVH,"LONG")\r
+ field(NOA,"50")\r
+ field(NOB,"50")\r
+ field(NOC,"50")\r
+ field(NOD,"50")\r
+ field(NOE,"50")\r
+ field(NOF,"50")\r
+ field(NOG,"50")\r
+ field(NOH,"50")\r
+ field(NOVA,"1")\r
+ field(NOVB,"1")\r
+ field(NOVC,"1")\r
+ field(NOVD,"1")\r
+ field(NOVE,"1")\r
+ field(NOVF,"1")\r
+ field(NOVG,"100")\r
+ field(NOVH,"1")\r
+ field(OUTA,"HAD:$(eb):nrOfMsgs PP NMS")\r
+ field(OUTB,"HAD:$(eb):byteWrit PP NMS") \r
+ field(OUTC,"HAD:$(eb):evtsComp PP NMS")\r
+ field(OUTD,"HAD:$(eb):evtsDisc PP NMS")\r
+ field(OUTE,"HAD:$(eb):evtsDataErr PP NMS")\r
+ field(OUTF,"HAD:$(eb):evtsTagErr PP NMS") \r
+ field(OUTG,"HAD:$(eb):evtbuildBuff PP NMS")\r
+ field(OUTH,"HAD:$(eb):status PP NMS")\r
+}\r
+record(longin,"HAD:$(eb):nrOfMsgs")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):byteWrit")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsComp")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsDisc")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsDataErr")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):evtsTagErr")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(longin,"HAD:$(eb):status")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+}\r
+record(waveform,"HAD:$(eb):evtbuildBuff")\r
+{\r
+ field(DTYP,"Soft Channel")\r
+ field(SCAN,"Passive")\r
+ field(INP,"Constant")\r
+ field(NELM,"100")\r
+ field(FTVL,"LONG")\r
+}\r
+record(sub,"HAD:genRunId") {\r
+ field(DESC, "subroutine")\r
+ field(SCAN, "1 second")\r
+ field(INPA, "HAD:$(eb):byteWrit")\r
+ field(INPB, "HAD:$(eb):status")\r
+ field(INAM, "genRunId_init")\r
+ field(SNAM, "genRunId_proc")\r
+}\r
+record(sub,"HAD:writeRunId") {\r
+ field(DESC, "subroutine")\r
+ field(SCAN, "1 second")\r
+ field(INPA, "HAD:genRunId")\r
+ field(INPB, "")\r
+ field(INAM, "writeRunId_init")\r
+ field(SNAM, "writeRunId_proc")\r
+}\r
--- /dev/null
+# Example substitutions file
+
+file "db/dbExample1.db" {
+ { user = "scs" }
+}
+
+file db/dbExample2.db {
+ pattern { user, no, scan }
+ { "scs", 1, "1 second" }
+ { "scs", 2, "2 second" }
+ { "scs", 3, "5 second" }
+}
--- /dev/null
+# Example substitutions file
+
+file "db/dbExample1.db" {
+ { user = "scsHost" }
+}
+
+file db/dbExample2.db {
+ pattern { user, no, scan }
+ { "scsHost", 1, "1 second" }
+ { "scsHost", 2, "2 second" }
+ { "scsHost", 3, "5 second" }
+}
--- /dev/null
+TOP = ..
+include $(TOP)/configure/CONFIG
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*))
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*))
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*))
+DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*))
+include $(TOP)/configure/RULES_DIRS
+
--- /dev/null
+TOP=../..
+
+include $(TOP)/configure/CONFIG
+#----------------------------------------
+# ADD MACRO DEFINITIONS AFTER THIS LINE
+#=============================
+
+#==================================================
+# Build an IOC support library
+
+LIBRARY_IOC += xxxSupport
+
+# xxxRecord.h will be created from xxxRecord.dbd
+DBDINC += xxxRecord
+# install devXxxSoft.dbd into <top>/dbd
+DBD += xxxSupport.dbd
+
+# The following are compiled and added to the Support library
+xxxSupport_SRCS += xxxRecord.c
+xxxSupport_SRCS += devXxxSoft.c
+
+xxxSupport_LIBS += $(EPICS_BASE_IOC_LIBS)
+
+LIBRARY_IOC += genSub
+
+DBDINC += genSubRecord.h
+DBD += genSubRecord.dbd
+
+#=============================
+# build an ioc application
+
+PROD_IOC = ebctrl
+# ebctrl.dbd will be created and installed
+DBD += ebctrl.dbd
+
+# ebctrl.dbd will be made up from these files:
+ebctrl_DBD += base.dbd
+ebctrl_DBD += xxxSupport.dbd
+ebctrl_DBD += genSubRecord.dbd
+ebctrl_DBD += evtbuild.dbd
+ebctrl_DBD += genrunid.dbd
+ebctrl_DBD += writerunid.dbd
+
+# <name>_registerRecordDeviceDriver.cpp will be created from <name>.dbd
+ebctrl_SRCS += ebctrl_registerRecordDeviceDriver.cpp
+ebctrl_SRCS_DEFAULT += ebctrlMain.cpp
+ebctrl_SRCS_vxWorks += -nil-
+
+# Add locally compiled object code
+ebctrl_SRCS += genSubRecord.c
+ebctrl_SRCS += evtbuild.c
+ebctrl_SRCS += genrunid.c
+ebctrl_SRCS += writerunid.c
+
+# The following adds support from base/src/vxWorks
+ebctrl_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
+
+ebctrl_LIBS += xxxSupport
+ebctrl_LIBS += hadaq
+
+# NOTE: To build SNL programs, SNCSEQ must be defined
+# in the <top>/configure/RELEASE file
+
+ifneq ($(SNCSEQ),)
+ # This builds sncExample as a component of ebctrl
+ ebctrl_SNCFLAGS += +r
+ ebctrl_DBD += sncExample.dbd
+ ebctrl_SRCS += sncExample.stt
+ ebctrl_LIBS += seq pv
+
+ # The following builds sncProgram as a standalone application
+ PROD_HOST += sncProgram
+ sncProgram_SNCFLAGS += +m
+ sncProgram_SRCS += sncProgram.st
+ sncProgram_LIBS += seq pv
+ sncProgram_LIBS += $(EPICS_BASE_HOST_LIBS)
+endif
+
+ebctrl_LIBS += $(EPICS_BASE_IOC_LIBS)
+
+#===========================
+
+include $(TOP)/configure/RULES
+#----------------------------------------
+# ADD RULES AFTER THIS LINE
+
--- /dev/null
+menu(stringoutPOST) {
+ choice(stringoutPOST_OnChange,"On Change")
+ choice(stringoutPOST_Always,"Always")
+}
+menu(stringinPOST) {
+ choice(stringinPOST_OnChange,"On Change")
+ choice(stringinPOST_Always,"Always")
+}
+menu(seqSELM) {
+ choice(seqSELM_All,"All")
+ choice(seqSELM_Specified,"Specified")
+ choice(seqSELM_Mask,"Mask")
+}
+menu(selSELM) {
+ choice(selSELM_Specified,"Specified")
+ choice(selSELM_High_Signal,"High Signal")
+ choice(selSELM_Low_Signal,"Low Signal")
+ choice(selSELM_Median_Signal,"Median Signal")
+}
+menu(menuYesNo) {
+ choice(menuYesNoNO,"NO")
+ choice(menuYesNoYES,"YES")
+}
+menu(menuSimm) {
+ choice(menuSimmNO,"NO")
+ choice(menuSimmYES,"YES")
+ choice(menuSimmRAW,"RAW")
+}
+menu(menuScan) {
+ choice(menuScanPassive,"Passive")
+ choice(menuScanEvent,"Event")
+ choice(menuScanI_O_Intr,"I/O Intr")
+ choice(menuScan10_second,"10 second")
+ choice(menuScan5_second,"5 second")
+ choice(menuScan2_second,"2 second")
+ choice(menuScan1_second,"1 second")
+ choice(menuScan_5_second,".5 second")
+ choice(menuScan_2_second,".2 second")
+ choice(menuScan_1_second,".1 second")
+}
+menu(menuPriority) {
+ choice(menuPriorityLOW,"LOW")
+ choice(menuPriorityMEDIUM,"MEDIUM")
+ choice(menuPriorityHIGH,"HIGH")
+}
+menu(menuOmsl) {
+ choice(menuOmslsupervisory,"supervisory")
+ choice(menuOmslclosed_loop,"closed_loop")
+}
+menu(menuIvoa) {
+ choice(menuIvoaContinue_normally,"Continue normally")
+ choice(menuIvoaDon_t_drive_outputs,"Don't drive outputs")
+ choice(menuIvoaSet_output_to_IVOV,"Set output to IVOV")
+}
+menu(menuFtype) {
+ choice(menuFtypeSTRING,"STRING")
+ choice(menuFtypeCHAR,"CHAR")
+ choice(menuFtypeUCHAR,"UCHAR")
+ choice(menuFtypeSHORT,"SHORT")
+ choice(menuFtypeUSHORT,"USHORT")
+ choice(menuFtypeLONG,"LONG")
+ choice(menuFtypeULONG,"ULONG")
+ choice(menuFtypeFLOAT,"FLOAT")
+ choice(menuFtypeDOUBLE,"DOUBLE")
+ choice(menuFtypeENUM,"ENUM")
+}
+menu(menuConvert) {
+ choice(menuConvertNO_CONVERSION,"NO CONVERSION")
+ choice(menuConvertSLOPE,"SLOPE")
+ choice(menuConvertLINEAR,"LINEAR")
+ choice(menuConverttypeKdegF,"typeKdegF")
+ choice(menuConverttypeKdegC,"typeKdegC")
+ choice(menuConverttypeJdegF,"typeJdegF")
+ choice(menuConverttypeJdegC,"typeJdegC")
+ choice(menuConverttypeEdegF,"typeEdegF(ixe only)")
+ choice(menuConverttypeEdegC,"typeEdegC(ixe only)")
+ choice(menuConverttypeTdegF,"typeTdegF")
+ choice(menuConverttypeTdegC,"typeTdegC")
+ choice(menuConverttypeRdegF,"typeRdegF")
+ choice(menuConverttypeRdegC,"typeRdegC")
+ choice(menuConverttypeSdegF,"typeSdegF")
+ choice(menuConverttypeSdegC,"typeSdegC")
+}
+menu(menuCompress) {
+ choice(menuCompressN_to_1_First_Value,"N to 1 First Value")
+ choice(menuCompressN_to_1_Low_Value,"N to 1 Low Value")
+ choice(menuCompressN_to_1_High_Value,"N to 1 High Value")
+ choice(menuCompressN_to_1_Average,"N to 1 Average")
+}
+menu(menuArrType) {
+ choice(menuArrType8_bit_integers,"8 bit integers")
+ choice(menuArrType16_bit_integers,"16 bit integers")
+ choice(menuArrType32_bit_integers,"32 bit integers")
+ choice(menuArrTypeIEEE_floating_point,"IEEE floating point")
+}
+menu(menuAlarmStat) {
+ choice(menuAlarmStatNO_ALARM,"NO_ALARM")
+ choice(menuAlarmStatREAD,"READ")
+ choice(menuAlarmStatWRITE,"WRITE")
+ choice(menuAlarmStatHIHI,"HIHI")
+ choice(menuAlarmStatHIGH,"HIGH")
+ choice(menuAlarmStatLOLO,"LOLO")
+ choice(menuAlarmStatLOW,"LOW")
+ choice(menuAlarmStatSTATE,"STATE")
+ choice(menuAlarmStatCOS,"COS")
+ choice(menuAlarmStatCOMM,"COMM")
+ choice(menuAlarmStatTIMEOUT,"TIMEOUT")
+ choice(menuAlarmStatHWLIMIT,"HWLIMIT")
+ choice(menuAlarmStatCALC,"CALC")
+ choice(menuAlarmStatSCAN,"SCAN")
+ choice(menuAlarmStatLINK,"LINK")
+ choice(menuAlarmStatSOFT,"SOFT")
+ choice(menuAlarmStatBAD_SUB,"BAD_SUB")
+ choice(menuAlarmStatUDF,"UDF")
+ choice(menuAlarmStatDISABLE,"DISABLE")
+ choice(menuAlarmStatSIMM,"SIMM")
+ choice(menuAlarmStatREAD_ACCESS,"READ_ACCESS")
+ choice(menuAlarmStatWRITE_ACCESS,"WRITE_ACCESS")
+}
+menu(menuAlarmSevr) {
+ choice(menuAlarmSevrNO_ALARM,"NO_ALARM")
+ choice(menuAlarmSevrMINOR,"MINOR")
+ choice(menuAlarmSevrMAJOR,"MAJOR")
+ choice(menuAlarmSevrINVALID,"INVALID")
+}
+menu(genSubLFLG) {
+ choice(genSubLFLG_IGNORE,"IGNORE")
+ choice(genSubLFLG_READ,"READ")
+}
+menu(genSubEFLG) {
+ choice(genSubEFLG_NEVER,"NEVER")
+ choice(genSubEFLG_ON_CHANGE,"ON CHANGE")
+ choice(genSubEFLG_ALWAYS,"ALWAYS")
+}
+menu(fanoutSELM) {
+ choice(fanoutSELM_All,"All")
+ choice(fanoutSELM_Specified,"Specified")
+ choice(fanoutSELM_Mask,"Mask")
+}
+menu(dfanoutSELM) {
+ choice(dfanoutSELM_All,"All")
+ choice(dfanoutSELM_Specified,"Specified")
+ choice(dfanoutSELM_Mask,"Mask")
+}
+menu(compressALG) {
+ choice(compressALG_N_to_1_Low_Value,"N to 1 Low Value")
+ choice(compressALG_N_to_1_High_Value,"N to 1 High Value")
+ choice(compressALG_N_to_1_Average,"N to 1 Average")
+ choice(compressALG_Average,"Average")
+ choice(compressALG_Circular_Buffer,"Circular Buffer")
+ choice(compressALG_N_to_1_Median,"N to 1 Median")
+}
+menu(calcoutOOPT) {
+ choice(calcoutOOPT_Every_Time,"Every Time")
+ choice(calcoutOOPT_On_Change,"On Change")
+ choice(calcoutOOPT_When_Zero,"When Zero")
+ choice(calcoutOOPT_When_Non_zero,"When Non-zero")
+ choice(calcoutOOPT_Transition_To_Zero,"Transition To Zero")
+ choice(calcoutOOPT_Transition_To_Non_zero,"Transition To Non-zero")
+}
+menu(calcoutINAV) {
+ choice(calcoutINAV_EXT_NC,"Ext PV NC")
+ choice(calcoutINAV_EXT,"Ext PV OK")
+ choice(calcoutINAV_LOC,"Local PV")
+ choice(calcoutINAV_CON,"Constant")
+}
+menu(calcoutINAP) {
+ choice(calcoutINAP_No,"No PROC on Change")
+ choice(calcoutINAP_Yes,"PROC on Change")
+}
+menu(calcoutDOPT) {
+ choice(calcoutDOPT_Use_VAL,"Use CALC")
+ choice(calcoutDOPT_Use_OVAL,"Use OCAL")
+}
+menu(aoOIF) {
+ choice(aoOIF_Full,"Full")
+ choice(aoOIF_Incremental,"Incremental")
+}
+recordtype(ai) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Current EGU Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LINR,DBF_MENU) {
+ prompt("Linearization")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ menu(menuConvert)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUF,DBF_DOUBLE) {
+ prompt("Engineer Units Full")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUL,DBF_DOUBLE) {
+ prompt("Engineer Units Low")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(AOFF,DBF_DOUBLE) {
+ prompt("Adjustment Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ASLO,DBF_DOUBLE) {
+ prompt("Adjustment Slope")
+ initial("1")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SMOO,DBF_DOUBLE) {
+ prompt("Smoothing")
+ promptgroup(GUI_CONVERT)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ESLO,DBF_DOUBLE) {
+ prompt("Raw to EGU Slope")
+ initial("1")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(EOFF,DBF_DOUBLE) {
+ prompt("Raw to EGU Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(ROFF,DBF_LONG) {
+ prompt("Raw Offset, obsolete")
+ pp(TRUE)
+ interest(2)
+ }
+ field(PBRK,DBF_NOACCESS) {
+ prompt("Ptrto brkTable")
+ special(SPC_NOMOD)
+ extra("void * pbrk")
+ interest(4)
+ }
+ field(INIT,DBF_SHORT) {
+ prompt("Initialized?")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LBRK,DBF_SHORT) {
+ prompt("LastBreak Point")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RVAL,DBF_LONG) {
+ prompt("Current Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_LONG) {
+ prompt("Previous Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_DOUBLE) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(ao) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Desired Output")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_DOUBLE) {
+ prompt("Output Value")
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OROC,DBF_DOUBLE) {
+ prompt("Output Rate of Chang")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(OIF,DBF_MENU) {
+ prompt("Out Full/Incremental")
+ promptgroup(GUI_OUTPUT)
+ menu(aoOIF)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LINR,DBF_MENU) {
+ prompt("Linearization")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ menu(menuConvert)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUF,DBF_DOUBLE) {
+ prompt("Eng Units Full")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGUL,DBF_DOUBLE) {
+ prompt("Eng Units Low")
+ promptgroup(GUI_CONVERT)
+ special(102)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(ROFF,DBF_LONG) {
+ prompt("Raw Offset, obsolete")
+ pp(TRUE)
+ interest(2)
+ }
+ field(EOFF,DBF_DOUBLE) {
+ prompt("EGU to Raw Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(ESLO,DBF_DOUBLE) {
+ prompt("EGU to Raw Slope")
+ initial("1")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(2)
+ }
+ field(DRVH,DBF_DOUBLE) {
+ prompt("Drive High Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(DRVL,DBF_DOUBLE) {
+ prompt("Drive Low Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(AOFF,DBF_DOUBLE) {
+ prompt("Adjustment Offset")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ASLO,DBF_DOUBLE) {
+ prompt("Adjustment Slope")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(RVAL,DBF_LONG) {
+ prompt("Current Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_LONG) {
+ prompt("Previous Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RBV,DBF_LONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_LONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(PVAL,DBF_DOUBLE) {
+ prompt("Previous value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(PBRK,DBF_NOACCESS) {
+ prompt("Ptrto brkTable")
+ special(SPC_NOMOD)
+ extra("void * pbrk")
+ interest(4)
+ }
+ field(INIT,DBF_SHORT) {
+ prompt("Initialized?")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LBRK,DBF_SHORT) {
+ prompt("LastBreak Point")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_DOUBLE) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+ field(OMOD,DBF_UCHAR) {
+ prompt("Was OVAL modified?")
+ special(SPC_NOMOD)
+ }
+}
+recordtype(bi) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(ZSV,DBF_MENU) {
+ prompt("Zero Error Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(OSV,DBF_MENU) {
+ prompt("One Error Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Svr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ZNAM,DBF_STRING) {
+ prompt("Zero Name")
+ promptgroup(GUI_CALC)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("One Name")
+ promptgroup(GUI_CLOCK)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_ULONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(bo) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Current Value")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("Seconds to Hold High")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(ZNAM,DBF_STRING) {
+ prompt("Zero Name")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("One Name")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPVT,DBF_NOACCESS) {
+ prompt("Record Private")
+ special(SPC_NOMOD)
+ extra("void * rpvt")
+ interest(4)
+ }
+ field(WDPT,DBF_NOACCESS) {
+ prompt("Watch Dog Timer ID")
+ special(SPC_NOMOD)
+ extra("void * wdpt")
+ interest(4)
+ }
+ field(ZSV,DBF_MENU) {
+ prompt("Zero Error Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(OSV,DBF_MENU) {
+ prompt("One Error Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Sevr")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RBV,DBF_ULONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_ULONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID outpt action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_USHORT) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+}
+recordtype(calc) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ asl(ASL0)
+ }
+ field(CALC,DBF_STRING) {
+ prompt("Calculation")
+ initial("0")
+ promptgroup(GUI_CALC)
+ special(103)
+ size(40)
+ pp(TRUE)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RPCL,DBF_NOACCESS) {
+ prompt("Reverse Polish Calc")
+ special(SPC_NOMOD)
+ extra("char rpcl[INFIX_TO_POSTFIX_SIZE(40)]")
+ interest(4)
+ }
+}
+recordtype(calcout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VERS,DBF_DOUBLE) {
+ prompt("Code Version")
+ initial("1")
+ special(SPC_NOMOD)
+ }
+ field(RPVT,DBF_NOACCESS) {
+ prompt("Record Private")
+ special(SPC_NOMOD)
+ extra("struct rpvtStruct *rpvt")
+ interest(4)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ promptgroup(GUI_OUTPUT)
+ asl(ASL0)
+ }
+ field(PVAL,DBF_DOUBLE) {
+ prompt("Previous Value")
+ }
+ field(CALC,DBF_STRING) {
+ prompt("Calculation")
+ initial("0")
+ promptgroup(GUI_CALC)
+ special(103)
+ size(40)
+ pp(TRUE)
+ }
+ field(CLCV,DBF_LONG) {
+ prompt("CALC Valid")
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_CALC)
+ special(100)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ special(100)
+ interest(1)
+ }
+ field(INAV,DBF_MENU) {
+ prompt("INPA PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INBV,DBF_MENU) {
+ prompt("INPB PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INCV,DBF_MENU) {
+ prompt("INPC PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INDV,DBF_MENU) {
+ prompt("INPD PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INEV,DBF_MENU) {
+ prompt("INPE PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INFV,DBF_MENU) {
+ prompt("INPF PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INGV,DBF_MENU) {
+ prompt("INPG PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INHV,DBF_MENU) {
+ prompt("INPH PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INIV,DBF_MENU) {
+ prompt("INPI PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INJV,DBF_MENU) {
+ prompt("INPJ PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INKV,DBF_MENU) {
+ prompt("INPK PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(INLV,DBF_MENU) {
+ prompt("INPL PV Status")
+ initial("1")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(OUTV,DBF_MENU) {
+ prompt("OUT PV Status")
+ special(SPC_NOMOD)
+ menu(calcoutINAV)
+ interest(1)
+ }
+ field(OOPT,DBF_MENU) {
+ prompt("Output Execute Opt")
+ promptgroup(GUI_CALC)
+ menu(calcoutOOPT)
+ interest(1)
+ }
+ field(ODLY,DBF_DOUBLE) {
+ prompt("Output Execute Delay")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ asl(ASL0)
+ }
+ field(DLYA,DBF_USHORT) {
+ prompt("Output Delay Active")
+ special(SPC_NOMOD)
+ asl(ASL0)
+ }
+ field(DOPT,DBF_MENU) {
+ prompt("Output Data Opt")
+ promptgroup(GUI_CALC)
+ menu(calcoutDOPT)
+ interest(1)
+ }
+ field(OCAL,DBF_STRING) {
+ prompt("Output Calculation")
+ initial("0")
+ promptgroup(GUI_CALC)
+ special(103)
+ size(40)
+ pp(TRUE)
+ }
+ field(OCLV,DBF_LONG) {
+ prompt("OCAL Valid")
+ interest(1)
+ }
+ field(OEVT,DBF_USHORT) {
+ prompt("Event To Issue")
+ promptgroup(GUI_CLOCK)
+ asl(ASL0)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_DOUBLE) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(OVAL,DBF_DOUBLE) {
+ prompt("Output Value")
+ asl(ASL0)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(POVL,DBF_DOUBLE) {
+ prompt("Prev Value of OVAL")
+ asl(ASL0)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RPCL,DBF_NOACCESS) {
+ prompt("Reverse Polish Calc")
+ special(SPC_NOMOD)
+ extra("char rpcl[INFIX_TO_POSTFIX_SIZE(40)]")
+ interest(4)
+ }
+ field(ORPC,DBF_NOACCESS) {
+ prompt("Reverse Polish OCalc")
+ special(SPC_NOMOD)
+ extra("char orpc[INFIX_TO_POSTFIX_SIZE(40)]")
+ interest(4)
+ }
+}
+recordtype(compress) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_NOACCESS) {
+ prompt("Value")
+ special(SPC_DBADDR)
+ extra("void * val")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_COMPRESS)
+ interest(1)
+ }
+ field(RES,DBF_SHORT) {
+ prompt("Reset")
+ special(101)
+ interest(3)
+ asl(ASL0)
+ }
+ field(ALG,DBF_MENU) {
+ prompt("Compression Algorithm")
+ promptgroup(GUI_ALARMS)
+ special(101)
+ menu(compressALG)
+ interest(1)
+ }
+ field(NSAM,DBF_ULONG) {
+ prompt("Number of Values")
+ initial("1")
+ promptgroup(GUI_COMPRESS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(N,DBF_ULONG) {
+ prompt("N to 1 Compression")
+ initial("1")
+ promptgroup(GUI_COMPRESS)
+ special(101)
+ interest(1)
+ }
+ field(IHIL,DBF_DOUBLE) {
+ prompt("Init High Interest Lim")
+ promptgroup(GUI_COMPRESS)
+ interest(1)
+ }
+ field(ILIL,DBF_DOUBLE) {
+ prompt("Init Low Interest Lim")
+ promptgroup(GUI_COMPRESS)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("EngineeringUnits")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(OFF,DBF_ULONG) {
+ prompt("Offset")
+ special(SPC_NOMOD)
+ }
+ field(NUSE,DBF_ULONG) {
+ prompt("Number Used")
+ special(SPC_NOMOD)
+ }
+ field(BPTR,DBF_NOACCESS) {
+ prompt("Buffer Pointer")
+ special(SPC_NOMOD)
+ extra("double *bptr")
+ interest(4)
+ }
+ field(SPTR,DBF_NOACCESS) {
+ prompt("Summing Buffer Ptr")
+ special(SPC_NOMOD)
+ extra("double *sptr")
+ interest(4)
+ }
+ field(WPTR,DBF_NOACCESS) {
+ prompt("Working Buffer Ptr")
+ special(SPC_NOMOD)
+ extra("double *wptr")
+ interest(4)
+ }
+ field(INPN,DBF_LONG) {
+ prompt("Number of elements in Working Buffer")
+ special(SPC_NOMOD)
+ interest(4)
+ }
+ field(CVB,DBF_DOUBLE) {
+ prompt("Compress Value Buffer")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(INX,DBF_ULONG) {
+ prompt("Compressed Array Inx")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(dfanout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Desired Output")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_LINKS)
+ menu(dfanoutSELM)
+ interest(1)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Link Selection")
+ initial("1")
+ interest(1)
+ }
+ field(SELL,DBF_INLINK) {
+ prompt("Link Selection Loc")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(OUTA,DBF_OUTLINK) {
+ prompt("Output Spec A")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTB,DBF_OUTLINK) {
+ prompt("Output Spec B")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTC,DBF_OUTLINK) {
+ prompt("Output Spec C")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTD,DBF_OUTLINK) {
+ prompt("Output Spec D")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTE,DBF_OUTLINK) {
+ prompt("Output Spec E")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTF,DBF_OUTLINK) {
+ prompt("Output Spec F")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTG,DBF_OUTLINK) {
+ prompt("Output Spec G")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OUTH,DBF_OUTLINK) {
+ prompt("Output Spec H")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(event) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Event Number To Post")
+ promptgroup(GUI_INPUTS)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_USHORT) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(fanout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Used to trigger")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_LINKS)
+ menu(fanoutSELM)
+ interest(1)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Link Selection")
+ initial("1")
+ interest(1)
+ }
+ field(SELL,DBF_INLINK) {
+ prompt("Link Selection Loc")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK1,DBF_FWDLINK) {
+ prompt("Forward Link 1")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK2,DBF_FWDLINK) {
+ prompt("Forward Link 2")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK3,DBF_FWDLINK) {
+ prompt("Forward Link 3")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK4,DBF_FWDLINK) {
+ prompt("Forward Link 4")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK5,DBF_FWDLINK) {
+ prompt("Forward Link 5")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LNK6,DBF_FWDLINK) {
+ prompt("Forward Link 6")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+}
+recordtype(longin) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Current value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_LONG) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_LONG) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_LONG) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_LONG) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_LONG) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_LONG) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_LONG) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_LONG) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_LONG) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_LONG) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_LONG) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_LONG) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_LONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(longout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Desired Output")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(DRVH,DBF_LONG) {
+ prompt("Drive High Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(DRVL,DBF_LONG) {
+ prompt("Drive Low Limit")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HOPR,DBF_LONG) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_LONG) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_LONG) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_LONG) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_LONG) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_LONG) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_LONG) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_LONG) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_LONG) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_LONG) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_LONG) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_LONG) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_LONG) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ interest(2)
+ }
+}
+recordtype(mbbi) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(ZRVL,DBF_ULONG) {
+ prompt("Zero Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ONVL,DBF_ULONG) {
+ prompt("One Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TWVL,DBF_ULONG) {
+ prompt("Two Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(THVL,DBF_ULONG) {
+ prompt("Three Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FRVL,DBF_ULONG) {
+ prompt("Four Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FVVL,DBF_ULONG) {
+ prompt("Five Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SXVL,DBF_ULONG) {
+ prompt("Six Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SVVL,DBF_ULONG) {
+ prompt("Seven Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(EIVL,DBF_ULONG) {
+ prompt("Eight Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(NIVL,DBF_ULONG) {
+ prompt("Nine Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TEVL,DBF_ULONG) {
+ prompt("Ten Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ELVL,DBF_ULONG) {
+ prompt("Eleven Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TVVL,DBF_ULONG) {
+ prompt("Twelve Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TTVL,DBF_ULONG) {
+ prompt("Thirteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FTVL,DBF_ULONG) {
+ prompt("Fourteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FFVL,DBF_ULONG) {
+ prompt("Fifteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ZRST,DBF_STRING) {
+ prompt("Zero String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONST,DBF_STRING) {
+ prompt("One String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWST,DBF_STRING) {
+ prompt("Two String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THST,DBF_STRING) {
+ prompt("Three String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRST,DBF_STRING) {
+ prompt("Four String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVST,DBF_STRING) {
+ prompt("Five String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXST,DBF_STRING) {
+ prompt("Six String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVST,DBF_STRING) {
+ prompt("Seven String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EIST,DBF_STRING) {
+ prompt("Eight String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NIST,DBF_STRING) {
+ prompt("Nine String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TEST,DBF_STRING) {
+ prompt("Ten String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELST,DBF_STRING) {
+ prompt("Eleven String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVST,DBF_STRING) {
+ prompt("Twelve String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTST,DBF_STRING) {
+ prompt("Thirteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTST,DBF_STRING) {
+ prompt("Fourteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFST,DBF_STRING) {
+ prompt("Fifteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ZRSV,DBF_MENU) {
+ prompt("State Zero Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONSV,DBF_MENU) {
+ prompt("State One Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWSV,DBF_MENU) {
+ prompt("State Two Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THSV,DBF_MENU) {
+ prompt("State Three Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRSV,DBF_MENU) {
+ prompt("State Four Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVSV,DBF_MENU) {
+ prompt("State Five Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXSV,DBF_MENU) {
+ prompt("State Six Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVSV,DBF_MENU) {
+ prompt("State Seven Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EISV,DBF_MENU) {
+ prompt("State Eight Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NISV,DBF_MENU) {
+ prompt("State Nine Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TESV,DBF_MENU) {
+ prompt("State Ten Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELSV,DBF_MENU) {
+ prompt("State Eleven Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVSV,DBF_MENU) {
+ prompt("State Twelve Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTSV,DBF_MENU) {
+ prompt("State Thirteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTSV,DBF_MENU) {
+ prompt("State Fourteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFSV,DBF_MENU) {
+ prompt("State Fifteen Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(UNSV,DBF_MENU) {
+ prompt("Unknown State Severity")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Svr")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SDEF,DBF_SHORT) {
+ prompt("States Defined")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_USHORT) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SVAL,DBF_ULONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(mbbiDirect) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SDEF,DBF_SHORT) {
+ prompt("States Defined")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_USHORT) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SVAL,DBF_ULONG) {
+ prompt("Simulation Value")
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuSimm)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(B0,DBF_UCHAR) {
+ prompt("Bit 0")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B1,DBF_UCHAR) {
+ prompt("Bit 1")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B2,DBF_UCHAR) {
+ prompt("Bit 2")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B3,DBF_UCHAR) {
+ prompt("Bit 3")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B4,DBF_UCHAR) {
+ prompt("Bit 4")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B5,DBF_UCHAR) {
+ prompt("Bit 5")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B6,DBF_UCHAR) {
+ prompt("Bit 6")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B7,DBF_UCHAR) {
+ prompt("Bit 7")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B8,DBF_UCHAR) {
+ prompt("Bit 8")
+ pp(TRUE)
+ interest(1)
+ }
+ field(B9,DBF_UCHAR) {
+ prompt("Bit 9")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BA,DBF_UCHAR) {
+ prompt("Bit A")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BB,DBF_UCHAR) {
+ prompt("Bit B")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BC,DBF_UCHAR) {
+ prompt("Bit C")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BD,DBF_UCHAR) {
+ prompt("Bit D")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BE,DBF_UCHAR) {
+ prompt("Bit E")
+ pp(TRUE)
+ interest(1)
+ }
+ field(BF,DBF_UCHAR) {
+ prompt("Bit F")
+ pp(TRUE)
+ interest(1)
+ }
+}
+recordtype(mbbo) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_ENUM) {
+ prompt("Desired Value")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_DBADDR)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_MBB)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(ZRVL,DBF_ULONG) {
+ prompt("Zero Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ONVL,DBF_ULONG) {
+ prompt("One Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TWVL,DBF_ULONG) {
+ prompt("Two Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(THVL,DBF_ULONG) {
+ prompt("Three Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FRVL,DBF_ULONG) {
+ prompt("Four Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FVVL,DBF_ULONG) {
+ prompt("Five Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SXVL,DBF_ULONG) {
+ prompt("Six Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(SVVL,DBF_ULONG) {
+ prompt("Seven Value")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(EIVL,DBF_ULONG) {
+ prompt("Eight Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(NIVL,DBF_ULONG) {
+ prompt("Nine Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TEVL,DBF_ULONG) {
+ prompt("Ten Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ELVL,DBF_ULONG) {
+ prompt("Eleven Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TVVL,DBF_ULONG) {
+ prompt("Twelve Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(TTVL,DBF_ULONG) {
+ prompt("Thirteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FTVL,DBF_ULONG) {
+ prompt("Fourteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(FFVL,DBF_ULONG) {
+ prompt("Fifteen Value")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ base(HEX)
+ interest(1)
+ }
+ field(ZRST,DBF_STRING) {
+ prompt("Zero String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONST,DBF_STRING) {
+ prompt("One String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWST,DBF_STRING) {
+ prompt("Two String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THST,DBF_STRING) {
+ prompt("Three String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRST,DBF_STRING) {
+ prompt("Four String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVST,DBF_STRING) {
+ prompt("Five String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXST,DBF_STRING) {
+ prompt("Six String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVST,DBF_STRING) {
+ prompt("Seven String")
+ promptgroup(GUI_BITS1)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EIST,DBF_STRING) {
+ prompt("Eight String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NIST,DBF_STRING) {
+ prompt("Nine String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TEST,DBF_STRING) {
+ prompt("Ten String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELST,DBF_STRING) {
+ prompt("Eleven String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVST,DBF_STRING) {
+ prompt("Twelve String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTST,DBF_STRING) {
+ prompt("Thirteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTST,DBF_STRING) {
+ prompt("Fourteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFST,DBF_STRING) {
+ prompt("Fifteen String")
+ promptgroup(GUI_BITS2)
+ special(100)
+ size(16)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ZRSV,DBF_MENU) {
+ prompt("State Zero Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ONSV,DBF_MENU) {
+ prompt("State One Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TWSV,DBF_MENU) {
+ prompt("State Two Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(THSV,DBF_MENU) {
+ prompt("State Three Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FRSV,DBF_MENU) {
+ prompt("State Four Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FVSV,DBF_MENU) {
+ prompt("State Five Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SXSV,DBF_MENU) {
+ prompt("State Six Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(SVSV,DBF_MENU) {
+ prompt("State Seven Severity")
+ promptgroup(GUI_BITS1)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(EISV,DBF_MENU) {
+ prompt("State Eight Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NISV,DBF_MENU) {
+ prompt("State Nine Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TESV,DBF_MENU) {
+ prompt("State Ten Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(ELSV,DBF_MENU) {
+ prompt("State Eleven Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TVSV,DBF_MENU) {
+ prompt("State Twelve Severity")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TTSV,DBF_MENU) {
+ prompt("State Thirteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FTSV,DBF_MENU) {
+ prompt("State Fourteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(FFSV,DBF_MENU) {
+ prompt("State Fifteen Sevr")
+ promptgroup(GUI_BITS2)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(UNSV,DBF_MENU) {
+ prompt("Unknown State Sevr")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(COSV,DBF_MENU) {
+ prompt("Change of State Sevr")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RBV,DBF_ULONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_ULONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_USHORT) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_USHORT) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SDEF,DBF_SHORT) {
+ prompt("States Defined")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_USHORT) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID outpt action")
+ promptgroup(GUI_MBB)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_USHORT) {
+ prompt("INVALID output value")
+ promptgroup(GUI_MBB)
+ interest(2)
+ }
+}
+recordtype(mbboDirect) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Word")
+ promptgroup(GUI_OUTPUT)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_MBB)
+ special(101)
+ menu(menuOmsl)
+ pp(TRUE)
+ interest(1)
+ }
+ field(NOBT,DBF_SHORT) {
+ prompt("Number of Bits")
+ promptgroup(GUI_MBB)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(B0,DBF_UCHAR) {
+ prompt("Bit 0")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B1,DBF_UCHAR) {
+ prompt("Bit 1")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B2,DBF_UCHAR) {
+ prompt("Bit 2")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B3,DBF_UCHAR) {
+ prompt("Bit 3")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B4,DBF_UCHAR) {
+ prompt("Bit 4")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B5,DBF_UCHAR) {
+ prompt("Bit 5")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B6,DBF_UCHAR) {
+ prompt("Bit 6")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B7,DBF_UCHAR) {
+ prompt("Bit 7")
+ promptgroup(GUI_BITS1)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B8,DBF_UCHAR) {
+ prompt("Bit 8")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(B9,DBF_UCHAR) {
+ prompt("Bit 9")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BA,DBF_UCHAR) {
+ prompt("Bit 10")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BB,DBF_UCHAR) {
+ prompt("Bit 11")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BC,DBF_UCHAR) {
+ prompt("Bit 12")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BD,DBF_UCHAR) {
+ prompt("Bit 13")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BE,DBF_UCHAR) {
+ prompt("Bit 14")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(BF,DBF_UCHAR) {
+ prompt("Bit 15")
+ promptgroup(GUI_BITS2)
+ special(100)
+ pp(TRUE)
+ interest(1)
+ }
+ field(RVAL,DBF_ULONG) {
+ prompt("Raw Value")
+ special(SPC_NOMOD)
+ pp(TRUE)
+ }
+ field(ORAW,DBF_ULONG) {
+ prompt("Prev Raw Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(RBV,DBF_ULONG) {
+ prompt("Readback Value")
+ special(SPC_NOMOD)
+ }
+ field(ORBV,DBF_ULONG) {
+ prompt("Prev Readback Value")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MASK,DBF_ULONG) {
+ prompt("Hardware Mask")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(MLST,DBF_ULONG) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_ULONG) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(SHFT,DBF_ULONG) {
+ prompt("Shift")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_MBB)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_MBB)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID outpt action")
+ promptgroup(GUI_MBB)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_USHORT) {
+ prompt("INVALID output value")
+ promptgroup(GUI_MBB)
+ interest(2)
+ }
+}
+recordtype(permissive) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(LABL,DBF_STRING) {
+ prompt("Button Label")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ interest(1)
+ }
+ field(VAL,DBF_USHORT) {
+ prompt("Status")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_USHORT) {
+ prompt("Old Status")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(WFLG,DBF_USHORT) {
+ prompt("Wait Flag")
+ pp(TRUE)
+ }
+ field(OFLG,DBF_USHORT) {
+ prompt("Old Flag")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(sel) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ special(SPC_NOMOD)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_INPUTS)
+ menu(selSELM)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Index value")
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(NVL,DBF_INLINK) {
+ prompt("Index Value Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_SELECT)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(NLST,DBF_USHORT) {
+ prompt("Last Index Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(seq) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Used to trigger")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(SELM,DBF_MENU) {
+ prompt("Select Mechanism")
+ promptgroup(GUI_INPUTS)
+ menu(seqSELM)
+ interest(1)
+ }
+ field(SELN,DBF_USHORT) {
+ prompt("Link Selection")
+ initial("1")
+ interest(1)
+ }
+ field(SELL,DBF_INLINK) {
+ prompt("Link Selection Loc")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(DLY1,DBF_DOUBLE) {
+ prompt("Delay 1")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DOL1,DBF_INLINK) {
+ prompt("Input link1")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DO1,DBF_DOUBLE) {
+ prompt("Constant input 1")
+ interest(1)
+ }
+ field(LNK1,DBF_OUTLINK) {
+ prompt("Output Link 1")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DLY2,DBF_DOUBLE) {
+ prompt("Delay 2")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DOL2,DBF_INLINK) {
+ prompt("Input link 2")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DO2,DBF_DOUBLE) {
+ prompt("Constant input 2")
+ interest(1)
+ }
+ field(LNK2,DBF_OUTLINK) {
+ prompt("Output Link 2")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DLY3,DBF_DOUBLE) {
+ prompt("Delay 3")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DOL3,DBF_INLINK) {
+ prompt("Input link 3")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DO3,DBF_DOUBLE) {
+ prompt("Constant input 3")
+ interest(1)
+ }
+ field(LNK3,DBF_OUTLINK) {
+ prompt("Output Link 3")
+ promptgroup(GUI_SEQ1)
+ interest(1)
+ }
+ field(DLY4,DBF_DOUBLE) {
+ prompt("Delay 4")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DOL4,DBF_INLINK) {
+ prompt("Input link 4")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DO4,DBF_DOUBLE) {
+ prompt("Constant input 4")
+ interest(1)
+ }
+ field(LNK4,DBF_OUTLINK) {
+ prompt("Output Link 4")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DLY5,DBF_DOUBLE) {
+ prompt("Delay 5")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DOL5,DBF_INLINK) {
+ prompt("Input link 5")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DO5,DBF_DOUBLE) {
+ prompt("Constant input 5")
+ interest(1)
+ }
+ field(LNK5,DBF_OUTLINK) {
+ prompt("Output Link 5")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DLY6,DBF_DOUBLE) {
+ prompt("Delay 6")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DOL6,DBF_INLINK) {
+ prompt("Input link 6")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DO6,DBF_DOUBLE) {
+ prompt("Constant input 6")
+ interest(1)
+ }
+ field(LNK6,DBF_OUTLINK) {
+ prompt("Output Link 6")
+ promptgroup(GUI_SEQ2)
+ interest(1)
+ }
+ field(DLY7,DBF_DOUBLE) {
+ prompt("Delay 7")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOL7,DBF_INLINK) {
+ prompt("Input link 7")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DO7,DBF_DOUBLE) {
+ prompt("Constant input 7")
+ interest(1)
+ }
+ field(LNK7,DBF_OUTLINK) {
+ prompt("Output Link 7")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DLY8,DBF_DOUBLE) {
+ prompt("Delay 8")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOL8,DBF_INLINK) {
+ prompt("Input link 8")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DO8,DBF_DOUBLE) {
+ prompt("Constant input 8")
+ interest(1)
+ }
+ field(LNK8,DBF_OUTLINK) {
+ prompt("Output Link 8")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DLY9,DBF_DOUBLE) {
+ prompt("Delay 9")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOL9,DBF_INLINK) {
+ prompt("Input link 9")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DO9,DBF_DOUBLE) {
+ prompt("Constant input 9")
+ interest(1)
+ }
+ field(LNK9,DBF_OUTLINK) {
+ prompt("Output Link 9")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DLYA,DBF_DOUBLE) {
+ prompt("Delay 10")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOLA,DBF_INLINK) {
+ prompt("Input link 10")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+ field(DOA,DBF_DOUBLE) {
+ prompt("Constant input 10")
+ interest(1)
+ }
+ field(LNKA,DBF_OUTLINK) {
+ prompt("Output Link 10")
+ promptgroup(GUI_SEQ3)
+ interest(1)
+ }
+}
+recordtype(state) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_STRING) {
+ prompt("Value")
+ promptgroup(GUI_DISPLAY)
+ size(20)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_STRING) {
+ prompt("Prev Value")
+ special(SPC_NOMOD)
+ size(20)
+ interest(3)
+ }
+}
+recordtype(stringin) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_STRING) {
+ prompt("Current Value")
+ promptgroup(GUI_INPUTS)
+ size(40)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_STRING) {
+ prompt("Previous Value")
+ special(SPC_NOMOD)
+ size(40)
+ interest(3)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(MPST,DBF_MENU) {
+ prompt("Post Value Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringinPOST)
+ interest(1)
+ }
+ field(APST,DBF_MENU) {
+ prompt("Post Archive Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringinPOST)
+ interest(1)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SVAL,DBF_STRING) {
+ prompt("Simulation Value")
+ size(40)
+ pp(TRUE)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(stringout) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_STRING) {
+ prompt("Current Value")
+ promptgroup(GUI_OUTPUT)
+ size(40)
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(OVAL,DBF_STRING) {
+ prompt("Previous Value")
+ special(SPC_NOMOD)
+ size(40)
+ interest(3)
+ }
+ field(DOL,DBF_INLINK) {
+ prompt("Desired Output Loc")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(OMSL,DBF_MENU) {
+ prompt("Output Mode Select")
+ promptgroup(GUI_OUTPUT)
+ menu(menuOmsl)
+ interest(1)
+ }
+ field(OUT,DBF_OUTLINK) {
+ prompt("Output Specification")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ }
+ field(MPST,DBF_MENU) {
+ prompt("Post Value Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringoutPOST)
+ interest(1)
+ }
+ field(APST,DBF_MENU) {
+ prompt("Post Archive Monitors")
+ promptgroup(GUI_DISPLAY)
+ menu(stringoutPOST)
+ interest(1)
+ }
+ field(SIOL,DBF_OUTLINK) {
+ prompt("Sim Output Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(IVOA,DBF_MENU) {
+ prompt("INVALID output action")
+ promptgroup(GUI_OUTPUT)
+ menu(menuIvoa)
+ interest(2)
+ }
+ field(IVOV,DBF_STRING) {
+ prompt("INVALID output value")
+ promptgroup(GUI_OUTPUT)
+ size(40)
+ interest(2)
+ }
+}
+recordtype(sub) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Result")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INAM,DBF_STRING) {
+ prompt("Init Routine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(SNAM,DBF_STRING) {
+ prompt("Subroutine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(SADR,DBF_NOACCESS) {
+ prompt("Subroutine Address")
+ special(SPC_NOMOD)
+ extra("void * sadr")
+ interest(4)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input A")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input B")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input C")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input D")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input E")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input F")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input G")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input H")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input I")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input J")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input K")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input L")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Rng")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_DOUBLE) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_DOUBLE) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_DOUBLE) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_DOUBLE) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(BRSV,DBF_MENU) {
+ prompt("Bad Return Severity")
+ promptgroup(GUI_SUB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(A,DBF_DOUBLE) {
+ prompt("Value of Input A")
+ pp(TRUE)
+ }
+ field(B,DBF_DOUBLE) {
+ prompt("Value of Input B")
+ pp(TRUE)
+ }
+ field(C,DBF_DOUBLE) {
+ prompt("Value of Input C")
+ pp(TRUE)
+ }
+ field(D,DBF_DOUBLE) {
+ prompt("Value of Input D")
+ pp(TRUE)
+ }
+ field(E,DBF_DOUBLE) {
+ prompt("Value of Input E")
+ pp(TRUE)
+ }
+ field(F,DBF_DOUBLE) {
+ prompt("Value of Input F")
+ pp(TRUE)
+ }
+ field(G,DBF_DOUBLE) {
+ prompt("Value of Input G")
+ pp(TRUE)
+ }
+ field(H,DBF_DOUBLE) {
+ prompt("Value of Input H")
+ pp(TRUE)
+ }
+ field(I,DBF_DOUBLE) {
+ prompt("Value of Input I")
+ pp(TRUE)
+ }
+ field(J,DBF_DOUBLE) {
+ prompt("Value of Input J")
+ pp(TRUE)
+ }
+ field(K,DBF_DOUBLE) {
+ prompt("Value of Input K")
+ pp(TRUE)
+ }
+ field(L,DBF_DOUBLE) {
+ prompt("Value of Input L")
+ pp(TRUE)
+ }
+ field(LA,DBF_DOUBLE) {
+ prompt("Prev Value of A")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LB,DBF_DOUBLE) {
+ prompt("Prev Value of B")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LC,DBF_DOUBLE) {
+ prompt("Prev Value of C")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LD,DBF_DOUBLE) {
+ prompt("Prev Value of D")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LE,DBF_DOUBLE) {
+ prompt("Prev Value of E")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LF,DBF_DOUBLE) {
+ prompt("Prev Value of F")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LG,DBF_DOUBLE) {
+ prompt("Prev Value of G")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LH,DBF_DOUBLE) {
+ prompt("Prev Value of H")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LI,DBF_DOUBLE) {
+ prompt("Prev Value of I")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LJ,DBF_DOUBLE) {
+ prompt("Prev Value of J")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LK,DBF_DOUBLE) {
+ prompt("Prev Value of K")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LL,DBF_DOUBLE) {
+ prompt("Prev Value of L")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Value Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(subArray) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_NOACCESS) {
+ prompt("Value")
+ special(SPC_DBADDR)
+ extra("void * val")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_COMMON)
+ interest(1)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Field Type of Value")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_BITS1)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units Name")
+ promptgroup(GUI_BITS2)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_CALC)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_CLOCK)
+ interest(1)
+ }
+ field(MALM,DBF_ULONG) {
+ prompt("Maximum Elements ")
+ initial("1")
+ promptgroup(GUI_CLOCK)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NELM,DBF_ULONG) {
+ prompt("Number of Elements")
+ initial("1")
+ promptgroup(GUI_COMPRESS)
+ pp(TRUE)
+ }
+ field(INDX,DBF_ULONG) {
+ prompt("Substring Index")
+ promptgroup(GUI_CONVERT)
+ pp(TRUE)
+ }
+ field(BUSY,DBF_SHORT) {
+ prompt("Busy Indicator")
+ special(SPC_NOMOD)
+ }
+ field(NORD,DBF_LONG) {
+ prompt("Number elements read")
+ special(SPC_NOMOD)
+ }
+ field(BPTR,DBF_NOACCESS) {
+ prompt("Buffer Pointer")
+ special(SPC_NOMOD)
+ extra("void * bptr")
+ interest(4)
+ }
+}
+recordtype(waveform) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_NOACCESS) {
+ prompt("Value")
+ special(SPC_DBADDR)
+ extra("void * val")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(RARM,DBF_SHORT) {
+ prompt("Rearm the waveform")
+ promptgroup(GUI_WAVE)
+ pp(TRUE)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units Name")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_DOUBLE) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_DOUBLE) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(NELM,DBF_ULONG) {
+ prompt("Number of Elements")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Field Type of Value")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(BUSY,DBF_SHORT) {
+ prompt("Busy Indicator")
+ special(SPC_NOMOD)
+ }
+ field(NORD,DBF_ULONG) {
+ prompt("Number elements read")
+ special(SPC_NOMOD)
+ }
+ field(BPTR,DBF_NOACCESS) {
+ prompt("Buffer Pointer")
+ special(SPC_NOMOD)
+ extra("void * bptr")
+ interest(4)
+ }
+ field(SIOL,DBF_INLINK) {
+ prompt("Sim Input Specifctn")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIML,DBF_INLINK) {
+ prompt("Sim Mode Location")
+ promptgroup(GUI_INPUTS)
+ interest(1)
+ }
+ field(SIMM,DBF_MENU) {
+ prompt("Simulation Mode")
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(SIMS,DBF_MENU) {
+ prompt("Sim mode Alarm Svrty")
+ promptgroup(GUI_INPUTS)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+}
+recordtype(xxx) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VAL,DBF_DOUBLE) {
+ prompt("Current EGU Value")
+ pp(TRUE)
+ asl(ASL0)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ size(16)
+ interest(1)
+ }
+ field(HOPR,DBF_FLOAT) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_FLOAT) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_FLOAT) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_FLOAT) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_FLOAT) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_FLOAT) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
+recordtype(genSub) {
+ field(NAME,DBF_STRING) {
+ prompt("Record Name")
+ special(SPC_NOMOD)
+ size(61)
+ }
+ field(DESC,DBF_STRING) {
+ prompt("Descriptor")
+ promptgroup(GUI_COMMON)
+ size(29)
+ }
+ field(ASG,DBF_STRING) {
+ prompt("Access Security Group")
+ promptgroup(GUI_COMMON)
+ special(SPC_AS)
+ size(29)
+ }
+ field(SCAN,DBF_MENU) {
+ prompt("Scan Mechanism")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuScan)
+ interest(1)
+ }
+ field(PINI,DBF_MENU) {
+ prompt("Process at iocInit")
+ promptgroup(GUI_SCAN)
+ menu(menuYesNo)
+ interest(1)
+ }
+ field(PHAS,DBF_SHORT) {
+ prompt("Scan Phase")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(EVNT,DBF_SHORT) {
+ prompt("Event Number")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ interest(1)
+ }
+ field(TSE,DBF_SHORT) {
+ prompt("Time Stamp Event")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(TSEL,DBF_INLINK) {
+ prompt("Time Stamp Link")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(DTYP,DBF_DEVICE) {
+ prompt("Device Type")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(DISV,DBF_SHORT) {
+ prompt("Disable Value")
+ initial("1")
+ promptgroup(GUI_SCAN)
+ }
+ field(DISA,DBF_SHORT) {
+ prompt("Disable")
+ }
+ field(SDIS,DBF_INLINK) {
+ prompt("Scanning Disable")
+ promptgroup(GUI_SCAN)
+ interest(1)
+ }
+ field(MLOK,DBF_NOACCESS) {
+ prompt("Monitor lock")
+ special(SPC_NOMOD)
+ extra("epicsMutexId mlok")
+ interest(4)
+ }
+ field(MLIS,DBF_NOACCESS) {
+ prompt("Monitor List")
+ special(SPC_NOMOD)
+ extra("ELLLIST mlis")
+ interest(4)
+ }
+ field(DISP,DBF_UCHAR) {
+ prompt("Disable putField")
+ }
+ field(PROC,DBF_UCHAR) {
+ prompt("Force Processing")
+ pp(TRUE)
+ interest(3)
+ }
+ field(STAT,DBF_MENU) {
+ prompt("Alarm Status")
+ initial("UDF")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ }
+ field(SEVR,DBF_MENU) {
+ prompt("Alarm Severity")
+ initial("INVALID")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ }
+ field(NSTA,DBF_MENU) {
+ prompt("New Alarm Status")
+ special(SPC_NOMOD)
+ menu(menuAlarmStat)
+ interest(2)
+ }
+ field(NSEV,DBF_MENU) {
+ prompt("New Alarm Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKS,DBF_MENU) {
+ prompt("Alarm Ack Severity")
+ special(SPC_NOMOD)
+ menu(menuAlarmSevr)
+ interest(2)
+ }
+ field(ACKT,DBF_MENU) {
+ prompt("Alarm Ack Transient")
+ initial("YES")
+ promptgroup(GUI_ALARMS)
+ special(SPC_NOMOD)
+ menu(menuYesNo)
+ interest(2)
+ }
+ field(DISS,DBF_MENU) {
+ prompt("Disable Alarm Sevrty")
+ promptgroup(GUI_SCAN)
+ menu(menuAlarmSevr)
+ interest(1)
+ }
+ field(LCNT,DBF_UCHAR) {
+ prompt("Lock Count")
+ special(SPC_NOMOD)
+ interest(2)
+ }
+ field(PACT,DBF_UCHAR) {
+ prompt("Record active")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PUTF,DBF_UCHAR) {
+ prompt("dbPutField process")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(RPRO,DBF_UCHAR) {
+ prompt("Reprocess ")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(ASP,DBF_NOACCESS) {
+ prompt("Access Security Pvt")
+ special(SPC_NOMOD)
+ extra("void *asp")
+ interest(4)
+ }
+ field(PPN,DBF_NOACCESS) {
+ prompt("addr of PUTNOTIFY")
+ special(SPC_NOMOD)
+ extra("struct putNotify *ppn")
+ interest(4)
+ }
+ field(PPNR,DBF_NOACCESS) {
+ prompt("pputNotifyRecord")
+ special(SPC_NOMOD)
+ extra("struct putNotifyRecord *ppnr")
+ interest(4)
+ }
+ field(SPVT,DBF_NOACCESS) {
+ prompt("Scan Private")
+ special(SPC_NOMOD)
+ extra("struct scan_element *spvt")
+ interest(4)
+ }
+ field(RSET,DBF_NOACCESS) {
+ prompt("Address of RSET")
+ special(SPC_NOMOD)
+ extra("struct rset *rset")
+ interest(4)
+ }
+ field(DSET,DBF_NOACCESS) {
+ prompt("DSET address")
+ special(SPC_NOMOD)
+ extra("struct dset *dset")
+ interest(4)
+ }
+ field(DPVT,DBF_NOACCESS) {
+ prompt("Device Private")
+ special(SPC_NOMOD)
+ extra("void *dpvt")
+ interest(4)
+ }
+ field(RDES,DBF_NOACCESS) {
+ prompt("Address of dbRecordType")
+ special(SPC_NOMOD)
+ extra("struct dbRecordType *rdes")
+ interest(4)
+ }
+ field(LSET,DBF_NOACCESS) {
+ prompt("Lock Set")
+ special(SPC_NOMOD)
+ extra("struct lockRecord *lset")
+ interest(4)
+ }
+ field(PRIO,DBF_MENU) {
+ prompt("Scheduling Priority")
+ promptgroup(GUI_SCAN)
+ special(SPC_SCAN)
+ menu(menuPriority)
+ interest(1)
+ }
+ field(TPRO,DBF_UCHAR) {
+ prompt("Trace Processing")
+ }
+ field(BKPT,DBF_NOACCESS) {
+ prompt("Break Point")
+ special(SPC_NOMOD)
+ extra("char bkpt")
+ interest(1)
+ }
+ field(UDF,DBF_UCHAR) {
+ prompt("Undefined")
+ initial("1")
+ promptgroup(GUI_COMMON)
+ pp(TRUE)
+ interest(1)
+ }
+ field(TIME,DBF_NOACCESS) {
+ prompt("Time")
+ special(SPC_NOMOD)
+ extra("epicsTimeStamp time")
+ interest(2)
+ }
+ field(FLNK,DBF_FWDLINK) {
+ prompt("Forward Process Link")
+ promptgroup(GUI_LINKS)
+ interest(1)
+ }
+ field(VERS,DBF_DOUBLE) {
+ prompt("Version Number")
+ promptgroup(GUI_DISPLAY)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Subr. return value")
+ asl(ASL0)
+ }
+ field(OVAL,DBF_LONG) {
+ prompt("Old return value")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(SADR,DBF_LONG) {
+ prompt("Subroutine Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OSAD,DBF_LONG) {
+ prompt("Old Subr. Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(LFLG,DBF_MENU) {
+ prompt("Link Flag")
+ promptgroup(GUI_OUTPUT)
+ menu(genSubLFLG)
+ interest(1)
+ }
+ field(EFLG,DBF_MENU) {
+ prompt("Event Flag")
+ promptgroup(GUI_OUTPUT)
+ menu(genSubEFLG)
+ interest(1)
+ }
+ field(SUBL,DBF_INLINK) {
+ prompt("Subroutine Input Link")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INAM,DBF_STRING) {
+ prompt("Init Routine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(SNAM,DBF_STRING) {
+ prompt("Process Subr. Name")
+ promptgroup(GUI_SUB)
+ special(100)
+ size(40)
+ interest(1)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("Old Subroutine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(BRSV,DBF_MENU) {
+ prompt("Bad Return Severity")
+ promptgroup(GUI_SUB)
+ menu(menuAlarmSevr)
+ pp(TRUE)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input Link A")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input Link B")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input Link C")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input Link D")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input Link E")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input Link F")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input Link G")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input Link H")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input Link I")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input Link J")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input Link K")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input Link L")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPM,DBF_INLINK) {
+ prompt("Input Link M")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPN,DBF_INLINK) {
+ prompt("Input Link N")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPO,DBF_INLINK) {
+ prompt("Input Link O")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPP,DBF_INLINK) {
+ prompt("Input Link P")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPQ,DBF_INLINK) {
+ prompt("Input Link Q")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPR,DBF_INLINK) {
+ prompt("Input Link R")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPS,DBF_INLINK) {
+ prompt("Input Link S")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPT,DBF_INLINK) {
+ prompt("Input Link T")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPU,DBF_INLINK) {
+ prompt("Input Link U")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFA,DBF_STRING) {
+ prompt("Input Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFB,DBF_STRING) {
+ prompt("Input Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFC,DBF_STRING) {
+ prompt("Input Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFD,DBF_STRING) {
+ prompt("Input Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFE,DBF_STRING) {
+ prompt("Input Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFF,DBF_STRING) {
+ prompt("Input Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFG,DBF_STRING) {
+ prompt("Input Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFH,DBF_STRING) {
+ prompt("Input Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFI,DBF_STRING) {
+ prompt("Input Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFJ,DBF_STRING) {
+ prompt("Input Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFK,DBF_STRING) {
+ prompt("Input Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFL,DBF_STRING) {
+ prompt("Input Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFM,DBF_STRING) {
+ prompt("Input Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFN,DBF_STRING) {
+ prompt("Input Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFO,DBF_STRING) {
+ prompt("Input Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFP,DBF_STRING) {
+ prompt("Input Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFQ,DBF_STRING) {
+ prompt("Input Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFR,DBF_STRING) {
+ prompt("Input Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFS,DBF_STRING) {
+ prompt("Input Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFT,DBF_STRING) {
+ prompt("Input Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFU,DBF_STRING) {
+ prompt("Input Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(A,DBF_NOACCESS) {
+ prompt("Value of Input A")
+ special(SPC_DBADDR)
+ extra("void *a")
+ interest(1)
+ asl(ASL0)
+ }
+ field(B,DBF_NOACCESS) {
+ prompt("Value of Input B")
+ special(SPC_DBADDR)
+ extra("void *b")
+ interest(1)
+ asl(ASL0)
+ }
+ field(C,DBF_NOACCESS) {
+ prompt("Value of Input C")
+ special(SPC_DBADDR)
+ extra("void *c")
+ interest(1)
+ asl(ASL0)
+ }
+ field(D,DBF_NOACCESS) {
+ prompt("Value of Input D")
+ special(SPC_DBADDR)
+ extra("void *d")
+ interest(1)
+ asl(ASL0)
+ }
+ field(E,DBF_NOACCESS) {
+ prompt("Value of Input E")
+ special(SPC_DBADDR)
+ extra("void *e")
+ interest(1)
+ asl(ASL0)
+ }
+ field(F,DBF_NOACCESS) {
+ prompt("Value of Input F")
+ special(SPC_DBADDR)
+ extra("void *f")
+ interest(1)
+ asl(ASL0)
+ }
+ field(G,DBF_NOACCESS) {
+ prompt("Value of Input G")
+ special(SPC_DBADDR)
+ extra("void *g")
+ interest(1)
+ asl(ASL0)
+ }
+ field(H,DBF_NOACCESS) {
+ prompt("Value of Input H")
+ special(SPC_DBADDR)
+ extra("void *h")
+ interest(1)
+ asl(ASL0)
+ }
+ field(I,DBF_NOACCESS) {
+ prompt("Value of Input I")
+ special(SPC_DBADDR)
+ extra("void *i")
+ interest(1)
+ asl(ASL0)
+ }
+ field(J,DBF_NOACCESS) {
+ prompt("Value of Input J")
+ special(SPC_DBADDR)
+ extra("void *j")
+ pp(TRUE)
+ interest(1)
+ asl(ASL0)
+ }
+ field(K,DBF_NOACCESS) {
+ prompt("Value of Input K")
+ special(SPC_DBADDR)
+ extra("void *k")
+ interest(1)
+ asl(ASL0)
+ }
+ field(L,DBF_NOACCESS) {
+ prompt("Value of Input L")
+ special(SPC_DBADDR)
+ extra("void *l")
+ interest(1)
+ asl(ASL0)
+ }
+ field(M,DBF_NOACCESS) {
+ prompt("Value of Input M")
+ special(SPC_DBADDR)
+ extra("void *m")
+ interest(1)
+ asl(ASL0)
+ }
+ field(N,DBF_NOACCESS) {
+ prompt("Value of Input N")
+ special(SPC_DBADDR)
+ extra("void *n")
+ interest(1)
+ asl(ASL0)
+ }
+ field(O,DBF_NOACCESS) {
+ prompt("Value of Input O")
+ special(SPC_DBADDR)
+ extra("void *o")
+ interest(1)
+ asl(ASL0)
+ }
+ field(P,DBF_NOACCESS) {
+ prompt("Value of Input P")
+ special(SPC_DBADDR)
+ extra("void *p")
+ interest(1)
+ asl(ASL0)
+ }
+ field(Q,DBF_NOACCESS) {
+ prompt("Value of Input Q")
+ special(SPC_DBADDR)
+ extra("void *q")
+ interest(1)
+ asl(ASL0)
+ }
+ field(R,DBF_NOACCESS) {
+ prompt("Value of Input R")
+ special(SPC_DBADDR)
+ extra("void *r")
+ interest(1)
+ asl(ASL0)
+ }
+ field(S,DBF_NOACCESS) {
+ prompt("Value of Input S")
+ special(SPC_DBADDR)
+ extra("void *s")
+ interest(1)
+ asl(ASL0)
+ }
+ field(T,DBF_NOACCESS) {
+ prompt("Value of Input T")
+ special(SPC_DBADDR)
+ extra("void *t")
+ interest(1)
+ asl(ASL0)
+ }
+ field(U,DBF_NOACCESS) {
+ prompt("Value of Input U")
+ special(SPC_DBADDR)
+ extra("void *u")
+ interest(1)
+ asl(ASL0)
+ }
+ field(FTA,DBF_MENU) {
+ prompt("Type of A")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTB,DBF_MENU) {
+ prompt("Type of B")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTC,DBF_MENU) {
+ prompt("Type of C")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTD,DBF_MENU) {
+ prompt("Type of D")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTE,DBF_MENU) {
+ prompt("Type of E")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTF,DBF_MENU) {
+ prompt("Type of F")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTG,DBF_MENU) {
+ prompt("Type of G")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTH,DBF_MENU) {
+ prompt("Type of H")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTI,DBF_MENU) {
+ prompt("Type of I")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTJ,DBF_MENU) {
+ prompt("Type of J")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTK,DBF_MENU) {
+ prompt("Type of K")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTL,DBF_MENU) {
+ prompt("Type of L")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTM,DBF_MENU) {
+ prompt("Type of M")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTN,DBF_MENU) {
+ prompt("Type of N")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTO,DBF_MENU) {
+ prompt("Type of O")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTP,DBF_MENU) {
+ prompt("Type of P")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTQ,DBF_MENU) {
+ prompt("Type of Q")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTR,DBF_MENU) {
+ prompt("Type of R")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTS,DBF_MENU) {
+ prompt("Type of S")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTT,DBF_MENU) {
+ prompt("Type of T")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTU,DBF_MENU) {
+ prompt("Type of U")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(NOA,DBF_ULONG) {
+ prompt("No. in A")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOB,DBF_ULONG) {
+ prompt("No. in B")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOC,DBF_ULONG) {
+ prompt("No. in C")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOD,DBF_ULONG) {
+ prompt("No. in D")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOE,DBF_ULONG) {
+ prompt("No. in E")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOF,DBF_ULONG) {
+ prompt("No. in F")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOG,DBF_ULONG) {
+ prompt("No. in G")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOH,DBF_ULONG) {
+ prompt("No. in H")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOI,DBF_ULONG) {
+ prompt("No. in I")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOJ,DBF_ULONG) {
+ prompt("No. in J")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOK,DBF_ULONG) {
+ prompt("No. in K")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOL,DBF_ULONG) {
+ prompt("No. in L")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOM,DBF_ULONG) {
+ prompt("No. in M")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NON,DBF_ULONG) {
+ prompt("No. in N")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOO,DBF_ULONG) {
+ prompt("No. in O")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOP,DBF_ULONG) {
+ prompt("No. in P")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOQ,DBF_ULONG) {
+ prompt("No. in Q")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOR,DBF_ULONG) {
+ prompt("No. in R")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOS,DBF_ULONG) {
+ prompt("No. in S")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOT,DBF_ULONG) {
+ prompt("No. in T")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOU,DBF_ULONG) {
+ prompt("No. in U")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTA,DBF_OUTLINK) {
+ prompt("Output Link A")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTB,DBF_OUTLINK) {
+ prompt("Output Link B")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTC,DBF_OUTLINK) {
+ prompt("Output Link C")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTD,DBF_OUTLINK) {
+ prompt("Output Link D")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTE,DBF_OUTLINK) {
+ prompt("Output Link E")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTF,DBF_OUTLINK) {
+ prompt("Output Link F")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTG,DBF_OUTLINK) {
+ prompt("Output Link G")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTH,DBF_OUTLINK) {
+ prompt("Output Link H")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTI,DBF_OUTLINK) {
+ prompt("Output Link I")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTJ,DBF_OUTLINK) {
+ prompt("Output Link J")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTK,DBF_OUTLINK) {
+ prompt("Output Link K")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTL,DBF_OUTLINK) {
+ prompt("Output Link L")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTM,DBF_OUTLINK) {
+ prompt("Output Link M")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTN,DBF_OUTLINK) {
+ prompt("Output Link N")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTO,DBF_OUTLINK) {
+ prompt("Output Link O")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTP,DBF_OUTLINK) {
+ prompt("Output Link P")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTQ,DBF_OUTLINK) {
+ prompt("Output Link Q")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTR,DBF_OUTLINK) {
+ prompt("Output Link R")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTS,DBF_OUTLINK) {
+ prompt("Output Link S")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTT,DBF_OUTLINK) {
+ prompt("Output Link T")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTU,DBF_OUTLINK) {
+ prompt("Output Link U")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFVA,DBF_STRING) {
+ prompt("Output Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVB,DBF_STRING) {
+ prompt("Output Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVC,DBF_STRING) {
+ prompt("Output Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVD,DBF_STRING) {
+ prompt("Output Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVE,DBF_STRING) {
+ prompt("Output Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVF,DBF_STRING) {
+ prompt("Output Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVG,DBF_STRING) {
+ prompt("Output Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVH,DBF_STRING) {
+ prompt("Output Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVI,DBF_STRING) {
+ prompt("Output Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVJ,DBF_STRING) {
+ prompt("Output Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVK,DBF_STRING) {
+ prompt("Output Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVL,DBF_STRING) {
+ prompt("Output Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVM,DBF_STRING) {
+ prompt("Output Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVN,DBF_STRING) {
+ prompt("Output Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVO,DBF_STRING) {
+ prompt("Output Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVP,DBF_STRING) {
+ prompt("Output Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVQ,DBF_STRING) {
+ prompt("Output Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVR,DBF_STRING) {
+ prompt("Output Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVS,DBF_STRING) {
+ prompt("Output Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVT,DBF_STRING) {
+ prompt("Output Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(UFVU,DBF_STRING) {
+ prompt("Output Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ size(40)
+ interest(1)
+ }
+ field(VALA,DBF_NOACCESS) {
+ prompt("Value of Output A")
+ special(SPC_DBADDR)
+ extra("void *vala")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALB,DBF_NOACCESS) {
+ prompt("Value of Output B")
+ special(SPC_DBADDR)
+ extra("void *valb")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALC,DBF_NOACCESS) {
+ prompt("Value of Output C")
+ special(SPC_DBADDR)
+ extra("void *valc")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALD,DBF_NOACCESS) {
+ prompt("Value of Output D")
+ special(SPC_DBADDR)
+ extra("void *vald")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALE,DBF_NOACCESS) {
+ prompt("Value of Output E")
+ special(SPC_DBADDR)
+ extra("void *vale")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALF,DBF_NOACCESS) {
+ prompt("Value of Output F")
+ special(SPC_DBADDR)
+ extra("void *valf")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALG,DBF_NOACCESS) {
+ prompt("Value of Output G")
+ special(SPC_DBADDR)
+ extra("void *valg")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALH,DBF_NOACCESS) {
+ prompt("Value of Output H")
+ special(SPC_DBADDR)
+ extra("void *valh")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALI,DBF_NOACCESS) {
+ prompt("Value of Output I")
+ special(SPC_DBADDR)
+ extra("void *vali")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALJ,DBF_NOACCESS) {
+ prompt("Value of Output J")
+ special(SPC_DBADDR)
+ extra("void *valj")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALK,DBF_NOACCESS) {
+ prompt("Value of Output K")
+ special(SPC_DBADDR)
+ extra("void *valk")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALL,DBF_NOACCESS) {
+ prompt("Value of Output L")
+ special(SPC_DBADDR)
+ extra("void *vall")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALM,DBF_NOACCESS) {
+ prompt("Value of Output M")
+ special(SPC_DBADDR)
+ extra("void *valm")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALN,DBF_NOACCESS) {
+ prompt("Value of Output N")
+ special(SPC_DBADDR)
+ extra("void *valn")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALO,DBF_NOACCESS) {
+ prompt("Value of Output O")
+ special(SPC_DBADDR)
+ extra("void *valo")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALP,DBF_NOACCESS) {
+ prompt("Value of Output P")
+ special(SPC_DBADDR)
+ extra("void *valp")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALQ,DBF_NOACCESS) {
+ prompt("Value of Output Q")
+ special(SPC_DBADDR)
+ extra("void *valq")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALR,DBF_NOACCESS) {
+ prompt("Value of Output R")
+ special(SPC_DBADDR)
+ extra("void *valr")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALS,DBF_NOACCESS) {
+ prompt("Value of Output S")
+ special(SPC_DBADDR)
+ extra("void *vals")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALT,DBF_NOACCESS) {
+ prompt("Value of Output T")
+ special(SPC_DBADDR)
+ extra("void *valt")
+ interest(1)
+ asl(ASL0)
+ }
+ field(VALU,DBF_NOACCESS) {
+ prompt("Value of Output U")
+ special(SPC_DBADDR)
+ extra("void *valu")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLA,DBF_NOACCESS) {
+ prompt("Old Output A")
+ special(SPC_NOMOD)
+ extra("void *ovla")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLB,DBF_NOACCESS) {
+ prompt("Old Output B")
+ special(SPC_NOMOD)
+ extra("void *ovlb")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLC,DBF_NOACCESS) {
+ prompt("Old Output C")
+ special(SPC_NOMOD)
+ extra("void *ovlc")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLD,DBF_NOACCESS) {
+ prompt("Old Output D")
+ special(SPC_NOMOD)
+ extra("void *ovld")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLE,DBF_NOACCESS) {
+ prompt("Old Output E")
+ special(SPC_NOMOD)
+ extra("void *ovle")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLF,DBF_NOACCESS) {
+ prompt("Old Output F")
+ special(SPC_NOMOD)
+ extra("void *ovlf")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLG,DBF_NOACCESS) {
+ prompt("Old Output G")
+ special(SPC_NOMOD)
+ extra("void *ovlg")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLH,DBF_NOACCESS) {
+ prompt("Old Output H")
+ special(SPC_NOMOD)
+ extra("void *ovlh")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLI,DBF_NOACCESS) {
+ prompt("Old Output I")
+ special(SPC_NOMOD)
+ extra("void *ovli")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLJ,DBF_NOACCESS) {
+ prompt("Old Output J")
+ special(SPC_NOMOD)
+ extra("void *ovlj")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLK,DBF_NOACCESS) {
+ prompt("Old Output K")
+ special(SPC_NOMOD)
+ extra("void *ovlk")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLL,DBF_NOACCESS) {
+ prompt("Old Output L")
+ special(SPC_NOMOD)
+ extra("void *ovll")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLM,DBF_NOACCESS) {
+ prompt("Old Output M")
+ special(SPC_NOMOD)
+ extra("void *ovlm")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLN,DBF_NOACCESS) {
+ prompt("Old Output N")
+ special(SPC_NOMOD)
+ extra("void *ovln")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLO,DBF_NOACCESS) {
+ prompt("Old Output O")
+ special(SPC_NOMOD)
+ extra("void *ovlo")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLP,DBF_NOACCESS) {
+ prompt("Old Output P")
+ special(SPC_NOMOD)
+ extra("void *ovlp")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLQ,DBF_NOACCESS) {
+ prompt("Old Output Q")
+ special(SPC_NOMOD)
+ extra("void *ovlq")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLR,DBF_NOACCESS) {
+ prompt("Old Output R")
+ special(SPC_NOMOD)
+ extra("void *ovlr")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLS,DBF_NOACCESS) {
+ prompt("Old Output S")
+ special(SPC_NOMOD)
+ extra("void *ovls")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLT,DBF_NOACCESS) {
+ prompt("Old Output T")
+ special(SPC_NOMOD)
+ extra("void *ovlt")
+ interest(1)
+ asl(ASL0)
+ }
+ field(OVLU,DBF_NOACCESS) {
+ prompt("Old Output U")
+ special(SPC_NOMOD)
+ extra("void *ovlu")
+ interest(1)
+ asl(ASL0)
+ }
+ field(FTVA,DBF_MENU) {
+ prompt("Type of VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVB,DBF_MENU) {
+ prompt("Type of VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVC,DBF_MENU) {
+ prompt("Type of VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVD,DBF_MENU) {
+ prompt("Type of VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVE,DBF_MENU) {
+ prompt("Type of VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVF,DBF_MENU) {
+ prompt("Type of VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVG,DBF_MENU) {
+ prompt("Type of VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVH,DBF_MENU) {
+ prompt("Type of VALH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVI,DBF_MENU) {
+ prompt("Type of VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVJ,DBF_MENU) {
+ prompt("Type of VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVK,DBF_MENU) {
+ prompt("Type of VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Type of VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVM,DBF_MENU) {
+ prompt("Type of VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVN,DBF_MENU) {
+ prompt("Type of VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVO,DBF_MENU) {
+ prompt("Type of VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVP,DBF_MENU) {
+ prompt("Type of VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVQ,DBF_MENU) {
+ prompt("Type of VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVR,DBF_MENU) {
+ prompt("Type of VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVS,DBF_MENU) {
+ prompt("Type of VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVT,DBF_MENU) {
+ prompt("Type of VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(FTVU,DBF_MENU) {
+ prompt("Type of VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ menu(menuFtype)
+ interest(1)
+ }
+ field(NOVA,DBF_ULONG) {
+ prompt("No. in VALA")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVB,DBF_ULONG) {
+ prompt("No. in VALB")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVC,DBF_ULONG) {
+ prompt("No. in VALC")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVD,DBF_ULONG) {
+ prompt("No. in VALD")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVE,DBF_ULONG) {
+ prompt("No. in VALE")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVF,DBF_ULONG) {
+ prompt("No. in VALF")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVG,DBF_ULONG) {
+ prompt("No. in VALG")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVH,DBF_ULONG) {
+ prompt("No. in VAlH")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVI,DBF_ULONG) {
+ prompt("No. in VALI")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVJ,DBF_ULONG) {
+ prompt("No. in VALJ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVK,DBF_ULONG) {
+ prompt("No. in VALK")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVL,DBF_ULONG) {
+ prompt("No. in VALL")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVM,DBF_ULONG) {
+ prompt("No. in VALM")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVN,DBF_ULONG) {
+ prompt("No. in VALN")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVO,DBF_ULONG) {
+ prompt("No. in VALO")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVP,DBF_ULONG) {
+ prompt("No. in VALP")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVQ,DBF_ULONG) {
+ prompt("No. in VALQ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVR,DBF_ULONG) {
+ prompt("No. in VALR")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVS,DBF_ULONG) {
+ prompt("No. in VALS")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVT,DBF_ULONG) {
+ prompt("No. in VALT")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(NOVU,DBF_ULONG) {
+ prompt("No. in VALU")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVA,DBF_ULONG) {
+ prompt("Total bytes for VALA")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVB,DBF_ULONG) {
+ prompt("Total bytes for VALB")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVC,DBF_ULONG) {
+ prompt("Total bytes for VALC")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVD,DBF_ULONG) {
+ prompt("Total bytes for VALD")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVE,DBF_ULONG) {
+ prompt("Total bytes for VALE")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVF,DBF_ULONG) {
+ prompt("Total bytes for VALF")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVG,DBF_ULONG) {
+ prompt("Total bytes for VALG")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVH,DBF_ULONG) {
+ prompt("Total bytes for VAlH")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVI,DBF_ULONG) {
+ prompt("Total bytes for VALI")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVJ,DBF_ULONG) {
+ prompt("Total bytes for VALJ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVK,DBF_ULONG) {
+ prompt("Total bytes for VALK")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVL,DBF_ULONG) {
+ prompt("Total bytes for VALL")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVM,DBF_ULONG) {
+ prompt("Total bytes for VALM")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVN,DBF_ULONG) {
+ prompt("Total bytes for VALN")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVO,DBF_ULONG) {
+ prompt("Total bytes for VALO")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVP,DBF_ULONG) {
+ prompt("Total bytes for VALP")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVQ,DBF_ULONG) {
+ prompt("Total bytes for VALQ")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVR,DBF_ULONG) {
+ prompt("Total bytes for VALR")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVS,DBF_ULONG) {
+ prompt("Total bytes for VALS")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVT,DBF_ULONG) {
+ prompt("Total bytes for VALT")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(TOVU,DBF_ULONG) {
+ prompt("Total bytes for VALU")
+ initial("1")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+}
+device(ai,CONSTANT,devAiSoft,"Soft Channel")
+device(ai,CONSTANT,devAiSoftRaw,"Raw Soft Channel")
+device(ao,CONSTANT,devAoSoft,"Soft Channel")
+device(ao,CONSTANT,devAoSoftRaw,"Raw Soft Channel")
+device(ao,CONSTANT,devAoSoftCallback,"Async Soft Channel")
+device(bi,CONSTANT,devBiSoft,"Soft Channel")
+device(bi,CONSTANT,devBiSoftRaw,"Raw Soft Channel")
+device(bo,CONSTANT,devBoSoft,"Soft Channel")
+device(bo,CONSTANT,devBoSoftRaw,"Raw Soft Channel")
+device(bo,CONSTANT,devBoSoftCallback,"Async Soft Channel")
+device(calcout,CONSTANT,devCalcoutSoft,"Soft Channel")
+device(calcout,CONSTANT,devCalcoutSoftCallback,"Async Soft Channel")
+device(event,CONSTANT,devEventSoft,"Soft Channel")
+device(longin,CONSTANT,devLiSoft,"Soft Channel")
+device(longout,CONSTANT,devLoSoft,"Soft Channel")
+device(longout,CONSTANT,devLoSoftCallback,"Async Soft Channel")
+device(mbbi,CONSTANT,devMbbiSoft,"Soft Channel")
+device(mbbi,CONSTANT,devMbbiSoftRaw,"Raw Soft Channel")
+device(mbbiDirect,CONSTANT,devMbbiDirectSoft,"Soft Channel")
+device(mbbiDirect,CONSTANT,devMbbiDirectSoftRaw,"Raw Soft Channel")
+device(mbbo,CONSTANT,devMbboSoft,"Soft Channel")
+device(mbbo,CONSTANT,devMbboSoftRaw,"Raw Soft Channel")
+device(mbbo,CONSTANT,devMbboSoftCallback,"Async Soft Channel")
+device(mbboDirect,CONSTANT,devMbboDirectSoft,"Soft Channel")
+device(mbboDirect,CONSTANT,devMbboDirectSoftRaw,"Raw Soft Channel")
+device(mbboDirect,CONSTANT,devMbboDirectSoftCallback,"Async Soft Channel")
+device(stringin,CONSTANT,devSiSoft,"Soft Channel")
+device(stringin,INST_IO,devTimestampSI,"Soft Timestamp")
+device(stringout,CONSTANT,devSoSoft,"Soft Channel")
+device(stringout,CONSTANT,devSoSoftCallback,"Async Soft Channel")
+device(subArray,CONSTANT,devSASoft,"Soft Channel")
+device(waveform,CONSTANT,devWfSoft,"Soft Channel")
+device(xxx,CONSTANT,devXxxSoft,"SoftChannel")
+registrar(asSub)
+function(evtbuild_init)
+function(evtbuild_proc)
+function(genRunId_init)
+function(genRunId_proc)
+function(writeRunId_init)
+function(writeRunId_proc)
+variable(asCaDebug,int)
+variable(dbRecordsOnceOnly,int)
+variable(evtbuildDebug,int)
+variable(genrunidDebug,int)
+variable(writerunidDebug,int)
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/base.dbd
+../O.Common/ebctrl.dbd : ../xxxSupport.dbd
+../O.Common/ebctrl.dbd : ../genSubRecord.dbd
+../O.Common/ebctrl.dbd : ../evtbuild.dbd
+../O.Common/ebctrl.dbd : ../genrunid.dbd
+../O.Common/ebctrl.dbd : ../writerunid.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuGlobal.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuConvert.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/aiRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/aoRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/biRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/boRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/calcRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/calcoutRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/compressRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/dfanoutRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/eventRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/fanoutRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/longinRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/longoutRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/mbbiRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/mbbiDirectRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/mbboRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/mbboDirectRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/permissiveRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/selRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/seqRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/stateRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/stringinRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/stringoutRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/subRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/subArrayRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/waveformRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/devSoft.dbd
+../O.Common/ebctrl.dbd : ../xxxRecord.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/dbCommon.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuAlarmSevr.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuAlarmStat.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuArrType.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuCompress.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuFtype.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuIvoa.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuOmsl.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuPriority.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuScan.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuYesNo.dbd
+../O.Common/ebctrl.dbd : /home/scs/base-3.14.9/dbd/menuSimm.dbd
+
+
--- /dev/null
+include "base.dbd"
+include "xxxSupport.dbd"
+include "genSubRecord.dbd"
+include "evtbuild.dbd"
+include "genrunid.dbd"
+include "writerunid.dbd"
--- /dev/null
+#include "ellLib.h"
+#include "epicsMutex.h"
+#include "link.h"
+#include "epicsTime.h"
+#include "epicsTypes.h"
+
+#ifndef INCgenSubLFLGH
+#define INCgenSubLFLGH
+typedef enum {
+ genSubLFLG_IGNORE,
+ genSubLFLG_READ
+}genSubLFLG;
+#endif /*INCgenSubLFLGH*/
+
+#ifndef INCgenSubEFLGH
+#define INCgenSubEFLGH
+typedef enum {
+ genSubEFLG_NEVER,
+ genSubEFLG_ON_CHANGE,
+ genSubEFLG_ALWAYS
+}genSubEFLG;
+#endif /*INCgenSubEFLGH*/
+#ifndef INCgenSubH
+#define INCgenSubH
+typedef struct genSubRecord {
+ char name[61]; /*Record Name*/
+ char desc[29]; /*Descriptor*/
+ char asg[29]; /*Access Security Group*/
+ epicsEnum16 scan; /*Scan Mechanism*/
+ epicsEnum16 pini; /*Process at iocInit*/
+ short phas; /*Scan Phase*/
+ short evnt; /*Event Number*/
+ short tse; /*Time Stamp Event*/
+ DBLINK tsel; /*Time Stamp Link*/
+ epicsEnum16 dtyp; /*Device Type*/
+ short disv; /*Disable Value*/
+ short disa; /*Disable*/
+ DBLINK sdis; /*Scanning Disable*/
+ epicsMutexId mlok; /*Monitor lock*/
+ ELLLIST mlis; /*Monitor List*/
+ unsigned char disp; /*Disable putField*/
+ unsigned char proc; /*Force Processing*/
+ epicsEnum16 stat; /*Alarm Status*/
+ epicsEnum16 sevr; /*Alarm Severity*/
+ epicsEnum16 nsta; /*New Alarm Status*/
+ epicsEnum16 nsev; /*New Alarm Severity*/
+ epicsEnum16 acks; /*Alarm Ack Severity*/
+ epicsEnum16 ackt; /*Alarm Ack Transient*/
+ epicsEnum16 diss; /*Disable Alarm Sevrty*/
+ unsigned char lcnt; /*Lock Count*/
+ unsigned char pact; /*Record active*/
+ unsigned char putf; /*dbPutField process*/
+ unsigned char rpro; /*Reprocess */
+ void *asp; /*Access Security Pvt*/
+ struct putNotify *ppn; /*addr of PUTNOTIFY*/
+ struct putNotifyRecord *ppnr; /*pputNotifyRecord*/
+ struct scan_element *spvt; /*Scan Private*/
+ struct rset *rset; /*Address of RSET*/
+ struct dset *dset; /*DSET address*/
+ void *dpvt; /*Device Private*/
+ struct dbRecordType *rdes; /*Address of dbRecordType*/
+ struct lockRecord *lset; /*Lock Set*/
+ epicsEnum16 prio; /*Scheduling Priority*/
+ unsigned char tpro; /*Trace Processing*/
+ char bkpt; /*Break Point*/
+ unsigned char udf; /*Undefined*/
+ epicsTimeStamp time; /*Time*/
+ DBLINK flnk; /*Forward Process Link*/
+ double vers; /*Version Number*/
+ epicsInt32 val; /*Subr. return value*/
+ epicsInt32 oval; /*Old return value*/
+ epicsInt32 sadr; /*Subroutine Address*/
+ epicsInt32 osad; /*Old Subr. Address*/
+ epicsEnum16 lflg; /*Link Flag*/
+ epicsEnum16 eflg; /*Event Flag*/
+ DBLINK subl; /*Subroutine Input Link*/
+ char inam[40]; /*Init Routine Name*/
+ char snam[40]; /*Process Subr. Name*/
+ char onam[40]; /*Old Subroutine Name*/
+ epicsEnum16 brsv; /*Bad Return Severity*/
+ short prec; /*Display Precision*/
+ DBLINK inpa; /*Input Link A*/
+ DBLINK inpb; /*Input Link B*/
+ DBLINK inpc; /*Input Link C*/
+ DBLINK inpd; /*Input Link D*/
+ DBLINK inpe; /*Input Link E*/
+ DBLINK inpf; /*Input Link F*/
+ DBLINK inpg; /*Input Link G*/
+ DBLINK inph; /*Input Link H*/
+ DBLINK inpi; /*Input Link I*/
+ DBLINK inpj; /*Input Link J*/
+ DBLINK inpk; /*Input Link K*/
+ DBLINK inpl; /*Input Link L*/
+ DBLINK inpm; /*Input Link M*/
+ DBLINK inpn; /*Input Link N*/
+ DBLINK inpo; /*Input Link O*/
+ DBLINK inpp; /*Input Link P*/
+ DBLINK inpq; /*Input Link Q*/
+ DBLINK inpr; /*Input Link R*/
+ DBLINK inps; /*Input Link S*/
+ DBLINK inpt; /*Input Link T*/
+ DBLINK inpu; /*Input Link U*/
+ char ufa[40]; /*Input Structure A*/
+ char ufb[40]; /*Input Structure B*/
+ char ufc[40]; /*Input Structure C*/
+ char ufd[40]; /*Input Structure D*/
+ char ufe[40]; /*Input Structure E*/
+ char uff[40]; /*Input Structure F*/
+ char ufg[40]; /*Input Structure G*/
+ char ufh[40]; /*Input Structure H*/
+ char ufi[40]; /*Input Structure I*/
+ char ufj[40]; /*Input Structure J*/
+ char ufk[40]; /*Input Structure K*/
+ char ufl[40]; /*Input Structure L*/
+ char ufm[40]; /*Input Structure M*/
+ char ufn[40]; /*Input Structure N*/
+ char ufo[40]; /*Input Structure O*/
+ char ufp[40]; /*Input Structure P*/
+ char ufq[40]; /*Input Structure Q*/
+ char ufr[40]; /*Input Structure R*/
+ char ufs[40]; /*Input Structure S*/
+ char uft[40]; /*Input Structure T*/
+ char ufu[40]; /*Input Structure U*/
+ void *a; /*Value of Input A*/
+ void *b; /*Value of Input B*/
+ void *c; /*Value of Input C*/
+ void *d; /*Value of Input D*/
+ void *e; /*Value of Input E*/
+ void *f; /*Value of Input F*/
+ void *g; /*Value of Input G*/
+ void *h; /*Value of Input H*/
+ void *i; /*Value of Input I*/
+ void *j; /*Value of Input J*/
+ void *k; /*Value of Input K*/
+ void *l; /*Value of Input L*/
+ void *m; /*Value of Input M*/
+ void *n; /*Value of Input N*/
+ void *o; /*Value of Input O*/
+ void *p; /*Value of Input P*/
+ void *q; /*Value of Input Q*/
+ void *r; /*Value of Input R*/
+ void *s; /*Value of Input S*/
+ void *t; /*Value of Input T*/
+ void *u; /*Value of Input U*/
+ epicsEnum16 fta; /*Type of A*/
+ epicsEnum16 ftb; /*Type of B*/
+ epicsEnum16 ftc; /*Type of C*/
+ epicsEnum16 ftd; /*Type of D*/
+ epicsEnum16 fte; /*Type of E*/
+ epicsEnum16 ftf; /*Type of F*/
+ epicsEnum16 ftg; /*Type of G*/
+ epicsEnum16 fth; /*Type of H*/
+ epicsEnum16 fti; /*Type of I*/
+ epicsEnum16 ftj; /*Type of J*/
+ epicsEnum16 ftk; /*Type of K*/
+ epicsEnum16 ftl; /*Type of L*/
+ epicsEnum16 ftm; /*Type of M*/
+ epicsEnum16 ftn; /*Type of N*/
+ epicsEnum16 fto; /*Type of O*/
+ epicsEnum16 ftp; /*Type of P*/
+ epicsEnum16 ftq; /*Type of Q*/
+ epicsEnum16 ftr; /*Type of R*/
+ epicsEnum16 fts; /*Type of S*/
+ epicsEnum16 ftt; /*Type of T*/
+ epicsEnum16 ftu; /*Type of U*/
+ unsigned long noa; /*No. in A*/
+ unsigned long nob; /*No. in B*/
+ unsigned long noc; /*No. in C*/
+ unsigned long nod; /*No. in D*/
+ unsigned long noe; /*No. in E*/
+ unsigned long nof; /*No. in F*/
+ unsigned long nog; /*No. in G*/
+ unsigned long noh; /*No. in H*/
+ unsigned long noi; /*No. in I*/
+ unsigned long noj; /*No. in J*/
+ unsigned long nok; /*No. in K*/
+ unsigned long nol; /*No. in L*/
+ unsigned long nom; /*No. in M*/
+ unsigned long non; /*No. in N*/
+ unsigned long noo; /*No. in O*/
+ unsigned long nop; /*No. in P*/
+ unsigned long noq; /*No. in Q*/
+ unsigned long nor; /*No. in R*/
+ unsigned long nos; /*No. in S*/
+ unsigned long not; /*No. in T*/
+ unsigned long nou; /*No. in U*/
+ DBLINK outa; /*Output Link A*/
+ DBLINK outb; /*Output Link B*/
+ DBLINK outc; /*Output Link C*/
+ DBLINK outd; /*Output Link D*/
+ DBLINK oute; /*Output Link E*/
+ DBLINK outf; /*Output Link F*/
+ DBLINK outg; /*Output Link G*/
+ DBLINK outh; /*Output Link H*/
+ DBLINK outi; /*Output Link I*/
+ DBLINK outj; /*Output Link J*/
+ DBLINK outk; /*Output Link K*/
+ DBLINK outl; /*Output Link L*/
+ DBLINK outm; /*Output Link M*/
+ DBLINK outn; /*Output Link N*/
+ DBLINK outo; /*Output Link O*/
+ DBLINK outp; /*Output Link P*/
+ DBLINK outq; /*Output Link Q*/
+ DBLINK outr; /*Output Link R*/
+ DBLINK outs; /*Output Link S*/
+ DBLINK outt; /*Output Link T*/
+ DBLINK outu; /*Output Link U*/
+ char ufva[40]; /*Output Structure A*/
+ char ufvb[40]; /*Output Structure B*/
+ char ufvc[40]; /*Output Structure C*/
+ char ufvd[40]; /*Output Structure D*/
+ char ufve[40]; /*Output Structure E*/
+ char ufvf[40]; /*Output Structure F*/
+ char ufvg[40]; /*Output Structure G*/
+ char ufvh[40]; /*Output Structure H*/
+ char ufvi[40]; /*Output Structure I*/
+ char ufvj[40]; /*Output Structure J*/
+ char ufvk[40]; /*Output Structure K*/
+ char ufvl[40]; /*Output Structure L*/
+ char ufvm[40]; /*Output Structure M*/
+ char ufvn[40]; /*Output Structure N*/
+ char ufvo[40]; /*Output Structure O*/
+ char ufvp[40]; /*Output Structure P*/
+ char ufvq[40]; /*Output Structure Q*/
+ char ufvr[40]; /*Output Structure R*/
+ char ufvs[40]; /*Output Structure S*/
+ char ufvt[40]; /*Output Structure T*/
+ char ufvu[40]; /*Output Structure U*/
+ void *vala; /*Value of Output A*/
+ void *valb; /*Value of Output B*/
+ void *valc; /*Value of Output C*/
+ void *vald; /*Value of Output D*/
+ void *vale; /*Value of Output E*/
+ void *valf; /*Value of Output F*/
+ void *valg; /*Value of Output G*/
+ void *valh; /*Value of Output H*/
+ void *vali; /*Value of Output I*/
+ void *valj; /*Value of Output J*/
+ void *valk; /*Value of Output K*/
+ void *vall; /*Value of Output L*/
+ void *valm; /*Value of Output M*/
+ void *valn; /*Value of Output N*/
+ void *valo; /*Value of Output O*/
+ void *valp; /*Value of Output P*/
+ void *valq; /*Value of Output Q*/
+ void *valr; /*Value of Output R*/
+ void *vals; /*Value of Output S*/
+ void *valt; /*Value of Output T*/
+ void *valu; /*Value of Output U*/
+ void *ovla; /*Old Output A*/
+ void *ovlb; /*Old Output B*/
+ void *ovlc; /*Old Output C*/
+ void *ovld; /*Old Output D*/
+ void *ovle; /*Old Output E*/
+ void *ovlf; /*Old Output F*/
+ void *ovlg; /*Old Output G*/
+ void *ovlh; /*Old Output H*/
+ void *ovli; /*Old Output I*/
+ void *ovlj; /*Old Output J*/
+ void *ovlk; /*Old Output K*/
+ void *ovll; /*Old Output L*/
+ void *ovlm; /*Old Output M*/
+ void *ovln; /*Old Output N*/
+ void *ovlo; /*Old Output O*/
+ void *ovlp; /*Old Output P*/
+ void *ovlq; /*Old Output Q*/
+ void *ovlr; /*Old Output R*/
+ void *ovls; /*Old Output S*/
+ void *ovlt; /*Old Output T*/
+ void *ovlu; /*Old Output U*/
+ epicsEnum16 ftva; /*Type of VALA*/
+ epicsEnum16 ftvb; /*Type of VALB*/
+ epicsEnum16 ftvc; /*Type of VALC*/
+ epicsEnum16 ftvd; /*Type of VALD*/
+ epicsEnum16 ftve; /*Type of VALE*/
+ epicsEnum16 ftvf; /*Type of VALF*/
+ epicsEnum16 ftvg; /*Type of VALG*/
+ epicsEnum16 ftvh; /*Type of VALH*/
+ epicsEnum16 ftvi; /*Type of VALI*/
+ epicsEnum16 ftvj; /*Type of VALJ*/
+ epicsEnum16 ftvk; /*Type of VALK*/
+ epicsEnum16 ftvl; /*Type of VALL*/
+ epicsEnum16 ftvm; /*Type of VALM*/
+ epicsEnum16 ftvn; /*Type of VALN*/
+ epicsEnum16 ftvo; /*Type of VALO*/
+ epicsEnum16 ftvp; /*Type of VALP*/
+ epicsEnum16 ftvq; /*Type of VALQ*/
+ epicsEnum16 ftvr; /*Type of VALR*/
+ epicsEnum16 ftvs; /*Type of VALS*/
+ epicsEnum16 ftvt; /*Type of VALT*/
+ epicsEnum16 ftvu; /*Type of VALU*/
+ unsigned long nova; /*No. in VALA*/
+ unsigned long novb; /*No. in VALB*/
+ unsigned long novc; /*No. in VALC*/
+ unsigned long novd; /*No. in VALD*/
+ unsigned long nove; /*No. in VALE*/
+ unsigned long novf; /*No. in VALF*/
+ unsigned long novg; /*No. in VALG*/
+ unsigned long novh; /*No. in VAlH*/
+ unsigned long novi; /*No. in VALI*/
+ unsigned long novj; /*No. in VALJ*/
+ unsigned long novk; /*No. in VALK*/
+ unsigned long novl; /*No. in VALL*/
+ unsigned long novm; /*No. in VALM*/
+ unsigned long novn; /*No. in VALN*/
+ unsigned long novo; /*No. in VALO*/
+ unsigned long novp; /*No. in VALP*/
+ unsigned long novq; /*No. in VALQ*/
+ unsigned long novr; /*No. in VALR*/
+ unsigned long novs; /*No. in VALS*/
+ unsigned long novt; /*No. in VALT*/
+ unsigned long novu; /*No. in VALU*/
+ unsigned long tova; /*Total bytes for VALA*/
+ unsigned long tovb; /*Total bytes for VALB*/
+ unsigned long tovc; /*Total bytes for VALC*/
+ unsigned long tovd; /*Total bytes for VALD*/
+ unsigned long tove; /*Total bytes for VALE*/
+ unsigned long tovf; /*Total bytes for VALF*/
+ unsigned long tovg; /*Total bytes for VALG*/
+ unsigned long tovh; /*Total bytes for VAlH*/
+ unsigned long tovi; /*Total bytes for VALI*/
+ unsigned long tovj; /*Total bytes for VALJ*/
+ unsigned long tovk; /*Total bytes for VALK*/
+ unsigned long tovl; /*Total bytes for VALL*/
+ unsigned long tovm; /*Total bytes for VALM*/
+ unsigned long tovn; /*Total bytes for VALN*/
+ unsigned long tovo; /*Total bytes for VALO*/
+ unsigned long tovp; /*Total bytes for VALP*/
+ unsigned long tovq; /*Total bytes for VALQ*/
+ unsigned long tovr; /*Total bytes for VALR*/
+ unsigned long tovs; /*Total bytes for VALS*/
+ unsigned long tovt; /*Total bytes for VALT*/
+ unsigned long tovu; /*Total bytes for VALU*/
+} genSubRecord;
+#define genSubRecordNAME 0
+#define genSubRecordDESC 1
+#define genSubRecordASG 2
+#define genSubRecordSCAN 3
+#define genSubRecordPINI 4
+#define genSubRecordPHAS 5
+#define genSubRecordEVNT 6
+#define genSubRecordTSE 7
+#define genSubRecordTSEL 8
+#define genSubRecordDTYP 9
+#define genSubRecordDISV 10
+#define genSubRecordDISA 11
+#define genSubRecordSDIS 12
+#define genSubRecordMLOK 13
+#define genSubRecordMLIS 14
+#define genSubRecordDISP 15
+#define genSubRecordPROC 16
+#define genSubRecordSTAT 17
+#define genSubRecordSEVR 18
+#define genSubRecordNSTA 19
+#define genSubRecordNSEV 20
+#define genSubRecordACKS 21
+#define genSubRecordACKT 22
+#define genSubRecordDISS 23
+#define genSubRecordLCNT 24
+#define genSubRecordPACT 25
+#define genSubRecordPUTF 26
+#define genSubRecordRPRO 27
+#define genSubRecordASP 28
+#define genSubRecordPPN 29
+#define genSubRecordPPNR 30
+#define genSubRecordSPVT 31
+#define genSubRecordRSET 32
+#define genSubRecordDSET 33
+#define genSubRecordDPVT 34
+#define genSubRecordRDES 35
+#define genSubRecordLSET 36
+#define genSubRecordPRIO 37
+#define genSubRecordTPRO 38
+#define genSubRecordBKPT 39
+#define genSubRecordUDF 40
+#define genSubRecordTIME 41
+#define genSubRecordFLNK 42
+#define genSubRecordVERS 43
+#define genSubRecordVAL 44
+#define genSubRecordOVAL 45
+#define genSubRecordSADR 46
+#define genSubRecordOSAD 47
+#define genSubRecordLFLG 48
+#define genSubRecordEFLG 49
+#define genSubRecordSUBL 50
+#define genSubRecordINAM 51
+#define genSubRecordSNAM 52
+#define genSubRecordONAM 53
+#define genSubRecordBRSV 54
+#define genSubRecordPREC 55
+#define genSubRecordINPA 56
+#define genSubRecordINPB 57
+#define genSubRecordINPC 58
+#define genSubRecordINPD 59
+#define genSubRecordINPE 60
+#define genSubRecordINPF 61
+#define genSubRecordINPG 62
+#define genSubRecordINPH 63
+#define genSubRecordINPI 64
+#define genSubRecordINPJ 65
+#define genSubRecordINPK 66
+#define genSubRecordINPL 67
+#define genSubRecordINPM 68
+#define genSubRecordINPN 69
+#define genSubRecordINPO 70
+#define genSubRecordINPP 71
+#define genSubRecordINPQ 72
+#define genSubRecordINPR 73
+#define genSubRecordINPS 74
+#define genSubRecordINPT 75
+#define genSubRecordINPU 76
+#define genSubRecordUFA 77
+#define genSubRecordUFB 78
+#define genSubRecordUFC 79
+#define genSubRecordUFD 80
+#define genSubRecordUFE 81
+#define genSubRecordUFF 82
+#define genSubRecordUFG 83
+#define genSubRecordUFH 84
+#define genSubRecordUFI 85
+#define genSubRecordUFJ 86
+#define genSubRecordUFK 87
+#define genSubRecordUFL 88
+#define genSubRecordUFM 89
+#define genSubRecordUFN 90
+#define genSubRecordUFO 91
+#define genSubRecordUFP 92
+#define genSubRecordUFQ 93
+#define genSubRecordUFR 94
+#define genSubRecordUFS 95
+#define genSubRecordUFT 96
+#define genSubRecordUFU 97
+#define genSubRecordA 98
+#define genSubRecordB 99
+#define genSubRecordC 100
+#define genSubRecordD 101
+#define genSubRecordE 102
+#define genSubRecordF 103
+#define genSubRecordG 104
+#define genSubRecordH 105
+#define genSubRecordI 106
+#define genSubRecordJ 107
+#define genSubRecordK 108
+#define genSubRecordL 109
+#define genSubRecordM 110
+#define genSubRecordN 111
+#define genSubRecordO 112
+#define genSubRecordP 113
+#define genSubRecordQ 114
+#define genSubRecordR 115
+#define genSubRecordS 116
+#define genSubRecordT 117
+#define genSubRecordU 118
+#define genSubRecordFTA 119
+#define genSubRecordFTB 120
+#define genSubRecordFTC 121
+#define genSubRecordFTD 122
+#define genSubRecordFTE 123
+#define genSubRecordFTF 124
+#define genSubRecordFTG 125
+#define genSubRecordFTH 126
+#define genSubRecordFTI 127
+#define genSubRecordFTJ 128
+#define genSubRecordFTK 129
+#define genSubRecordFTL 130
+#define genSubRecordFTM 131
+#define genSubRecordFTN 132
+#define genSubRecordFTO 133
+#define genSubRecordFTP 134
+#define genSubRecordFTQ 135
+#define genSubRecordFTR 136
+#define genSubRecordFTS 137
+#define genSubRecordFTT 138
+#define genSubRecordFTU 139
+#define genSubRecordNOA 140
+#define genSubRecordNOB 141
+#define genSubRecordNOC 142
+#define genSubRecordNOD 143
+#define genSubRecordNOE 144
+#define genSubRecordNOF 145
+#define genSubRecordNOG 146
+#define genSubRecordNOH 147
+#define genSubRecordNOI 148
+#define genSubRecordNOJ 149
+#define genSubRecordNOK 150
+#define genSubRecordNOL 151
+#define genSubRecordNOM 152
+#define genSubRecordNON 153
+#define genSubRecordNOO 154
+#define genSubRecordNOP 155
+#define genSubRecordNOQ 156
+#define genSubRecordNOR 157
+#define genSubRecordNOS 158
+#define genSubRecordNOT 159
+#define genSubRecordNOU 160
+#define genSubRecordOUTA 161
+#define genSubRecordOUTB 162
+#define genSubRecordOUTC 163
+#define genSubRecordOUTD 164
+#define genSubRecordOUTE 165
+#define genSubRecordOUTF 166
+#define genSubRecordOUTG 167
+#define genSubRecordOUTH 168
+#define genSubRecordOUTI 169
+#define genSubRecordOUTJ 170
+#define genSubRecordOUTK 171
+#define genSubRecordOUTL 172
+#define genSubRecordOUTM 173
+#define genSubRecordOUTN 174
+#define genSubRecordOUTO 175
+#define genSubRecordOUTP 176
+#define genSubRecordOUTQ 177
+#define genSubRecordOUTR 178
+#define genSubRecordOUTS 179
+#define genSubRecordOUTT 180
+#define genSubRecordOUTU 181
+#define genSubRecordUFVA 182
+#define genSubRecordUFVB 183
+#define genSubRecordUFVC 184
+#define genSubRecordUFVD 185
+#define genSubRecordUFVE 186
+#define genSubRecordUFVF 187
+#define genSubRecordUFVG 188
+#define genSubRecordUFVH 189
+#define genSubRecordUFVI 190
+#define genSubRecordUFVJ 191
+#define genSubRecordUFVK 192
+#define genSubRecordUFVL 193
+#define genSubRecordUFVM 194
+#define genSubRecordUFVN 195
+#define genSubRecordUFVO 196
+#define genSubRecordUFVP 197
+#define genSubRecordUFVQ 198
+#define genSubRecordUFVR 199
+#define genSubRecordUFVS 200
+#define genSubRecordUFVT 201
+#define genSubRecordUFVU 202
+#define genSubRecordVALA 203
+#define genSubRecordVALB 204
+#define genSubRecordVALC 205
+#define genSubRecordVALD 206
+#define genSubRecordVALE 207
+#define genSubRecordVALF 208
+#define genSubRecordVALG 209
+#define genSubRecordVALH 210
+#define genSubRecordVALI 211
+#define genSubRecordVALJ 212
+#define genSubRecordVALK 213
+#define genSubRecordVALL 214
+#define genSubRecordVALM 215
+#define genSubRecordVALN 216
+#define genSubRecordVALO 217
+#define genSubRecordVALP 218
+#define genSubRecordVALQ 219
+#define genSubRecordVALR 220
+#define genSubRecordVALS 221
+#define genSubRecordVALT 222
+#define genSubRecordVALU 223
+#define genSubRecordOVLA 224
+#define genSubRecordOVLB 225
+#define genSubRecordOVLC 226
+#define genSubRecordOVLD 227
+#define genSubRecordOVLE 228
+#define genSubRecordOVLF 229
+#define genSubRecordOVLG 230
+#define genSubRecordOVLH 231
+#define genSubRecordOVLI 232
+#define genSubRecordOVLJ 233
+#define genSubRecordOVLK 234
+#define genSubRecordOVLL 235
+#define genSubRecordOVLM 236
+#define genSubRecordOVLN 237
+#define genSubRecordOVLO 238
+#define genSubRecordOVLP 239
+#define genSubRecordOVLQ 240
+#define genSubRecordOVLR 241
+#define genSubRecordOVLS 242
+#define genSubRecordOVLT 243
+#define genSubRecordOVLU 244
+#define genSubRecordFTVA 245
+#define genSubRecordFTVB 246
+#define genSubRecordFTVC 247
+#define genSubRecordFTVD 248
+#define genSubRecordFTVE 249
+#define genSubRecordFTVF 250
+#define genSubRecordFTVG 251
+#define genSubRecordFTVH 252
+#define genSubRecordFTVI 253
+#define genSubRecordFTVJ 254
+#define genSubRecordFTVK 255
+#define genSubRecordFTVL 256
+#define genSubRecordFTVM 257
+#define genSubRecordFTVN 258
+#define genSubRecordFTVO 259
+#define genSubRecordFTVP 260
+#define genSubRecordFTVQ 261
+#define genSubRecordFTVR 262
+#define genSubRecordFTVS 263
+#define genSubRecordFTVT 264
+#define genSubRecordFTVU 265
+#define genSubRecordNOVA 266
+#define genSubRecordNOVB 267
+#define genSubRecordNOVC 268
+#define genSubRecordNOVD 269
+#define genSubRecordNOVE 270
+#define genSubRecordNOVF 271
+#define genSubRecordNOVG 272
+#define genSubRecordNOVH 273
+#define genSubRecordNOVI 274
+#define genSubRecordNOVJ 275
+#define genSubRecordNOVK 276
+#define genSubRecordNOVL 277
+#define genSubRecordNOVM 278
+#define genSubRecordNOVN 279
+#define genSubRecordNOVO 280
+#define genSubRecordNOVP 281
+#define genSubRecordNOVQ 282
+#define genSubRecordNOVR 283
+#define genSubRecordNOVS 284
+#define genSubRecordNOVT 285
+#define genSubRecordNOVU 286
+#define genSubRecordTOVA 287
+#define genSubRecordTOVB 288
+#define genSubRecordTOVC 289
+#define genSubRecordTOVD 290
+#define genSubRecordTOVE 291
+#define genSubRecordTOVF 292
+#define genSubRecordTOVG 293
+#define genSubRecordTOVH 294
+#define genSubRecordTOVI 295
+#define genSubRecordTOVJ 296
+#define genSubRecordTOVK 297
+#define genSubRecordTOVL 298
+#define genSubRecordTOVM 299
+#define genSubRecordTOVN 300
+#define genSubRecordTOVO 301
+#define genSubRecordTOVP 302
+#define genSubRecordTOVQ 303
+#define genSubRecordTOVR 304
+#define genSubRecordTOVS 305
+#define genSubRecordTOVT 306
+#define genSubRecordTOVU 307
+#endif /*INCgenSubH*/
+#ifdef GEN_SIZE_OFFSET
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <epicsExport.h>
+static int genSubRecordSizeOffset(dbRecordType *pdbRecordType)
+{
+ genSubRecord *prec = 0;
+ pdbRecordType->papFldDes[0]->size=sizeof(prec->name);
+ pdbRecordType->papFldDes[0]->offset=(short)((char *)&prec->name - (char *)prec);
+ pdbRecordType->papFldDes[1]->size=sizeof(prec->desc);
+ pdbRecordType->papFldDes[1]->offset=(short)((char *)&prec->desc - (char *)prec);
+ pdbRecordType->papFldDes[2]->size=sizeof(prec->asg);
+ pdbRecordType->papFldDes[2]->offset=(short)((char *)&prec->asg - (char *)prec);
+ pdbRecordType->papFldDes[3]->size=sizeof(prec->scan);
+ pdbRecordType->papFldDes[3]->offset=(short)((char *)&prec->scan - (char *)prec);
+ pdbRecordType->papFldDes[4]->size=sizeof(prec->pini);
+ pdbRecordType->papFldDes[4]->offset=(short)((char *)&prec->pini - (char *)prec);
+ pdbRecordType->papFldDes[5]->size=sizeof(prec->phas);
+ pdbRecordType->papFldDes[5]->offset=(short)((char *)&prec->phas - (char *)prec);
+ pdbRecordType->papFldDes[6]->size=sizeof(prec->evnt);
+ pdbRecordType->papFldDes[6]->offset=(short)((char *)&prec->evnt - (char *)prec);
+ pdbRecordType->papFldDes[7]->size=sizeof(prec->tse);
+ pdbRecordType->papFldDes[7]->offset=(short)((char *)&prec->tse - (char *)prec);
+ pdbRecordType->papFldDes[8]->size=sizeof(prec->tsel);
+ pdbRecordType->papFldDes[8]->offset=(short)((char *)&prec->tsel - (char *)prec);
+ pdbRecordType->papFldDes[9]->size=sizeof(prec->dtyp);
+ pdbRecordType->papFldDes[9]->offset=(short)((char *)&prec->dtyp - (char *)prec);
+ pdbRecordType->papFldDes[10]->size=sizeof(prec->disv);
+ pdbRecordType->papFldDes[10]->offset=(short)((char *)&prec->disv - (char *)prec);
+ pdbRecordType->papFldDes[11]->size=sizeof(prec->disa);
+ pdbRecordType->papFldDes[11]->offset=(short)((char *)&prec->disa - (char *)prec);
+ pdbRecordType->papFldDes[12]->size=sizeof(prec->sdis);
+ pdbRecordType->papFldDes[12]->offset=(short)((char *)&prec->sdis - (char *)prec);
+ pdbRecordType->papFldDes[13]->size=sizeof(prec->mlok);
+ pdbRecordType->papFldDes[13]->offset=(short)((char *)&prec->mlok - (char *)prec);
+ pdbRecordType->papFldDes[14]->size=sizeof(prec->mlis);
+ pdbRecordType->papFldDes[14]->offset=(short)((char *)&prec->mlis - (char *)prec);
+ pdbRecordType->papFldDes[15]->size=sizeof(prec->disp);
+ pdbRecordType->papFldDes[15]->offset=(short)((char *)&prec->disp - (char *)prec);
+ pdbRecordType->papFldDes[16]->size=sizeof(prec->proc);
+ pdbRecordType->papFldDes[16]->offset=(short)((char *)&prec->proc - (char *)prec);
+ pdbRecordType->papFldDes[17]->size=sizeof(prec->stat);
+ pdbRecordType->papFldDes[17]->offset=(short)((char *)&prec->stat - (char *)prec);
+ pdbRecordType->papFldDes[18]->size=sizeof(prec->sevr);
+ pdbRecordType->papFldDes[18]->offset=(short)((char *)&prec->sevr - (char *)prec);
+ pdbRecordType->papFldDes[19]->size=sizeof(prec->nsta);
+ pdbRecordType->papFldDes[19]->offset=(short)((char *)&prec->nsta - (char *)prec);
+ pdbRecordType->papFldDes[20]->size=sizeof(prec->nsev);
+ pdbRecordType->papFldDes[20]->offset=(short)((char *)&prec->nsev - (char *)prec);
+ pdbRecordType->papFldDes[21]->size=sizeof(prec->acks);
+ pdbRecordType->papFldDes[21]->offset=(short)((char *)&prec->acks - (char *)prec);
+ pdbRecordType->papFldDes[22]->size=sizeof(prec->ackt);
+ pdbRecordType->papFldDes[22]->offset=(short)((char *)&prec->ackt - (char *)prec);
+ pdbRecordType->papFldDes[23]->size=sizeof(prec->diss);
+ pdbRecordType->papFldDes[23]->offset=(short)((char *)&prec->diss - (char *)prec);
+ pdbRecordType->papFldDes[24]->size=sizeof(prec->lcnt);
+ pdbRecordType->papFldDes[24]->offset=(short)((char *)&prec->lcnt - (char *)prec);
+ pdbRecordType->papFldDes[25]->size=sizeof(prec->pact);
+ pdbRecordType->papFldDes[25]->offset=(short)((char *)&prec->pact - (char *)prec);
+ pdbRecordType->papFldDes[26]->size=sizeof(prec->putf);
+ pdbRecordType->papFldDes[26]->offset=(short)((char *)&prec->putf - (char *)prec);
+ pdbRecordType->papFldDes[27]->size=sizeof(prec->rpro);
+ pdbRecordType->papFldDes[27]->offset=(short)((char *)&prec->rpro - (char *)prec);
+ pdbRecordType->papFldDes[28]->size=sizeof(prec->asp);
+ pdbRecordType->papFldDes[28]->offset=(short)((char *)&prec->asp - (char *)prec);
+ pdbRecordType->papFldDes[29]->size=sizeof(prec->ppn);
+ pdbRecordType->papFldDes[29]->offset=(short)((char *)&prec->ppn - (char *)prec);
+ pdbRecordType->papFldDes[30]->size=sizeof(prec->ppnr);
+ pdbRecordType->papFldDes[30]->offset=(short)((char *)&prec->ppnr - (char *)prec);
+ pdbRecordType->papFldDes[31]->size=sizeof(prec->spvt);
+ pdbRecordType->papFldDes[31]->offset=(short)((char *)&prec->spvt - (char *)prec);
+ pdbRecordType->papFldDes[32]->size=sizeof(prec->rset);
+ pdbRecordType->papFldDes[32]->offset=(short)((char *)&prec->rset - (char *)prec);
+ pdbRecordType->papFldDes[33]->size=sizeof(prec->dset);
+ pdbRecordType->papFldDes[33]->offset=(short)((char *)&prec->dset - (char *)prec);
+ pdbRecordType->papFldDes[34]->size=sizeof(prec->dpvt);
+ pdbRecordType->papFldDes[34]->offset=(short)((char *)&prec->dpvt - (char *)prec);
+ pdbRecordType->papFldDes[35]->size=sizeof(prec->rdes);
+ pdbRecordType->papFldDes[35]->offset=(short)((char *)&prec->rdes - (char *)prec);
+ pdbRecordType->papFldDes[36]->size=sizeof(prec->lset);
+ pdbRecordType->papFldDes[36]->offset=(short)((char *)&prec->lset - (char *)prec);
+ pdbRecordType->papFldDes[37]->size=sizeof(prec->prio);
+ pdbRecordType->papFldDes[37]->offset=(short)((char *)&prec->prio - (char *)prec);
+ pdbRecordType->papFldDes[38]->size=sizeof(prec->tpro);
+ pdbRecordType->papFldDes[38]->offset=(short)((char *)&prec->tpro - (char *)prec);
+ pdbRecordType->papFldDes[39]->size=sizeof(prec->bkpt);
+ pdbRecordType->papFldDes[39]->offset=(short)((char *)&prec->bkpt - (char *)prec);
+ pdbRecordType->papFldDes[40]->size=sizeof(prec->udf);
+ pdbRecordType->papFldDes[40]->offset=(short)((char *)&prec->udf - (char *)prec);
+ pdbRecordType->papFldDes[41]->size=sizeof(prec->time);
+ pdbRecordType->papFldDes[41]->offset=(short)((char *)&prec->time - (char *)prec);
+ pdbRecordType->papFldDes[42]->size=sizeof(prec->flnk);
+ pdbRecordType->papFldDes[42]->offset=(short)((char *)&prec->flnk - (char *)prec);
+ pdbRecordType->papFldDes[43]->size=sizeof(prec->vers);
+ pdbRecordType->papFldDes[43]->offset=(short)((char *)&prec->vers - (char *)prec);
+ pdbRecordType->papFldDes[44]->size=sizeof(prec->val);
+ pdbRecordType->papFldDes[44]->offset=(short)((char *)&prec->val - (char *)prec);
+ pdbRecordType->papFldDes[45]->size=sizeof(prec->oval);
+ pdbRecordType->papFldDes[45]->offset=(short)((char *)&prec->oval - (char *)prec);
+ pdbRecordType->papFldDes[46]->size=sizeof(prec->sadr);
+ pdbRecordType->papFldDes[46]->offset=(short)((char *)&prec->sadr - (char *)prec);
+ pdbRecordType->papFldDes[47]->size=sizeof(prec->osad);
+ pdbRecordType->papFldDes[47]->offset=(short)((char *)&prec->osad - (char *)prec);
+ pdbRecordType->papFldDes[48]->size=sizeof(prec->lflg);
+ pdbRecordType->papFldDes[48]->offset=(short)((char *)&prec->lflg - (char *)prec);
+ pdbRecordType->papFldDes[49]->size=sizeof(prec->eflg);
+ pdbRecordType->papFldDes[49]->offset=(short)((char *)&prec->eflg - (char *)prec);
+ pdbRecordType->papFldDes[50]->size=sizeof(prec->subl);
+ pdbRecordType->papFldDes[50]->offset=(short)((char *)&prec->subl - (char *)prec);
+ pdbRecordType->papFldDes[51]->size=sizeof(prec->inam);
+ pdbRecordType->papFldDes[51]->offset=(short)((char *)&prec->inam - (char *)prec);
+ pdbRecordType->papFldDes[52]->size=sizeof(prec->snam);
+ pdbRecordType->papFldDes[52]->offset=(short)((char *)&prec->snam - (char *)prec);
+ pdbRecordType->papFldDes[53]->size=sizeof(prec->onam);
+ pdbRecordType->papFldDes[53]->offset=(short)((char *)&prec->onam - (char *)prec);
+ pdbRecordType->papFldDes[54]->size=sizeof(prec->brsv);
+ pdbRecordType->papFldDes[54]->offset=(short)((char *)&prec->brsv - (char *)prec);
+ pdbRecordType->papFldDes[55]->size=sizeof(prec->prec);
+ pdbRecordType->papFldDes[55]->offset=(short)((char *)&prec->prec - (char *)prec);
+ pdbRecordType->papFldDes[56]->size=sizeof(prec->inpa);
+ pdbRecordType->papFldDes[56]->offset=(short)((char *)&prec->inpa - (char *)prec);
+ pdbRecordType->papFldDes[57]->size=sizeof(prec->inpb);
+ pdbRecordType->papFldDes[57]->offset=(short)((char *)&prec->inpb - (char *)prec);
+ pdbRecordType->papFldDes[58]->size=sizeof(prec->inpc);
+ pdbRecordType->papFldDes[58]->offset=(short)((char *)&prec->inpc - (char *)prec);
+ pdbRecordType->papFldDes[59]->size=sizeof(prec->inpd);
+ pdbRecordType->papFldDes[59]->offset=(short)((char *)&prec->inpd - (char *)prec);
+ pdbRecordType->papFldDes[60]->size=sizeof(prec->inpe);
+ pdbRecordType->papFldDes[60]->offset=(short)((char *)&prec->inpe - (char *)prec);
+ pdbRecordType->papFldDes[61]->size=sizeof(prec->inpf);
+ pdbRecordType->papFldDes[61]->offset=(short)((char *)&prec->inpf - (char *)prec);
+ pdbRecordType->papFldDes[62]->size=sizeof(prec->inpg);
+ pdbRecordType->papFldDes[62]->offset=(short)((char *)&prec->inpg - (char *)prec);
+ pdbRecordType->papFldDes[63]->size=sizeof(prec->inph);
+ pdbRecordType->papFldDes[63]->offset=(short)((char *)&prec->inph - (char *)prec);
+ pdbRecordType->papFldDes[64]->size=sizeof(prec->inpi);
+ pdbRecordType->papFldDes[64]->offset=(short)((char *)&prec->inpi - (char *)prec);
+ pdbRecordType->papFldDes[65]->size=sizeof(prec->inpj);
+ pdbRecordType->papFldDes[65]->offset=(short)((char *)&prec->inpj - (char *)prec);
+ pdbRecordType->papFldDes[66]->size=sizeof(prec->inpk);
+ pdbRecordType->papFldDes[66]->offset=(short)((char *)&prec->inpk - (char *)prec);
+ pdbRecordType->papFldDes[67]->size=sizeof(prec->inpl);
+ pdbRecordType->papFldDes[67]->offset=(short)((char *)&prec->inpl - (char *)prec);
+ pdbRecordType->papFldDes[68]->size=sizeof(prec->inpm);
+ pdbRecordType->papFldDes[68]->offset=(short)((char *)&prec->inpm - (char *)prec);
+ pdbRecordType->papFldDes[69]->size=sizeof(prec->inpn);
+ pdbRecordType->papFldDes[69]->offset=(short)((char *)&prec->inpn - (char *)prec);
+ pdbRecordType->papFldDes[70]->size=sizeof(prec->inpo);
+ pdbRecordType->papFldDes[70]->offset=(short)((char *)&prec->inpo - (char *)prec);
+ pdbRecordType->papFldDes[71]->size=sizeof(prec->inpp);
+ pdbRecordType->papFldDes[71]->offset=(short)((char *)&prec->inpp - (char *)prec);
+ pdbRecordType->papFldDes[72]->size=sizeof(prec->inpq);
+ pdbRecordType->papFldDes[72]->offset=(short)((char *)&prec->inpq - (char *)prec);
+ pdbRecordType->papFldDes[73]->size=sizeof(prec->inpr);
+ pdbRecordType->papFldDes[73]->offset=(short)((char *)&prec->inpr - (char *)prec);
+ pdbRecordType->papFldDes[74]->size=sizeof(prec->inps);
+ pdbRecordType->papFldDes[74]->offset=(short)((char *)&prec->inps - (char *)prec);
+ pdbRecordType->papFldDes[75]->size=sizeof(prec->inpt);
+ pdbRecordType->papFldDes[75]->offset=(short)((char *)&prec->inpt - (char *)prec);
+ pdbRecordType->papFldDes[76]->size=sizeof(prec->inpu);
+ pdbRecordType->papFldDes[76]->offset=(short)((char *)&prec->inpu - (char *)prec);
+ pdbRecordType->papFldDes[77]->size=sizeof(prec->ufa);
+ pdbRecordType->papFldDes[77]->offset=(short)((char *)&prec->ufa - (char *)prec);
+ pdbRecordType->papFldDes[78]->size=sizeof(prec->ufb);
+ pdbRecordType->papFldDes[78]->offset=(short)((char *)&prec->ufb - (char *)prec);
+ pdbRecordType->papFldDes[79]->size=sizeof(prec->ufc);
+ pdbRecordType->papFldDes[79]->offset=(short)((char *)&prec->ufc - (char *)prec);
+ pdbRecordType->papFldDes[80]->size=sizeof(prec->ufd);
+ pdbRecordType->papFldDes[80]->offset=(short)((char *)&prec->ufd - (char *)prec);
+ pdbRecordType->papFldDes[81]->size=sizeof(prec->ufe);
+ pdbRecordType->papFldDes[81]->offset=(short)((char *)&prec->ufe - (char *)prec);
+ pdbRecordType->papFldDes[82]->size=sizeof(prec->uff);
+ pdbRecordType->papFldDes[82]->offset=(short)((char *)&prec->uff - (char *)prec);
+ pdbRecordType->papFldDes[83]->size=sizeof(prec->ufg);
+ pdbRecordType->papFldDes[83]->offset=(short)((char *)&prec->ufg - (char *)prec);
+ pdbRecordType->papFldDes[84]->size=sizeof(prec->ufh);
+ pdbRecordType->papFldDes[84]->offset=(short)((char *)&prec->ufh - (char *)prec);
+ pdbRecordType->papFldDes[85]->size=sizeof(prec->ufi);
+ pdbRecordType->papFldDes[85]->offset=(short)((char *)&prec->ufi - (char *)prec);
+ pdbRecordType->papFldDes[86]->size=sizeof(prec->ufj);
+ pdbRecordType->papFldDes[86]->offset=(short)((char *)&prec->ufj - (char *)prec);
+ pdbRecordType->papFldDes[87]->size=sizeof(prec->ufk);
+ pdbRecordType->papFldDes[87]->offset=(short)((char *)&prec->ufk - (char *)prec);
+ pdbRecordType->papFldDes[88]->size=sizeof(prec->ufl);
+ pdbRecordType->papFldDes[88]->offset=(short)((char *)&prec->ufl - (char *)prec);
+ pdbRecordType->papFldDes[89]->size=sizeof(prec->ufm);
+ pdbRecordType->papFldDes[89]->offset=(short)((char *)&prec->ufm - (char *)prec);
+ pdbRecordType->papFldDes[90]->size=sizeof(prec->ufn);
+ pdbRecordType->papFldDes[90]->offset=(short)((char *)&prec->ufn - (char *)prec);
+ pdbRecordType->papFldDes[91]->size=sizeof(prec->ufo);
+ pdbRecordType->papFldDes[91]->offset=(short)((char *)&prec->ufo - (char *)prec);
+ pdbRecordType->papFldDes[92]->size=sizeof(prec->ufp);
+ pdbRecordType->papFldDes[92]->offset=(short)((char *)&prec->ufp - (char *)prec);
+ pdbRecordType->papFldDes[93]->size=sizeof(prec->ufq);
+ pdbRecordType->papFldDes[93]->offset=(short)((char *)&prec->ufq - (char *)prec);
+ pdbRecordType->papFldDes[94]->size=sizeof(prec->ufr);
+ pdbRecordType->papFldDes[94]->offset=(short)((char *)&prec->ufr - (char *)prec);
+ pdbRecordType->papFldDes[95]->size=sizeof(prec->ufs);
+ pdbRecordType->papFldDes[95]->offset=(short)((char *)&prec->ufs - (char *)prec);
+ pdbRecordType->papFldDes[96]->size=sizeof(prec->uft);
+ pdbRecordType->papFldDes[96]->offset=(short)((char *)&prec->uft - (char *)prec);
+ pdbRecordType->papFldDes[97]->size=sizeof(prec->ufu);
+ pdbRecordType->papFldDes[97]->offset=(short)((char *)&prec->ufu - (char *)prec);
+ pdbRecordType->papFldDes[98]->size=sizeof(prec->a);
+ pdbRecordType->papFldDes[98]->offset=(short)((char *)&prec->a - (char *)prec);
+ pdbRecordType->papFldDes[99]->size=sizeof(prec->b);
+ pdbRecordType->papFldDes[99]->offset=(short)((char *)&prec->b - (char *)prec);
+ pdbRecordType->papFldDes[100]->size=sizeof(prec->c);
+ pdbRecordType->papFldDes[100]->offset=(short)((char *)&prec->c - (char *)prec);
+ pdbRecordType->papFldDes[101]->size=sizeof(prec->d);
+ pdbRecordType->papFldDes[101]->offset=(short)((char *)&prec->d - (char *)prec);
+ pdbRecordType->papFldDes[102]->size=sizeof(prec->e);
+ pdbRecordType->papFldDes[102]->offset=(short)((char *)&prec->e - (char *)prec);
+ pdbRecordType->papFldDes[103]->size=sizeof(prec->f);
+ pdbRecordType->papFldDes[103]->offset=(short)((char *)&prec->f - (char *)prec);
+ pdbRecordType->papFldDes[104]->size=sizeof(prec->g);
+ pdbRecordType->papFldDes[104]->offset=(short)((char *)&prec->g - (char *)prec);
+ pdbRecordType->papFldDes[105]->size=sizeof(prec->h);
+ pdbRecordType->papFldDes[105]->offset=(short)((char *)&prec->h - (char *)prec);
+ pdbRecordType->papFldDes[106]->size=sizeof(prec->i);
+ pdbRecordType->papFldDes[106]->offset=(short)((char *)&prec->i - (char *)prec);
+ pdbRecordType->papFldDes[107]->size=sizeof(prec->j);
+ pdbRecordType->papFldDes[107]->offset=(short)((char *)&prec->j - (char *)prec);
+ pdbRecordType->papFldDes[108]->size=sizeof(prec->k);
+ pdbRecordType->papFldDes[108]->offset=(short)((char *)&prec->k - (char *)prec);
+ pdbRecordType->papFldDes[109]->size=sizeof(prec->l);
+ pdbRecordType->papFldDes[109]->offset=(short)((char *)&prec->l - (char *)prec);
+ pdbRecordType->papFldDes[110]->size=sizeof(prec->m);
+ pdbRecordType->papFldDes[110]->offset=(short)((char *)&prec->m - (char *)prec);
+ pdbRecordType->papFldDes[111]->size=sizeof(prec->n);
+ pdbRecordType->papFldDes[111]->offset=(short)((char *)&prec->n - (char *)prec);
+ pdbRecordType->papFldDes[112]->size=sizeof(prec->o);
+ pdbRecordType->papFldDes[112]->offset=(short)((char *)&prec->o - (char *)prec);
+ pdbRecordType->papFldDes[113]->size=sizeof(prec->p);
+ pdbRecordType->papFldDes[113]->offset=(short)((char *)&prec->p - (char *)prec);
+ pdbRecordType->papFldDes[114]->size=sizeof(prec->q);
+ pdbRecordType->papFldDes[114]->offset=(short)((char *)&prec->q - (char *)prec);
+ pdbRecordType->papFldDes[115]->size=sizeof(prec->r);
+ pdbRecordType->papFldDes[115]->offset=(short)((char *)&prec->r - (char *)prec);
+ pdbRecordType->papFldDes[116]->size=sizeof(prec->s);
+ pdbRecordType->papFldDes[116]->offset=(short)((char *)&prec->s - (char *)prec);
+ pdbRecordType->papFldDes[117]->size=sizeof(prec->t);
+ pdbRecordType->papFldDes[117]->offset=(short)((char *)&prec->t - (char *)prec);
+ pdbRecordType->papFldDes[118]->size=sizeof(prec->u);
+ pdbRecordType->papFldDes[118]->offset=(short)((char *)&prec->u - (char *)prec);
+ pdbRecordType->papFldDes[119]->size=sizeof(prec->fta);
+ pdbRecordType->papFldDes[119]->offset=(short)((char *)&prec->fta - (char *)prec);
+ pdbRecordType->papFldDes[120]->size=sizeof(prec->ftb);
+ pdbRecordType->papFldDes[120]->offset=(short)((char *)&prec->ftb - (char *)prec);
+ pdbRecordType->papFldDes[121]->size=sizeof(prec->ftc);
+ pdbRecordType->papFldDes[121]->offset=(short)((char *)&prec->ftc - (char *)prec);
+ pdbRecordType->papFldDes[122]->size=sizeof(prec->ftd);
+ pdbRecordType->papFldDes[122]->offset=(short)((char *)&prec->ftd - (char *)prec);
+ pdbRecordType->papFldDes[123]->size=sizeof(prec->fte);
+ pdbRecordType->papFldDes[123]->offset=(short)((char *)&prec->fte - (char *)prec);
+ pdbRecordType->papFldDes[124]->size=sizeof(prec->ftf);
+ pdbRecordType->papFldDes[124]->offset=(short)((char *)&prec->ftf - (char *)prec);
+ pdbRecordType->papFldDes[125]->size=sizeof(prec->ftg);
+ pdbRecordType->papFldDes[125]->offset=(short)((char *)&prec->ftg - (char *)prec);
+ pdbRecordType->papFldDes[126]->size=sizeof(prec->fth);
+ pdbRecordType->papFldDes[126]->offset=(short)((char *)&prec->fth - (char *)prec);
+ pdbRecordType->papFldDes[127]->size=sizeof(prec->fti);
+ pdbRecordType->papFldDes[127]->offset=(short)((char *)&prec->fti - (char *)prec);
+ pdbRecordType->papFldDes[128]->size=sizeof(prec->ftj);
+ pdbRecordType->papFldDes[128]->offset=(short)((char *)&prec->ftj - (char *)prec);
+ pdbRecordType->papFldDes[129]->size=sizeof(prec->ftk);
+ pdbRecordType->papFldDes[129]->offset=(short)((char *)&prec->ftk - (char *)prec);
+ pdbRecordType->papFldDes[130]->size=sizeof(prec->ftl);
+ pdbRecordType->papFldDes[130]->offset=(short)((char *)&prec->ftl - (char *)prec);
+ pdbRecordType->papFldDes[131]->size=sizeof(prec->ftm);
+ pdbRecordType->papFldDes[131]->offset=(short)((char *)&prec->ftm - (char *)prec);
+ pdbRecordType->papFldDes[132]->size=sizeof(prec->ftn);
+ pdbRecordType->papFldDes[132]->offset=(short)((char *)&prec->ftn - (char *)prec);
+ pdbRecordType->papFldDes[133]->size=sizeof(prec->fto);
+ pdbRecordType->papFldDes[133]->offset=(short)((char *)&prec->fto - (char *)prec);
+ pdbRecordType->papFldDes[134]->size=sizeof(prec->ftp);
+ pdbRecordType->papFldDes[134]->offset=(short)((char *)&prec->ftp - (char *)prec);
+ pdbRecordType->papFldDes[135]->size=sizeof(prec->ftq);
+ pdbRecordType->papFldDes[135]->offset=(short)((char *)&prec->ftq - (char *)prec);
+ pdbRecordType->papFldDes[136]->size=sizeof(prec->ftr);
+ pdbRecordType->papFldDes[136]->offset=(short)((char *)&prec->ftr - (char *)prec);
+ pdbRecordType->papFldDes[137]->size=sizeof(prec->fts);
+ pdbRecordType->papFldDes[137]->offset=(short)((char *)&prec->fts - (char *)prec);
+ pdbRecordType->papFldDes[138]->size=sizeof(prec->ftt);
+ pdbRecordType->papFldDes[138]->offset=(short)((char *)&prec->ftt - (char *)prec);
+ pdbRecordType->papFldDes[139]->size=sizeof(prec->ftu);
+ pdbRecordType->papFldDes[139]->offset=(short)((char *)&prec->ftu - (char *)prec);
+ pdbRecordType->papFldDes[140]->size=sizeof(prec->noa);
+ pdbRecordType->papFldDes[140]->offset=(short)((char *)&prec->noa - (char *)prec);
+ pdbRecordType->papFldDes[141]->size=sizeof(prec->nob);
+ pdbRecordType->papFldDes[141]->offset=(short)((char *)&prec->nob - (char *)prec);
+ pdbRecordType->papFldDes[142]->size=sizeof(prec->noc);
+ pdbRecordType->papFldDes[142]->offset=(short)((char *)&prec->noc - (char *)prec);
+ pdbRecordType->papFldDes[143]->size=sizeof(prec->nod);
+ pdbRecordType->papFldDes[143]->offset=(short)((char *)&prec->nod - (char *)prec);
+ pdbRecordType->papFldDes[144]->size=sizeof(prec->noe);
+ pdbRecordType->papFldDes[144]->offset=(short)((char *)&prec->noe - (char *)prec);
+ pdbRecordType->papFldDes[145]->size=sizeof(prec->nof);
+ pdbRecordType->papFldDes[145]->offset=(short)((char *)&prec->nof - (char *)prec);
+ pdbRecordType->papFldDes[146]->size=sizeof(prec->nog);
+ pdbRecordType->papFldDes[146]->offset=(short)((char *)&prec->nog - (char *)prec);
+ pdbRecordType->papFldDes[147]->size=sizeof(prec->noh);
+ pdbRecordType->papFldDes[147]->offset=(short)((char *)&prec->noh - (char *)prec);
+ pdbRecordType->papFldDes[148]->size=sizeof(prec->noi);
+ pdbRecordType->papFldDes[148]->offset=(short)((char *)&prec->noi - (char *)prec);
+ pdbRecordType->papFldDes[149]->size=sizeof(prec->noj);
+ pdbRecordType->papFldDes[149]->offset=(short)((char *)&prec->noj - (char *)prec);
+ pdbRecordType->papFldDes[150]->size=sizeof(prec->nok);
+ pdbRecordType->papFldDes[150]->offset=(short)((char *)&prec->nok - (char *)prec);
+ pdbRecordType->papFldDes[151]->size=sizeof(prec->nol);
+ pdbRecordType->papFldDes[151]->offset=(short)((char *)&prec->nol - (char *)prec);
+ pdbRecordType->papFldDes[152]->size=sizeof(prec->nom);
+ pdbRecordType->papFldDes[152]->offset=(short)((char *)&prec->nom - (char *)prec);
+ pdbRecordType->papFldDes[153]->size=sizeof(prec->non);
+ pdbRecordType->papFldDes[153]->offset=(short)((char *)&prec->non - (char *)prec);
+ pdbRecordType->papFldDes[154]->size=sizeof(prec->noo);
+ pdbRecordType->papFldDes[154]->offset=(short)((char *)&prec->noo - (char *)prec);
+ pdbRecordType->papFldDes[155]->size=sizeof(prec->nop);
+ pdbRecordType->papFldDes[155]->offset=(short)((char *)&prec->nop - (char *)prec);
+ pdbRecordType->papFldDes[156]->size=sizeof(prec->noq);
+ pdbRecordType->papFldDes[156]->offset=(short)((char *)&prec->noq - (char *)prec);
+ pdbRecordType->papFldDes[157]->size=sizeof(prec->nor);
+ pdbRecordType->papFldDes[157]->offset=(short)((char *)&prec->nor - (char *)prec);
+ pdbRecordType->papFldDes[158]->size=sizeof(prec->nos);
+ pdbRecordType->papFldDes[158]->offset=(short)((char *)&prec->nos - (char *)prec);
+ pdbRecordType->papFldDes[159]->size=sizeof(prec->not);
+ pdbRecordType->papFldDes[159]->offset=(short)((char *)&prec->not - (char *)prec);
+ pdbRecordType->papFldDes[160]->size=sizeof(prec->nou);
+ pdbRecordType->papFldDes[160]->offset=(short)((char *)&prec->nou - (char *)prec);
+ pdbRecordType->papFldDes[161]->size=sizeof(prec->outa);
+ pdbRecordType->papFldDes[161]->offset=(short)((char *)&prec->outa - (char *)prec);
+ pdbRecordType->papFldDes[162]->size=sizeof(prec->outb);
+ pdbRecordType->papFldDes[162]->offset=(short)((char *)&prec->outb - (char *)prec);
+ pdbRecordType->papFldDes[163]->size=sizeof(prec->outc);
+ pdbRecordType->papFldDes[163]->offset=(short)((char *)&prec->outc - (char *)prec);
+ pdbRecordType->papFldDes[164]->size=sizeof(prec->outd);
+ pdbRecordType->papFldDes[164]->offset=(short)((char *)&prec->outd - (char *)prec);
+ pdbRecordType->papFldDes[165]->size=sizeof(prec->oute);
+ pdbRecordType->papFldDes[165]->offset=(short)((char *)&prec->oute - (char *)prec);
+ pdbRecordType->papFldDes[166]->size=sizeof(prec->outf);
+ pdbRecordType->papFldDes[166]->offset=(short)((char *)&prec->outf - (char *)prec);
+ pdbRecordType->papFldDes[167]->size=sizeof(prec->outg);
+ pdbRecordType->papFldDes[167]->offset=(short)((char *)&prec->outg - (char *)prec);
+ pdbRecordType->papFldDes[168]->size=sizeof(prec->outh);
+ pdbRecordType->papFldDes[168]->offset=(short)((char *)&prec->outh - (char *)prec);
+ pdbRecordType->papFldDes[169]->size=sizeof(prec->outi);
+ pdbRecordType->papFldDes[169]->offset=(short)((char *)&prec->outi - (char *)prec);
+ pdbRecordType->papFldDes[170]->size=sizeof(prec->outj);
+ pdbRecordType->papFldDes[170]->offset=(short)((char *)&prec->outj - (char *)prec);
+ pdbRecordType->papFldDes[171]->size=sizeof(prec->outk);
+ pdbRecordType->papFldDes[171]->offset=(short)((char *)&prec->outk - (char *)prec);
+ pdbRecordType->papFldDes[172]->size=sizeof(prec->outl);
+ pdbRecordType->papFldDes[172]->offset=(short)((char *)&prec->outl - (char *)prec);
+ pdbRecordType->papFldDes[173]->size=sizeof(prec->outm);
+ pdbRecordType->papFldDes[173]->offset=(short)((char *)&prec->outm - (char *)prec);
+ pdbRecordType->papFldDes[174]->size=sizeof(prec->outn);
+ pdbRecordType->papFldDes[174]->offset=(short)((char *)&prec->outn - (char *)prec);
+ pdbRecordType->papFldDes[175]->size=sizeof(prec->outo);
+ pdbRecordType->papFldDes[175]->offset=(short)((char *)&prec->outo - (char *)prec);
+ pdbRecordType->papFldDes[176]->size=sizeof(prec->outp);
+ pdbRecordType->papFldDes[176]->offset=(short)((char *)&prec->outp - (char *)prec);
+ pdbRecordType->papFldDes[177]->size=sizeof(prec->outq);
+ pdbRecordType->papFldDes[177]->offset=(short)((char *)&prec->outq - (char *)prec);
+ pdbRecordType->papFldDes[178]->size=sizeof(prec->outr);
+ pdbRecordType->papFldDes[178]->offset=(short)((char *)&prec->outr - (char *)prec);
+ pdbRecordType->papFldDes[179]->size=sizeof(prec->outs);
+ pdbRecordType->papFldDes[179]->offset=(short)((char *)&prec->outs - (char *)prec);
+ pdbRecordType->papFldDes[180]->size=sizeof(prec->outt);
+ pdbRecordType->papFldDes[180]->offset=(short)((char *)&prec->outt - (char *)prec);
+ pdbRecordType->papFldDes[181]->size=sizeof(prec->outu);
+ pdbRecordType->papFldDes[181]->offset=(short)((char *)&prec->outu - (char *)prec);
+ pdbRecordType->papFldDes[182]->size=sizeof(prec->ufva);
+ pdbRecordType->papFldDes[182]->offset=(short)((char *)&prec->ufva - (char *)prec);
+ pdbRecordType->papFldDes[183]->size=sizeof(prec->ufvb);
+ pdbRecordType->papFldDes[183]->offset=(short)((char *)&prec->ufvb - (char *)prec);
+ pdbRecordType->papFldDes[184]->size=sizeof(prec->ufvc);
+ pdbRecordType->papFldDes[184]->offset=(short)((char *)&prec->ufvc - (char *)prec);
+ pdbRecordType->papFldDes[185]->size=sizeof(prec->ufvd);
+ pdbRecordType->papFldDes[185]->offset=(short)((char *)&prec->ufvd - (char *)prec);
+ pdbRecordType->papFldDes[186]->size=sizeof(prec->ufve);
+ pdbRecordType->papFldDes[186]->offset=(short)((char *)&prec->ufve - (char *)prec);
+ pdbRecordType->papFldDes[187]->size=sizeof(prec->ufvf);
+ pdbRecordType->papFldDes[187]->offset=(short)((char *)&prec->ufvf - (char *)prec);
+ pdbRecordType->papFldDes[188]->size=sizeof(prec->ufvg);
+ pdbRecordType->papFldDes[188]->offset=(short)((char *)&prec->ufvg - (char *)prec);
+ pdbRecordType->papFldDes[189]->size=sizeof(prec->ufvh);
+ pdbRecordType->papFldDes[189]->offset=(short)((char *)&prec->ufvh - (char *)prec);
+ pdbRecordType->papFldDes[190]->size=sizeof(prec->ufvi);
+ pdbRecordType->papFldDes[190]->offset=(short)((char *)&prec->ufvi - (char *)prec);
+ pdbRecordType->papFldDes[191]->size=sizeof(prec->ufvj);
+ pdbRecordType->papFldDes[191]->offset=(short)((char *)&prec->ufvj - (char *)prec);
+ pdbRecordType->papFldDes[192]->size=sizeof(prec->ufvk);
+ pdbRecordType->papFldDes[192]->offset=(short)((char *)&prec->ufvk - (char *)prec);
+ pdbRecordType->papFldDes[193]->size=sizeof(prec->ufvl);
+ pdbRecordType->papFldDes[193]->offset=(short)((char *)&prec->ufvl - (char *)prec);
+ pdbRecordType->papFldDes[194]->size=sizeof(prec->ufvm);
+ pdbRecordType->papFldDes[194]->offset=(short)((char *)&prec->ufvm - (char *)prec);
+ pdbRecordType->papFldDes[195]->size=sizeof(prec->ufvn);
+ pdbRecordType->papFldDes[195]->offset=(short)((char *)&prec->ufvn - (char *)prec);
+ pdbRecordType->papFldDes[196]->size=sizeof(prec->ufvo);
+ pdbRecordType->papFldDes[196]->offset=(short)((char *)&prec->ufvo - (char *)prec);
+ pdbRecordType->papFldDes[197]->size=sizeof(prec->ufvp);
+ pdbRecordType->papFldDes[197]->offset=(short)((char *)&prec->ufvp - (char *)prec);
+ pdbRecordType->papFldDes[198]->size=sizeof(prec->ufvq);
+ pdbRecordType->papFldDes[198]->offset=(short)((char *)&prec->ufvq - (char *)prec);
+ pdbRecordType->papFldDes[199]->size=sizeof(prec->ufvr);
+ pdbRecordType->papFldDes[199]->offset=(short)((char *)&prec->ufvr - (char *)prec);
+ pdbRecordType->papFldDes[200]->size=sizeof(prec->ufvs);
+ pdbRecordType->papFldDes[200]->offset=(short)((char *)&prec->ufvs - (char *)prec);
+ pdbRecordType->papFldDes[201]->size=sizeof(prec->ufvt);
+ pdbRecordType->papFldDes[201]->offset=(short)((char *)&prec->ufvt - (char *)prec);
+ pdbRecordType->papFldDes[202]->size=sizeof(prec->ufvu);
+ pdbRecordType->papFldDes[202]->offset=(short)((char *)&prec->ufvu - (char *)prec);
+ pdbRecordType->papFldDes[203]->size=sizeof(prec->vala);
+ pdbRecordType->papFldDes[203]->offset=(short)((char *)&prec->vala - (char *)prec);
+ pdbRecordType->papFldDes[204]->size=sizeof(prec->valb);
+ pdbRecordType->papFldDes[204]->offset=(short)((char *)&prec->valb - (char *)prec);
+ pdbRecordType->papFldDes[205]->size=sizeof(prec->valc);
+ pdbRecordType->papFldDes[205]->offset=(short)((char *)&prec->valc - (char *)prec);
+ pdbRecordType->papFldDes[206]->size=sizeof(prec->vald);
+ pdbRecordType->papFldDes[206]->offset=(short)((char *)&prec->vald - (char *)prec);
+ pdbRecordType->papFldDes[207]->size=sizeof(prec->vale);
+ pdbRecordType->papFldDes[207]->offset=(short)((char *)&prec->vale - (char *)prec);
+ pdbRecordType->papFldDes[208]->size=sizeof(prec->valf);
+ pdbRecordType->papFldDes[208]->offset=(short)((char *)&prec->valf - (char *)prec);
+ pdbRecordType->papFldDes[209]->size=sizeof(prec->valg);
+ pdbRecordType->papFldDes[209]->offset=(short)((char *)&prec->valg - (char *)prec);
+ pdbRecordType->papFldDes[210]->size=sizeof(prec->valh);
+ pdbRecordType->papFldDes[210]->offset=(short)((char *)&prec->valh - (char *)prec);
+ pdbRecordType->papFldDes[211]->size=sizeof(prec->vali);
+ pdbRecordType->papFldDes[211]->offset=(short)((char *)&prec->vali - (char *)prec);
+ pdbRecordType->papFldDes[212]->size=sizeof(prec->valj);
+ pdbRecordType->papFldDes[212]->offset=(short)((char *)&prec->valj - (char *)prec);
+ pdbRecordType->papFldDes[213]->size=sizeof(prec->valk);
+ pdbRecordType->papFldDes[213]->offset=(short)((char *)&prec->valk - (char *)prec);
+ pdbRecordType->papFldDes[214]->size=sizeof(prec->vall);
+ pdbRecordType->papFldDes[214]->offset=(short)((char *)&prec->vall - (char *)prec);
+ pdbRecordType->papFldDes[215]->size=sizeof(prec->valm);
+ pdbRecordType->papFldDes[215]->offset=(short)((char *)&prec->valm - (char *)prec);
+ pdbRecordType->papFldDes[216]->size=sizeof(prec->valn);
+ pdbRecordType->papFldDes[216]->offset=(short)((char *)&prec->valn - (char *)prec);
+ pdbRecordType->papFldDes[217]->size=sizeof(prec->valo);
+ pdbRecordType->papFldDes[217]->offset=(short)((char *)&prec->valo - (char *)prec);
+ pdbRecordType->papFldDes[218]->size=sizeof(prec->valp);
+ pdbRecordType->papFldDes[218]->offset=(short)((char *)&prec->valp - (char *)prec);
+ pdbRecordType->papFldDes[219]->size=sizeof(prec->valq);
+ pdbRecordType->papFldDes[219]->offset=(short)((char *)&prec->valq - (char *)prec);
+ pdbRecordType->papFldDes[220]->size=sizeof(prec->valr);
+ pdbRecordType->papFldDes[220]->offset=(short)((char *)&prec->valr - (char *)prec);
+ pdbRecordType->papFldDes[221]->size=sizeof(prec->vals);
+ pdbRecordType->papFldDes[221]->offset=(short)((char *)&prec->vals - (char *)prec);
+ pdbRecordType->papFldDes[222]->size=sizeof(prec->valt);
+ pdbRecordType->papFldDes[222]->offset=(short)((char *)&prec->valt - (char *)prec);
+ pdbRecordType->papFldDes[223]->size=sizeof(prec->valu);
+ pdbRecordType->papFldDes[223]->offset=(short)((char *)&prec->valu - (char *)prec);
+ pdbRecordType->papFldDes[224]->size=sizeof(prec->ovla);
+ pdbRecordType->papFldDes[224]->offset=(short)((char *)&prec->ovla - (char *)prec);
+ pdbRecordType->papFldDes[225]->size=sizeof(prec->ovlb);
+ pdbRecordType->papFldDes[225]->offset=(short)((char *)&prec->ovlb - (char *)prec);
+ pdbRecordType->papFldDes[226]->size=sizeof(prec->ovlc);
+ pdbRecordType->papFldDes[226]->offset=(short)((char *)&prec->ovlc - (char *)prec);
+ pdbRecordType->papFldDes[227]->size=sizeof(prec->ovld);
+ pdbRecordType->papFldDes[227]->offset=(short)((char *)&prec->ovld - (char *)prec);
+ pdbRecordType->papFldDes[228]->size=sizeof(prec->ovle);
+ pdbRecordType->papFldDes[228]->offset=(short)((char *)&prec->ovle - (char *)prec);
+ pdbRecordType->papFldDes[229]->size=sizeof(prec->ovlf);
+ pdbRecordType->papFldDes[229]->offset=(short)((char *)&prec->ovlf - (char *)prec);
+ pdbRecordType->papFldDes[230]->size=sizeof(prec->ovlg);
+ pdbRecordType->papFldDes[230]->offset=(short)((char *)&prec->ovlg - (char *)prec);
+ pdbRecordType->papFldDes[231]->size=sizeof(prec->ovlh);
+ pdbRecordType->papFldDes[231]->offset=(short)((char *)&prec->ovlh - (char *)prec);
+ pdbRecordType->papFldDes[232]->size=sizeof(prec->ovli);
+ pdbRecordType->papFldDes[232]->offset=(short)((char *)&prec->ovli - (char *)prec);
+ pdbRecordType->papFldDes[233]->size=sizeof(prec->ovlj);
+ pdbRecordType->papFldDes[233]->offset=(short)((char *)&prec->ovlj - (char *)prec);
+ pdbRecordType->papFldDes[234]->size=sizeof(prec->ovlk);
+ pdbRecordType->papFldDes[234]->offset=(short)((char *)&prec->ovlk - (char *)prec);
+ pdbRecordType->papFldDes[235]->size=sizeof(prec->ovll);
+ pdbRecordType->papFldDes[235]->offset=(short)((char *)&prec->ovll - (char *)prec);
+ pdbRecordType->papFldDes[236]->size=sizeof(prec->ovlm);
+ pdbRecordType->papFldDes[236]->offset=(short)((char *)&prec->ovlm - (char *)prec);
+ pdbRecordType->papFldDes[237]->size=sizeof(prec->ovln);
+ pdbRecordType->papFldDes[237]->offset=(short)((char *)&prec->ovln - (char *)prec);
+ pdbRecordType->papFldDes[238]->size=sizeof(prec->ovlo);
+ pdbRecordType->papFldDes[238]->offset=(short)((char *)&prec->ovlo - (char *)prec);
+ pdbRecordType->papFldDes[239]->size=sizeof(prec->ovlp);
+ pdbRecordType->papFldDes[239]->offset=(short)((char *)&prec->ovlp - (char *)prec);
+ pdbRecordType->papFldDes[240]->size=sizeof(prec->ovlq);
+ pdbRecordType->papFldDes[240]->offset=(short)((char *)&prec->ovlq - (char *)prec);
+ pdbRecordType->papFldDes[241]->size=sizeof(prec->ovlr);
+ pdbRecordType->papFldDes[241]->offset=(short)((char *)&prec->ovlr - (char *)prec);
+ pdbRecordType->papFldDes[242]->size=sizeof(prec->ovls);
+ pdbRecordType->papFldDes[242]->offset=(short)((char *)&prec->ovls - (char *)prec);
+ pdbRecordType->papFldDes[243]->size=sizeof(prec->ovlt);
+ pdbRecordType->papFldDes[243]->offset=(short)((char *)&prec->ovlt - (char *)prec);
+ pdbRecordType->papFldDes[244]->size=sizeof(prec->ovlu);
+ pdbRecordType->papFldDes[244]->offset=(short)((char *)&prec->ovlu - (char *)prec);
+ pdbRecordType->papFldDes[245]->size=sizeof(prec->ftva);
+ pdbRecordType->papFldDes[245]->offset=(short)((char *)&prec->ftva - (char *)prec);
+ pdbRecordType->papFldDes[246]->size=sizeof(prec->ftvb);
+ pdbRecordType->papFldDes[246]->offset=(short)((char *)&prec->ftvb - (char *)prec);
+ pdbRecordType->papFldDes[247]->size=sizeof(prec->ftvc);
+ pdbRecordType->papFldDes[247]->offset=(short)((char *)&prec->ftvc - (char *)prec);
+ pdbRecordType->papFldDes[248]->size=sizeof(prec->ftvd);
+ pdbRecordType->papFldDes[248]->offset=(short)((char *)&prec->ftvd - (char *)prec);
+ pdbRecordType->papFldDes[249]->size=sizeof(prec->ftve);
+ pdbRecordType->papFldDes[249]->offset=(short)((char *)&prec->ftve - (char *)prec);
+ pdbRecordType->papFldDes[250]->size=sizeof(prec->ftvf);
+ pdbRecordType->papFldDes[250]->offset=(short)((char *)&prec->ftvf - (char *)prec);
+ pdbRecordType->papFldDes[251]->size=sizeof(prec->ftvg);
+ pdbRecordType->papFldDes[251]->offset=(short)((char *)&prec->ftvg - (char *)prec);
+ pdbRecordType->papFldDes[252]->size=sizeof(prec->ftvh);
+ pdbRecordType->papFldDes[252]->offset=(short)((char *)&prec->ftvh - (char *)prec);
+ pdbRecordType->papFldDes[253]->size=sizeof(prec->ftvi);
+ pdbRecordType->papFldDes[253]->offset=(short)((char *)&prec->ftvi - (char *)prec);
+ pdbRecordType->papFldDes[254]->size=sizeof(prec->ftvj);
+ pdbRecordType->papFldDes[254]->offset=(short)((char *)&prec->ftvj - (char *)prec);
+ pdbRecordType->papFldDes[255]->size=sizeof(prec->ftvk);
+ pdbRecordType->papFldDes[255]->offset=(short)((char *)&prec->ftvk - (char *)prec);
+ pdbRecordType->papFldDes[256]->size=sizeof(prec->ftvl);
+ pdbRecordType->papFldDes[256]->offset=(short)((char *)&prec->ftvl - (char *)prec);
+ pdbRecordType->papFldDes[257]->size=sizeof(prec->ftvm);
+ pdbRecordType->papFldDes[257]->offset=(short)((char *)&prec->ftvm - (char *)prec);
+ pdbRecordType->papFldDes[258]->size=sizeof(prec->ftvn);
+ pdbRecordType->papFldDes[258]->offset=(short)((char *)&prec->ftvn - (char *)prec);
+ pdbRecordType->papFldDes[259]->size=sizeof(prec->ftvo);
+ pdbRecordType->papFldDes[259]->offset=(short)((char *)&prec->ftvo - (char *)prec);
+ pdbRecordType->papFldDes[260]->size=sizeof(prec->ftvp);
+ pdbRecordType->papFldDes[260]->offset=(short)((char *)&prec->ftvp - (char *)prec);
+ pdbRecordType->papFldDes[261]->size=sizeof(prec->ftvq);
+ pdbRecordType->papFldDes[261]->offset=(short)((char *)&prec->ftvq - (char *)prec);
+ pdbRecordType->papFldDes[262]->size=sizeof(prec->ftvr);
+ pdbRecordType->papFldDes[262]->offset=(short)((char *)&prec->ftvr - (char *)prec);
+ pdbRecordType->papFldDes[263]->size=sizeof(prec->ftvs);
+ pdbRecordType->papFldDes[263]->offset=(short)((char *)&prec->ftvs - (char *)prec);
+ pdbRecordType->papFldDes[264]->size=sizeof(prec->ftvt);
+ pdbRecordType->papFldDes[264]->offset=(short)((char *)&prec->ftvt - (char *)prec);
+ pdbRecordType->papFldDes[265]->size=sizeof(prec->ftvu);
+ pdbRecordType->papFldDes[265]->offset=(short)((char *)&prec->ftvu - (char *)prec);
+ pdbRecordType->papFldDes[266]->size=sizeof(prec->nova);
+ pdbRecordType->papFldDes[266]->offset=(short)((char *)&prec->nova - (char *)prec);
+ pdbRecordType->papFldDes[267]->size=sizeof(prec->novb);
+ pdbRecordType->papFldDes[267]->offset=(short)((char *)&prec->novb - (char *)prec);
+ pdbRecordType->papFldDes[268]->size=sizeof(prec->novc);
+ pdbRecordType->papFldDes[268]->offset=(short)((char *)&prec->novc - (char *)prec);
+ pdbRecordType->papFldDes[269]->size=sizeof(prec->novd);
+ pdbRecordType->papFldDes[269]->offset=(short)((char *)&prec->novd - (char *)prec);
+ pdbRecordType->papFldDes[270]->size=sizeof(prec->nove);
+ pdbRecordType->papFldDes[270]->offset=(short)((char *)&prec->nove - (char *)prec);
+ pdbRecordType->papFldDes[271]->size=sizeof(prec->novf);
+ pdbRecordType->papFldDes[271]->offset=(short)((char *)&prec->novf - (char *)prec);
+ pdbRecordType->papFldDes[272]->size=sizeof(prec->novg);
+ pdbRecordType->papFldDes[272]->offset=(short)((char *)&prec->novg - (char *)prec);
+ pdbRecordType->papFldDes[273]->size=sizeof(prec->novh);
+ pdbRecordType->papFldDes[273]->offset=(short)((char *)&prec->novh - (char *)prec);
+ pdbRecordType->papFldDes[274]->size=sizeof(prec->novi);
+ pdbRecordType->papFldDes[274]->offset=(short)((char *)&prec->novi - (char *)prec);
+ pdbRecordType->papFldDes[275]->size=sizeof(prec->novj);
+ pdbRecordType->papFldDes[275]->offset=(short)((char *)&prec->novj - (char *)prec);
+ pdbRecordType->papFldDes[276]->size=sizeof(prec->novk);
+ pdbRecordType->papFldDes[276]->offset=(short)((char *)&prec->novk - (char *)prec);
+ pdbRecordType->papFldDes[277]->size=sizeof(prec->novl);
+ pdbRecordType->papFldDes[277]->offset=(short)((char *)&prec->novl - (char *)prec);
+ pdbRecordType->papFldDes[278]->size=sizeof(prec->novm);
+ pdbRecordType->papFldDes[278]->offset=(short)((char *)&prec->novm - (char *)prec);
+ pdbRecordType->papFldDes[279]->size=sizeof(prec->novn);
+ pdbRecordType->papFldDes[279]->offset=(short)((char *)&prec->novn - (char *)prec);
+ pdbRecordType->papFldDes[280]->size=sizeof(prec->novo);
+ pdbRecordType->papFldDes[280]->offset=(short)((char *)&prec->novo - (char *)prec);
+ pdbRecordType->papFldDes[281]->size=sizeof(prec->novp);
+ pdbRecordType->papFldDes[281]->offset=(short)((char *)&prec->novp - (char *)prec);
+ pdbRecordType->papFldDes[282]->size=sizeof(prec->novq);
+ pdbRecordType->papFldDes[282]->offset=(short)((char *)&prec->novq - (char *)prec);
+ pdbRecordType->papFldDes[283]->size=sizeof(prec->novr);
+ pdbRecordType->papFldDes[283]->offset=(short)((char *)&prec->novr - (char *)prec);
+ pdbRecordType->papFldDes[284]->size=sizeof(prec->novs);
+ pdbRecordType->papFldDes[284]->offset=(short)((char *)&prec->novs - (char *)prec);
+ pdbRecordType->papFldDes[285]->size=sizeof(prec->novt);
+ pdbRecordType->papFldDes[285]->offset=(short)((char *)&prec->novt - (char *)prec);
+ pdbRecordType->papFldDes[286]->size=sizeof(prec->novu);
+ pdbRecordType->papFldDes[286]->offset=(short)((char *)&prec->novu - (char *)prec);
+ pdbRecordType->papFldDes[287]->size=sizeof(prec->tova);
+ pdbRecordType->papFldDes[287]->offset=(short)((char *)&prec->tova - (char *)prec);
+ pdbRecordType->papFldDes[288]->size=sizeof(prec->tovb);
+ pdbRecordType->papFldDes[288]->offset=(short)((char *)&prec->tovb - (char *)prec);
+ pdbRecordType->papFldDes[289]->size=sizeof(prec->tovc);
+ pdbRecordType->papFldDes[289]->offset=(short)((char *)&prec->tovc - (char *)prec);
+ pdbRecordType->papFldDes[290]->size=sizeof(prec->tovd);
+ pdbRecordType->papFldDes[290]->offset=(short)((char *)&prec->tovd - (char *)prec);
+ pdbRecordType->papFldDes[291]->size=sizeof(prec->tove);
+ pdbRecordType->papFldDes[291]->offset=(short)((char *)&prec->tove - (char *)prec);
+ pdbRecordType->papFldDes[292]->size=sizeof(prec->tovf);
+ pdbRecordType->papFldDes[292]->offset=(short)((char *)&prec->tovf - (char *)prec);
+ pdbRecordType->papFldDes[293]->size=sizeof(prec->tovg);
+ pdbRecordType->papFldDes[293]->offset=(short)((char *)&prec->tovg - (char *)prec);
+ pdbRecordType->papFldDes[294]->size=sizeof(prec->tovh);
+ pdbRecordType->papFldDes[294]->offset=(short)((char *)&prec->tovh - (char *)prec);
+ pdbRecordType->papFldDes[295]->size=sizeof(prec->tovi);
+ pdbRecordType->papFldDes[295]->offset=(short)((char *)&prec->tovi - (char *)prec);
+ pdbRecordType->papFldDes[296]->size=sizeof(prec->tovj);
+ pdbRecordType->papFldDes[296]->offset=(short)((char *)&prec->tovj - (char *)prec);
+ pdbRecordType->papFldDes[297]->size=sizeof(prec->tovk);
+ pdbRecordType->papFldDes[297]->offset=(short)((char *)&prec->tovk - (char *)prec);
+ pdbRecordType->papFldDes[298]->size=sizeof(prec->tovl);
+ pdbRecordType->papFldDes[298]->offset=(short)((char *)&prec->tovl - (char *)prec);
+ pdbRecordType->papFldDes[299]->size=sizeof(prec->tovm);
+ pdbRecordType->papFldDes[299]->offset=(short)((char *)&prec->tovm - (char *)prec);
+ pdbRecordType->papFldDes[300]->size=sizeof(prec->tovn);
+ pdbRecordType->papFldDes[300]->offset=(short)((char *)&prec->tovn - (char *)prec);
+ pdbRecordType->papFldDes[301]->size=sizeof(prec->tovo);
+ pdbRecordType->papFldDes[301]->offset=(short)((char *)&prec->tovo - (char *)prec);
+ pdbRecordType->papFldDes[302]->size=sizeof(prec->tovp);
+ pdbRecordType->papFldDes[302]->offset=(short)((char *)&prec->tovp - (char *)prec);
+ pdbRecordType->papFldDes[303]->size=sizeof(prec->tovq);
+ pdbRecordType->papFldDes[303]->offset=(short)((char *)&prec->tovq - (char *)prec);
+ pdbRecordType->papFldDes[304]->size=sizeof(prec->tovr);
+ pdbRecordType->papFldDes[304]->offset=(short)((char *)&prec->tovr - (char *)prec);
+ pdbRecordType->papFldDes[305]->size=sizeof(prec->tovs);
+ pdbRecordType->papFldDes[305]->offset=(short)((char *)&prec->tovs - (char *)prec);
+ pdbRecordType->papFldDes[306]->size=sizeof(prec->tovt);
+ pdbRecordType->papFldDes[306]->offset=(short)((char *)&prec->tovt - (char *)prec);
+ pdbRecordType->papFldDes[307]->size=sizeof(prec->tovu);
+ pdbRecordType->papFldDes[307]->offset=(short)((char *)&prec->tovu - (char *)prec);
+ pdbRecordType->rec_size = sizeof(*prec);
+ return(0);
+}
+epicsExportRegistrar(genSubRecordSizeOffset);
+#ifdef __cplusplus
+}
+#endif
+#endif /*GEN_SIZE_OFFSET*/
--- /dev/null
+#include "ellLib.h"
+#include "epicsMutex.h"
+#include "link.h"
+#include "epicsTime.h"
+#include "epicsTypes.h"
+#ifndef INCxxxH
+#define INCxxxH
+typedef struct xxxRecord {
+ char name[61]; /*Record Name*/
+ char desc[29]; /*Descriptor*/
+ char asg[29]; /*Access Security Group*/
+ epicsEnum16 scan; /*Scan Mechanism*/
+ epicsEnum16 pini; /*Process at iocInit*/
+ short phas; /*Scan Phase*/
+ short evnt; /*Event Number*/
+ short tse; /*Time Stamp Event*/
+ DBLINK tsel; /*Time Stamp Link*/
+ epicsEnum16 dtyp; /*Device Type*/
+ short disv; /*Disable Value*/
+ short disa; /*Disable*/
+ DBLINK sdis; /*Scanning Disable*/
+ epicsMutexId mlok; /*Monitor lock*/
+ ELLLIST mlis; /*Monitor List*/
+ unsigned char disp; /*Disable putField*/
+ unsigned char proc; /*Force Processing*/
+ epicsEnum16 stat; /*Alarm Status*/
+ epicsEnum16 sevr; /*Alarm Severity*/
+ epicsEnum16 nsta; /*New Alarm Status*/
+ epicsEnum16 nsev; /*New Alarm Severity*/
+ epicsEnum16 acks; /*Alarm Ack Severity*/
+ epicsEnum16 ackt; /*Alarm Ack Transient*/
+ epicsEnum16 diss; /*Disable Alarm Sevrty*/
+ unsigned char lcnt; /*Lock Count*/
+ unsigned char pact; /*Record active*/
+ unsigned char putf; /*dbPutField process*/
+ unsigned char rpro; /*Reprocess */
+ void *asp; /*Access Security Pvt*/
+ struct putNotify *ppn; /*addr of PUTNOTIFY*/
+ struct putNotifyRecord *ppnr; /*pputNotifyRecord*/
+ struct scan_element *spvt; /*Scan Private*/
+ struct rset *rset; /*Address of RSET*/
+ struct dset *dset; /*DSET address*/
+ void *dpvt; /*Device Private*/
+ struct dbRecordType *rdes; /*Address of dbRecordType*/
+ struct lockRecord *lset; /*Lock Set*/
+ epicsEnum16 prio; /*Scheduling Priority*/
+ unsigned char tpro; /*Trace Processing*/
+ char bkpt; /*Break Point*/
+ unsigned char udf; /*Undefined*/
+ epicsTimeStamp time; /*Time*/
+ DBLINK flnk; /*Forward Process Link*/
+ double val; /*Current EGU Value*/
+ DBLINK inp; /*Input Specification*/
+ short prec; /*Display Precision*/
+ char egu[16]; /*Engineering Units*/
+ float hopr; /*High Operating Range*/
+ float lopr; /*Low Operating Range*/
+ float hihi; /*Hihi Alarm Limit*/
+ float lolo; /*Lolo Alarm Limit*/
+ float high; /*High Alarm Limit*/
+ float low; /*Low Alarm Limit*/
+ epicsEnum16 hhsv; /*Hihi Severity*/
+ epicsEnum16 llsv; /*Lolo Severity*/
+ epicsEnum16 hsv; /*High Severity*/
+ epicsEnum16 lsv; /*Low Severity*/
+ double hyst; /*Alarm Deadband*/
+ double adel; /*Archive Deadband*/
+ double mdel; /*Monitor Deadband*/
+ double lalm; /*Last Value Alarmed*/
+ double alst; /*Last Value Archived*/
+ double mlst; /*Last Val Monitored*/
+} xxxRecord;
+#define xxxRecordNAME 0
+#define xxxRecordDESC 1
+#define xxxRecordASG 2
+#define xxxRecordSCAN 3
+#define xxxRecordPINI 4
+#define xxxRecordPHAS 5
+#define xxxRecordEVNT 6
+#define xxxRecordTSE 7
+#define xxxRecordTSEL 8
+#define xxxRecordDTYP 9
+#define xxxRecordDISV 10
+#define xxxRecordDISA 11
+#define xxxRecordSDIS 12
+#define xxxRecordMLOK 13
+#define xxxRecordMLIS 14
+#define xxxRecordDISP 15
+#define xxxRecordPROC 16
+#define xxxRecordSTAT 17
+#define xxxRecordSEVR 18
+#define xxxRecordNSTA 19
+#define xxxRecordNSEV 20
+#define xxxRecordACKS 21
+#define xxxRecordACKT 22
+#define xxxRecordDISS 23
+#define xxxRecordLCNT 24
+#define xxxRecordPACT 25
+#define xxxRecordPUTF 26
+#define xxxRecordRPRO 27
+#define xxxRecordASP 28
+#define xxxRecordPPN 29
+#define xxxRecordPPNR 30
+#define xxxRecordSPVT 31
+#define xxxRecordRSET 32
+#define xxxRecordDSET 33
+#define xxxRecordDPVT 34
+#define xxxRecordRDES 35
+#define xxxRecordLSET 36
+#define xxxRecordPRIO 37
+#define xxxRecordTPRO 38
+#define xxxRecordBKPT 39
+#define xxxRecordUDF 40
+#define xxxRecordTIME 41
+#define xxxRecordFLNK 42
+#define xxxRecordVAL 43
+#define xxxRecordINP 44
+#define xxxRecordPREC 45
+#define xxxRecordEGU 46
+#define xxxRecordHOPR 47
+#define xxxRecordLOPR 48
+#define xxxRecordHIHI 49
+#define xxxRecordLOLO 50
+#define xxxRecordHIGH 51
+#define xxxRecordLOW 52
+#define xxxRecordHHSV 53
+#define xxxRecordLLSV 54
+#define xxxRecordHSV 55
+#define xxxRecordLSV 56
+#define xxxRecordHYST 57
+#define xxxRecordADEL 58
+#define xxxRecordMDEL 59
+#define xxxRecordLALM 60
+#define xxxRecordALST 61
+#define xxxRecordMLST 62
+#endif /*INCxxxH*/
+#ifdef GEN_SIZE_OFFSET
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <epicsExport.h>
+static int xxxRecordSizeOffset(dbRecordType *pdbRecordType)
+{
+ xxxRecord *prec = 0;
+ pdbRecordType->papFldDes[0]->size=sizeof(prec->name);
+ pdbRecordType->papFldDes[0]->offset=(short)((char *)&prec->name - (char *)prec);
+ pdbRecordType->papFldDes[1]->size=sizeof(prec->desc);
+ pdbRecordType->papFldDes[1]->offset=(short)((char *)&prec->desc - (char *)prec);
+ pdbRecordType->papFldDes[2]->size=sizeof(prec->asg);
+ pdbRecordType->papFldDes[2]->offset=(short)((char *)&prec->asg - (char *)prec);
+ pdbRecordType->papFldDes[3]->size=sizeof(prec->scan);
+ pdbRecordType->papFldDes[3]->offset=(short)((char *)&prec->scan - (char *)prec);
+ pdbRecordType->papFldDes[4]->size=sizeof(prec->pini);
+ pdbRecordType->papFldDes[4]->offset=(short)((char *)&prec->pini - (char *)prec);
+ pdbRecordType->papFldDes[5]->size=sizeof(prec->phas);
+ pdbRecordType->papFldDes[5]->offset=(short)((char *)&prec->phas - (char *)prec);
+ pdbRecordType->papFldDes[6]->size=sizeof(prec->evnt);
+ pdbRecordType->papFldDes[6]->offset=(short)((char *)&prec->evnt - (char *)prec);
+ pdbRecordType->papFldDes[7]->size=sizeof(prec->tse);
+ pdbRecordType->papFldDes[7]->offset=(short)((char *)&prec->tse - (char *)prec);
+ pdbRecordType->papFldDes[8]->size=sizeof(prec->tsel);
+ pdbRecordType->papFldDes[8]->offset=(short)((char *)&prec->tsel - (char *)prec);
+ pdbRecordType->papFldDes[9]->size=sizeof(prec->dtyp);
+ pdbRecordType->papFldDes[9]->offset=(short)((char *)&prec->dtyp - (char *)prec);
+ pdbRecordType->papFldDes[10]->size=sizeof(prec->disv);
+ pdbRecordType->papFldDes[10]->offset=(short)((char *)&prec->disv - (char *)prec);
+ pdbRecordType->papFldDes[11]->size=sizeof(prec->disa);
+ pdbRecordType->papFldDes[11]->offset=(short)((char *)&prec->disa - (char *)prec);
+ pdbRecordType->papFldDes[12]->size=sizeof(prec->sdis);
+ pdbRecordType->papFldDes[12]->offset=(short)((char *)&prec->sdis - (char *)prec);
+ pdbRecordType->papFldDes[13]->size=sizeof(prec->mlok);
+ pdbRecordType->papFldDes[13]->offset=(short)((char *)&prec->mlok - (char *)prec);
+ pdbRecordType->papFldDes[14]->size=sizeof(prec->mlis);
+ pdbRecordType->papFldDes[14]->offset=(short)((char *)&prec->mlis - (char *)prec);
+ pdbRecordType->papFldDes[15]->size=sizeof(prec->disp);
+ pdbRecordType->papFldDes[15]->offset=(short)((char *)&prec->disp - (char *)prec);
+ pdbRecordType->papFldDes[16]->size=sizeof(prec->proc);
+ pdbRecordType->papFldDes[16]->offset=(short)((char *)&prec->proc - (char *)prec);
+ pdbRecordType->papFldDes[17]->size=sizeof(prec->stat);
+ pdbRecordType->papFldDes[17]->offset=(short)((char *)&prec->stat - (char *)prec);
+ pdbRecordType->papFldDes[18]->size=sizeof(prec->sevr);
+ pdbRecordType->papFldDes[18]->offset=(short)((char *)&prec->sevr - (char *)prec);
+ pdbRecordType->papFldDes[19]->size=sizeof(prec->nsta);
+ pdbRecordType->papFldDes[19]->offset=(short)((char *)&prec->nsta - (char *)prec);
+ pdbRecordType->papFldDes[20]->size=sizeof(prec->nsev);
+ pdbRecordType->papFldDes[20]->offset=(short)((char *)&prec->nsev - (char *)prec);
+ pdbRecordType->papFldDes[21]->size=sizeof(prec->acks);
+ pdbRecordType->papFldDes[21]->offset=(short)((char *)&prec->acks - (char *)prec);
+ pdbRecordType->papFldDes[22]->size=sizeof(prec->ackt);
+ pdbRecordType->papFldDes[22]->offset=(short)((char *)&prec->ackt - (char *)prec);
+ pdbRecordType->papFldDes[23]->size=sizeof(prec->diss);
+ pdbRecordType->papFldDes[23]->offset=(short)((char *)&prec->diss - (char *)prec);
+ pdbRecordType->papFldDes[24]->size=sizeof(prec->lcnt);
+ pdbRecordType->papFldDes[24]->offset=(short)((char *)&prec->lcnt - (char *)prec);
+ pdbRecordType->papFldDes[25]->size=sizeof(prec->pact);
+ pdbRecordType->papFldDes[25]->offset=(short)((char *)&prec->pact - (char *)prec);
+ pdbRecordType->papFldDes[26]->size=sizeof(prec->putf);
+ pdbRecordType->papFldDes[26]->offset=(short)((char *)&prec->putf - (char *)prec);
+ pdbRecordType->papFldDes[27]->size=sizeof(prec->rpro);
+ pdbRecordType->papFldDes[27]->offset=(short)((char *)&prec->rpro - (char *)prec);
+ pdbRecordType->papFldDes[28]->size=sizeof(prec->asp);
+ pdbRecordType->papFldDes[28]->offset=(short)((char *)&prec->asp - (char *)prec);
+ pdbRecordType->papFldDes[29]->size=sizeof(prec->ppn);
+ pdbRecordType->papFldDes[29]->offset=(short)((char *)&prec->ppn - (char *)prec);
+ pdbRecordType->papFldDes[30]->size=sizeof(prec->ppnr);
+ pdbRecordType->papFldDes[30]->offset=(short)((char *)&prec->ppnr - (char *)prec);
+ pdbRecordType->papFldDes[31]->size=sizeof(prec->spvt);
+ pdbRecordType->papFldDes[31]->offset=(short)((char *)&prec->spvt - (char *)prec);
+ pdbRecordType->papFldDes[32]->size=sizeof(prec->rset);
+ pdbRecordType->papFldDes[32]->offset=(short)((char *)&prec->rset - (char *)prec);
+ pdbRecordType->papFldDes[33]->size=sizeof(prec->dset);
+ pdbRecordType->papFldDes[33]->offset=(short)((char *)&prec->dset - (char *)prec);
+ pdbRecordType->papFldDes[34]->size=sizeof(prec->dpvt);
+ pdbRecordType->papFldDes[34]->offset=(short)((char *)&prec->dpvt - (char *)prec);
+ pdbRecordType->papFldDes[35]->size=sizeof(prec->rdes);
+ pdbRecordType->papFldDes[35]->offset=(short)((char *)&prec->rdes - (char *)prec);
+ pdbRecordType->papFldDes[36]->size=sizeof(prec->lset);
+ pdbRecordType->papFldDes[36]->offset=(short)((char *)&prec->lset - (char *)prec);
+ pdbRecordType->papFldDes[37]->size=sizeof(prec->prio);
+ pdbRecordType->papFldDes[37]->offset=(short)((char *)&prec->prio - (char *)prec);
+ pdbRecordType->papFldDes[38]->size=sizeof(prec->tpro);
+ pdbRecordType->papFldDes[38]->offset=(short)((char *)&prec->tpro - (char *)prec);
+ pdbRecordType->papFldDes[39]->size=sizeof(prec->bkpt);
+ pdbRecordType->papFldDes[39]->offset=(short)((char *)&prec->bkpt - (char *)prec);
+ pdbRecordType->papFldDes[40]->size=sizeof(prec->udf);
+ pdbRecordType->papFldDes[40]->offset=(short)((char *)&prec->udf - (char *)prec);
+ pdbRecordType->papFldDes[41]->size=sizeof(prec->time);
+ pdbRecordType->papFldDes[41]->offset=(short)((char *)&prec->time - (char *)prec);
+ pdbRecordType->papFldDes[42]->size=sizeof(prec->flnk);
+ pdbRecordType->papFldDes[42]->offset=(short)((char *)&prec->flnk - (char *)prec);
+ pdbRecordType->papFldDes[43]->size=sizeof(prec->val);
+ pdbRecordType->papFldDes[43]->offset=(short)((char *)&prec->val - (char *)prec);
+ pdbRecordType->papFldDes[44]->size=sizeof(prec->inp);
+ pdbRecordType->papFldDes[44]->offset=(short)((char *)&prec->inp - (char *)prec);
+ pdbRecordType->papFldDes[45]->size=sizeof(prec->prec);
+ pdbRecordType->papFldDes[45]->offset=(short)((char *)&prec->prec - (char *)prec);
+ pdbRecordType->papFldDes[46]->size=sizeof(prec->egu);
+ pdbRecordType->papFldDes[46]->offset=(short)((char *)&prec->egu - (char *)prec);
+ pdbRecordType->papFldDes[47]->size=sizeof(prec->hopr);
+ pdbRecordType->papFldDes[47]->offset=(short)((char *)&prec->hopr - (char *)prec);
+ pdbRecordType->papFldDes[48]->size=sizeof(prec->lopr);
+ pdbRecordType->papFldDes[48]->offset=(short)((char *)&prec->lopr - (char *)prec);
+ pdbRecordType->papFldDes[49]->size=sizeof(prec->hihi);
+ pdbRecordType->papFldDes[49]->offset=(short)((char *)&prec->hihi - (char *)prec);
+ pdbRecordType->papFldDes[50]->size=sizeof(prec->lolo);
+ pdbRecordType->papFldDes[50]->offset=(short)((char *)&prec->lolo - (char *)prec);
+ pdbRecordType->papFldDes[51]->size=sizeof(prec->high);
+ pdbRecordType->papFldDes[51]->offset=(short)((char *)&prec->high - (char *)prec);
+ pdbRecordType->papFldDes[52]->size=sizeof(prec->low);
+ pdbRecordType->papFldDes[52]->offset=(short)((char *)&prec->low - (char *)prec);
+ pdbRecordType->papFldDes[53]->size=sizeof(prec->hhsv);
+ pdbRecordType->papFldDes[53]->offset=(short)((char *)&prec->hhsv - (char *)prec);
+ pdbRecordType->papFldDes[54]->size=sizeof(prec->llsv);
+ pdbRecordType->papFldDes[54]->offset=(short)((char *)&prec->llsv - (char *)prec);
+ pdbRecordType->papFldDes[55]->size=sizeof(prec->hsv);
+ pdbRecordType->papFldDes[55]->offset=(short)((char *)&prec->hsv - (char *)prec);
+ pdbRecordType->papFldDes[56]->size=sizeof(prec->lsv);
+ pdbRecordType->papFldDes[56]->offset=(short)((char *)&prec->lsv - (char *)prec);
+ pdbRecordType->papFldDes[57]->size=sizeof(prec->hyst);
+ pdbRecordType->papFldDes[57]->offset=(short)((char *)&prec->hyst - (char *)prec);
+ pdbRecordType->papFldDes[58]->size=sizeof(prec->adel);
+ pdbRecordType->papFldDes[58]->offset=(short)((char *)&prec->adel - (char *)prec);
+ pdbRecordType->papFldDes[59]->size=sizeof(prec->mdel);
+ pdbRecordType->papFldDes[59]->offset=(short)((char *)&prec->mdel - (char *)prec);
+ pdbRecordType->papFldDes[60]->size=sizeof(prec->lalm);
+ pdbRecordType->papFldDes[60]->offset=(short)((char *)&prec->lalm - (char *)prec);
+ pdbRecordType->papFldDes[61]->size=sizeof(prec->alst);
+ pdbRecordType->papFldDes[61]->offset=(short)((char *)&prec->alst - (char *)prec);
+ pdbRecordType->papFldDes[62]->size=sizeof(prec->mlst);
+ pdbRecordType->papFldDes[62]->offset=(short)((char *)&prec->mlst - (char *)prec);
+ pdbRecordType->rec_size = sizeof(*prec);
+ return(0);
+}
+epicsExportRegistrar(xxxRecordSizeOffset);
+#ifdef __cplusplus
+}
+#endif
+#endif /*GEN_SIZE_OFFSET*/
--- /dev/null
+#This Makefile created by makeMakefile.pl
+
+
+all :
+ $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86 $@
+
+.DEFAULT: force
+ $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86 $@
+
+force: ;
--- /dev/null
+#Do not modify this file.
+#This file is created during the build.
+
+ifneq ($(strip $(ebctrl_SRCS_$(OS_CLASS))),)
+ebctrl_SRCS+=$(subst -nil-,,$(ebctrl_SRCS_$(OS_CLASS)))
+else
+ifdef ebctrl_SRCS_DEFAULT
+ebctrl_SRCS+=$(ebctrl_SRCS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(ebctrl_RCS_$(OS_CLASS))),)
+ebctrl_RCS+=$(subst -nil-,,$(ebctrl_RCS_$(OS_CLASS)))
+else
+ifdef ebctrl_RCS_DEFAULT
+ebctrl_RCS+=$(ebctrl_RCS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(ebctrl_OBJS_$(OS_CLASS))),)
+ebctrl_OBJS+=$(subst -nil-,,$(ebctrl_OBJS_$(OS_CLASS)))
+else
+ifdef ebctrl_OBJS_DEFAULT
+ebctrl_OBJS+=$(ebctrl_OBJS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(ebctrl_LDFLAGS_$(OS_CLASS))),)
+ebctrl_LDFLAGS+=$(subst -nil-,,$(ebctrl_LDFLAGS_$(OS_CLASS)))
+else
+ifdef ebctrl_LDFLAGS_DEFAULT
+ebctrl_LDFLAGS+=$(ebctrl_LDFLAGS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(ebctrl_OBJLIBS_$(OS_CLASS))),)
+ebctrl_OBJLIBS+=$(subst -nil-,,$(ebctrl_OBJLIBS_$(OS_CLASS)))
+else
+ifdef ebctrl_OBJLIBS_DEFAULT
+ebctrl_OBJLIBS+=$(ebctrl_OBJLIBS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(ebctrl_LDOBJS_$(OS_CLASS))),)
+ebctrl_LDOBJS+=$(subst -nil-,,$(ebctrl_LDOBJS_$(OS_CLASS)))
+else
+ifdef ebctrl_LDOBJS_DEFAULT
+ebctrl_LDOBJS+=$(ebctrl_LDOBJS_DEFAULT)
+endif
+endif
+ebctrl_LDLIBS+=$(ebctrl_LIBS)
+ifneq ($(strip $(ebctrl_LIBS_$(OS_CLASS))),)
+ebctrl_LDLIBS+=$(subst -nil-,,$(ebctrl_LIBS_$(OS_CLASS)))
+else
+ifdef ebctrl_LIBS_DEFAULT
+ebctrl_LDLIBS+=$(ebctrl_LIBS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(ebctrl_SYS_LIBS_$(OS_CLASS))),)
+ebctrl_SYS_LIBS+=$(subst -nil-,,$(ebctrl_SYS_LIBS_$(OS_CLASS)))
+else
+ifdef ebctrl_SYS_LIBS_DEFAULT
+ebctrl_SYS_LIBS+=$(ebctrl_SYS_LIBS_DEFAULT)
+endif
+endif
+ebctrl_OBJS+=$(addsuffix $(OBJ),$(basename $(ebctrl_SRCS)))
+
+ifeq ($(filter ebctrl,$(TESTPROD) $(PROD)),ebctrl)
+ifeq (,$(strip $(ebctrl_OBJS) $(PRODUCT_OBJS)))
+ebctrl_OBJS+=ebctrl$(OBJ)
+endif
+ebctrl_RESS+=$(addsuffix $(RES),$(basename $(ebctrl_RCS)))
+ebctrl_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(ebctrl_OBJS)))
+ebctrl_DEPLIBS=$(foreach lib, $(ebctrl_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+ebctrl$(EXE): $(ebctrl_OBJSNAME) $(ebctrl_RESS) $(ebctrl_DEPLIBS)
+endif
+
+ifeq ($(filter ebctrl,$(LIBRARY)),ebctrl)
+ifneq ($(filter ebctrl,$(LOADABLE_LIBRARY)),ebctrl)
+ifneq (,$(strip $(ebctrl_OBJS) $(LIBRARY_OBJS)))
+BUILD_LIBRARY += ebctrl
+endif
+ebctrl_RESS+=$(addsuffix $(RES),$(basename $(ebctrl_RCS)))
+ebctrl_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(ebctrl_OBJS)))
+ebctrl_DEPLIBS=$(foreach lib, $(ebctrl_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+ebctrl_DLL_DEPLIBS=$(foreach lib, $(ebctrl_DLL_LIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+$(LIB_PREFIX)ebctrl$(LIB_SUFFIX):$(ebctrl_OBJSNAME) $(ebctrl_RESS)
+$(LIB_PREFIX)ebctrl$(LIB_SUFFIX):$(ebctrl_DEPLIBS)
+$(LIB_PREFIX)ebctrl$(SHRLIB_SUFFIX):$(ebctrl_OBJSNAME) $(ebctrl_RESS)
+$(LIB_PREFIX)ebctrl$(SHRLIB_SUFFIX):$(ebctrl_DEPLIBS)
+$(LIB_PREFIX)ebctrl$(SHRLIB_SUFFIX):$(ebctrl_DLL_DEPLIBS)
+endif
+endif
+ifeq ($(filter ebctrl,$(LOADABLE_LIBRARY)),ebctrl)
+ifneq (,$(strip $(ebctrl_OBJS) $(LIBRARY_OBJS)))
+LOADABLE_BUILD_LIBRARY += ebctrl
+endif
+ebctrl_RESS+=$(addsuffix $(RES),$(basename $(ebctrl_RCS)))
+ebctrl_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(ebctrl_OBJS)))
+ebctrl_DEPLIBS=$(foreach lib, $(ebctrl_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+ebctrl_DLL_DEPLIBS=$(foreach lib, $(ebctrl_DLL_LIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+$(LOADABLE_SHRLIB_PREFIX)ebctrl$(LOADABLE_SHRLIB_SUFFIX):$(ebctrl_OBJSNAME) $(ebctrl_RESS)
+$(LOADABLE_SHRLIB_PREFIX)ebctrl$(LOADABLE_SHRLIB_SUFFIX):$(ebctrl_DEPLIBS)
+$(LOADABLE_SHRLIB_PREFIX)ebctrl$(LOADABLE_SHRLIB_SUFFIX):$(ebctrl_DLL_DEPLIBS)
+endif
+
+
+ifneq ($(strip $(xxxSupport_SRCS_$(OS_CLASS))),)
+xxxSupport_SRCS+=$(subst -nil-,,$(xxxSupport_SRCS_$(OS_CLASS)))
+else
+ifdef xxxSupport_SRCS_DEFAULT
+xxxSupport_SRCS+=$(xxxSupport_SRCS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(xxxSupport_RCS_$(OS_CLASS))),)
+xxxSupport_RCS+=$(subst -nil-,,$(xxxSupport_RCS_$(OS_CLASS)))
+else
+ifdef xxxSupport_RCS_DEFAULT
+xxxSupport_RCS+=$(xxxSupport_RCS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(xxxSupport_OBJS_$(OS_CLASS))),)
+xxxSupport_OBJS+=$(subst -nil-,,$(xxxSupport_OBJS_$(OS_CLASS)))
+else
+ifdef xxxSupport_OBJS_DEFAULT
+xxxSupport_OBJS+=$(xxxSupport_OBJS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(xxxSupport_LDFLAGS_$(OS_CLASS))),)
+xxxSupport_LDFLAGS+=$(subst -nil-,,$(xxxSupport_LDFLAGS_$(OS_CLASS)))
+else
+ifdef xxxSupport_LDFLAGS_DEFAULT
+xxxSupport_LDFLAGS+=$(xxxSupport_LDFLAGS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(xxxSupport_OBJLIBS_$(OS_CLASS))),)
+xxxSupport_OBJLIBS+=$(subst -nil-,,$(xxxSupport_OBJLIBS_$(OS_CLASS)))
+else
+ifdef xxxSupport_OBJLIBS_DEFAULT
+xxxSupport_OBJLIBS+=$(xxxSupport_OBJLIBS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(xxxSupport_LDOBJS_$(OS_CLASS))),)
+xxxSupport_LDOBJS+=$(subst -nil-,,$(xxxSupport_LDOBJS_$(OS_CLASS)))
+else
+ifdef xxxSupport_LDOBJS_DEFAULT
+xxxSupport_LDOBJS+=$(xxxSupport_LDOBJS_DEFAULT)
+endif
+endif
+xxxSupport_LDLIBS+=$(xxxSupport_LIBS)
+ifneq ($(strip $(xxxSupport_LIBS_$(OS_CLASS))),)
+xxxSupport_LDLIBS+=$(subst -nil-,,$(xxxSupport_LIBS_$(OS_CLASS)))
+else
+ifdef xxxSupport_LIBS_DEFAULT
+xxxSupport_LDLIBS+=$(xxxSupport_LIBS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(xxxSupport_SYS_LIBS_$(OS_CLASS))),)
+xxxSupport_SYS_LIBS+=$(subst -nil-,,$(xxxSupport_SYS_LIBS_$(OS_CLASS)))
+else
+ifdef xxxSupport_SYS_LIBS_DEFAULT
+xxxSupport_SYS_LIBS+=$(xxxSupport_SYS_LIBS_DEFAULT)
+endif
+endif
+xxxSupport_OBJS+=$(addsuffix $(OBJ),$(basename $(xxxSupport_SRCS)))
+
+ifeq ($(filter xxxSupport,$(TESTPROD) $(PROD)),xxxSupport)
+ifeq (,$(strip $(xxxSupport_OBJS) $(PRODUCT_OBJS)))
+xxxSupport_OBJS+=xxxSupport$(OBJ)
+endif
+xxxSupport_RESS+=$(addsuffix $(RES),$(basename $(xxxSupport_RCS)))
+xxxSupport_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(xxxSupport_OBJS)))
+xxxSupport_DEPLIBS=$(foreach lib, $(xxxSupport_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+xxxSupport$(EXE): $(xxxSupport_OBJSNAME) $(xxxSupport_RESS) $(xxxSupport_DEPLIBS)
+endif
+
+ifeq ($(filter xxxSupport,$(LIBRARY)),xxxSupport)
+ifneq ($(filter xxxSupport,$(LOADABLE_LIBRARY)),xxxSupport)
+ifneq (,$(strip $(xxxSupport_OBJS) $(LIBRARY_OBJS)))
+BUILD_LIBRARY += xxxSupport
+endif
+xxxSupport_RESS+=$(addsuffix $(RES),$(basename $(xxxSupport_RCS)))
+xxxSupport_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(xxxSupport_OBJS)))
+xxxSupport_DEPLIBS=$(foreach lib, $(xxxSupport_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+xxxSupport_DLL_DEPLIBS=$(foreach lib, $(xxxSupport_DLL_LIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+$(LIB_PREFIX)xxxSupport$(LIB_SUFFIX):$(xxxSupport_OBJSNAME) $(xxxSupport_RESS)
+$(LIB_PREFIX)xxxSupport$(LIB_SUFFIX):$(xxxSupport_DEPLIBS)
+$(LIB_PREFIX)xxxSupport$(SHRLIB_SUFFIX):$(xxxSupport_OBJSNAME) $(xxxSupport_RESS)
+$(LIB_PREFIX)xxxSupport$(SHRLIB_SUFFIX):$(xxxSupport_DEPLIBS)
+$(LIB_PREFIX)xxxSupport$(SHRLIB_SUFFIX):$(xxxSupport_DLL_DEPLIBS)
+endif
+endif
+ifeq ($(filter xxxSupport,$(LOADABLE_LIBRARY)),xxxSupport)
+ifneq (,$(strip $(xxxSupport_OBJS) $(LIBRARY_OBJS)))
+LOADABLE_BUILD_LIBRARY += xxxSupport
+endif
+xxxSupport_RESS+=$(addsuffix $(RES),$(basename $(xxxSupport_RCS)))
+xxxSupport_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(xxxSupport_OBJS)))
+xxxSupport_DEPLIBS=$(foreach lib, $(xxxSupport_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+xxxSupport_DLL_DEPLIBS=$(foreach lib, $(xxxSupport_DLL_LIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+$(LOADABLE_SHRLIB_PREFIX)xxxSupport$(LOADABLE_SHRLIB_SUFFIX):$(xxxSupport_OBJSNAME) $(xxxSupport_RESS)
+$(LOADABLE_SHRLIB_PREFIX)xxxSupport$(LOADABLE_SHRLIB_SUFFIX):$(xxxSupport_DEPLIBS)
+$(LOADABLE_SHRLIB_PREFIX)xxxSupport$(LOADABLE_SHRLIB_SUFFIX):$(xxxSupport_DLL_DEPLIBS)
+endif
+
+
+ifneq ($(strip $(genSub_SRCS_$(OS_CLASS))),)
+genSub_SRCS+=$(subst -nil-,,$(genSub_SRCS_$(OS_CLASS)))
+else
+ifdef genSub_SRCS_DEFAULT
+genSub_SRCS+=$(genSub_SRCS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(genSub_RCS_$(OS_CLASS))),)
+genSub_RCS+=$(subst -nil-,,$(genSub_RCS_$(OS_CLASS)))
+else
+ifdef genSub_RCS_DEFAULT
+genSub_RCS+=$(genSub_RCS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(genSub_OBJS_$(OS_CLASS))),)
+genSub_OBJS+=$(subst -nil-,,$(genSub_OBJS_$(OS_CLASS)))
+else
+ifdef genSub_OBJS_DEFAULT
+genSub_OBJS+=$(genSub_OBJS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(genSub_LDFLAGS_$(OS_CLASS))),)
+genSub_LDFLAGS+=$(subst -nil-,,$(genSub_LDFLAGS_$(OS_CLASS)))
+else
+ifdef genSub_LDFLAGS_DEFAULT
+genSub_LDFLAGS+=$(genSub_LDFLAGS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(genSub_OBJLIBS_$(OS_CLASS))),)
+genSub_OBJLIBS+=$(subst -nil-,,$(genSub_OBJLIBS_$(OS_CLASS)))
+else
+ifdef genSub_OBJLIBS_DEFAULT
+genSub_OBJLIBS+=$(genSub_OBJLIBS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(genSub_LDOBJS_$(OS_CLASS))),)
+genSub_LDOBJS+=$(subst -nil-,,$(genSub_LDOBJS_$(OS_CLASS)))
+else
+ifdef genSub_LDOBJS_DEFAULT
+genSub_LDOBJS+=$(genSub_LDOBJS_DEFAULT)
+endif
+endif
+genSub_LDLIBS+=$(genSub_LIBS)
+ifneq ($(strip $(genSub_LIBS_$(OS_CLASS))),)
+genSub_LDLIBS+=$(subst -nil-,,$(genSub_LIBS_$(OS_CLASS)))
+else
+ifdef genSub_LIBS_DEFAULT
+genSub_LDLIBS+=$(genSub_LIBS_DEFAULT)
+endif
+endif
+ifneq ($(strip $(genSub_SYS_LIBS_$(OS_CLASS))),)
+genSub_SYS_LIBS+=$(subst -nil-,,$(genSub_SYS_LIBS_$(OS_CLASS)))
+else
+ifdef genSub_SYS_LIBS_DEFAULT
+genSub_SYS_LIBS+=$(genSub_SYS_LIBS_DEFAULT)
+endif
+endif
+genSub_OBJS+=$(addsuffix $(OBJ),$(basename $(genSub_SRCS)))
+
+ifeq ($(filter genSub,$(TESTPROD) $(PROD)),genSub)
+ifeq (,$(strip $(genSub_OBJS) $(PRODUCT_OBJS)))
+genSub_OBJS+=genSub$(OBJ)
+endif
+genSub_RESS+=$(addsuffix $(RES),$(basename $(genSub_RCS)))
+genSub_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(genSub_OBJS)))
+genSub_DEPLIBS=$(foreach lib, $(genSub_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+genSub$(EXE): $(genSub_OBJSNAME) $(genSub_RESS) $(genSub_DEPLIBS)
+endif
+
+ifeq ($(filter genSub,$(LIBRARY)),genSub)
+ifneq ($(filter genSub,$(LOADABLE_LIBRARY)),genSub)
+ifneq (,$(strip $(genSub_OBJS) $(LIBRARY_OBJS)))
+BUILD_LIBRARY += genSub
+endif
+genSub_RESS+=$(addsuffix $(RES),$(basename $(genSub_RCS)))
+genSub_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(genSub_OBJS)))
+genSub_DEPLIBS=$(foreach lib, $(genSub_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+genSub_DLL_DEPLIBS=$(foreach lib, $(genSub_DLL_LIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+$(LIB_PREFIX)genSub$(LIB_SUFFIX):$(genSub_OBJSNAME) $(genSub_RESS)
+$(LIB_PREFIX)genSub$(LIB_SUFFIX):$(genSub_DEPLIBS)
+$(LIB_PREFIX)genSub$(SHRLIB_SUFFIX):$(genSub_OBJSNAME) $(genSub_RESS)
+$(LIB_PREFIX)genSub$(SHRLIB_SUFFIX):$(genSub_DEPLIBS)
+$(LIB_PREFIX)genSub$(SHRLIB_SUFFIX):$(genSub_DLL_DEPLIBS)
+endif
+endif
+ifeq ($(filter genSub,$(LOADABLE_LIBRARY)),genSub)
+ifneq (,$(strip $(genSub_OBJS) $(LIBRARY_OBJS)))
+LOADABLE_BUILD_LIBRARY += genSub
+endif
+genSub_RESS+=$(addsuffix $(RES),$(basename $(genSub_RCS)))
+genSub_OBJSNAME+=$(addsuffix $(OBJ),$(basename $(genSub_OBJS)))
+genSub_DEPLIBS=$(foreach lib, $(genSub_LDLIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+genSub_DLL_DEPLIBS=$(foreach lib, $(genSub_DLL_LIBS),\
+ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*,\
+ $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS)))\
+ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX),\
+ $(firstword $($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))/)))
+$(LOADABLE_SHRLIB_PREFIX)genSub$(LOADABLE_SHRLIB_SUFFIX):$(genSub_OBJSNAME) $(genSub_RESS)
+$(LOADABLE_SHRLIB_PREFIX)genSub$(LOADABLE_SHRLIB_SUFFIX):$(genSub_DEPLIBS)
+$(LOADABLE_SHRLIB_PREFIX)genSub$(LOADABLE_SHRLIB_SUFFIX):$(genSub_DLL_DEPLIBS)
+endif
+
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+devXxxSoft.o : /home/scs/base-3.14.9/include/alarm.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/cvtTable.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbDefs.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbAccess.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/recGbl.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/recSup.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/devSup.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/link.h
+devXxxSoft.o : ../../../include/xxxRecord.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/epicsExport.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/shareLib.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/epicsTypes.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/errMdef.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/epicsTime.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/caeventmask.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbFldTypes.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbBase.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbAddr.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbLock.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbAccessDefs.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbCa.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/dbCommon.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/db_field_log.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/ellLib.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/epicsMutex.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/errlog.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/os/Linux/osdTime.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/epicsAssert.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+devXxxSoft.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+
+
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+ebctrlMain.o : /home/scs/base-3.14.9/include/epicsExit.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/epicsThread.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/iocsh.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/shareLib.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/epicsEvent.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/epicsMutex.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/os/Linux/osdThread.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/epicsAssert.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/os/Linux/osdEvent.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+ebctrlMain.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+
+
--- /dev/null
+/* THIS IS A GENERATED FILE. DO NOT EDIT */
+/* Generated from ../O.Common/ebctrl.dbd */
+
+#include "registryCommon.h"
+
+extern "C" {
+epicsShareExtern rset *pvar_rset_aiRSET;
+epicsShareExtern int (*pvar_func_aiRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_aoRSET;
+epicsShareExtern int (*pvar_func_aoRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_biRSET;
+epicsShareExtern int (*pvar_func_biRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_boRSET;
+epicsShareExtern int (*pvar_func_boRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_calcRSET;
+epicsShareExtern int (*pvar_func_calcRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_calcoutRSET;
+epicsShareExtern int (*pvar_func_calcoutRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_compressRSET;
+epicsShareExtern int (*pvar_func_compressRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_dfanoutRSET;
+epicsShareExtern int (*pvar_func_dfanoutRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_eventRSET;
+epicsShareExtern int (*pvar_func_eventRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_fanoutRSET;
+epicsShareExtern int (*pvar_func_fanoutRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_longinRSET;
+epicsShareExtern int (*pvar_func_longinRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_longoutRSET;
+epicsShareExtern int (*pvar_func_longoutRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_mbbiRSET;
+epicsShareExtern int (*pvar_func_mbbiRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_mbbiDirectRSET;
+epicsShareExtern int (*pvar_func_mbbiDirectRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_mbboRSET;
+epicsShareExtern int (*pvar_func_mbboRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_mbboDirectRSET;
+epicsShareExtern int (*pvar_func_mbboDirectRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_permissiveRSET;
+epicsShareExtern int (*pvar_func_permissiveRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_selRSET;
+epicsShareExtern int (*pvar_func_selRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_seqRSET;
+epicsShareExtern int (*pvar_func_seqRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_stateRSET;
+epicsShareExtern int (*pvar_func_stateRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_stringinRSET;
+epicsShareExtern int (*pvar_func_stringinRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_stringoutRSET;
+epicsShareExtern int (*pvar_func_stringoutRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_subRSET;
+epicsShareExtern int (*pvar_func_subRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_subArrayRSET;
+epicsShareExtern int (*pvar_func_subArrayRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_waveformRSET;
+epicsShareExtern int (*pvar_func_waveformRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_xxxRSET;
+epicsShareExtern int (*pvar_func_xxxRecordSizeOffset)(dbRecordType *pdbRecordType);
+epicsShareExtern rset *pvar_rset_genSubRSET;
+epicsShareExtern int (*pvar_func_genSubRecordSizeOffset)(dbRecordType *pdbRecordType);
+
+static const char * const recordTypeNames[27] = {
+ "ai",
+ "ao",
+ "bi",
+ "bo",
+ "calc",
+ "calcout",
+ "compress",
+ "dfanout",
+ "event",
+ "fanout",
+ "longin",
+ "longout",
+ "mbbi",
+ "mbbiDirect",
+ "mbbo",
+ "mbboDirect",
+ "permissive",
+ "sel",
+ "seq",
+ "state",
+ "stringin",
+ "stringout",
+ "sub",
+ "subArray",
+ "waveform",
+ "xxx",
+ "genSub"
+};
+
+static const recordTypeLocation rtl[27] = {
+ {pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset},
+ {pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset},
+ {pvar_rset_biRSET, pvar_func_biRecordSizeOffset},
+ {pvar_rset_boRSET, pvar_func_boRecordSizeOffset},
+ {pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset},
+ {pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset},
+ {pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset},
+ {pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset},
+ {pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset},
+ {pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset},
+ {pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset},
+ {pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset},
+ {pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset},
+ {pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset},
+ {pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset},
+ {pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset},
+ {pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset},
+ {pvar_rset_selRSET, pvar_func_selRecordSizeOffset},
+ {pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset},
+ {pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset},
+ {pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset},
+ {pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset},
+ {pvar_rset_subRSET, pvar_func_subRecordSizeOffset},
+ {pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset},
+ {pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset},
+ {pvar_rset_xxxRSET, pvar_func_xxxRecordSizeOffset},
+ {pvar_rset_genSubRSET, pvar_func_genSubRecordSizeOffset}
+};
+
+epicsShareExtern dset *pvar_dset_devAiSoft;
+epicsShareExtern dset *pvar_dset_devAiSoftRaw;
+epicsShareExtern dset *pvar_dset_devAoSoft;
+epicsShareExtern dset *pvar_dset_devAoSoftRaw;
+epicsShareExtern dset *pvar_dset_devAoSoftCallback;
+epicsShareExtern dset *pvar_dset_devBiSoft;
+epicsShareExtern dset *pvar_dset_devBiSoftRaw;
+epicsShareExtern dset *pvar_dset_devBoSoft;
+epicsShareExtern dset *pvar_dset_devBoSoftRaw;
+epicsShareExtern dset *pvar_dset_devBoSoftCallback;
+epicsShareExtern dset *pvar_dset_devCalcoutSoft;
+epicsShareExtern dset *pvar_dset_devCalcoutSoftCallback;
+epicsShareExtern dset *pvar_dset_devEventSoft;
+epicsShareExtern dset *pvar_dset_devLiSoft;
+epicsShareExtern dset *pvar_dset_devLoSoft;
+epicsShareExtern dset *pvar_dset_devLoSoftCallback;
+epicsShareExtern dset *pvar_dset_devMbbiSoft;
+epicsShareExtern dset *pvar_dset_devMbbiSoftRaw;
+epicsShareExtern dset *pvar_dset_devMbbiDirectSoft;
+epicsShareExtern dset *pvar_dset_devMbbiDirectSoftRaw;
+epicsShareExtern dset *pvar_dset_devMbboSoft;
+epicsShareExtern dset *pvar_dset_devMbboSoftRaw;
+epicsShareExtern dset *pvar_dset_devMbboSoftCallback;
+epicsShareExtern dset *pvar_dset_devMbboDirectSoft;
+epicsShareExtern dset *pvar_dset_devMbboDirectSoftRaw;
+epicsShareExtern dset *pvar_dset_devMbboDirectSoftCallback;
+epicsShareExtern dset *pvar_dset_devSiSoft;
+epicsShareExtern dset *pvar_dset_devTimestampSI;
+epicsShareExtern dset *pvar_dset_devSoSoft;
+epicsShareExtern dset *pvar_dset_devSoSoftCallback;
+epicsShareExtern dset *pvar_dset_devSASoft;
+epicsShareExtern dset *pvar_dset_devWfSoft;
+epicsShareExtern dset *pvar_dset_devXxxSoft;
+
+static const char * const deviceSupportNames[33] = {
+ "devAiSoft",
+ "devAiSoftRaw",
+ "devAoSoft",
+ "devAoSoftRaw",
+ "devAoSoftCallback",
+ "devBiSoft",
+ "devBiSoftRaw",
+ "devBoSoft",
+ "devBoSoftRaw",
+ "devBoSoftCallback",
+ "devCalcoutSoft",
+ "devCalcoutSoftCallback",
+ "devEventSoft",
+ "devLiSoft",
+ "devLoSoft",
+ "devLoSoftCallback",
+ "devMbbiSoft",
+ "devMbbiSoftRaw",
+ "devMbbiDirectSoft",
+ "devMbbiDirectSoftRaw",
+ "devMbboSoft",
+ "devMbboSoftRaw",
+ "devMbboSoftCallback",
+ "devMbboDirectSoft",
+ "devMbboDirectSoftRaw",
+ "devMbboDirectSoftCallback",
+ "devSiSoft",
+ "devTimestampSI",
+ "devSoSoft",
+ "devSoSoftCallback",
+ "devSASoft",
+ "devWfSoft",
+ "devXxxSoft"
+};
+
+static const dset * const devsl[33] = {
+ pvar_dset_devAiSoft,
+ pvar_dset_devAiSoftRaw,
+ pvar_dset_devAoSoft,
+ pvar_dset_devAoSoftRaw,
+ pvar_dset_devAoSoftCallback,
+ pvar_dset_devBiSoft,
+ pvar_dset_devBiSoftRaw,
+ pvar_dset_devBoSoft,
+ pvar_dset_devBoSoftRaw,
+ pvar_dset_devBoSoftCallback,
+ pvar_dset_devCalcoutSoft,
+ pvar_dset_devCalcoutSoftCallback,
+ pvar_dset_devEventSoft,
+ pvar_dset_devLiSoft,
+ pvar_dset_devLoSoft,
+ pvar_dset_devLoSoftCallback,
+ pvar_dset_devMbbiSoft,
+ pvar_dset_devMbbiSoftRaw,
+ pvar_dset_devMbbiDirectSoft,
+ pvar_dset_devMbbiDirectSoftRaw,
+ pvar_dset_devMbboSoft,
+ pvar_dset_devMbboSoftRaw,
+ pvar_dset_devMbboSoftCallback,
+ pvar_dset_devMbboDirectSoft,
+ pvar_dset_devMbboDirectSoftRaw,
+ pvar_dset_devMbboDirectSoftCallback,
+ pvar_dset_devSiSoft,
+ pvar_dset_devTimestampSI,
+ pvar_dset_devSoSoft,
+ pvar_dset_devSoSoftCallback,
+ pvar_dset_devSASoft,
+ pvar_dset_devWfSoft,
+ pvar_dset_devXxxSoft
+};
+
+epicsShareExtern void (*pvar_func_asSub)(void);
+epicsShareExtern void (*pvar_func_register_func_evtbuild_init)(void);
+epicsShareExtern void (*pvar_func_register_func_evtbuild_proc)(void);
+epicsShareExtern void (*pvar_func_register_func_genRunId_init)(void);
+epicsShareExtern void (*pvar_func_register_func_genRunId_proc)(void);
+epicsShareExtern void (*pvar_func_register_func_writeRunId_init)(void);
+epicsShareExtern void (*pvar_func_register_func_writeRunId_proc)(void);
+
+epicsShareExtern int *pvar_int_asCaDebug;
+epicsShareExtern int *pvar_int_dbRecordsOnceOnly;
+epicsShareExtern int *pvar_int_evtbuildDebug;
+epicsShareExtern int *pvar_int_genrunidDebug;
+epicsShareExtern int *pvar_int_writerunidDebug;
+static struct iocshVarDef vardefs[] = {
+ {"asCaDebug", iocshArgInt, (void * const)pvar_int_asCaDebug},
+ {"dbRecordsOnceOnly", iocshArgInt, (void * const)pvar_int_dbRecordsOnceOnly},
+ {"evtbuildDebug", iocshArgInt, (void * const)pvar_int_evtbuildDebug},
+ {"genrunidDebug", iocshArgInt, (void * const)pvar_int_genrunidDebug},
+ {"writerunidDebug", iocshArgInt, (void * const)pvar_int_writerunidDebug},
+ {NULL, iocshArgInt, NULL}
+};
+
+int ebctrl_registerRecordDeviceDriver(DBBASE *pbase)
+{
+ registerRecordTypes(pbase, 27, recordTypeNames, rtl);
+ registerDevices(pbase, 33, deviceSupportNames, devsl);
+ (*pvar_func_asSub)();
+ (*pvar_func_register_func_evtbuild_init)();
+ (*pvar_func_register_func_evtbuild_proc)();
+ (*pvar_func_register_func_genRunId_init)();
+ (*pvar_func_register_func_genRunId_proc)();
+ (*pvar_func_register_func_writeRunId_init)();
+ (*pvar_func_register_func_writeRunId_proc)();
+ iocshRegisterVariable(vardefs);
+ return 0;
+}
+
+/* registerRecordDeviceDriver */
+static const iocshArg registerRecordDeviceDriverArg0 =
+ {"pdbbase",iocshArgPdbbase};
+static const iocshArg *registerRecordDeviceDriverArgs[1] =
+ {®isterRecordDeviceDriverArg0};
+static const iocshFuncDef registerRecordDeviceDriverFuncDef =
+ {"ebctrl_registerRecordDeviceDriver",1,registerRecordDeviceDriverArgs};
+static void registerRecordDeviceDriverCallFunc(const iocshArgBuf *)
+{
+ ebctrl_registerRecordDeviceDriver(pdbbase);
+}
+
+} // extern "C"
+/*
+ * Register commands on application startup
+ */
+#include "iocshRegisterCommon.h"
+class IoccrfReg {
+ public:
+ IoccrfReg() {
+ iocshRegisterCommon();
+ iocshRegister(®isterRecordDeviceDriverFuncDef,registerRecordDeviceDriverCallFunc);
+ }
+};
+#if !defined(__GNUC__) || !(__GNUC__<2 || (__GNUC__==2 && __GNUC_MINOR__<=95))
+namespace { IoccrfReg iocshReg; }
+#else
+IoccrfReg iocshReg;
+#endif
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/registryCommon.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/iocshRegisterCommon.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbBase.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbStaticLib.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbAccess.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/devSup.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/drvSup.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/recSup.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/registryRecordType.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/iocsh.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/shareLib.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbFldTypes.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/ellLib.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbDefs.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/link.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/errMdef.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/epicsTime.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/caeventmask.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbAddr.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbLock.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbAccessDefs.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbCa.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/dbCommon.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/db_field_log.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/epicsTypes.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/errlog.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/os/Linux/osdTime.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/epicsMutex.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/epicsAssert.h
+ebctrl_registerRecordDeviceDriver.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+
+
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+evtbuild.o : /home/scs/base-3.14.9/include/dbDefs.h
+evtbuild.o : /home/scs/base-3.14.9/include/registryFunction.h
+evtbuild.o : /home/scs/base-3.14.9/include/subRecord.h
+evtbuild.o : /home/scs/base-3.14.9/include/epicsExport.h
+evtbuild.o : ../../../include/genSubRecord.h
+evtbuild.o : ../../../include/worker.h
+evtbuild.o : /home/scs/base-3.14.9/include/errMdef.h
+evtbuild.o : /home/scs/base-3.14.9/include/epicsTypes.h
+evtbuild.o : /home/scs/base-3.14.9/include/shareLib.h
+evtbuild.o : /home/scs/base-3.14.9/include/ellLib.h
+evtbuild.o : /home/scs/base-3.14.9/include/epicsMutex.h
+evtbuild.o : /home/scs/base-3.14.9/include/link.h
+evtbuild.o : /home/scs/base-3.14.9/include/epicsTime.h
+evtbuild.o : ../../../include/psxshm.h
+evtbuild.o : /home/scs/base-3.14.9/include/errlog.h
+evtbuild.o : /home/scs/base-3.14.9/include/epicsAssert.h
+evtbuild.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+evtbuild.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+evtbuild.o : /home/scs/base-3.14.9/include/os/Linux/osdTime.h
+
+
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+genSubRecord.o : /home/scs/base-3.14.9/include/alarm.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbDefs.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbEvent.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbAccess.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbFldTypes.h
+genSubRecord.o : /home/scs/base-3.14.9/include/errMdef.h
+genSubRecord.o : /home/scs/base-3.14.9/include/recSup.h
+genSubRecord.o : /home/scs/base-3.14.9/include/devSup.h
+genSubRecord.o : /home/scs/base-3.14.9/include/special.h
+genSubRecord.o : /home/scs/base-3.14.9/include/registryFunction.h
+genSubRecord.o : /home/scs/base-3.14.9/include/epicsExport.h
+genSubRecord.o : /home/scs/base-3.14.9/include/recGbl.h
+genSubRecord.o : ../../../include/genSubRecord.h
+genSubRecord.o : /home/scs/base-3.14.9/include/shareLib.h
+genSubRecord.o : /home/scs/base-3.14.9/include/epicsTypes.h
+genSubRecord.o : /home/scs/base-3.14.9/include/epicsThread.h
+genSubRecord.o : /home/scs/base-3.14.9/include/epicsTime.h
+genSubRecord.o : /home/scs/base-3.14.9/include/caeventmask.h
+genSubRecord.o : /home/scs/base-3.14.9/include/link.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbBase.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbAddr.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbLock.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbAccessDefs.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbCa.h
+genSubRecord.o : /home/scs/base-3.14.9/include/dbCommon.h
+genSubRecord.o : /home/scs/base-3.14.9/include/db_field_log.h
+genSubRecord.o : /home/scs/base-3.14.9/include/ellLib.h
+genSubRecord.o : /home/scs/base-3.14.9/include/errlog.h
+genSubRecord.o : /home/scs/base-3.14.9/include/epicsMutex.h
+genSubRecord.o : /home/scs/base-3.14.9/include/epicsEvent.h
+genSubRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdThread.h
+genSubRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdTime.h
+genSubRecord.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+genSubRecord.o : /home/scs/base-3.14.9/include/epicsAssert.h
+genSubRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+genSubRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdEvent.h
+
+
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+genrunid.o : /home/scs/base-3.14.9/include/dbDefs.h
+genrunid.o : /home/scs/base-3.14.9/include/registryFunction.h
+genrunid.o : /home/scs/base-3.14.9/include/subRecord.h
+genrunid.o : /home/scs/base-3.14.9/include/epicsExport.h
+genrunid.o : /home/scs/base-3.14.9/include/errMdef.h
+genrunid.o : /home/scs/base-3.14.9/include/epicsTypes.h
+genrunid.o : /home/scs/base-3.14.9/include/shareLib.h
+genrunid.o : /home/scs/base-3.14.9/include/ellLib.h
+genrunid.o : /home/scs/base-3.14.9/include/epicsMutex.h
+genrunid.o : /home/scs/base-3.14.9/include/link.h
+genrunid.o : /home/scs/base-3.14.9/include/epicsTime.h
+genrunid.o : /home/scs/base-3.14.9/include/errlog.h
+genrunid.o : /home/scs/base-3.14.9/include/epicsAssert.h
+genrunid.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+genrunid.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+genrunid.o : /home/scs/base-3.14.9/include/os/Linux/osdTime.h
+
+
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+writerunid.o : /home/scs/base-3.14.9/include/dbDefs.h
+writerunid.o : /home/scs/base-3.14.9/include/registryFunction.h
+writerunid.o : /home/scs/base-3.14.9/include/subRecord.h
+writerunid.o : /home/scs/base-3.14.9/include/epicsExport.h
+writerunid.o : ../../../include/worker.h
+writerunid.o : /home/scs/base-3.14.9/include/errMdef.h
+writerunid.o : /home/scs/base-3.14.9/include/epicsTypes.h
+writerunid.o : /home/scs/base-3.14.9/include/shareLib.h
+writerunid.o : /home/scs/base-3.14.9/include/ellLib.h
+writerunid.o : /home/scs/base-3.14.9/include/epicsMutex.h
+writerunid.o : /home/scs/base-3.14.9/include/link.h
+writerunid.o : /home/scs/base-3.14.9/include/epicsTime.h
+writerunid.o : ../../../include/psxshm.h
+writerunid.o : /home/scs/base-3.14.9/include/errlog.h
+writerunid.o : /home/scs/base-3.14.9/include/epicsAssert.h
+writerunid.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+writerunid.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+writerunid.o : /home/scs/base-3.14.9/include/os/Linux/osdTime.h
+
+
--- /dev/null
+# DO NOT EDIT: This file created by mkmf.pl,v 1.5 2002/03/25 21:33:24 jba Exp $
+
+xxxRecord.o : /home/scs/base-3.14.9/include/alarm.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbAccess.h
+xxxRecord.o : /home/scs/base-3.14.9/include/recGbl.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbEvent.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbDefs.h
+xxxRecord.o : /home/scs/base-3.14.9/include/devSup.h
+xxxRecord.o : /home/scs/base-3.14.9/include/errMdef.h
+xxxRecord.o : /home/scs/base-3.14.9/include/recSup.h
+xxxRecord.o : /home/scs/base-3.14.9/include/special.h
+xxxRecord.o : ../../../include/xxxRecord.h
+xxxRecord.o : /home/scs/base-3.14.9/include/epicsExport.h
+xxxRecord.o : /home/scs/base-3.14.9/include/shareLib.h
+xxxRecord.o : /home/scs/base-3.14.9/include/epicsTypes.h
+xxxRecord.o : /home/scs/base-3.14.9/include/epicsTime.h
+xxxRecord.o : /home/scs/base-3.14.9/include/caeventmask.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbFldTypes.h
+xxxRecord.o : /home/scs/base-3.14.9/include/link.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbBase.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbAddr.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbLock.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbAccessDefs.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbCa.h
+xxxRecord.o : /home/scs/base-3.14.9/include/dbCommon.h
+xxxRecord.o : /home/scs/base-3.14.9/include/db_field_log.h
+xxxRecord.o : /home/scs/base-3.14.9/include/epicsThread.h
+xxxRecord.o : /home/scs/base-3.14.9/include/ellLib.h
+xxxRecord.o : /home/scs/base-3.14.9/include/errlog.h
+xxxRecord.o : /home/scs/base-3.14.9/include/epicsMutex.h
+xxxRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdTime.h
+xxxRecord.o : /home/scs/base-3.14.9/include/epicsEvent.h
+xxxRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdThread.h
+xxxRecord.o : /home/scs/base-3.14.9/include/compilerDependencies.h
+xxxRecord.o : /home/scs/base-3.14.9/include/epicsAssert.h
+xxxRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdMutex.h
+xxxRecord.o : /home/scs/base-3.14.9/include/os/Linux/osdEvent.h
+
+
--- /dev/null
+#include <stdio.h>
+
+#include <dbDefs.h>
+#include <registryFunction.h>
+#include <subRecord.h>
+#include <epicsExport.h>
+
+int mySubDebug;
+
+typedef long (*processMethod)(subRecord *precord);
+
+static long mySubInit(subRecord *precord,processMethod process)
+{
+ if (mySubDebug)
+ printf("Record %s called mySubInit(%p, %p)\n",
+ precord->name, (void*) precord, (void*) process);
+ return(0);
+}
+
+static long mySubProcess(subRecord *precord)
+{
+ if (mySubDebug)
+ printf("Record %s called mySubProcess(%p)\n",
+ precord->name, (void*) precord);
+ return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, mySubDebug);
+epicsRegisterFunction(mySubInit);
+epicsRegisterFunction(mySubProcess);
--- /dev/null
+variable(mySubDebug)
+function(mySubInit)
+function(mySubProcess)
--- /dev/null
+/* devXxxSoft.c */
+/* Example device support module */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "alarm.h"
+#include "cvtTable.h"
+#include "dbDefs.h"
+#include "dbAccess.h"
+#include "recGbl.h"
+#include "recSup.h"
+#include "devSup.h"
+#include "link.h"
+#include "xxxRecord.h"
+#include "epicsExport.h"
+
+/*Create the dset for devXxxSoft */
+static long init_record();
+static long read_xxx();
+struct {
+ long number;
+ DEVSUPFUN report;
+ DEVSUPFUN init;
+ DEVSUPFUN init_record;
+ DEVSUPFUN get_ioint_info;
+ DEVSUPFUN read_xxx;
+}devXxxSoft={
+ 5,
+ NULL,
+ NULL,
+ init_record,
+ NULL,
+ read_xxx,
+};
+epicsExportAddress(dset,devXxxSoft);
+\f
+
+static long init_record(pxxx)
+ struct xxxRecord *pxxx;
+{
+ if(recGblInitConstantLink(&pxxx->inp,DBF_DOUBLE,&pxxx->val))
+ pxxx->udf = FALSE;
+ return(0);
+}
+\f
+static long read_xxx(pxxx)
+ struct xxxRecord *pxxx;
+{
+ long status;
+
+ status = dbGetLink(&(pxxx->inp),DBF_DOUBLE, &(pxxx->val),0,0);
+ /*If return was succesful then set undefined false*/
+ if(!status) pxxx->udf = FALSE;
+ return(0);
+}
--- /dev/null
+/* Example showing how to register a new command with iocsh */
+
+#include <stdio.h>
+
+#include <epicsExport.h>
+#include <iocsh.h>
+
+/* This is the command, which the vxWorks shell will call directly */
+void hello(const char *name) {
+ if (name) {
+ printf("Hello %s, from ebctrl\n", name);
+ } else {
+ puts("Hello from ebctrl");
+ }
+}
+
+/* Information needed by iocsh */
+static const iocshArg helloArg0 = {"name", iocshArgString};
+static const iocshArg *helloArgs[] = {&helloArg0};
+static const iocshFuncDef helloFuncDef = {"hello", 1, helloArgs};
+
+/* Wrapper called by iocsh, selects the argument types that hello needs */
+static void helloCallFunc(const iocshArgBuf *args) {
+ hello(args[0].sval);
+}
+
+/* Registration routine, runs at startup */
+static void helloRegister(void) {
+ iocshRegister(&helloFuncDef, helloCallFunc);
+}
+epicsExportRegistrar(helloRegister);
--- /dev/null
+registrar(helloRegister)
--- /dev/null
+/* ebctrlMain.cpp */
+/* Author: Marty Kraimer Date: 17MAR2000 */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "epicsExit.h"
+#include "epicsThread.h"
+#include "iocsh.h"
+
+int main(int argc,char *argv[])
+{
+ if(argc>=2) {
+ iocsh(argv[1]);
+ epicsThreadSleep(.2);
+ }
+ iocsh(NULL);
+ epicsExit(0);
+ return(0);
+}
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <dbDefs.h>
+#include <registryFunction.h>
+#include <subRecord.h>
+#include <epicsExport.h>
+#include <genSubRecord.h>
+
+#include "worker.h"
+
+int evtbuildDebug;
+
+long evtbuild_init( struct genSubRecord *pgsub )
+{
+ return(0);
+}
+
+long evtbuild_proc( struct genSubRecord *pgsub )
+{
+
+ unsigned long *out[7];
+ unsigned long *temp;
+ int i;
+
+ out[0] = (unsigned long *)pgsub->vala;
+ out[1] = (unsigned long *)pgsub->valb;
+ out[2] = (unsigned long *)pgsub->valc;
+ out[3] = (unsigned long *)pgsub->vald;
+ out[4] = (unsigned long *)pgsub->vale;
+ out[5] = (unsigned long *)pgsub->valf;
+ out[6] = (unsigned long *)pgsub->valg;
+ out[7] = (unsigned long *)pgsub->valh;
+
+ for( i=0; i<7; i++ )
+ *out[i] = 0;
+
+ if( Worker_getStatistic( "daq_evtbuild", "nrOfMsgs", out[0] ) == -1) {
+ *out[7] = 0; /* status: Event Builder is off */
+ if(evtbuildDebug)
+ printf("Worker_getStatistic failed for nrOfMsgs!\n");
+ }
+ else {
+ *out[7] = 1; /* status: Event Builder is on */
+ if(evtbuildDebug)
+ printf("Worker_getStatistic::nrOfMsgs = %lu\n", (*out[0]));
+ }
+
+ if( Worker_getStatistic( "daq_evtbuild", "bytesWritten", out[1] ) == -1)
+ if(evtbuildDebug)
+ printf("Worker_getStatistic failed for bytesWritten!\n");
+
+ if( Worker_getStatistic( "daq_evtbuild", "evtsComplete", out[2] ) == -1)
+ if(evtbuildDebug)
+ printf("Worker_getStatistic failed for evtsComplete!\n");
+
+ if( Worker_getStatistic( "daq_evtbuild", "evtsDiscarded", out[3] ) == -1)
+ if(evtbuildDebug)
+ printf("Worker_getStatistic failed for evtsDiscarded!\n");
+
+ if( Worker_getStatistic( "daq_evtbuild", "evtsDataError", out[4] ) == -1)
+ if(evtbuildDebug)
+ printf("Worker_getStatistic failed for evtsDataError!\n");
+
+ if( Worker_getStatistic( "daq_evtbuild", "evtsTagError", out[5] ) == -1)
+ if(evtbuildDebug)
+ printf("Worker_getStatistic failed for evtsTagError!\n");
+
+ char buf[100];
+ for( i=0; i<(*out[0]); i++ ) {
+
+ sprintf( buf, "evtbuildBuff%d", i );
+
+ if( Worker_getStatistic( "daq_evtbuild", buf, out[6] ) == -1) {
+ if(evtbuildDebug)
+ printf("Worker_getStatistic failed for %s!\n", buf);
+ }
+ else {
+ if(evtbuildDebug)
+ printf("%s = %lu\n", buf, *out[6]);
+
+ out[6]++;
+ }
+ }
+
+ return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, evtbuildDebug);
+epicsRegisterFunction(evtbuild_init);
+epicsRegisterFunction(evtbuild_proc);
--- /dev/null
+variable(evtbuildDebug)
+function(evtbuild_init)
+function(evtbuild_proc)
\ No newline at end of file
--- /dev/null
+/* genSubRecord.c - Record Support Routines for
+ * General Subroutine Records
+ *
+ * Author: Andy Foster
+ *
+ * History
+ * -------
+ * Version 1.0 12/11/96 ajf Created.
+ * Version 1.1 18/04/97 ajf Fixed get_value, pvdes->pvalue, field.
+ * Version 1.2 18/06/97 ajf Changed number of fields from 10 to 21.
+ * Version 1.3 05/04/00 cjm Fixed bug where fldnames was defined as
+ * a static array. Cannot do this since there
+ * are many instances of the genSub record.
+ * Version 1.4 15/03/01 ajf Changes for 3.13.
+ * Set precision of VERS field to 1.
+ * Initialise "string" constants to 0.
+ * Replace "symFindbyName" by "symFindbyNameEPICS"
+ * for architectures which do not prepend an
+ * "_" (i.e. PPC).
+ * Version 1.5 11/12/03 ajf Changes to comply with the new macro for
+ * "dbGetLink" in EPICS 3.13.9.
+ * Version 1.6 16/03/04 wen Convert to R3.14.
+ *
+ */
+
+#define DEBUG 0
+#define VERSION 1.6
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <alarm.h>
+#include <dbDefs.h>
+#include <dbEvent.h>
+#include <dbAccess.h>
+#include <dbFldTypes.h>
+#include <errMdef.h>
+#include <recSup.h>
+#include <devSup.h>
+#include <special.h>
+#include <registryFunction.h>
+#include <epicsExport.h>
+#include <recGbl.h>
+
+#define GEN_SIZE_OFFSET
+#include <genSubRecord.h>
+#undef GEN_SIZE_OFFSET
+
+typedef long (*SUBFUNCPTR)(genSubRecord *);
+
+/* Create RSET - Record Support Entry Table*/
+
+static long init_record();
+static long process();
+static long get_value();
+static long get_precision();
+static long cvt_dbaddr();
+static long get_array_info();
+static long put_array_info();
+static long special();
+#define report NULL
+#define initialize NULL
+#define get_units NULL
+#define get_graphic_double NULL
+#define get_control_double NULL
+#define get_alarm_double NULL
+#define get_enum_str NULL
+#define get_enum_strs NULL
+#define put_enum_str NULL
+
+rset genSubRSET={
+ RSETNUMBER,
+ report,
+ initialize,
+ init_record,
+ process,
+ special,
+ get_value,
+ cvt_dbaddr,
+ get_array_info,
+ put_array_info,
+ get_units,
+ get_precision,
+ get_enum_str,
+ get_enum_strs,
+ put_enum_str,
+ get_graphic_double,
+ get_control_double,
+ get_alarm_double };
+epicsExportAddress(rset,genSubRSET);
+
+static void monitor( genSubRecord *, int );
+static long do_sub( genSubRecord * );
+static long findField( int, struct dbAddr *, long *, long );
+
+#define ARG_MAX 21
+#define MAX_ARRAY_SIZE 10000000
+#ifndef FLDNAME_SZ
+# define FLDNAME_SZ 4
+#endif
+
+/* These are the names of the Input fields */
+static char Ifldnames[ARG_MAX][FLDNAME_SZ+1] =
+ { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
+ "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U" };
+
+/* These are the names of the Output fields */
+static char Ofldnames[ARG_MAX][FLDNAME_SZ+1] =
+ { "VALA", "VALB", "VALC", "VALD", "VALE", "VALF", "VALG",
+ "VALH", "VALI", "VALJ", "VALK", "VALL", "VALM", "VALN",
+ "VALO", "VALP", "VALQ", "VALR", "VALS", "VALT", "VALU" };
+
+/* Sizes of field types */
+static int sizeofTypes[] = {0, 1, 1, 2, 2, 4, 4, 4, 8, 2};
+
+/* This is here so that input link checking can be switched on from the shell */
+int CHECKgensubLINKS = 0;
+
+
+static long init_record( genSubRecord *pgsub, int pass )
+{
+ SUBFUNCPTR psubroutine;
+ SUBFUNCPTR sub_addr;
+ long status;
+ long error;
+ int i;
+ int j;
+ char *ufunct;
+ unsigned short *typptr;
+ void **valptr;
+ void **ovlptr;
+ unsigned long *nelptr;
+ unsigned long *totptr;
+ unsigned long num;
+ struct link *plinkin;
+ struct link *plinkout;
+ char fldnames[ARG_MAX][FLDNAME_SZ+1];
+
+ status = 0;
+ if( pass == 0 )
+ {
+ pgsub->vers = VERSION;
+ for( j=0; j<2; j++ )
+ {
+ if( j == 0 ) /* Input fields */
+ {
+ ufunct = pgsub->ufa;
+ typptr = &pgsub->fta;
+ valptr = &pgsub->a;
+ ovlptr = NULL;
+ nelptr = &pgsub->noa;
+ memcpy( fldnames, Ifldnames, ARG_MAX*(FLDNAME_SZ+1) );
+ }
+ else /* Output fields */
+ {
+ ufunct = pgsub->ufva;
+ typptr = &pgsub->ftva;
+ valptr = &pgsub->vala;
+ ovlptr = &pgsub->ovla;
+ nelptr = &pgsub->nova;
+ memcpy( fldnames, Ofldnames, ARG_MAX*(FLDNAME_SZ+1) );
+ }
+ totptr = &pgsub->tova;
+
+ for( i=0; i<ARG_MAX; i++, ufunct+=40, typptr++, valptr++, nelptr++, totptr++ )
+ {
+ if( *nelptr <= 0 )
+ *nelptr = 1;
+
+ if( ufunct[0] != '\0' )
+ {
+ sub_addr = (SUBFUNCPTR)registryFunctionFind(ufunct);
+ if( sub_addr == NULL )
+ {
+ recGblRecordError(S_db_BadSub,(void *)pgsub,"genSubRecord(init_record)");
+ status = S_db_BadSub;
+ }
+ else
+ {
+ psubroutine = sub_addr;
+ *totptr = psubroutine(pgsub);
+
+ if( *typptr != DBF_CHAR )
+ *typptr = DBF_CHAR;
+
+ num = (*nelptr)*(*totptr);
+ if( num > MAX_ARRAY_SIZE )
+ {
+ printf("Link %s - Array too large! %ld Bytes\n", fldnames[i], num);
+ status = S_db_errArg;
+ }
+ else
+ {
+ *valptr = (char *)calloc( *nelptr, *totptr );
+ if( j == 1 )
+ *ovlptr = (char *)calloc( *nelptr, *totptr );
+ *nelptr = num;
+ *totptr = num;
+#if DEBUG
+ printf("Link(%s): Address = 0x%x, Bytes = %d\n", fldnames[i], (unsigned int)(*valptr), *totptr );
+#endif
+ }
+ }
+ }
+ else
+ {
+ if( *typptr == DBF_STRING )
+ {
+ num = (*nelptr)*MAX_STRING_SIZE;
+ if( num > MAX_ARRAY_SIZE )
+ {
+ printf("Link %s - Array too large! %ld Bytes\n", fldnames[i], num);
+ status = S_db_errArg;
+ }
+ else
+ {
+ *valptr = (char *)calloc( *nelptr, MAX_STRING_SIZE );
+ if( j == 1 )
+ *ovlptr = (char *)calloc( *nelptr, MAX_STRING_SIZE );
+ *totptr = num;
+#if DEBUG
+ printf("Link(%s): Address = 0x%x, Bytes = %d\n", fldnames[i], (unsigned int)(*valptr), *totptr);
+#endif
+ }
+ }
+ else
+ {
+ if( *typptr > DBF_ENUM )
+ *typptr = 2;
+ num = (*nelptr)*sizeofTypes[*typptr];
+ if( num > MAX_ARRAY_SIZE )
+ {
+ printf("Link %s - Array too large! %ld Bytes\n", fldnames[i], num);
+ status = S_db_errArg;
+ }
+ else
+ {
+ *valptr = (char *)calloc( *nelptr, sizeofTypes[*typptr] );
+ if( j == 1 )
+ *ovlptr = (char *)calloc( *nelptr, sizeofTypes[*typptr] );
+ *totptr = num;
+#if DEBUG
+ printf("Link(%s): Address = 0x%x, Bytes = %d\n", fldnames[i], (unsigned int)(*valptr), *totptr);
+#endif
+ }
+ }
+ }
+ if( j == 1 )
+ ovlptr++;
+ }
+ if( status )
+ return(status);
+ }
+ return(status);
+ }
+ else if( pass == 1 )
+ {
+ /* Deal with the Subroutine Input Link */
+
+ switch( pgsub->subl.type )
+ {
+ case (CONSTANT):
+ if( pgsub->lflg == genSubLFLG_READ )
+ {
+ recGblInitConstantLink( &pgsub->subl, DBF_STRING, pgsub->snam );
+ if( !strncmp(pgsub->snam, "0.0", 3) )
+ strcpy(pgsub->snam, " ");
+ }
+ break;
+
+ case (PV_LINK):
+ case (DB_LINK):
+ case (CA_LINK):
+ break;
+
+ default:
+ recGblRecordError( S_db_badField, (void *)pgsub,
+ "genSubRecord(init_record) Illegal SUBROUTINE LINK" );
+ status = S_db_badField;
+ break;
+ }
+
+ if( !status )
+ {
+ /* Initialise Input Links */
+
+ plinkin = &pgsub->inpa;
+ typptr = &pgsub->fta;
+ valptr = &pgsub->a;
+ nelptr = &pgsub->noa;
+ for( i=0; i<ARG_MAX; i++, plinkin++, typptr++, valptr++, nelptr++ )
+ {
+ switch( (*plinkin).type )
+ {
+ case (CONSTANT):
+#if DEBUG
+ printf("Input Link %s is a CONSTANT\n", Ifldnames[i] );
+#endif
+ if( *nelptr < 2 )
+ {
+ if( recGblInitConstantLink(plinkin, *typptr, *valptr) )
+ {
+ if( (*typptr == DBF_STRING) && (!strncmp((char *)(*valptr), "0.0", 3)) )
+ strcpy((char *)(*valptr), " ");
+ pgsub->udf = FALSE;
+ }
+ else
+ pgsub->udf = TRUE;
+ }
+ break;
+
+ case (PV_LINK):
+#if DEBUG
+ printf("Input Link %s is a PV_LINK\n", Ifldnames[i] );
+#endif
+ break;
+
+ case (CA_LINK):
+#if DEBUG
+ printf("Input Link %s is a CA_LINK\n", Ifldnames[i] );
+#endif
+ break;
+
+ case (DB_LINK):
+#if DEBUG
+ printf("Input Link %s is a DB_LINK\n", Ifldnames[i] );
+#endif
+ break;
+
+ default:
+ recGblRecordError( S_db_badField, (void *)pgsub,
+ "genSubRecord(init_record) Illegal INPUT LINK" );
+ status = S_db_badField;
+ break;
+ }
+ }
+
+ if( status )
+ return(status);
+
+ /* Initialise Output Links */
+
+ plinkout = &pgsub->outa;
+ typptr = &pgsub->ftva;
+ valptr = &pgsub->vala;
+ for( i=0; i<ARG_MAX; i++, plinkout++, typptr++, valptr++ )
+ {
+ switch( (*plinkout).type )
+ {
+ case (CONSTANT):
+#if DEBUG
+ printf("Output Link %s is a CONSTANT\n", Ofldnames[i] );
+#endif
+ break;
+
+ case (PV_LINK):
+#if DEBUG
+ printf("Output Link %s is a PV_LINK\n", Ofldnames[i] );
+#endif
+ break;
+
+ case (CA_LINK):
+#if DEBUG
+ printf("Output Link %s is a CA_LINK\n", Ofldnames[i] );
+#endif
+ break;
+
+ case (DB_LINK):
+#if DEBUG
+ printf("Output Link %s is a DB_LINK\n", Ofldnames[i] );
+#endif
+ break;
+
+ default:
+ recGblRecordError( S_db_badField, (void *)pgsub,
+ "genSubRecord(init_record) Illegal OUTPUT LINK" );
+ status = S_db_badField;
+ break;
+ }
+ }
+
+ if( !status )
+ {
+ /* Find the user initialisation routine and call it if there is one */
+
+ if( pgsub->inam[0] != '\0' )
+ {
+ sub_addr = (SUBFUNCPTR)registryFunctionFind(pgsub->inam);
+ if( sub_addr == NULL )
+ {
+ recGblRecordError(S_db_BadSub,(void *)pgsub,"genSubRecord(init_record)");
+ status = S_db_BadSub;
+ }
+ else
+ {
+ psubroutine = sub_addr;
+ error = psubroutine(pgsub);
+ }
+ }
+ }
+
+ if( !status )
+ {
+ if( pgsub->lflg == genSubLFLG_IGNORE )
+ {
+ if( pgsub->snam[0] != '\0' )
+ {
+ sub_addr = (SUBFUNCPTR)registryFunctionFind(pgsub->snam);
+#if DEBUG
+ printf("Calling registryFunctionFind from init_record\n");
+#endif
+ if( sub_addr == NULL )
+ {
+ recGblRecordError(S_db_BadSub,(void *)pgsub,"genSubRecord(init_record)");
+ status = S_db_BadSub;
+ }
+ else
+ pgsub->sadr = (long)sub_addr;
+ }
+ }
+ }
+ }
+ }
+ return( status );
+}
+
+
+static long process( genSubRecord *pgsub )
+{
+ int i;
+ int j;
+ int len;
+ SUBFUNCPTR sub_addr;
+ long status;
+ struct link *plinkin;
+ struct link *plinkout;
+ unsigned short *typptr;
+ unsigned long *nelptr;
+ long nRequest;
+ long options;
+ void **valptr;
+
+ pgsub->pact = TRUE;
+ status = 0;
+
+ if( pgsub->lflg == genSubLFLG_READ )
+ {
+ /* Get the Subroutine Name from the Link and look it up */
+
+ nRequest = 1;
+ options = 0;
+ status = dbGetLink( &(pgsub->subl), DBR_STRING, pgsub->snam, &options, &nRequest );
+ if( !status )
+ {
+ if( pgsub->snam[0] != '\0' )
+ {
+ if( strcmp(pgsub->snam, pgsub->onam) )
+ {
+ /* To save time, only look up the routine if it has a different name */
+
+ strcpy(pgsub->onam, pgsub->snam);
+ sub_addr = (SUBFUNCPTR)registryFunctionFind(pgsub->snam);
+#if DEBUG
+ printf("Calling registryFunctionFind from process\n");
+#endif
+ if( sub_addr == NULL)
+ {
+ recGblRecordError(S_db_BadSub,(void *)pgsub,"genSubRecord(process) registryFunctionFind failed");
+ status = S_db_BadSub;
+ }
+ else
+ pgsub->sadr = (long)sub_addr;
+ }
+ }
+ }
+ }
+
+ /* Get the Values from the input links */
+
+ if( !status )
+ {
+ plinkin = &pgsub->inpa;
+ valptr = &pgsub->a;
+ nelptr = &pgsub->noa;
+ typptr = &pgsub->fta;
+ for( i=0; i<ARG_MAX; i++, plinkin++, valptr++, nelptr++, typptr++ )
+ {
+ nRequest = *nelptr;
+ options = 0;
+ status = dbGetLink( plinkin, *typptr, *valptr, &options, &nRequest );
+ if( status )
+ {
+ if( CHECKgensubLINKS )
+ {
+ if( !dbIsLinkConnected(plinkin) )
+ {
+ len = strlen(pgsub->name);
+ printf("genSub=\"%s\"", pgsub->name);
+ for( j=0; j<PVNAME_STRINGSZ-len; j++ )
+ printf(" ");
+ printf(", Disconnected Link (%s) to \"%s\"\n", Ifldnames[i], plinkin->value.pv_link.pvname );
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ /* From EPICS 3.13.8, dbGetLink returns -1 if the link is */
+ /* a disconnected CA link. This means that the user routine */
+ /* will no longer be called in this case. Neither will the */
+ /* values be placed on the output links. This is consistent */
+ /* with the records in EPICS base. */
+
+ if( !status )
+ pgsub->val = do_sub(pgsub);
+
+ /* Put the values on the output links */
+
+ if( !status )
+ {
+ plinkout = &pgsub->outa;
+ valptr = &pgsub->vala;
+ nelptr = &pgsub->nova;
+ typptr = &pgsub->ftva;
+ for( i=0; i<ARG_MAX; i++, plinkout++, valptr++, nelptr++, typptr++ )
+ {
+ nRequest = *nelptr;
+ status = dbPutLink( plinkout, *typptr, *valptr, nRequest );
+ status = 0;
+
+/*
+ Do not check this because dbPutLink returns -1 if channel not connected!
+ if( status )
+ {
+ printf("Status %d from recGblPutLinkValue (%s)\n", status, Ofldnames[i]);
+ break;
+ }
+*/
+ }
+ }
+
+ /* These routines should always be called */
+
+ recGblGetTimeStamp( pgsub );
+ monitor(pgsub, 1);
+ recGblFwdLink(pgsub);
+ pgsub->pact = FALSE;
+
+ return(0);
+}
+
+
+static long get_precision( struct dbAddr *paddr, long *precision )
+{
+ genSubRecord *pgsub;
+ int fieldIndex;
+
+ fieldIndex = dbGetFieldIndex(paddr);
+ if( fieldIndex == genSubRecordVERS )
+ {
+ *precision = 1;
+ return 0;
+ }
+
+ pgsub = (genSubRecord *)paddr->precord;
+ *precision = pgsub->prec;
+ if( paddr->pfield == (void *)&pgsub->val )
+ return(0);
+ recGblGetPrec(paddr,precision);
+ return(0);
+}
+
+
+static long get_value( genSubRecord *pgsub, struct valueDes *pvdes )
+{
+#if DEBUG
+ printf("Calling get_value...\n");
+#endif
+ pvdes->no_elements = 1;
+ pvdes->pvalue = (void *)(&pgsub->val);
+ pvdes->field_type = DBF_LONG;
+ return(0);
+}
+
+
+static void monitor( genSubRecord *pgsub, int reset )
+{
+ int i;
+ unsigned short monitor_mask;
+ unsigned long *totptr;
+ void **valptr;
+ void **ovlptr;
+
+ if( reset )
+ monitor_mask = recGblResetAlarms(pgsub);
+ else
+ monitor_mask = 0;
+
+ monitor_mask |= DBE_VALUE | DBE_LOG;
+
+ /* Post events for SADR (subroutine address) whenever this routine is called */
+
+ if( monitor_mask )
+ {
+ if( pgsub->sadr != pgsub->osad )
+ {
+ db_post_events(pgsub, &pgsub->sadr, monitor_mask);
+ pgsub->osad = pgsub->sadr;
+ }
+ }
+
+ /* Post events for VAL and output fields when this routine called from process */
+ /* Event posting on output arrays depends on the setting of pgsub->eflg */
+
+ if( reset )
+ {
+ if( monitor_mask )
+ {
+ if( pgsub->val != pgsub->oval )
+ {
+ db_post_events(pgsub, &pgsub->val, monitor_mask);
+ pgsub->oval = pgsub->val;
+ }
+ }
+ if( pgsub->eflg == genSubEFLG_NEVER )
+ return;
+ else if( pgsub->eflg == genSubEFLG_ON_CHANGE )
+ {
+ if(monitor_mask)
+ {
+ valptr = &pgsub->vala;
+ ovlptr = &pgsub->ovla;
+ totptr = &pgsub->tova;
+ for( i=0; i<ARG_MAX; i++, valptr++, ovlptr++, totptr++ )
+ {
+ if( memcmp(*ovlptr, *valptr, *totptr) )
+ {
+#if DEBUG
+ printf("Differences in field %s were found. Total Bytes = %d\n", Ofldnames[i], *totptr);
+#endif
+ memcpy( *ovlptr, *valptr, *totptr );
+ db_post_events(pgsub, *valptr, monitor_mask);
+ }
+ }
+ }
+ }
+ else if( pgsub->eflg == genSubEFLG_ALWAYS )
+ {
+ if(monitor_mask)
+ {
+ valptr = &pgsub->vala;
+ for( i=0; i<ARG_MAX; i++, valptr++ )
+ db_post_events(pgsub, *valptr, monitor_mask);
+ }
+ }
+ }
+ return;
+}
+
+
+static long do_sub( genSubRecord *pgsub )
+{
+ long status;
+ SUBFUNCPTR psubroutine;
+
+ /* If there is a routine, call it */
+
+ if( pgsub->snam[0] != '\0' )
+ {
+ psubroutine = (SUBFUNCPTR)((void *)pgsub->sadr);
+ if( psubroutine == NULL)
+ {
+ recGblRecordError(S_db_BadSub,(void *)pgsub,"genSubRecord(process) NO SUBROUTINE");
+ status = S_db_BadSub;
+ }
+ else
+ {
+ status = psubroutine(pgsub);
+ if( status < 0 )
+ recGblSetSevr(pgsub, SOFT_ALARM, pgsub->brsv);
+ else
+ pgsub->udf = FALSE;
+ }
+ }
+ else
+ status = 0;
+
+ return( status );
+}
+
+
+static long cvt_dbaddr( struct dbAddr *paddr )
+{
+ int error;
+ int flag;
+ long no_elements;
+ long nNew;
+
+#if DEBUG
+ printf("Calling cvt_dbaddr...\n");
+#endif
+
+ flag = 1;
+ nNew = 0;
+ error = findField( flag, paddr, &no_elements, nNew );
+ if( error )
+ printf("cvt_dbaddr: Could not find field\n");
+ return(0);
+}
+
+
+static long get_array_info( struct dbAddr *paddr, long *no_elements, long *offset )
+{
+ int error;
+ int flag;
+ long nNew;
+
+#if DEBUG
+ printf("Calling get_array_info...\n");
+#endif
+ *offset = 0;
+ nNew = 0;
+ flag = 2;
+ error = findField( flag, paddr, no_elements, nNew );
+ if( error )
+ printf("get_array_info: Could not find field\n");
+ return(0);
+}
+
+
+static long put_array_info( struct dbAddr *paddr, long nNew )
+{
+ int error;
+ int flag;
+ long no_elements;
+
+#if DEBUG
+ printf("Calling put_array_info...\n");
+#endif
+ flag = 3;
+ error = findField( flag, paddr, &no_elements, nNew );
+ if( error )
+ printf("put_array_info: Could not find field\n");
+ return(0);
+}
+
+
+static long special( struct dbAddr *paddr, int after )
+{
+ genSubRecord *pgsub;
+ SUBFUNCPTR sub_addr;
+
+ pgsub = (genSubRecord *)paddr->precord;
+ if( after )
+ {
+ if( pgsub->lflg == genSubLFLG_IGNORE )
+ {
+ if( pgsub->snam[0] != '\0' )
+ {
+ sub_addr = (SUBFUNCPTR)registryFunctionFind(pgsub->snam);
+#if DEBUG
+ printf("Calling registryFunctionFind from special\n");
+#endif
+ if( sub_addr == NULL)
+ {
+ recGblRecordError(S_db_BadSub,(void *)pgsub,"genSubRecord(special) registryFunctionFind failed");
+ return(S_db_BadSub);
+ }
+ else
+ {
+ pgsub->sadr = (long)sub_addr;
+ monitor(pgsub, 0);
+ }
+ }
+ }
+ }
+ return(0);
+}
+
+
+static long findField( int flag, struct dbAddr *paddr, long *no_elements, long nNew )
+{
+ long error;
+ int fieldIndex;
+ genSubRecord *pgsub;
+
+ pgsub = (genSubRecord *)paddr->precord;
+ error = 0;
+ fieldIndex = dbGetFieldIndex(paddr);
+ switch( fieldIndex )
+ {
+ case genSubRecordA:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->a;
+ paddr->no_elements = pgsub->noa;
+ paddr->field_type = pgsub->fta;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noa;
+ else if( flag == 3 )
+ pgsub->noa = nNew;
+ break;
+
+ case genSubRecordB:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->b;
+ paddr->no_elements = pgsub->nob;
+ paddr->field_type = pgsub->ftb;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nob;
+ else if( flag == 3 )
+ pgsub->nob = nNew;
+ break;
+
+ case genSubRecordC:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->c;
+ paddr->no_elements = pgsub->noc;
+ paddr->field_type = pgsub->ftc;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noc;
+ else if( flag == 3 )
+ pgsub->noc = nNew;
+ break;
+
+ case genSubRecordD:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->d;
+ paddr->no_elements = pgsub->nod;
+ paddr->field_type = pgsub->ftd;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nod;
+ else if( flag == 3 )
+ pgsub->nod = nNew;
+ break;
+
+ case genSubRecordE:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->e;
+ paddr->no_elements = pgsub->noe;
+ paddr->field_type = pgsub->fte;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noe;
+ else if( flag == 3 )
+ pgsub->noe = nNew;
+ break;
+
+ case genSubRecordF:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->f;
+ paddr->no_elements = pgsub->nof;
+ paddr->field_type = pgsub->ftf;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nof;
+ else if( flag == 3 )
+ pgsub->nof = nNew;
+ break;
+
+ case genSubRecordG:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->g;
+ paddr->no_elements = pgsub->nog;
+ paddr->field_type = pgsub->ftg;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nog;
+ else if( flag == 3 )
+ pgsub->nog = nNew;
+ break;
+
+ case genSubRecordH:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->h;
+ paddr->no_elements = pgsub->noh;
+ paddr->field_type = pgsub->fth;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noh;
+ else if( flag == 3 )
+ pgsub->noh = nNew;
+ break;
+
+ case genSubRecordI:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->i;
+ paddr->no_elements = pgsub->noi;
+ paddr->field_type = pgsub->fti;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noi;
+ else if( flag == 3 )
+ pgsub->noi = nNew;
+ break;
+
+ case genSubRecordJ:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->j;
+ paddr->no_elements = pgsub->noj;
+ paddr->field_type = pgsub->ftj;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noj;
+ else if( flag == 3 )
+ pgsub->noj = nNew;
+ break;
+
+ case genSubRecordK:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->k;
+ paddr->no_elements = pgsub->nok;
+ paddr->field_type = pgsub->ftk;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nok;
+ else if( flag == 3 )
+ pgsub->nok = nNew;
+ break;
+
+ case genSubRecordL:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->l;
+ paddr->no_elements = pgsub->nol;
+ paddr->field_type = pgsub->ftl;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nol;
+ else if( flag == 3 )
+ pgsub->nol = nNew;
+ break;
+
+ case genSubRecordM:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->m;
+ paddr->no_elements = pgsub->nom;
+ paddr->field_type = pgsub->ftm;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nom;
+ else if( flag == 3 )
+ pgsub->nom = nNew;
+ break;
+
+ case genSubRecordN:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->n;
+ paddr->no_elements = pgsub->non;
+ paddr->field_type = pgsub->ftn;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->non;
+ else if( flag == 3 )
+ pgsub->non = nNew;
+ break;
+
+ case genSubRecordO:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->o;
+ paddr->no_elements = pgsub->noo;
+ paddr->field_type = pgsub->fto;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noo;
+ else if( flag == 3 )
+ pgsub->noo = nNew;
+ break;
+
+ case genSubRecordP:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->p;
+ paddr->no_elements = pgsub->nop;
+ paddr->field_type = pgsub->ftp;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nop;
+ else if( flag == 3 )
+ pgsub->nop = nNew;
+ break;
+
+ case genSubRecordQ:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->q;
+ paddr->no_elements = pgsub->noq;
+ paddr->field_type = pgsub->ftq;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->noq;
+ else if( flag == 3 )
+ pgsub->noq = nNew;
+ break;
+
+ case genSubRecordR:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->r;
+ paddr->no_elements = pgsub->nor;
+ paddr->field_type = pgsub->ftr;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nor;
+ else if( flag == 3 )
+ pgsub->nor = nNew;
+ break;
+
+ case genSubRecordS:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->s;
+ paddr->no_elements = pgsub->nos;
+ paddr->field_type = pgsub->fts;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nos;
+ else if( flag == 3 )
+ pgsub->nos = nNew;
+ break;
+
+ case genSubRecordT:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->t;
+ paddr->no_elements = pgsub->not;
+ paddr->field_type = pgsub->ftt;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->not;
+ else if( flag == 3 )
+ pgsub->not = nNew;
+ break;
+
+ case genSubRecordU:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->u;
+ paddr->no_elements = pgsub->nou;
+ paddr->field_type = pgsub->ftu;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nou;
+ else if( flag == 3 )
+ pgsub->nou = nNew;
+ break;
+
+ case genSubRecordVALA:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->vala;
+ paddr->no_elements = pgsub->nova;
+ paddr->field_type = pgsub->ftva;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nova;
+ else if( flag == 3 )
+ pgsub->nova = nNew;
+ break;
+
+ case genSubRecordVALB:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valb;
+ paddr->no_elements = pgsub->novb;
+ paddr->field_type = pgsub->ftvb;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novb;
+ else if( flag == 3 )
+ pgsub->novb = nNew;
+ break;
+
+ case genSubRecordVALC:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valc;
+ paddr->no_elements = pgsub->novc;
+ paddr->field_type = pgsub->ftvc;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novc;
+ else if( flag == 3 )
+ pgsub->novc = nNew;
+ break;
+
+ case genSubRecordVALD:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->vald;
+ paddr->no_elements = pgsub->novd;
+ paddr->field_type = pgsub->ftvd;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novd;
+ else if( flag == 3 )
+ pgsub->novd = nNew;
+ break;
+
+ case genSubRecordVALE:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->vale;
+ paddr->no_elements = pgsub->nove;
+ paddr->field_type = pgsub->ftve;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->nove;
+ else if( flag == 3 )
+ pgsub->nove = nNew;
+ break;
+
+ case genSubRecordVALF:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valf;
+ paddr->no_elements = pgsub->novf;
+ paddr->field_type = pgsub->ftvf;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novf;
+ else if( flag == 3 )
+ pgsub->novf = nNew;
+ break;
+
+ case genSubRecordVALG:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valg;
+ paddr->no_elements = pgsub->novg;
+ paddr->field_type = pgsub->ftvg;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novg;
+ else if( flag == 3 )
+ pgsub->novg = nNew;
+ break;
+
+ case genSubRecordVALH:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valh;
+ paddr->no_elements = pgsub->novh;
+ paddr->field_type = pgsub->ftvh;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novh;
+ else if( flag == 3 )
+ pgsub->novh = nNew;
+ break;
+
+ case genSubRecordVALI:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->vali;
+ paddr->no_elements = pgsub->novi;
+ paddr->field_type = pgsub->ftvi;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novi;
+ else if( flag == 3 )
+ pgsub->novi = nNew;
+ break;
+
+ case genSubRecordVALJ:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valj;
+ paddr->no_elements = pgsub->novj;
+ paddr->field_type = pgsub->ftvj;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novj;
+ else if( flag == 3 )
+ pgsub->novj = nNew;
+ break;
+
+ case genSubRecordVALK:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valk;
+ paddr->no_elements = pgsub->novk;
+ paddr->field_type = pgsub->ftvk;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novk;
+ else if( flag == 3 )
+ pgsub->novk = nNew;
+ break;
+
+ case genSubRecordVALL:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->vall;
+ paddr->no_elements = pgsub->novl;
+ paddr->field_type = pgsub->ftvl;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novl;
+ else if( flag == 3 )
+ pgsub->novl = nNew;
+ break;
+
+ case genSubRecordVALM:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valm;
+ paddr->no_elements = pgsub->novm;
+ paddr->field_type = pgsub->ftvm;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novm;
+ else if( flag == 3 )
+ pgsub->novm = nNew;
+ break;
+
+ case genSubRecordVALN:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valn;
+ paddr->no_elements = pgsub->novn;
+ paddr->field_type = pgsub->ftvn;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novn;
+ else if( flag == 3 )
+ pgsub->novn = nNew;
+ break;
+
+ case genSubRecordVALO:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valo;
+ paddr->no_elements = pgsub->novo;
+ paddr->field_type = pgsub->ftvo;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novo;
+ else if( flag == 3 )
+ pgsub->novo = nNew;
+ break;
+
+ case genSubRecordVALP:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valp;
+ paddr->no_elements = pgsub->novp;
+ paddr->field_type = pgsub->ftvp;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novp;
+ else if( flag == 3 )
+ pgsub->novp = nNew;
+ break;
+
+ case genSubRecordVALQ:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valq;
+ paddr->no_elements = pgsub->novq;
+ paddr->field_type = pgsub->ftvq;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novq;
+ else if( flag == 3 )
+ pgsub->novq = nNew;
+ break;
+
+ case genSubRecordVALR:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valr;
+ paddr->no_elements = pgsub->novr;
+ paddr->field_type = pgsub->ftvr;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novr;
+ else if( flag == 3 )
+ pgsub->novr = nNew;
+ break;
+
+ case genSubRecordVALS:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->vals;
+ paddr->no_elements = pgsub->novs;
+ paddr->field_type = pgsub->ftvs;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novs;
+ else if( flag == 3 )
+ pgsub->novs = nNew;
+ break;
+
+ case genSubRecordVALT:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valt;
+ paddr->no_elements = pgsub->novt;
+ paddr->field_type = pgsub->ftvt;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novt;
+ else if( flag == 3 )
+ pgsub->novt = nNew;
+ break;
+
+ case genSubRecordVALU:
+ if( flag == 1 )
+ {
+ paddr->pfield = pgsub->valu;
+ paddr->no_elements = pgsub->novu;
+ paddr->field_type = pgsub->ftvu;
+ }
+ else if( flag == 2 )
+ *no_elements = pgsub->novu;
+ else if( flag == 3 )
+ pgsub->novu = nNew;
+ break;
+
+ default:
+ error = 1;
+ break;
+ }
+
+ if( !error && flag == 1 )
+ {
+ paddr->dbr_field_type = paddr->field_type;
+ if( paddr->field_type == DBF_STRING )
+ paddr->field_size = MAX_STRING_SIZE;
+ else
+ paddr->field_size = sizeofTypes[paddr->field_type];
+ }
+
+ return(error);
+}
--- /dev/null
+menu(genSubLFLG) {
+ choice(genSubLFLG_IGNORE,"IGNORE")
+ choice(genSubLFLG_READ,"READ")
+}
+
+menu(genSubEFLG) {
+ choice(genSubEFLG_NEVER,"NEVER")
+ choice(genSubEFLG_ON_CHANGE,"ON CHANGE")
+ choice(genSubEFLG_ALWAYS,"ALWAYS")
+}
+recordtype(genSub) {
+ include "dbCommon.dbd"
+ field(VERS,DBF_DOUBLE) {
+ prompt("Version Number")
+ promptgroup(GUI_DISPLAY)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(VAL,DBF_LONG) {
+ prompt("Subr. return value")
+ asl(ASL0)
+ }
+ field(OVAL,DBF_LONG) {
+ prompt("Old return value")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(SADR,DBF_LONG) {
+ prompt("Subroutine Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OSAD,DBF_LONG) {
+ prompt("Old Subr. Address")
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(LFLG,DBF_MENU) {
+ prompt("Link Flag")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ menu(genSubLFLG)
+ }
+ field(EFLG,DBF_MENU) {
+ prompt("Event Flag")
+ promptgroup(GUI_OUTPUT)
+ interest(1)
+ menu(genSubEFLG)
+ }
+ field(SUBL,DBF_INLINK) {
+ prompt("Subroutine Input Link")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INAM,DBF_STRING) {
+ prompt("Init Routine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(SNAM,DBF_STRING) {
+ prompt("Process Subr. Name")
+ promptgroup(GUI_SUB)
+ special(SPC_MOD)
+ interest(1)
+ size(40)
+ }
+ field(ONAM,DBF_STRING) {
+ prompt("Old Subroutine Name")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(BRSV,DBF_MENU) {
+ prompt("Bad Return Severity")
+ promptgroup(GUI_SUB)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(INPA,DBF_INLINK) {
+ prompt("Input Link A")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPB,DBF_INLINK) {
+ prompt("Input Link B")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPC,DBF_INLINK) {
+ prompt("Input Link C")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPD,DBF_INLINK) {
+ prompt("Input Link D")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPE,DBF_INLINK) {
+ prompt("Input Link E")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPF,DBF_INLINK) {
+ prompt("Input Link F")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPG,DBF_INLINK) {
+ prompt("Input Link G")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPH,DBF_INLINK) {
+ prompt("Input Link H")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPI,DBF_INLINK) {
+ prompt("Input Link I")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPJ,DBF_INLINK) {
+ prompt("Input Link J")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPK,DBF_INLINK) {
+ prompt("Input Link K")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPL,DBF_INLINK) {
+ prompt("Input Link L")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPM,DBF_INLINK) {
+ prompt("Input Link M")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPN,DBF_INLINK) {
+ prompt("Input Link N")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPO,DBF_INLINK) {
+ prompt("Input Link O")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPP,DBF_INLINK) {
+ prompt("Input Link P")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPQ,DBF_INLINK) {
+ prompt("Input Link Q")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPR,DBF_INLINK) {
+ prompt("Input Link R")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPS,DBF_INLINK) {
+ prompt("Input Link S")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPT,DBF_INLINK) {
+ prompt("Input Link T")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(INPU,DBF_INLINK) {
+ prompt("Input Link U")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFA,DBF_STRING) {
+ prompt("Input Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFB,DBF_STRING) {
+ prompt("Input Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFC,DBF_STRING) {
+ prompt("Input Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFD,DBF_STRING) {
+ prompt("Input Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFE,DBF_STRING) {
+ prompt("Input Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFF,DBF_STRING) {
+ prompt("Input Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFG,DBF_STRING) {
+ prompt("Input Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFH,DBF_STRING) {
+ prompt("Input Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFI,DBF_STRING) {
+ prompt("Input Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFJ,DBF_STRING) {
+ prompt("Input Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFK,DBF_STRING) {
+ prompt("Input Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFL,DBF_STRING) {
+ prompt("Input Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFM,DBF_STRING) {
+ prompt("Input Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFN,DBF_STRING) {
+ prompt("Input Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFO,DBF_STRING) {
+ prompt("Input Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFP,DBF_STRING) {
+ prompt("Input Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFQ,DBF_STRING) {
+ prompt("Input Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFR,DBF_STRING) {
+ prompt("Input Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFS,DBF_STRING) {
+ prompt("Input Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFT,DBF_STRING) {
+ prompt("Input Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFU,DBF_STRING) {
+ prompt("Input Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(A,DBF_NOACCESS) {
+ prompt("Value of Input A")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *a")
+ }
+ field(B,DBF_NOACCESS) {
+ prompt("Value of Input B")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *b")
+ }
+ field(C,DBF_NOACCESS) {
+ prompt("Value of Input C")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *c")
+ }
+ field(D,DBF_NOACCESS) {
+ prompt("Value of Input D")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *d")
+ }
+ field(E,DBF_NOACCESS) {
+ prompt("Value of Input E")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *e")
+ }
+ field(F,DBF_NOACCESS) {
+ prompt("Value of Input F")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *f")
+ }
+ field(G,DBF_NOACCESS) {
+ prompt("Value of Input G")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *g")
+ }
+ field(H,DBF_NOACCESS) {
+ prompt("Value of Input H")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *h")
+ }
+ field(I,DBF_NOACCESS) {
+ prompt("Value of Input I")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *i")
+ }
+ field(J,DBF_NOACCESS) {
+ prompt("Value of Input J")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ pp(TRUE)
+ interest(1)
+ size(4)
+ extra("void *j")
+ }
+ field(K,DBF_NOACCESS) {
+ prompt("Value of Input K")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *k")
+ }
+ field(L,DBF_NOACCESS) {
+ prompt("Value of Input L")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *l")
+ }
+ field(M,DBF_NOACCESS) {
+ prompt("Value of Input M")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *m")
+ }
+ field(N,DBF_NOACCESS) {
+ prompt("Value of Input N")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *n")
+ }
+ field(O,DBF_NOACCESS) {
+ prompt("Value of Input O")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *o")
+ }
+ field(P,DBF_NOACCESS) {
+ prompt("Value of Input P")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *p")
+ }
+ field(Q,DBF_NOACCESS) {
+ prompt("Value of Input Q")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *q")
+ }
+ field(R,DBF_NOACCESS) {
+ prompt("Value of Input R")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *r")
+ }
+ field(S,DBF_NOACCESS) {
+ prompt("Value of Input S")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *s")
+ }
+ field(T,DBF_NOACCESS) {
+ prompt("Value of Input T")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *t")
+ }
+ field(U,DBF_NOACCESS) {
+ prompt("Value of Input U")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *u")
+ }
+ field(FTA,DBF_MENU) {
+ prompt("Type of A")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTB,DBF_MENU) {
+ prompt("Type of B")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTC,DBF_MENU) {
+ prompt("Type of C")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTD,DBF_MENU) {
+ prompt("Type of D")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTE,DBF_MENU) {
+ prompt("Type of E")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTF,DBF_MENU) {
+ prompt("Type of F")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTG,DBF_MENU) {
+ prompt("Type of G")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTH,DBF_MENU) {
+ prompt("Type of H")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTI,DBF_MENU) {
+ prompt("Type of I")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTJ,DBF_MENU) {
+ prompt("Type of J")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTK,DBF_MENU) {
+ prompt("Type of K")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTL,DBF_MENU) {
+ prompt("Type of L")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTM,DBF_MENU) {
+ prompt("Type of M")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTN,DBF_MENU) {
+ prompt("Type of N")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTO,DBF_MENU) {
+ prompt("Type of O")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTP,DBF_MENU) {
+ prompt("Type of P")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTQ,DBF_MENU) {
+ prompt("Type of Q")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTR,DBF_MENU) {
+ prompt("Type of R")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTS,DBF_MENU) {
+ prompt("Type of S")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTT,DBF_MENU) {
+ prompt("Type of T")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTU,DBF_MENU) {
+ prompt("Type of U")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(NOA,DBF_ULONG) {
+ prompt("No. in A")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOB,DBF_ULONG) {
+ prompt("No. in B")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOC,DBF_ULONG) {
+ prompt("No. in C")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOD,DBF_ULONG) {
+ prompt("No. in D")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOE,DBF_ULONG) {
+ prompt("No. in E")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOF,DBF_ULONG) {
+ prompt("No. in F")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOG,DBF_ULONG) {
+ prompt("No. in G")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOH,DBF_ULONG) {
+ prompt("No. in H")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOI,DBF_ULONG) {
+ prompt("No. in I")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOJ,DBF_ULONG) {
+ prompt("No. in J")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOK,DBF_ULONG) {
+ prompt("No. in K")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOL,DBF_ULONG) {
+ prompt("No. in L")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOM,DBF_ULONG) {
+ prompt("No. in M")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NON,DBF_ULONG) {
+ prompt("No. in N")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOO,DBF_ULONG) {
+ prompt("No. in O")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOP,DBF_ULONG) {
+ prompt("No. in P")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOQ,DBF_ULONG) {
+ prompt("No. in Q")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOR,DBF_ULONG) {
+ prompt("No. in R")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOS,DBF_ULONG) {
+ prompt("No. in S")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOT,DBF_ULONG) {
+ prompt("No. in T")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOU,DBF_ULONG) {
+ prompt("No. in U")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(OUTA,DBF_OUTLINK) {
+ prompt("Output Link A")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTB,DBF_OUTLINK) {
+ prompt("Output Link B")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTC,DBF_OUTLINK) {
+ prompt("Output Link C")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTD,DBF_OUTLINK) {
+ prompt("Output Link D")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTE,DBF_OUTLINK) {
+ prompt("Output Link E")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTF,DBF_OUTLINK) {
+ prompt("Output Link F")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTG,DBF_OUTLINK) {
+ prompt("Output Link G")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTH,DBF_OUTLINK) {
+ prompt("Output Link H")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTI,DBF_OUTLINK) {
+ prompt("Output Link I")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTJ,DBF_OUTLINK) {
+ prompt("Output Link J")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTK,DBF_OUTLINK) {
+ prompt("Output Link K")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTL,DBF_OUTLINK) {
+ prompt("Output Link L")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTM,DBF_OUTLINK) {
+ prompt("Output Link M")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTN,DBF_OUTLINK) {
+ prompt("Output Link N")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTO,DBF_OUTLINK) {
+ prompt("Output Link O")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTP,DBF_OUTLINK) {
+ prompt("Output Link P")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTQ,DBF_OUTLINK) {
+ prompt("Output Link Q")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTR,DBF_OUTLINK) {
+ prompt("Output Link R")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTS,DBF_OUTLINK) {
+ prompt("Output Link S")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTT,DBF_OUTLINK) {
+ prompt("Output Link T")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(OUTU,DBF_OUTLINK) {
+ prompt("Output Link U")
+ promptgroup(GUI_OUTPUT)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(UFVA,DBF_STRING) {
+ prompt("Output Structure A")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVB,DBF_STRING) {
+ prompt("Output Structure B")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVC,DBF_STRING) {
+ prompt("Output Structure C")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVD,DBF_STRING) {
+ prompt("Output Structure D")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVE,DBF_STRING) {
+ prompt("Output Structure E")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVF,DBF_STRING) {
+ prompt("Output Structure F")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVG,DBF_STRING) {
+ prompt("Output Structure G")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVH,DBF_STRING) {
+ prompt("Output Structure H")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVI,DBF_STRING) {
+ prompt("Output Structure I")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVJ,DBF_STRING) {
+ prompt("Output Structure J")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVK,DBF_STRING) {
+ prompt("Output Structure K")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVL,DBF_STRING) {
+ prompt("Output Structure L")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVM,DBF_STRING) {
+ prompt("Output Structure M")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVN,DBF_STRING) {
+ prompt("Output Structure N")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVO,DBF_STRING) {
+ prompt("Output Structure O")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVP,DBF_STRING) {
+ prompt("Output Structure P")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVQ,DBF_STRING) {
+ prompt("Output Structure Q")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVR,DBF_STRING) {
+ prompt("Output Structure R")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVS,DBF_STRING) {
+ prompt("Output Structure S")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVT,DBF_STRING) {
+ prompt("Output Structure T")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(UFVU,DBF_STRING) {
+ prompt("Output Structure U")
+ promptgroup(GUI_SUB)
+ special(SPC_NOMOD)
+ interest(1)
+ size(40)
+ }
+ field(VALA,DBF_NOACCESS) {
+ prompt("Value of Output A")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vala")
+ }
+ field(VALB,DBF_NOACCESS) {
+ prompt("Value of Output B")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valb")
+ }
+ field(VALC,DBF_NOACCESS) {
+ prompt("Value of Output C")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valc")
+ }
+ field(VALD,DBF_NOACCESS) {
+ prompt("Value of Output D")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vald")
+ }
+ field(VALE,DBF_NOACCESS) {
+ prompt("Value of Output E")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vale")
+ }
+ field(VALF,DBF_NOACCESS) {
+ prompt("Value of Output F")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valf")
+ }
+ field(VALG,DBF_NOACCESS) {
+ prompt("Value of Output G")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valg")
+ }
+ field(VALH,DBF_NOACCESS) {
+ prompt("Value of Output H")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valh")
+ }
+ field(VALI,DBF_NOACCESS) {
+ prompt("Value of Output I")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vali")
+ }
+ field(VALJ,DBF_NOACCESS) {
+ prompt("Value of Output J")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valj")
+ }
+ field(VALK,DBF_NOACCESS) {
+ prompt("Value of Output K")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valk")
+ }
+ field(VALL,DBF_NOACCESS) {
+ prompt("Value of Output L")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vall")
+ }
+ field(VALM,DBF_NOACCESS) {
+ prompt("Value of Output M")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valm")
+ }
+ field(VALN,DBF_NOACCESS) {
+ prompt("Value of Output N")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valn")
+ }
+ field(VALO,DBF_NOACCESS) {
+ prompt("Value of Output O")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valo")
+ }
+ field(VALP,DBF_NOACCESS) {
+ prompt("Value of Output P")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valp")
+ }
+ field(VALQ,DBF_NOACCESS) {
+ prompt("Value of Output Q")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valq")
+ }
+ field(VALR,DBF_NOACCESS) {
+ prompt("Value of Output R")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valr")
+ }
+ field(VALS,DBF_NOACCESS) {
+ prompt("Value of Output S")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *vals")
+ }
+ field(VALT,DBF_NOACCESS) {
+ prompt("Value of Output T")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valt")
+ }
+ field(VALU,DBF_NOACCESS) {
+ prompt("Value of Output U")
+ asl(ASL0)
+ special(SPC_DBADDR)
+ interest(1)
+ size(4)
+ extra("void *valu")
+ }
+ field(OVLA,DBF_NOACCESS) {
+ prompt("Old Output A")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovla")
+ }
+ field(OVLB,DBF_NOACCESS) {
+ prompt("Old Output B")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlb")
+ }
+ field(OVLC,DBF_NOACCESS) {
+ prompt("Old Output C")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlc")
+ }
+ field(OVLD,DBF_NOACCESS) {
+ prompt("Old Output D")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovld")
+ }
+ field(OVLE,DBF_NOACCESS) {
+ prompt("Old Output E")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovle")
+ }
+ field(OVLF,DBF_NOACCESS) {
+ prompt("Old Output F")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlf")
+ }
+ field(OVLG,DBF_NOACCESS) {
+ prompt("Old Output G")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlg")
+ }
+ field(OVLH,DBF_NOACCESS) {
+ prompt("Old Output H")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlh")
+ }
+ field(OVLI,DBF_NOACCESS) {
+ prompt("Old Output I")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovli")
+ }
+ field(OVLJ,DBF_NOACCESS) {
+ prompt("Old Output J")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlj")
+ }
+ field(OVLK,DBF_NOACCESS) {
+ prompt("Old Output K")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlk")
+ }
+ field(OVLL,DBF_NOACCESS) {
+ prompt("Old Output L")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovll")
+ }
+ field(OVLM,DBF_NOACCESS) {
+ prompt("Old Output M")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlm")
+ }
+ field(OVLN,DBF_NOACCESS) {
+ prompt("Old Output N")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovln")
+ }
+ field(OVLO,DBF_NOACCESS) {
+ prompt("Old Output O")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlo")
+ }
+ field(OVLP,DBF_NOACCESS) {
+ prompt("Old Output P")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlp")
+ }
+ field(OVLQ,DBF_NOACCESS) {
+ prompt("Old Output Q")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlq")
+ }
+ field(OVLR,DBF_NOACCESS) {
+ prompt("Old Output R")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlr")
+ }
+ field(OVLS,DBF_NOACCESS) {
+ prompt("Old Output S")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovls")
+ }
+ field(OVLT,DBF_NOACCESS) {
+ prompt("Old Output T")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlt")
+ }
+ field(OVLU,DBF_NOACCESS) {
+ prompt("Old Output U")
+ asl(ASL0)
+ special(SPC_NOMOD)
+ interest(1)
+ size(4)
+ extra("void *ovlu")
+ }
+ field(FTVA,DBF_MENU) {
+ prompt("Type of VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVB,DBF_MENU) {
+ prompt("Type of VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVC,DBF_MENU) {
+ prompt("Type of VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVD,DBF_MENU) {
+ prompt("Type of VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVE,DBF_MENU) {
+ prompt("Type of VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVF,DBF_MENU) {
+ prompt("Type of VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVG,DBF_MENU) {
+ prompt("Type of VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVH,DBF_MENU) {
+ prompt("Type of VALH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVI,DBF_MENU) {
+ prompt("Type of VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVJ,DBF_MENU) {
+ prompt("Type of VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVK,DBF_MENU) {
+ prompt("Type of VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVL,DBF_MENU) {
+ prompt("Type of VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVM,DBF_MENU) {
+ prompt("Type of VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVN,DBF_MENU) {
+ prompt("Type of VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVO,DBF_MENU) {
+ prompt("Type of VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVP,DBF_MENU) {
+ prompt("Type of VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVQ,DBF_MENU) {
+ prompt("Type of VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVR,DBF_MENU) {
+ prompt("Type of VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVS,DBF_MENU) {
+ prompt("Type of VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVT,DBF_MENU) {
+ prompt("Type of VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(FTVU,DBF_MENU) {
+ prompt("Type of VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ menu(menuFtype)
+ }
+ field(NOVA,DBF_ULONG) {
+ prompt("No. in VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVB,DBF_ULONG) {
+ prompt("No. in VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVC,DBF_ULONG) {
+ prompt("No. in VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVD,DBF_ULONG) {
+ prompt("No. in VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVE,DBF_ULONG) {
+ prompt("No. in VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVF,DBF_ULONG) {
+ prompt("No. in VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVG,DBF_ULONG) {
+ prompt("No. in VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVH,DBF_ULONG) {
+ prompt("No. in VAlH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVI,DBF_ULONG) {
+ prompt("No. in VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVJ,DBF_ULONG) {
+ prompt("No. in VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVK,DBF_ULONG) {
+ prompt("No. in VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVL,DBF_ULONG) {
+ prompt("No. in VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVM,DBF_ULONG) {
+ prompt("No. in VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVN,DBF_ULONG) {
+ prompt("No. in VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVO,DBF_ULONG) {
+ prompt("No. in VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVP,DBF_ULONG) {
+ prompt("No. in VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVQ,DBF_ULONG) {
+ prompt("No. in VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVR,DBF_ULONG) {
+ prompt("No. in VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVS,DBF_ULONG) {
+ prompt("No. in VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVT,DBF_ULONG) {
+ prompt("No. in VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(NOVU,DBF_ULONG) {
+ prompt("No. in VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVA,DBF_ULONG) {
+ prompt("Total bytes for VALA")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVB,DBF_ULONG) {
+ prompt("Total bytes for VALB")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVC,DBF_ULONG) {
+ prompt("Total bytes for VALC")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVD,DBF_ULONG) {
+ prompt("Total bytes for VALD")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVE,DBF_ULONG) {
+ prompt("Total bytes for VALE")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVF,DBF_ULONG) {
+ prompt("Total bytes for VALF")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVG,DBF_ULONG) {
+ prompt("Total bytes for VALG")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVH,DBF_ULONG) {
+ prompt("Total bytes for VAlH")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVI,DBF_ULONG) {
+ prompt("Total bytes for VALI")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVJ,DBF_ULONG) {
+ prompt("Total bytes for VALJ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVK,DBF_ULONG) {
+ prompt("Total bytes for VALK")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVL,DBF_ULONG) {
+ prompt("Total bytes for VALL")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVM,DBF_ULONG) {
+ prompt("Total bytes for VALM")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVN,DBF_ULONG) {
+ prompt("Total bytes for VALN")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVO,DBF_ULONG) {
+ prompt("Total bytes for VALO")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVP,DBF_ULONG) {
+ prompt("Total bytes for VALP")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVQ,DBF_ULONG) {
+ prompt("Total bytes for VALQ")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVR,DBF_ULONG) {
+ prompt("Total bytes for VALR")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVS,DBF_ULONG) {
+ prompt("Total bytes for VALS")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVT,DBF_ULONG) {
+ prompt("Total bytes for VALT")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+ field(TOVU,DBF_ULONG) {
+ prompt("Total bytes for VALU")
+ promptgroup(GUI_WAVE)
+ special(SPC_NOMOD)
+ interest(1)
+ initial("1")
+ }
+}
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+
+#include <dbDefs.h>
+#include <registryFunction.h>
+#include <subRecord.h>
+#include <epicsExport.h>
+
+int genrunidDebug;
+
+long genRunId_init( struct subRecord *pgsub )
+{
+ return(0);
+}
+
+long genRunId_proc( struct subRecord *psub )
+{
+
+ static long runId = 0;
+ static long runIdOld = 0;
+ long timeoffset = 1200000000; /* seconds */
+ long sizelimit = 500*1024*1024; /* bytes */
+ int fileSize = 0;
+ int status = 0;
+ struct timeval tv;
+
+ /* Get HOSTNAME (name of a local machine) and
+ * EBMASTER (name of the Event Builder Master).
+ * The Event Builder Master synchronizes other Event Builders,
+ * which means that only the Master should generate the runId.
+ */
+
+ char* hostname = getenv( "HOSTNAME" );
+ if( hostname == NULL ) {
+ hostname = "HOST_UNDEFINED";
+ if(genrunidDebug)
+ fprintf( stderr, "<E> genrunid.c: env variable HOSTNAME is undefined!\n");
+ }
+
+ char* ebmaster = getenv( "EBMASTER" );
+ if( ebmaster == NULL ) {
+ ebmaster = "MASTER_UNDEFINED";
+ if(genrunidDebug)
+ fprintf( stderr, "<E> genrunid.c: env variable EBMASTER is undefined!\n");
+ }
+
+ /* If a local machine name is the name of the Event Builder Master,
+ * generate the runId and put it to a VAL (to be read by other IOCs).
+ */
+
+ if( strcmp(ebmaster,hostname) != 0 ) {
+ if(genrunidDebug)
+ printf( "<D> genrunid.c: %s is not a master (%s).\n", hostname, ebmaster);
+ }
+ else{
+
+ fileSize = psub->a; /* size of the data file written by event builder */
+ status = (int) psub->b; /* status of the event buidler (1=on/0=off) */
+
+ if( status == 0 ) {
+ if( genrunidDebug ) {
+ printf( "genrunid.c: Event Builder is off, status: %d\n", status );
+ /*
+ * One of the reasons for this message might be closed permissions
+ * for (/dev/shm/daq_evtbuild.shm) shared memory access.
+ */
+ }
+ runId = 0;
+ }
+
+ if( genrunidDebug )
+ printf( "genrunid.c: received file size: %d\n", fileSize );
+
+ if( fileSize < sizelimit ){
+ runIdOld = runId;
+ }
+
+ /* Generate RUN Id: time (in sec from 1970) minus timeoffset */
+ if( (runId == 0 && status) ||
+ (fileSize > sizelimit && runIdOld == runId && runId > 0 && status) ) {
+
+ /*
+ * The following line is executed only ONCE
+ * either at the beginning when runId == 0
+ * or when the file size becomes bigger than the size limit.
+ */
+ gettimeofday( &tv, NULL );
+ runId = tv.tv_sec - timeoffset;
+
+ if( genrunidDebug )
+ printf( "<D> genrunid.c: RUN Id was generated: runId = %lu \n", runId );
+ }
+
+ psub->val = runId;
+
+ if( genrunidDebug )
+ printf( "<D> genrunid.c: runId = %lu runIdOld = %lu\n", runId, runIdOld );
+ } /* end of EBMASTER condition */
+
+ return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, genrunidDebug);
+epicsRegisterFunction(genRunId_init);
+epicsRegisterFunction(genRunId_proc);
--- /dev/null
+variable(genrunidDebug)
+function(genRunId_init)
+function(genRunId_proc)
\ No newline at end of file
--- /dev/null
+registrar(sncExampleRegistrar)
--- /dev/null
+program sncExample
+double v;
+assign v to "{user}:aiExample";
+monitor v;
+
+ss ss1 {
+ state init {
+ when (delay(10)) {
+ printf("sncExample: Startup delay over\n");
+ } state low
+ }
+ state low {
+ when (v > 5.0) {
+ printf("sncExample: Changing to high\n");
+ } state high
+ }
+ state high {
+ when (v <= 5.0) {
+ printf("sncExample: Changing to low\n");
+ } state low
+ }
+}
--- /dev/null
+#include "../sncExample.stt"
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+
+#include <dbDefs.h>
+#include <registryFunction.h>
+#include <subRecord.h>
+#include <epicsExport.h>
+
+#include "worker.h"
+
+int writerunidDebug;
+
+long writeRunId_init( struct subRecord *pgsub )
+{
+ return(0);
+}
+
+long writeRunId_proc( struct subRecord *psub )
+{
+
+ /* Get a distributed runId and write it to
+ * a shared memory of a local Event Builder.
+ */
+
+ static unsigned long runId = 0;
+
+ runId = (unsigned long) psub->a;
+
+ if( Worker_setStatistic( "daq_evtbuild", "runId", &runId ) == -1 ) {
+ if(writerunidDebug) {
+ fprintf( stderr, "<E> writerunid.c: Worker_setStatistic failed for runId! Either shared memory daq_evtbuild was not created or statistic runId was not added by the event builder.\n");
+ }
+ }
+ else
+ if(writerunidDebug) {
+ printf("<D> writerunid.c: Worker_setStatistic runId = %lu\n", runId);
+
+ unsigned long runId_check;
+ if( Worker_getStatistic( "daq_evtbuild", "runId", &runId_check ) == -1 )
+ printf("<E> writerunid.c: check: Worker_getStatistic cannot access runId!\n");
+ else
+ printf("<D> writerunid.c: check: Worker_getStatistic runId = %lu\n", runId_check);
+ }
+ return(0);
+}
+
+/* Register these symbols for use by IOC code: */
+
+epicsExportAddress(int, writerunidDebug);
+epicsRegisterFunction(writeRunId_init);
+epicsRegisterFunction(writeRunId_proc);
--- /dev/null
+variable(writerunidDebug)
+function(writeRunId_init)
+function(writeRunId_proc)
\ No newline at end of file
--- /dev/null
+/* xxxRecord.c */
+/* Example record support module */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "alarm.h"
+#include "dbAccess.h"
+#include "recGbl.h"
+#include "dbEvent.h"
+#include "dbDefs.h"
+#include "dbAccess.h"
+#include "devSup.h"
+#include "errMdef.h"
+#include "recSup.h"
+#include "special.h"
+#define GEN_SIZE_OFFSET
+#include "xxxRecord.h"
+#undef GEN_SIZE_OFFSET
+#include "epicsExport.h"
+
+/* Create RSET - Record Support Entry Table */
+#define report NULL
+#define initialize NULL
+static long init_record();
+static long process();
+#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();
+#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();
+
+rset xxxRSET={
+ RSETNUMBER,
+ report,
+ initialize,
+ init_record,
+ process,
+ special,
+ get_value,
+ cvt_dbaddr,
+ get_array_info,
+ put_array_info,
+ get_units,
+ get_precision,
+ get_enum_str,
+ get_enum_strs,
+ put_enum_str,
+ get_graphic_double,
+ get_control_double,
+ get_alarm_double
+};
+epicsExportAddress(rset,xxxRSET);
+
+typedef struct xxxset { /* xxx input dset */
+ long number;
+ DEVSUPFUN dev_report;
+ DEVSUPFUN init;
+ DEVSUPFUN init_record; /*returns: (-1,0)=>(failure,success)*/
+ DEVSUPFUN get_ioint_info;
+ DEVSUPFUN read_xxx;
+}xxxdset;
+
+static void checkAlarms(xxxRecord *pxxx);
+static void monitor(xxxRecord *pxxx);
+\f
+static long init_record(void *precord,int pass)
+{
+ xxxRecord *pxxx = (xxxRecord *)precord;
+ xxxdset *pdset;
+ long status;
+
+ if (pass==0) return(0);
+
+ if(!(pdset = (xxxdset *)(pxxx->dset))) {
+ recGblRecordError(S_dev_noDSET,(void *)pxxx,"xxx: init_record");
+ return(S_dev_noDSET);
+ }
+ /* must have read_xxx function defined */
+ if( (pdset->number < 5) || (pdset->read_xxx == NULL) ) {
+ recGblRecordError(S_dev_missingSup,(void *)pxxx,"xxx: init_record");
+ return(S_dev_missingSup);
+ }
+
+ if( pdset->init_record ) {
+ if((status=(*pdset->init_record)(pxxx))) return(status);
+ }
+ return(0);
+}
+\f
+static long process(void *precord)
+{
+ xxxRecord *pxxx = (xxxRecord *)precord;
+ xxxdset *pdset = (xxxdset *)(pxxx->dset);
+ long status;
+ unsigned char pact=pxxx->pact;
+
+ if( (pdset==NULL) || (pdset->read_xxx==NULL) ) {
+ pxxx->pact=TRUE;
+ recGblRecordError(S_dev_missingSup,(void *)pxxx,"read_xxx");
+ return(S_dev_missingSup);
+ }
+
+ /* pact must not be set until after calling device support */
+ status=(*pdset->read_xxx)(pxxx);
+ /* check if device support set pact */
+ if ( !pact && pxxx->pact ) return(0);
+ pxxx->pact = TRUE;
+
+ recGblGetTimeStamp(pxxx);
+ /* check for alarms */
+ checkAlarms(pxxx);
+ /* check event list */
+ monitor(pxxx);
+ /* process the forward scan link record */
+ recGblFwdLink(pxxx);
+
+ pxxx->pact=FALSE;
+ return(status);
+}
+\f
+static long get_units(DBADDR *paddr, char *units)
+{
+ xxxRecord *pxxx=(xxxRecord *)paddr->precord;
+
+ strncpy(units,pxxx->egu,DB_UNITS_SIZE);
+ return(0);
+}
+
+static long get_precision(DBADDR *paddr, long *precision)
+{
+ xxxRecord *pxxx=(xxxRecord *)paddr->precord;
+
+ *precision = pxxx->prec;
+ if(paddr->pfield == (void *)&pxxx->val) return(0);
+ recGblGetPrec(paddr,precision);
+ return(0);
+}
+
+static long get_graphic_double(DBADDR *paddr,struct dbr_grDouble *pgd)
+{
+ xxxRecord *pxxx=(xxxRecord *)paddr->precord;
+ int fieldIndex = dbGetFieldIndex(paddr);
+
+ if(fieldIndex == xxxRecordVAL
+ || fieldIndex == xxxRecordHIHI
+ || fieldIndex == xxxRecordHIGH
+ || fieldIndex == xxxRecordLOW
+ || fieldIndex == xxxRecordLOLO
+ || fieldIndex == xxxRecordHOPR
+ || fieldIndex == xxxRecordLOPR) {
+ pgd->upper_disp_limit = pxxx->hopr;
+ pgd->lower_disp_limit = pxxx->lopr;
+ } else recGblGetGraphicDouble(paddr,pgd);
+ return(0);
+}
+
+static long get_control_double(DBADDR *paddr,struct dbr_ctrlDouble *pcd)
+{
+ xxxRecord *pxxx=(xxxRecord *)paddr->precord;
+ int fieldIndex = dbGetFieldIndex(paddr);
+
+ if(fieldIndex == xxxRecordVAL
+ || fieldIndex == xxxRecordHIHI
+ || fieldIndex == xxxRecordHIGH
+ || fieldIndex == xxxRecordLOW
+ || fieldIndex == xxxRecordLOLO) {
+ pcd->upper_ctrl_limit = pxxx->hopr;
+ pcd->lower_ctrl_limit = pxxx->lopr;
+ } else recGblGetControlDouble(paddr,pcd);
+ return(0);
+}
+
+static long get_alarm_double(DBADDR *paddr,struct dbr_alDouble *pad)
+{
+ xxxRecord *pxxx=(xxxRecord *)paddr->precord;
+ int fieldIndex = dbGetFieldIndex(paddr);
+
+ if(fieldIndex == xxxRecordVAL) {
+ pad->upper_alarm_limit = pxxx->hihi;
+ pad->upper_warning_limit = pxxx->high;
+ pad->lower_warning_limit = pxxx->low;
+ pad->lower_alarm_limit = pxxx->lolo;
+ } else recGblGetAlarmDouble(paddr,pad);
+ return(0);
+}
+\f
+static void checkAlarms(xxxRecord *pxxx)
+{
+ double val;
+ float hyst, lalm, hihi, high, low, lolo;
+ unsigned short hhsv, llsv, hsv, lsv;
+
+ if(pxxx->udf == TRUE ){
+ recGblSetSevr(pxxx,UDF_ALARM,INVALID_ALARM);
+ return;
+ }
+ hihi = pxxx->hihi; lolo = pxxx->lolo; high = pxxx->high; low = pxxx->low;
+ hhsv = pxxx->hhsv; llsv = pxxx->llsv; hsv = pxxx->hsv; lsv = pxxx->lsv;
+ val = pxxx->val; hyst = pxxx->hyst; lalm = pxxx->lalm;
+
+ /* alarm condition hihi */
+ if (hhsv && (val >= hihi || ((lalm==hihi) && (val >= hihi-hyst)))){
+ if (recGblSetSevr(pxxx,HIHI_ALARM,pxxx->hhsv)) pxxx->lalm = hihi;
+ return;
+ }
+
+ /* alarm condition lolo */
+ if (llsv && (val <= lolo || ((lalm==lolo) && (val <= lolo+hyst)))){
+ if (recGblSetSevr(pxxx,LOLO_ALARM,pxxx->llsv)) pxxx->lalm = lolo;
+ return;
+ }
+
+ /* alarm condition high */
+ if (hsv && (val >= high || ((lalm==high) && (val >= high-hyst)))){
+ if (recGblSetSevr(pxxx,HIGH_ALARM,pxxx->hsv)) pxxx->lalm = high;
+ return;
+ }
+
+ /* alarm condition low */
+ if (lsv && (val <= low || ((lalm==low) && (val <= low+hyst)))){
+ if (recGblSetSevr(pxxx,LOW_ALARM,pxxx->lsv)) pxxx->lalm = low;
+ return;
+ }
+
+ /* we get here only if val is out of alarm by at least hyst */
+ pxxx->lalm = val;
+ return;
+}
+\f
+static void monitor(xxxRecord *pxxx)
+{
+ unsigned short monitor_mask;
+ double delta;
+
+ monitor_mask = recGblResetAlarms(pxxx);
+ /* check for value change */
+ delta = pxxx->mlst - pxxx->val;
+ if(delta<0.0) delta = -delta;
+ if (delta > pxxx->mdel) {
+ /* post events for value change */
+ monitor_mask |= DBE_VALUE;
+ /* update last value monitored */
+ pxxx->mlst = pxxx->val;
+ }
+
+ /* check for archive change */
+ delta = pxxx->alst - pxxx->val;
+ if(delta<0.0) delta = -delta;
+ if (delta > pxxx->adel) {
+ /* post events on value field for archive change */
+ monitor_mask |= DBE_LOG;
+ /* update last archive value monitored */
+ pxxx->alst = pxxx->val;
+ }
+
+ /* send out monitors connected to the value field */
+ if (monitor_mask){
+ db_post_events(pxxx,&pxxx->val,monitor_mask);
+ }
+ return;
+}
--- /dev/null
+recordtype(xxx) {
+ include "dbCommon.dbd"
+ field(VAL,DBF_DOUBLE) {
+ prompt("Current EGU Value")
+ asl(ASL0)
+ pp(TRUE)
+ }
+ field(INP,DBF_INLINK) {
+ prompt("Input Specification")
+ promptgroup(GUI_INPUTS)
+ special(SPC_NOMOD)
+ interest(1)
+ }
+ field(PREC,DBF_SHORT) {
+ prompt("Display Precision")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(EGU,DBF_STRING) {
+ prompt("Engineering Units")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ size(16)
+ }
+ field(HOPR,DBF_FLOAT) {
+ prompt("High Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LOPR,DBF_FLOAT) {
+ prompt("Low Operating Range")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(HIHI,DBF_FLOAT) {
+ prompt("Hihi Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOLO,DBF_FLOAT) {
+ prompt("Lolo Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HIGH,DBF_FLOAT) {
+ prompt("High Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(LOW,DBF_FLOAT) {
+ prompt("Low Alarm Limit")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ }
+ field(HHSV,DBF_MENU) {
+ prompt("Hihi Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(LLSV,DBF_MENU) {
+ prompt("Lolo Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(HSV,DBF_MENU) {
+ prompt("High Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(LSV,DBF_MENU) {
+ prompt("Low Severity")
+ promptgroup(GUI_ALARMS)
+ pp(TRUE)
+ interest(1)
+ menu(menuAlarmSevr)
+ }
+ field(HYST,DBF_DOUBLE) {
+ prompt("Alarm Deadband")
+ promptgroup(GUI_ALARMS)
+ interest(1)
+ }
+ field(ADEL,DBF_DOUBLE) {
+ prompt("Archive Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(MDEL,DBF_DOUBLE) {
+ prompt("Monitor Deadband")
+ promptgroup(GUI_DISPLAY)
+ interest(1)
+ }
+ field(LALM,DBF_DOUBLE) {
+ prompt("Last Value Alarmed")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(ALST,DBF_DOUBLE) {
+ prompt("Last Value Archived")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+ field(MLST,DBF_DOUBLE) {
+ prompt("Last Val Monitored")
+ special(SPC_NOMOD)
+ interest(3)
+ }
+}
--- /dev/null
+include "xxxRecord.dbd"
+device(xxx,CONSTANT,devXxxSoft,"SoftChannel")
--- /dev/null
+#include "ellLib.h"
+#include "epicsMutex.h"
+#include "link.h"
+#include "epicsTime.h"
+#include "epicsTypes.h"
+
+#ifndef INCgenSubLFLGH
+#define INCgenSubLFLGH
+typedef enum {
+ genSubLFLG_IGNORE,
+ genSubLFLG_READ
+}genSubLFLG;
+#endif /*INCgenSubLFLGH*/
+
+#ifndef INCgenSubEFLGH
+#define INCgenSubEFLGH
+typedef enum {
+ genSubEFLG_NEVER,
+ genSubEFLG_ON_CHANGE,
+ genSubEFLG_ALWAYS
+}genSubEFLG;
+#endif /*INCgenSubEFLGH*/
+#ifndef INCgenSubH
+#define INCgenSubH
+typedef struct genSubRecord {
+ char name[61]; /*Record Name*/
+ char desc[29]; /*Descriptor*/
+ char asg[29]; /*Access Security Group*/
+ epicsEnum16 scan; /*Scan Mechanism*/
+ epicsEnum16 pini; /*Process at iocInit*/
+ short phas; /*Scan Phase*/
+ short evnt; /*Event Number*/
+ short tse; /*Time Stamp Event*/
+ DBLINK tsel; /*Time Stamp Link*/
+ epicsEnum16 dtyp; /*Device Type*/
+ short disv; /*Disable Value*/
+ short disa; /*Disable*/
+ DBLINK sdis; /*Scanning Disable*/
+ epicsMutexId mlok; /*Monitor lock*/
+ ELLLIST mlis; /*Monitor List*/
+ unsigned char disp; /*Disable putField*/
+ unsigned char proc; /*Force Processing*/
+ epicsEnum16 stat; /*Alarm Status*/
+ epicsEnum16 sevr; /*Alarm Severity*/
+ epicsEnum16 nsta; /*New Alarm Status*/
+ epicsEnum16 nsev; /*New Alarm Severity*/
+ epicsEnum16 acks; /*Alarm Ack Severity*/
+ epicsEnum16 ackt; /*Alarm Ack Transient*/
+ epicsEnum16 diss; /*Disable Alarm Sevrty*/
+ unsigned char lcnt; /*Lock Count*/
+ unsigned char pact; /*Record active*/
+ unsigned char putf; /*dbPutField process*/
+ unsigned char rpro; /*Reprocess */
+ void *asp; /*Access Security Pvt*/
+ struct putNotify *ppn; /*addr of PUTNOTIFY*/
+ struct putNotifyRecord *ppnr; /*pputNotifyRecord*/
+ struct scan_element *spvt; /*Scan Private*/
+ struct rset *rset; /*Address of RSET*/
+ struct dset *dset; /*DSET address*/
+ void *dpvt; /*Device Private*/
+ struct dbRecordType *rdes; /*Address of dbRecordType*/
+ struct lockRecord *lset; /*Lock Set*/
+ epicsEnum16 prio; /*Scheduling Priority*/
+ unsigned char tpro; /*Trace Processing*/
+ char bkpt; /*Break Point*/
+ unsigned char udf; /*Undefined*/
+ epicsTimeStamp time; /*Time*/
+ DBLINK flnk; /*Forward Process Link*/
+ double vers; /*Version Number*/
+ epicsInt32 val; /*Subr. return value*/
+ epicsInt32 oval; /*Old return value*/
+ epicsInt32 sadr; /*Subroutine Address*/
+ epicsInt32 osad; /*Old Subr. Address*/
+ epicsEnum16 lflg; /*Link Flag*/
+ epicsEnum16 eflg; /*Event Flag*/
+ DBLINK subl; /*Subroutine Input Link*/
+ char inam[40]; /*Init Routine Name*/
+ char snam[40]; /*Process Subr. Name*/
+ char onam[40]; /*Old Subroutine Name*/
+ epicsEnum16 brsv; /*Bad Return Severity*/
+ short prec; /*Display Precision*/
+ DBLINK inpa; /*Input Link A*/
+ DBLINK inpb; /*Input Link B*/
+ DBLINK inpc; /*Input Link C*/
+ DBLINK inpd; /*Input Link D*/
+ DBLINK inpe; /*Input Link E*/
+ DBLINK inpf; /*Input Link F*/
+ DBLINK inpg; /*Input Link G*/
+ DBLINK inph; /*Input Link H*/
+ DBLINK inpi; /*Input Link I*/
+ DBLINK inpj; /*Input Link J*/
+ DBLINK inpk; /*Input Link K*/
+ DBLINK inpl; /*Input Link L*/
+ DBLINK inpm; /*Input Link M*/
+ DBLINK inpn; /*Input Link N*/
+ DBLINK inpo; /*Input Link O*/
+ DBLINK inpp; /*Input Link P*/
+ DBLINK inpq; /*Input Link Q*/
+ DBLINK inpr; /*Input Link R*/
+ DBLINK inps; /*Input Link S*/
+ DBLINK inpt; /*Input Link T*/
+ DBLINK inpu; /*Input Link U*/
+ char ufa[40]; /*Input Structure A*/
+ char ufb[40]; /*Input Structure B*/
+ char ufc[40]; /*Input Structure C*/
+ char ufd[40]; /*Input Structure D*/
+ char ufe[40]; /*Input Structure E*/
+ char uff[40]; /*Input Structure F*/
+ char ufg[40]; /*Input Structure G*/
+ char ufh[40]; /*Input Structure H*/
+ char ufi[40]; /*Input Structure I*/
+ char ufj[40]; /*Input Structure J*/
+ char ufk[40]; /*Input Structure K*/
+ char ufl[40]; /*Input Structure L*/
+ char ufm[40]; /*Input Structure M*/
+ char ufn[40]; /*Input Structure N*/
+ char ufo[40]; /*Input Structure O*/
+ char ufp[40]; /*Input Structure P*/
+ char ufq[40]; /*Input Structure Q*/
+ char ufr[40]; /*Input Structure R*/
+ char ufs[40]; /*Input Structure S*/
+ char uft[40]; /*Input Structure T*/
+ char ufu[40]; /*Input Structure U*/
+ void *a; /*Value of Input A*/
+ void *b; /*Value of Input B*/
+ void *c; /*Value of Input C*/
+ void *d; /*Value of Input D*/
+ void *e; /*Value of Input E*/
+ void *f; /*Value of Input F*/
+ void *g; /*Value of Input G*/
+ void *h; /*Value of Input H*/
+ void *i; /*Value of Input I*/
+ void *j; /*Value of Input J*/
+ void *k; /*Value of Input K*/
+ void *l; /*Value of Input L*/
+ void *m; /*Value of Input M*/
+ void *n; /*Value of Input N*/
+ void *o; /*Value of Input O*/
+ void *p; /*Value of Input P*/
+ void *q; /*Value of Input Q*/
+ void *r; /*Value of Input R*/
+ void *s; /*Value of Input S*/
+ void *t; /*Value of Input T*/
+ void *u; /*Value of Input U*/
+ epicsEnum16 fta; /*Type of A*/
+ epicsEnum16 ftb; /*Type of B*/
+ epicsEnum16 ftc; /*Type of C*/
+ epicsEnum16 ftd; /*Type of D*/
+ epicsEnum16 fte; /*Type of E*/
+ epicsEnum16 ftf; /*Type of F*/
+ epicsEnum16 ftg; /*Type of G*/
+ epicsEnum16 fth; /*Type of H*/
+ epicsEnum16 fti; /*Type of I*/
+ epicsEnum16 ftj; /*Type of J*/
+ epicsEnum16 ftk; /*Type of K*/
+ epicsEnum16 ftl; /*Type of L*/
+ epicsEnum16 ftm; /*Type of M*/
+ epicsEnum16 ftn; /*Type of N*/
+ epicsEnum16 fto; /*Type of O*/
+ epicsEnum16 ftp; /*Type of P*/
+ epicsEnum16 ftq; /*Type of Q*/
+ epicsEnum16 ftr; /*Type of R*/
+ epicsEnum16 fts; /*Type of S*/
+ epicsEnum16 ftt; /*Type of T*/
+ epicsEnum16 ftu; /*Type of U*/
+ unsigned long noa; /*No. in A*/
+ unsigned long nob; /*No. in B*/
+ unsigned long noc; /*No. in C*/
+ unsigned long nod; /*No. in D*/
+ unsigned long noe; /*No. in E*/
+ unsigned long nof; /*No. in F*/
+ unsigned long nog; /*No. in G*/
+ unsigned long noh; /*No. in H*/
+ unsigned long noi; /*No. in I*/
+ unsigned long noj; /*No. in J*/
+ unsigned long nok; /*No. in K*/
+ unsigned long nol; /*No. in L*/
+ unsigned long nom; /*No. in M*/
+ unsigned long non; /*No. in N*/
+ unsigned long noo; /*No. in O*/
+ unsigned long nop; /*No. in P*/
+ unsigned long noq; /*No. in Q*/
+ unsigned long nor; /*No. in R*/
+ unsigned long nos; /*No. in S*/
+ unsigned long not; /*No. in T*/
+ unsigned long nou; /*No. in U*/
+ DBLINK outa; /*Output Link A*/
+ DBLINK outb; /*Output Link B*/
+ DBLINK outc; /*Output Link C*/
+ DBLINK outd; /*Output Link D*/
+ DBLINK oute; /*Output Link E*/
+ DBLINK outf; /*Output Link F*/
+ DBLINK outg; /*Output Link G*/
+ DBLINK outh; /*Output Link H*/
+ DBLINK outi; /*Output Link I*/
+ DBLINK outj; /*Output Link J*/
+ DBLINK outk; /*Output Link K*/
+ DBLINK outl; /*Output Link L*/
+ DBLINK outm; /*Output Link M*/
+ DBLINK outn; /*Output Link N*/
+ DBLINK outo; /*Output Link O*/
+ DBLINK outp; /*Output Link P*/
+ DBLINK outq; /*Output Link Q*/
+ DBLINK outr; /*Output Link R*/
+ DBLINK outs; /*Output Link S*/
+ DBLINK outt; /*Output Link T*/
+ DBLINK outu; /*Output Link U*/
+ char ufva[40]; /*Output Structure A*/
+ char ufvb[40]; /*Output Structure B*/
+ char ufvc[40]; /*Output Structure C*/
+ char ufvd[40]; /*Output Structure D*/
+ char ufve[40]; /*Output Structure E*/
+ char ufvf[40]; /*Output Structure F*/
+ char ufvg[40]; /*Output Structure G*/
+ char ufvh[40]; /*Output Structure H*/
+ char ufvi[40]; /*Output Structure I*/
+ char ufvj[40]; /*Output Structure J*/
+ char ufvk[40]; /*Output Structure K*/
+ char ufvl[40]; /*Output Structure L*/
+ char ufvm[40]; /*Output Structure M*/
+ char ufvn[40]; /*Output Structure N*/
+ char ufvo[40]; /*Output Structure O*/
+ char ufvp[40]; /*Output Structure P*/
+ char ufvq[40]; /*Output Structure Q*/
+ char ufvr[40]; /*Output Structure R*/
+ char ufvs[40]; /*Output Structure S*/
+ char ufvt[40]; /*Output Structure T*/
+ char ufvu[40]; /*Output Structure U*/
+ void *vala; /*Value of Output A*/
+ void *valb; /*Value of Output B*/
+ void *valc; /*Value of Output C*/
+ void *vald; /*Value of Output D*/
+ void *vale; /*Value of Output E*/
+ void *valf; /*Value of Output F*/
+ void *valg; /*Value of Output G*/
+ void *valh; /*Value of Output H*/
+ void *vali; /*Value of Output I*/
+ void *valj; /*Value of Output J*/
+ void *valk; /*Value of Output K*/
+ void *vall; /*Value of Output L*/
+ void *valm; /*Value of Output M*/
+ void *valn; /*Value of Output N*/
+ void *valo; /*Value of Output O*/
+ void *valp; /*Value of Output P*/
+ void *valq; /*Value of Output Q*/
+ void *valr; /*Value of Output R*/
+ void *vals; /*Value of Output S*/
+ void *valt; /*Value of Output T*/
+ void *valu; /*Value of Output U*/
+ void *ovla; /*Old Output A*/
+ void *ovlb; /*Old Output B*/
+ void *ovlc; /*Old Output C*/
+ void *ovld; /*Old Output D*/
+ void *ovle; /*Old Output E*/
+ void *ovlf; /*Old Output F*/
+ void *ovlg; /*Old Output G*/
+ void *ovlh; /*Old Output H*/
+ void *ovli; /*Old Output I*/
+ void *ovlj; /*Old Output J*/
+ void *ovlk; /*Old Output K*/
+ void *ovll; /*Old Output L*/
+ void *ovlm; /*Old Output M*/
+ void *ovln; /*Old Output N*/
+ void *ovlo; /*Old Output O*/
+ void *ovlp; /*Old Output P*/
+ void *ovlq; /*Old Output Q*/
+ void *ovlr; /*Old Output R*/
+ void *ovls; /*Old Output S*/
+ void *ovlt; /*Old Output T*/
+ void *ovlu; /*Old Output U*/
+ epicsEnum16 ftva; /*Type of VALA*/
+ epicsEnum16 ftvb; /*Type of VALB*/
+ epicsEnum16 ftvc; /*Type of VALC*/
+ epicsEnum16 ftvd; /*Type of VALD*/
+ epicsEnum16 ftve; /*Type of VALE*/
+ epicsEnum16 ftvf; /*Type of VALF*/
+ epicsEnum16 ftvg; /*Type of VALG*/
+ epicsEnum16 ftvh; /*Type of VALH*/
+ epicsEnum16 ftvi; /*Type of VALI*/
+ epicsEnum16 ftvj; /*Type of VALJ*/
+ epicsEnum16 ftvk; /*Type of VALK*/
+ epicsEnum16 ftvl; /*Type of VALL*/
+ epicsEnum16 ftvm; /*Type of VALM*/
+ epicsEnum16 ftvn; /*Type of VALN*/
+ epicsEnum16 ftvo; /*Type of VALO*/
+ epicsEnum16 ftvp; /*Type of VALP*/
+ epicsEnum16 ftvq; /*Type of VALQ*/
+ epicsEnum16 ftvr; /*Type of VALR*/
+ epicsEnum16 ftvs; /*Type of VALS*/
+ epicsEnum16 ftvt; /*Type of VALT*/
+ epicsEnum16 ftvu; /*Type of VALU*/
+ unsigned long nova; /*No. in VALA*/
+ unsigned long novb; /*No. in VALB*/
+ unsigned long novc; /*No. in VALC*/
+ unsigned long novd; /*No. in VALD*/
+ unsigned long nove; /*No. in VALE*/
+ unsigned long novf; /*No. in VALF*/
+ unsigned long novg; /*No. in VALG*/
+ unsigned long novh; /*No. in VAlH*/
+ unsigned long novi; /*No. in VALI*/
+ unsigned long novj; /*No. in VALJ*/
+ unsigned long novk; /*No. in VALK*/
+ unsigned long novl; /*No. in VALL*/
+ unsigned long novm; /*No. in VALM*/
+ unsigned long novn; /*No. in VALN*/
+ unsigned long novo; /*No. in VALO*/
+ unsigned long novp; /*No. in VALP*/
+ unsigned long novq; /*No. in VALQ*/
+ unsigned long novr; /*No. in VALR*/
+ unsigned long novs; /*No. in VALS*/
+ unsigned long novt; /*No. in VALT*/
+ unsigned long novu; /*No. in VALU*/
+ unsigned long tova; /*Total bytes for VALA*/
+ unsigned long tovb; /*Total bytes for VALB*/
+ unsigned long tovc; /*Total bytes for VALC*/
+ unsigned long tovd; /*Total bytes for VALD*/
+ unsigned long tove; /*Total bytes for VALE*/
+ unsigned long tovf; /*Total bytes for VALF*/
+ unsigned long tovg; /*Total bytes for VALG*/
+ unsigned long tovh; /*Total bytes for VAlH*/
+ unsigned long tovi; /*Total bytes for VALI*/
+ unsigned long tovj; /*Total bytes for VALJ*/
+ unsigned long tovk; /*Total bytes for VALK*/
+ unsigned long tovl; /*Total bytes for VALL*/
+ unsigned long tovm; /*Total bytes for VALM*/
+ unsigned long tovn; /*Total bytes for VALN*/
+ unsigned long tovo; /*Total bytes for VALO*/
+ unsigned long tovp; /*Total bytes for VALP*/
+ unsigned long tovq; /*Total bytes for VALQ*/
+ unsigned long tovr; /*Total bytes for VALR*/
+ unsigned long tovs; /*Total bytes for VALS*/
+ unsigned long tovt; /*Total bytes for VALT*/
+ unsigned long tovu; /*Total bytes for VALU*/
+} genSubRecord;
+#define genSubRecordNAME 0
+#define genSubRecordDESC 1
+#define genSubRecordASG 2
+#define genSubRecordSCAN 3
+#define genSubRecordPINI 4
+#define genSubRecordPHAS 5
+#define genSubRecordEVNT 6
+#define genSubRecordTSE 7
+#define genSubRecordTSEL 8
+#define genSubRecordDTYP 9
+#define genSubRecordDISV 10
+#define genSubRecordDISA 11
+#define genSubRecordSDIS 12
+#define genSubRecordMLOK 13
+#define genSubRecordMLIS 14
+#define genSubRecordDISP 15
+#define genSubRecordPROC 16
+#define genSubRecordSTAT 17
+#define genSubRecordSEVR 18
+#define genSubRecordNSTA 19
+#define genSubRecordNSEV 20
+#define genSubRecordACKS 21
+#define genSubRecordACKT 22
+#define genSubRecordDISS 23
+#define genSubRecordLCNT 24
+#define genSubRecordPACT 25
+#define genSubRecordPUTF 26
+#define genSubRecordRPRO 27
+#define genSubRecordASP 28
+#define genSubRecordPPN 29
+#define genSubRecordPPNR 30
+#define genSubRecordSPVT 31
+#define genSubRecordRSET 32
+#define genSubRecordDSET 33
+#define genSubRecordDPVT 34
+#define genSubRecordRDES 35
+#define genSubRecordLSET 36
+#define genSubRecordPRIO 37
+#define genSubRecordTPRO 38
+#define genSubRecordBKPT 39
+#define genSubRecordUDF 40
+#define genSubRecordTIME 41
+#define genSubRecordFLNK 42
+#define genSubRecordVERS 43
+#define genSubRecordVAL 44
+#define genSubRecordOVAL 45
+#define genSubRecordSADR 46
+#define genSubRecordOSAD 47
+#define genSubRecordLFLG 48
+#define genSubRecordEFLG 49
+#define genSubRecordSUBL 50
+#define genSubRecordINAM 51
+#define genSubRecordSNAM 52
+#define genSubRecordONAM 53
+#define genSubRecordBRSV 54
+#define genSubRecordPREC 55
+#define genSubRecordINPA 56
+#define genSubRecordINPB 57
+#define genSubRecordINPC 58
+#define genSubRecordINPD 59
+#define genSubRecordINPE 60
+#define genSubRecordINPF 61
+#define genSubRecordINPG 62
+#define genSubRecordINPH 63
+#define genSubRecordINPI 64
+#define genSubRecordINPJ 65
+#define genSubRecordINPK 66
+#define genSubRecordINPL 67
+#define genSubRecordINPM 68
+#define genSubRecordINPN 69
+#define genSubRecordINPO 70
+#define genSubRecordINPP 71
+#define genSubRecordINPQ 72
+#define genSubRecordINPR 73
+#define genSubRecordINPS 74
+#define genSubRecordINPT 75
+#define genSubRecordINPU 76
+#define genSubRecordUFA 77
+#define genSubRecordUFB 78
+#define genSubRecordUFC 79
+#define genSubRecordUFD 80
+#define genSubRecordUFE 81
+#define genSubRecordUFF 82
+#define genSubRecordUFG 83
+#define genSubRecordUFH 84
+#define genSubRecordUFI 85
+#define genSubRecordUFJ 86
+#define genSubRecordUFK 87
+#define genSubRecordUFL 88
+#define genSubRecordUFM 89
+#define genSubRecordUFN 90
+#define genSubRecordUFO 91
+#define genSubRecordUFP 92
+#define genSubRecordUFQ 93
+#define genSubRecordUFR 94
+#define genSubRecordUFS 95
+#define genSubRecordUFT 96
+#define genSubRecordUFU 97
+#define genSubRecordA 98
+#define genSubRecordB 99
+#define genSubRecordC 100
+#define genSubRecordD 101
+#define genSubRecordE 102
+#define genSubRecordF 103
+#define genSubRecordG 104
+#define genSubRecordH 105
+#define genSubRecordI 106
+#define genSubRecordJ 107
+#define genSubRecordK 108
+#define genSubRecordL 109
+#define genSubRecordM 110
+#define genSubRecordN 111
+#define genSubRecordO 112
+#define genSubRecordP 113
+#define genSubRecordQ 114
+#define genSubRecordR 115
+#define genSubRecordS 116
+#define genSubRecordT 117
+#define genSubRecordU 118
+#define genSubRecordFTA 119
+#define genSubRecordFTB 120
+#define genSubRecordFTC 121
+#define genSubRecordFTD 122
+#define genSubRecordFTE 123
+#define genSubRecordFTF 124
+#define genSubRecordFTG 125
+#define genSubRecordFTH 126
+#define genSubRecordFTI 127
+#define genSubRecordFTJ 128
+#define genSubRecordFTK 129
+#define genSubRecordFTL 130
+#define genSubRecordFTM 131
+#define genSubRecordFTN 132
+#define genSubRecordFTO 133
+#define genSubRecordFTP 134
+#define genSubRecordFTQ 135
+#define genSubRecordFTR 136
+#define genSubRecordFTS 137
+#define genSubRecordFTT 138
+#define genSubRecordFTU 139
+#define genSubRecordNOA 140
+#define genSubRecordNOB 141
+#define genSubRecordNOC 142
+#define genSubRecordNOD 143
+#define genSubRecordNOE 144
+#define genSubRecordNOF 145
+#define genSubRecordNOG 146
+#define genSubRecordNOH 147
+#define genSubRecordNOI 148
+#define genSubRecordNOJ 149
+#define genSubRecordNOK 150
+#define genSubRecordNOL 151
+#define genSubRecordNOM 152
+#define genSubRecordNON 153
+#define genSubRecordNOO 154
+#define genSubRecordNOP 155
+#define genSubRecordNOQ 156
+#define genSubRecordNOR 157
+#define genSubRecordNOS 158
+#define genSubRecordNOT 159
+#define genSubRecordNOU 160
+#define genSubRecordOUTA 161
+#define genSubRecordOUTB 162
+#define genSubRecordOUTC 163
+#define genSubRecordOUTD 164
+#define genSubRecordOUTE 165
+#define genSubRecordOUTF 166
+#define genSubRecordOUTG 167
+#define genSubRecordOUTH 168
+#define genSubRecordOUTI 169
+#define genSubRecordOUTJ 170
+#define genSubRecordOUTK 171
+#define genSubRecordOUTL 172
+#define genSubRecordOUTM 173
+#define genSubRecordOUTN 174
+#define genSubRecordOUTO 175
+#define genSubRecordOUTP 176
+#define genSubRecordOUTQ 177
+#define genSubRecordOUTR 178
+#define genSubRecordOUTS 179
+#define genSubRecordOUTT 180
+#define genSubRecordOUTU 181
+#define genSubRecordUFVA 182
+#define genSubRecordUFVB 183
+#define genSubRecordUFVC 184
+#define genSubRecordUFVD 185
+#define genSubRecordUFVE 186
+#define genSubRecordUFVF 187
+#define genSubRecordUFVG 188
+#define genSubRecordUFVH 189
+#define genSubRecordUFVI 190
+#define genSubRecordUFVJ 191
+#define genSubRecordUFVK 192
+#define genSubRecordUFVL 193
+#define genSubRecordUFVM 194
+#define genSubRecordUFVN 195
+#define genSubRecordUFVO 196
+#define genSubRecordUFVP 197
+#define genSubRecordUFVQ 198
+#define genSubRecordUFVR 199
+#define genSubRecordUFVS 200
+#define genSubRecordUFVT 201
+#define genSubRecordUFVU 202
+#define genSubRecordVALA 203
+#define genSubRecordVALB 204
+#define genSubRecordVALC 205
+#define genSubRecordVALD 206
+#define genSubRecordVALE 207
+#define genSubRecordVALF 208
+#define genSubRecordVALG 209
+#define genSubRecordVALH 210
+#define genSubRecordVALI 211
+#define genSubRecordVALJ 212
+#define genSubRecordVALK 213
+#define genSubRecordVALL 214
+#define genSubRecordVALM 215
+#define genSubRecordVALN 216
+#define genSubRecordVALO 217
+#define genSubRecordVALP 218
+#define genSubRecordVALQ 219
+#define genSubRecordVALR 220
+#define genSubRecordVALS 221
+#define genSubRecordVALT 222
+#define genSubRecordVALU 223
+#define genSubRecordOVLA 224
+#define genSubRecordOVLB 225
+#define genSubRecordOVLC 226
+#define genSubRecordOVLD 227
+#define genSubRecordOVLE 228
+#define genSubRecordOVLF 229
+#define genSubRecordOVLG 230
+#define genSubRecordOVLH 231
+#define genSubRecordOVLI 232
+#define genSubRecordOVLJ 233
+#define genSubRecordOVLK 234
+#define genSubRecordOVLL 235
+#define genSubRecordOVLM 236
+#define genSubRecordOVLN 237
+#define genSubRecordOVLO 238
+#define genSubRecordOVLP 239
+#define genSubRecordOVLQ 240
+#define genSubRecordOVLR 241
+#define genSubRecordOVLS 242
+#define genSubRecordOVLT 243
+#define genSubRecordOVLU 244
+#define genSubRecordFTVA 245
+#define genSubRecordFTVB 246
+#define genSubRecordFTVC 247
+#define genSubRecordFTVD 248
+#define genSubRecordFTVE 249
+#define genSubRecordFTVF 250
+#define genSubRecordFTVG 251
+#define genSubRecordFTVH 252
+#define genSubRecordFTVI 253
+#define genSubRecordFTVJ 254
+#define genSubRecordFTVK 255
+#define genSubRecordFTVL 256
+#define genSubRecordFTVM 257
+#define genSubRecordFTVN 258
+#define genSubRecordFTVO 259
+#define genSubRecordFTVP 260
+#define genSubRecordFTVQ 261
+#define genSubRecordFTVR 262
+#define genSubRecordFTVS 263
+#define genSubRecordFTVT 264
+#define genSubRecordFTVU 265
+#define genSubRecordNOVA 266
+#define genSubRecordNOVB 267
+#define genSubRecordNOVC 268
+#define genSubRecordNOVD 269
+#define genSubRecordNOVE 270
+#define genSubRecordNOVF 271
+#define genSubRecordNOVG 272
+#define genSubRecordNOVH 273
+#define genSubRecordNOVI 274
+#define genSubRecordNOVJ 275
+#define genSubRecordNOVK 276
+#define genSubRecordNOVL 277
+#define genSubRecordNOVM 278
+#define genSubRecordNOVN 279
+#define genSubRecordNOVO 280
+#define genSubRecordNOVP 281
+#define genSubRecordNOVQ 282
+#define genSubRecordNOVR 283
+#define genSubRecordNOVS 284
+#define genSubRecordNOVT 285
+#define genSubRecordNOVU 286
+#define genSubRecordTOVA 287
+#define genSubRecordTOVB 288
+#define genSubRecordTOVC 289
+#define genSubRecordTOVD 290
+#define genSubRecordTOVE 291
+#define genSubRecordTOVF 292
+#define genSubRecordTOVG 293
+#define genSubRecordTOVH 294
+#define genSubRecordTOVI 295
+#define genSubRecordTOVJ 296
+#define genSubRecordTOVK 297
+#define genSubRecordTOVL 298
+#define genSubRecordTOVM 299
+#define genSubRecordTOVN 300
+#define genSubRecordTOVO 301
+#define genSubRecordTOVP 302
+#define genSubRecordTOVQ 303
+#define genSubRecordTOVR 304
+#define genSubRecordTOVS 305
+#define genSubRecordTOVT 306
+#define genSubRecordTOVU 307
+#endif /*INCgenSubH*/
+#ifdef GEN_SIZE_OFFSET
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <epicsExport.h>
+static int genSubRecordSizeOffset(dbRecordType *pdbRecordType)
+{
+ genSubRecord *prec = 0;
+ pdbRecordType->papFldDes[0]->size=sizeof(prec->name);
+ pdbRecordType->papFldDes[0]->offset=(short)((char *)&prec->name - (char *)prec);
+ pdbRecordType->papFldDes[1]->size=sizeof(prec->desc);
+ pdbRecordType->papFldDes[1]->offset=(short)((char *)&prec->desc - (char *)prec);
+ pdbRecordType->papFldDes[2]->size=sizeof(prec->asg);
+ pdbRecordType->papFldDes[2]->offset=(short)((char *)&prec->asg - (char *)prec);
+ pdbRecordType->papFldDes[3]->size=sizeof(prec->scan);
+ pdbRecordType->papFldDes[3]->offset=(short)((char *)&prec->scan - (char *)prec);
+ pdbRecordType->papFldDes[4]->size=sizeof(prec->pini);
+ pdbRecordType->papFldDes[4]->offset=(short)((char *)&prec->pini - (char *)prec);
+ pdbRecordType->papFldDes[5]->size=sizeof(prec->phas);
+ pdbRecordType->papFldDes[5]->offset=(short)((char *)&prec->phas - (char *)prec);
+ pdbRecordType->papFldDes[6]->size=sizeof(prec->evnt);
+ pdbRecordType->papFldDes[6]->offset=(short)((char *)&prec->evnt - (char *)prec);
+ pdbRecordType->papFldDes[7]->size=sizeof(prec->tse);
+ pdbRecordType->papFldDes[7]->offset=(short)((char *)&prec->tse - (char *)prec);
+ pdbRecordType->papFldDes[8]->size=sizeof(prec->tsel);
+ pdbRecordType->papFldDes[8]->offset=(short)((char *)&prec->tsel - (char *)prec);
+ pdbRecordType->papFldDes[9]->size=sizeof(prec->dtyp);
+ pdbRecordType->papFldDes[9]->offset=(short)((char *)&prec->dtyp - (char *)prec);
+ pdbRecordType->papFldDes[10]->size=sizeof(prec->disv);
+ pdbRecordType->papFldDes[10]->offset=(short)((char *)&prec->disv - (char *)prec);
+ pdbRecordType->papFldDes[11]->size=sizeof(prec->disa);
+ pdbRecordType->papFldDes[11]->offset=(short)((char *)&prec->disa - (char *)prec);
+ pdbRecordType->papFldDes[12]->size=sizeof(prec->sdis);
+ pdbRecordType->papFldDes[12]->offset=(short)((char *)&prec->sdis - (char *)prec);
+ pdbRecordType->papFldDes[13]->size=sizeof(prec->mlok);
+ pdbRecordType->papFldDes[13]->offset=(short)((char *)&prec->mlok - (char *)prec);
+ pdbRecordType->papFldDes[14]->size=sizeof(prec->mlis);
+ pdbRecordType->papFldDes[14]->offset=(short)((char *)&prec->mlis - (char *)prec);
+ pdbRecordType->papFldDes[15]->size=sizeof(prec->disp);
+ pdbRecordType->papFldDes[15]->offset=(short)((char *)&prec->disp - (char *)prec);
+ pdbRecordType->papFldDes[16]->size=sizeof(prec->proc);
+ pdbRecordType->papFldDes[16]->offset=(short)((char *)&prec->proc - (char *)prec);
+ pdbRecordType->papFldDes[17]->size=sizeof(prec->stat);
+ pdbRecordType->papFldDes[17]->offset=(short)((char *)&prec->stat - (char *)prec);
+ pdbRecordType->papFldDes[18]->size=sizeof(prec->sevr);
+ pdbRecordType->papFldDes[18]->offset=(short)((char *)&prec->sevr - (char *)prec);
+ pdbRecordType->papFldDes[19]->size=sizeof(prec->nsta);
+ pdbRecordType->papFldDes[19]->offset=(short)((char *)&prec->nsta - (char *)prec);
+ pdbRecordType->papFldDes[20]->size=sizeof(prec->nsev);
+ pdbRecordType->papFldDes[20]->offset=(short)((char *)&prec->nsev - (char *)prec);
+ pdbRecordType->papFldDes[21]->size=sizeof(prec->acks);
+ pdbRecordType->papFldDes[21]->offset=(short)((char *)&prec->acks - (char *)prec);
+ pdbRecordType->papFldDes[22]->size=sizeof(prec->ackt);
+ pdbRecordType->papFldDes[22]->offset=(short)((char *)&prec->ackt - (char *)prec);
+ pdbRecordType->papFldDes[23]->size=sizeof(prec->diss);
+ pdbRecordType->papFldDes[23]->offset=(short)((char *)&prec->diss - (char *)prec);
+ pdbRecordType->papFldDes[24]->size=sizeof(prec->lcnt);
+ pdbRecordType->papFldDes[24]->offset=(short)((char *)&prec->lcnt - (char *)prec);
+ pdbRecordType->papFldDes[25]->size=sizeof(prec->pact);
+ pdbRecordType->papFldDes[25]->offset=(short)((char *)&prec->pact - (char *)prec);
+ pdbRecordType->papFldDes[26]->size=sizeof(prec->putf);
+ pdbRecordType->papFldDes[26]->offset=(short)((char *)&prec->putf - (char *)prec);
+ pdbRecordType->papFldDes[27]->size=sizeof(prec->rpro);
+ pdbRecordType->papFldDes[27]->offset=(short)((char *)&prec->rpro - (char *)prec);
+ pdbRecordType->papFldDes[28]->size=sizeof(prec->asp);
+ pdbRecordType->papFldDes[28]->offset=(short)((char *)&prec->asp - (char *)prec);
+ pdbRecordType->papFldDes[29]->size=sizeof(prec->ppn);
+ pdbRecordType->papFldDes[29]->offset=(short)((char *)&prec->ppn - (char *)prec);
+ pdbRecordType->papFldDes[30]->size=sizeof(prec->ppnr);
+ pdbRecordType->papFldDes[30]->offset=(short)((char *)&prec->ppnr - (char *)prec);
+ pdbRecordType->papFldDes[31]->size=sizeof(prec->spvt);
+ pdbRecordType->papFldDes[31]->offset=(short)((char *)&prec->spvt - (char *)prec);
+ pdbRecordType->papFldDes[32]->size=sizeof(prec->rset);
+ pdbRecordType->papFldDes[32]->offset=(short)((char *)&prec->rset - (char *)prec);
+ pdbRecordType->papFldDes[33]->size=sizeof(prec->dset);
+ pdbRecordType->papFldDes[33]->offset=(short)((char *)&prec->dset - (char *)prec);
+ pdbRecordType->papFldDes[34]->size=sizeof(prec->dpvt);
+ pdbRecordType->papFldDes[34]->offset=(short)((char *)&prec->dpvt - (char *)prec);
+ pdbRecordType->papFldDes[35]->size=sizeof(prec->rdes);
+ pdbRecordType->papFldDes[35]->offset=(short)((char *)&prec->rdes - (char *)prec);
+ pdbRecordType->papFldDes[36]->size=sizeof(prec->lset);
+ pdbRecordType->papFldDes[36]->offset=(short)((char *)&prec->lset - (char *)prec);
+ pdbRecordType->papFldDes[37]->size=sizeof(prec->prio);
+ pdbRecordType->papFldDes[37]->offset=(short)((char *)&prec->prio - (char *)prec);
+ pdbRecordType->papFldDes[38]->size=sizeof(prec->tpro);
+ pdbRecordType->papFldDes[38]->offset=(short)((char *)&prec->tpro - (char *)prec);
+ pdbRecordType->papFldDes[39]->size=sizeof(prec->bkpt);
+ pdbRecordType->papFldDes[39]->offset=(short)((char *)&prec->bkpt - (char *)prec);
+ pdbRecordType->papFldDes[40]->size=sizeof(prec->udf);
+ pdbRecordType->papFldDes[40]->offset=(short)((char *)&prec->udf - (char *)prec);
+ pdbRecordType->papFldDes[41]->size=sizeof(prec->time);
+ pdbRecordType->papFldDes[41]->offset=(short)((char *)&prec->time - (char *)prec);
+ pdbRecordType->papFldDes[42]->size=sizeof(prec->flnk);
+ pdbRecordType->papFldDes[42]->offset=(short)((char *)&prec->flnk - (char *)prec);
+ pdbRecordType->papFldDes[43]->size=sizeof(prec->vers);
+ pdbRecordType->papFldDes[43]->offset=(short)((char *)&prec->vers - (char *)prec);
+ pdbRecordType->papFldDes[44]->size=sizeof(prec->val);
+ pdbRecordType->papFldDes[44]->offset=(short)((char *)&prec->val - (char *)prec);
+ pdbRecordType->papFldDes[45]->size=sizeof(prec->oval);
+ pdbRecordType->papFldDes[45]->offset=(short)((char *)&prec->oval - (char *)prec);
+ pdbRecordType->papFldDes[46]->size=sizeof(prec->sadr);
+ pdbRecordType->papFldDes[46]->offset=(short)((char *)&prec->sadr - (char *)prec);
+ pdbRecordType->papFldDes[47]->size=sizeof(prec->osad);
+ pdbRecordType->papFldDes[47]->offset=(short)((char *)&prec->osad - (char *)prec);
+ pdbRecordType->papFldDes[48]->size=sizeof(prec->lflg);
+ pdbRecordType->papFldDes[48]->offset=(short)((char *)&prec->lflg - (char *)prec);
+ pdbRecordType->papFldDes[49]->size=sizeof(prec->eflg);
+ pdbRecordType->papFldDes[49]->offset=(short)((char *)&prec->eflg - (char *)prec);
+ pdbRecordType->papFldDes[50]->size=sizeof(prec->subl);
+ pdbRecordType->papFldDes[50]->offset=(short)((char *)&prec->subl - (char *)prec);
+ pdbRecordType->papFldDes[51]->size=sizeof(prec->inam);
+ pdbRecordType->papFldDes[51]->offset=(short)((char *)&prec->inam - (char *)prec);
+ pdbRecordType->papFldDes[52]->size=sizeof(prec->snam);
+ pdbRecordType->papFldDes[52]->offset=(short)((char *)&prec->snam - (char *)prec);
+ pdbRecordType->papFldDes[53]->size=sizeof(prec->onam);
+ pdbRecordType->papFldDes[53]->offset=(short)((char *)&prec->onam - (char *)prec);
+ pdbRecordType->papFldDes[54]->size=sizeof(prec->brsv);
+ pdbRecordType->papFldDes[54]->offset=(short)((char *)&prec->brsv - (char *)prec);
+ pdbRecordType->papFldDes[55]->size=sizeof(prec->prec);
+ pdbRecordType->papFldDes[55]->offset=(short)((char *)&prec->prec - (char *)prec);
+ pdbRecordType->papFldDes[56]->size=sizeof(prec->inpa);
+ pdbRecordType->papFldDes[56]->offset=(short)((char *)&prec->inpa - (char *)prec);
+ pdbRecordType->papFldDes[57]->size=sizeof(prec->inpb);
+ pdbRecordType->papFldDes[57]->offset=(short)((char *)&prec->inpb - (char *)prec);
+ pdbRecordType->papFldDes[58]->size=sizeof(prec->inpc);
+ pdbRecordType->papFldDes[58]->offset=(short)((char *)&prec->inpc - (char *)prec);
+ pdbRecordType->papFldDes[59]->size=sizeof(prec->inpd);
+ pdbRecordType->papFldDes[59]->offset=(short)((char *)&prec->inpd - (char *)prec);
+ pdbRecordType->papFldDes[60]->size=sizeof(prec->inpe);
+ pdbRecordType->papFldDes[60]->offset=(short)((char *)&prec->inpe - (char *)prec);
+ pdbRecordType->papFldDes[61]->size=sizeof(prec->inpf);
+ pdbRecordType->papFldDes[61]->offset=(short)((char *)&prec->inpf - (char *)prec);
+ pdbRecordType->papFldDes[62]->size=sizeof(prec->inpg);
+ pdbRecordType->papFldDes[62]->offset=(short)((char *)&prec->inpg - (char *)prec);
+ pdbRecordType->papFldDes[63]->size=sizeof(prec->inph);
+ pdbRecordType->papFldDes[63]->offset=(short)((char *)&prec->inph - (char *)prec);
+ pdbRecordType->papFldDes[64]->size=sizeof(prec->inpi);
+ pdbRecordType->papFldDes[64]->offset=(short)((char *)&prec->inpi - (char *)prec);
+ pdbRecordType->papFldDes[65]->size=sizeof(prec->inpj);
+ pdbRecordType->papFldDes[65]->offset=(short)((char *)&prec->inpj - (char *)prec);
+ pdbRecordType->papFldDes[66]->size=sizeof(prec->inpk);
+ pdbRecordType->papFldDes[66]->offset=(short)((char *)&prec->inpk - (char *)prec);
+ pdbRecordType->papFldDes[67]->size=sizeof(prec->inpl);
+ pdbRecordType->papFldDes[67]->offset=(short)((char *)&prec->inpl - (char *)prec);
+ pdbRecordType->papFldDes[68]->size=sizeof(prec->inpm);
+ pdbRecordType->papFldDes[68]->offset=(short)((char *)&prec->inpm - (char *)prec);
+ pdbRecordType->papFldDes[69]->size=sizeof(prec->inpn);
+ pdbRecordType->papFldDes[69]->offset=(short)((char *)&prec->inpn - (char *)prec);
+ pdbRecordType->papFldDes[70]->size=sizeof(prec->inpo);
+ pdbRecordType->papFldDes[70]->offset=(short)((char *)&prec->inpo - (char *)prec);
+ pdbRecordType->papFldDes[71]->size=sizeof(prec->inpp);
+ pdbRecordType->papFldDes[71]->offset=(short)((char *)&prec->inpp - (char *)prec);
+ pdbRecordType->papFldDes[72]->size=sizeof(prec->inpq);
+ pdbRecordType->papFldDes[72]->offset=(short)((char *)&prec->inpq - (char *)prec);
+ pdbRecordType->papFldDes[73]->size=sizeof(prec->inpr);
+ pdbRecordType->papFldDes[73]->offset=(short)((char *)&prec->inpr - (char *)prec);
+ pdbRecordType->papFldDes[74]->size=sizeof(prec->inps);
+ pdbRecordType->papFldDes[74]->offset=(short)((char *)&prec->inps - (char *)prec);
+ pdbRecordType->papFldDes[75]->size=sizeof(prec->inpt);
+ pdbRecordType->papFldDes[75]->offset=(short)((char *)&prec->inpt - (char *)prec);
+ pdbRecordType->papFldDes[76]->size=sizeof(prec->inpu);
+ pdbRecordType->papFldDes[76]->offset=(short)((char *)&prec->inpu - (char *)prec);
+ pdbRecordType->papFldDes[77]->size=sizeof(prec->ufa);
+ pdbRecordType->papFldDes[77]->offset=(short)((char *)&prec->ufa - (char *)prec);
+ pdbRecordType->papFldDes[78]->size=sizeof(prec->ufb);
+ pdbRecordType->papFldDes[78]->offset=(short)((char *)&prec->ufb - (char *)prec);
+ pdbRecordType->papFldDes[79]->size=sizeof(prec->ufc);
+ pdbRecordType->papFldDes[79]->offset=(short)((char *)&prec->ufc - (char *)prec);
+ pdbRecordType->papFldDes[80]->size=sizeof(prec->ufd);
+ pdbRecordType->papFldDes[80]->offset=(short)((char *)&prec->ufd - (char *)prec);
+ pdbRecordType->papFldDes[81]->size=sizeof(prec->ufe);
+ pdbRecordType->papFldDes[81]->offset=(short)((char *)&prec->ufe - (char *)prec);
+ pdbRecordType->papFldDes[82]->size=sizeof(prec->uff);
+ pdbRecordType->papFldDes[82]->offset=(short)((char *)&prec->uff - (char *)prec);
+ pdbRecordType->papFldDes[83]->size=sizeof(prec->ufg);
+ pdbRecordType->papFldDes[83]->offset=(short)((char *)&prec->ufg - (char *)prec);
+ pdbRecordType->papFldDes[84]->size=sizeof(prec->ufh);
+ pdbRecordType->papFldDes[84]->offset=(short)((char *)&prec->ufh - (char *)prec);
+ pdbRecordType->papFldDes[85]->size=sizeof(prec->ufi);
+ pdbRecordType->papFldDes[85]->offset=(short)((char *)&prec->ufi - (char *)prec);
+ pdbRecordType->papFldDes[86]->size=sizeof(prec->ufj);
+ pdbRecordType->papFldDes[86]->offset=(short)((char *)&prec->ufj - (char *)prec);
+ pdbRecordType->papFldDes[87]->size=sizeof(prec->ufk);
+ pdbRecordType->papFldDes[87]->offset=(short)((char *)&prec->ufk - (char *)prec);
+ pdbRecordType->papFldDes[88]->size=sizeof(prec->ufl);
+ pdbRecordType->papFldDes[88]->offset=(short)((char *)&prec->ufl - (char *)prec);
+ pdbRecordType->papFldDes[89]->size=sizeof(prec->ufm);
+ pdbRecordType->papFldDes[89]->offset=(short)((char *)&prec->ufm - (char *)prec);
+ pdbRecordType->papFldDes[90]->size=sizeof(prec->ufn);
+ pdbRecordType->papFldDes[90]->offset=(short)((char *)&prec->ufn - (char *)prec);
+ pdbRecordType->papFldDes[91]->size=sizeof(prec->ufo);
+ pdbRecordType->papFldDes[91]->offset=(short)((char *)&prec->ufo - (char *)prec);
+ pdbRecordType->papFldDes[92]->size=sizeof(prec->ufp);
+ pdbRecordType->papFldDes[92]->offset=(short)((char *)&prec->ufp - (char *)prec);
+ pdbRecordType->papFldDes[93]->size=sizeof(prec->ufq);
+ pdbRecordType->papFldDes[93]->offset=(short)((char *)&prec->ufq - (char *)prec);
+ pdbRecordType->papFldDes[94]->size=sizeof(prec->ufr);
+ pdbRecordType->papFldDes[94]->offset=(short)((char *)&prec->ufr - (char *)prec);
+ pdbRecordType->papFldDes[95]->size=sizeof(prec->ufs);
+ pdbRecordType->papFldDes[95]->offset=(short)((char *)&prec->ufs - (char *)prec);
+ pdbRecordType->papFldDes[96]->size=sizeof(prec->uft);
+ pdbRecordType->papFldDes[96]->offset=(short)((char *)&prec->uft - (char *)prec);
+ pdbRecordType->papFldDes[97]->size=sizeof(prec->ufu);
+ pdbRecordType->papFldDes[97]->offset=(short)((char *)&prec->ufu - (char *)prec);
+ pdbRecordType->papFldDes[98]->size=sizeof(prec->a);
+ pdbRecordType->papFldDes[98]->offset=(short)((char *)&prec->a - (char *)prec);
+ pdbRecordType->papFldDes[99]->size=sizeof(prec->b);
+ pdbRecordType->papFldDes[99]->offset=(short)((char *)&prec->b - (char *)prec);
+ pdbRecordType->papFldDes[100]->size=sizeof(prec->c);
+ pdbRecordType->papFldDes[100]->offset=(short)((char *)&prec->c - (char *)prec);
+ pdbRecordType->papFldDes[101]->size=sizeof(prec->d);
+ pdbRecordType->papFldDes[101]->offset=(short)((char *)&prec->d - (char *)prec);
+ pdbRecordType->papFldDes[102]->size=sizeof(prec->e);
+ pdbRecordType->papFldDes[102]->offset=(short)((char *)&prec->e - (char *)prec);
+ pdbRecordType->papFldDes[103]->size=sizeof(prec->f);
+ pdbRecordType->papFldDes[103]->offset=(short)((char *)&prec->f - (char *)prec);
+ pdbRecordType->papFldDes[104]->size=sizeof(prec->g);
+ pdbRecordType->papFldDes[104]->offset=(short)((char *)&prec->g - (char *)prec);
+ pdbRecordType->papFldDes[105]->size=sizeof(prec->h);
+ pdbRecordType->papFldDes[105]->offset=(short)((char *)&prec->h - (char *)prec);
+ pdbRecordType->papFldDes[106]->size=sizeof(prec->i);
+ pdbRecordType->papFldDes[106]->offset=(short)((char *)&prec->i - (char *)prec);
+ pdbRecordType->papFldDes[107]->size=sizeof(prec->j);
+ pdbRecordType->papFldDes[107]->offset=(short)((char *)&prec->j - (char *)prec);
+ pdbRecordType->papFldDes[108]->size=sizeof(prec->k);
+ pdbRecordType->papFldDes[108]->offset=(short)((char *)&prec->k - (char *)prec);
+ pdbRecordType->papFldDes[109]->size=sizeof(prec->l);
+ pdbRecordType->papFldDes[109]->offset=(short)((char *)&prec->l - (char *)prec);
+ pdbRecordType->papFldDes[110]->size=sizeof(prec->m);
+ pdbRecordType->papFldDes[110]->offset=(short)((char *)&prec->m - (char *)prec);
+ pdbRecordType->papFldDes[111]->size=sizeof(prec->n);
+ pdbRecordType->papFldDes[111]->offset=(short)((char *)&prec->n - (char *)prec);
+ pdbRecordType->papFldDes[112]->size=sizeof(prec->o);
+ pdbRecordType->papFldDes[112]->offset=(short)((char *)&prec->o - (char *)prec);
+ pdbRecordType->papFldDes[113]->size=sizeof(prec->p);
+ pdbRecordType->papFldDes[113]->offset=(short)((char *)&prec->p - (char *)prec);
+ pdbRecordType->papFldDes[114]->size=sizeof(prec->q);
+ pdbRecordType->papFldDes[114]->offset=(short)((char *)&prec->q - (char *)prec);
+ pdbRecordType->papFldDes[115]->size=sizeof(prec->r);
+ pdbRecordType->papFldDes[115]->offset=(short)((char *)&prec->r - (char *)prec);
+ pdbRecordType->papFldDes[116]->size=sizeof(prec->s);
+ pdbRecordType->papFldDes[116]->offset=(short)((char *)&prec->s - (char *)prec);
+ pdbRecordType->papFldDes[117]->size=sizeof(prec->t);
+ pdbRecordType->papFldDes[117]->offset=(short)((char *)&prec->t - (char *)prec);
+ pdbRecordType->papFldDes[118]->size=sizeof(prec->u);
+ pdbRecordType->papFldDes[118]->offset=(short)((char *)&prec->u - (char *)prec);
+ pdbRecordType->papFldDes[119]->size=sizeof(prec->fta);
+ pdbRecordType->papFldDes[119]->offset=(short)((char *)&prec->fta - (char *)prec);
+ pdbRecordType->papFldDes[120]->size=sizeof(prec->ftb);
+ pdbRecordType->papFldDes[120]->offset=(short)((char *)&prec->ftb - (char *)prec);
+ pdbRecordType->papFldDes[121]->size=sizeof(prec->ftc);
+ pdbRecordType->papFldDes[121]->offset=(short)((char *)&prec->ftc - (char *)prec);
+ pdbRecordType->papFldDes[122]->size=sizeof(prec->ftd);
+ pdbRecordType->papFldDes[122]->offset=(short)((char *)&prec->ftd - (char *)prec);
+ pdbRecordType->papFldDes[123]->size=sizeof(prec->fte);
+ pdbRecordType->papFldDes[123]->offset=(short)((char *)&prec->fte - (char *)prec);
+ pdbRecordType->papFldDes[124]->size=sizeof(prec->ftf);
+ pdbRecordType->papFldDes[124]->offset=(short)((char *)&prec->ftf - (char *)prec);
+ pdbRecordType->papFldDes[125]->size=sizeof(prec->ftg);
+ pdbRecordType->papFldDes[125]->offset=(short)((char *)&prec->ftg - (char *)prec);
+ pdbRecordType->papFldDes[126]->size=sizeof(prec->fth);
+ pdbRecordType->papFldDes[126]->offset=(short)((char *)&prec->fth - (char *)prec);
+ pdbRecordType->papFldDes[127]->size=sizeof(prec->fti);
+ pdbRecordType->papFldDes[127]->offset=(short)((char *)&prec->fti - (char *)prec);
+ pdbRecordType->papFldDes[128]->size=sizeof(prec->ftj);
+ pdbRecordType->papFldDes[128]->offset=(short)((char *)&prec->ftj - (char *)prec);
+ pdbRecordType->papFldDes[129]->size=sizeof(prec->ftk);
+ pdbRecordType->papFldDes[129]->offset=(short)((char *)&prec->ftk - (char *)prec);
+ pdbRecordType->papFldDes[130]->size=sizeof(prec->ftl);
+ pdbRecordType->papFldDes[130]->offset=(short)((char *)&prec->ftl - (char *)prec);
+ pdbRecordType->papFldDes[131]->size=sizeof(prec->ftm);
+ pdbRecordType->papFldDes[131]->offset=(short)((char *)&prec->ftm - (char *)prec);
+ pdbRecordType->papFldDes[132]->size=sizeof(prec->ftn);
+ pdbRecordType->papFldDes[132]->offset=(short)((char *)&prec->ftn - (char *)prec);
+ pdbRecordType->papFldDes[133]->size=sizeof(prec->fto);
+ pdbRecordType->papFldDes[133]->offset=(short)((char *)&prec->fto - (char *)prec);
+ pdbRecordType->papFldDes[134]->size=sizeof(prec->ftp);
+ pdbRecordType->papFldDes[134]->offset=(short)((char *)&prec->ftp - (char *)prec);
+ pdbRecordType->papFldDes[135]->size=sizeof(prec->ftq);
+ pdbRecordType->papFldDes[135]->offset=(short)((char *)&prec->ftq - (char *)prec);
+ pdbRecordType->papFldDes[136]->size=sizeof(prec->ftr);
+ pdbRecordType->papFldDes[136]->offset=(short)((char *)&prec->ftr - (char *)prec);
+ pdbRecordType->papFldDes[137]->size=sizeof(prec->fts);
+ pdbRecordType->papFldDes[137]->offset=(short)((char *)&prec->fts - (char *)prec);
+ pdbRecordType->papFldDes[138]->size=sizeof(prec->ftt);
+ pdbRecordType->papFldDes[138]->offset=(short)((char *)&prec->ftt - (char *)prec);
+ pdbRecordType->papFldDes[139]->size=sizeof(prec->ftu);
+ pdbRecordType->papFldDes[139]->offset=(short)((char *)&prec->ftu - (char *)prec);
+ pdbRecordType->papFldDes[140]->size=sizeof(prec->noa);
+ pdbRecordType->papFldDes[140]->offset=(short)((char *)&prec->noa - (char *)prec);
+ pdbRecordType->papFldDes[141]->size=sizeof(prec->nob);
+ pdbRecordType->papFldDes[141]->offset=(short)((char *)&prec->nob - (char *)prec);
+ pdbRecordType->papFldDes[142]->size=sizeof(prec->noc);
+ pdbRecordType->papFldDes[142]->offset=(short)((char *)&prec->noc - (char *)prec);
+ pdbRecordType->papFldDes[143]->size=sizeof(prec->nod);
+ pdbRecordType->papFldDes[143]->offset=(short)((char *)&prec->nod - (char *)prec);
+ pdbRecordType->papFldDes[144]->size=sizeof(prec->noe);
+ pdbRecordType->papFldDes[144]->offset=(short)((char *)&prec->noe - (char *)prec);
+ pdbRecordType->papFldDes[145]->size=sizeof(prec->nof);
+ pdbRecordType->papFldDes[145]->offset=(short)((char *)&prec->nof - (char *)prec);
+ pdbRecordType->papFldDes[146]->size=sizeof(prec->nog);
+ pdbRecordType->papFldDes[146]->offset=(short)((char *)&prec->nog - (char *)prec);
+ pdbRecordType->papFldDes[147]->size=sizeof(prec->noh);
+ pdbRecordType->papFldDes[147]->offset=(short)((char *)&prec->noh - (char *)prec);
+ pdbRecordType->papFldDes[148]->size=sizeof(prec->noi);
+ pdbRecordType->papFldDes[148]->offset=(short)((char *)&prec->noi - (char *)prec);
+ pdbRecordType->papFldDes[149]->size=sizeof(prec->noj);
+ pdbRecordType->papFldDes[149]->offset=(short)((char *)&prec->noj - (char *)prec);
+ pdbRecordType->papFldDes[150]->size=sizeof(prec->nok);
+ pdbRecordType->papFldDes[150]->offset=(short)((char *)&prec->nok - (char *)prec);
+ pdbRecordType->papFldDes[151]->size=sizeof(prec->nol);
+ pdbRecordType->papFldDes[151]->offset=(short)((char *)&prec->nol - (char *)prec);
+ pdbRecordType->papFldDes[152]->size=sizeof(prec->nom);
+ pdbRecordType->papFldDes[152]->offset=(short)((char *)&prec->nom - (char *)prec);
+ pdbRecordType->papFldDes[153]->size=sizeof(prec->non);
+ pdbRecordType->papFldDes[153]->offset=(short)((char *)&prec->non - (char *)prec);
+ pdbRecordType->papFldDes[154]->size=sizeof(prec->noo);
+ pdbRecordType->papFldDes[154]->offset=(short)((char *)&prec->noo - (char *)prec);
+ pdbRecordType->papFldDes[155]->size=sizeof(prec->nop);
+ pdbRecordType->papFldDes[155]->offset=(short)((char *)&prec->nop - (char *)prec);
+ pdbRecordType->papFldDes[156]->size=sizeof(prec->noq);
+ pdbRecordType->papFldDes[156]->offset=(short)((char *)&prec->noq - (char *)prec);
+ pdbRecordType->papFldDes[157]->size=sizeof(prec->nor);
+ pdbRecordType->papFldDes[157]->offset=(short)((char *)&prec->nor - (char *)prec);
+ pdbRecordType->papFldDes[158]->size=sizeof(prec->nos);
+ pdbRecordType->papFldDes[158]->offset=(short)((char *)&prec->nos - (char *)prec);
+ pdbRecordType->papFldDes[159]->size=sizeof(prec->not);
+ pdbRecordType->papFldDes[159]->offset=(short)((char *)&prec->not - (char *)prec);
+ pdbRecordType->papFldDes[160]->size=sizeof(prec->nou);
+ pdbRecordType->papFldDes[160]->offset=(short)((char *)&prec->nou - (char *)prec);
+ pdbRecordType->papFldDes[161]->size=sizeof(prec->outa);
+ pdbRecordType->papFldDes[161]->offset=(short)((char *)&prec->outa - (char *)prec);
+ pdbRecordType->papFldDes[162]->size=sizeof(prec->outb);
+ pdbRecordType->papFldDes[162]->offset=(short)((char *)&prec->outb - (char *)prec);
+ pdbRecordType->papFldDes[163]->size=sizeof(prec->outc);
+ pdbRecordType->papFldDes[163]->offset=(short)((char *)&prec->outc - (char *)prec);
+ pdbRecordType->papFldDes[164]->size=sizeof(prec->outd);
+ pdbRecordType->papFldDes[164]->offset=(short)((char *)&prec->outd - (char *)prec);
+ pdbRecordType->papFldDes[165]->size=sizeof(prec->oute);
+ pdbRecordType->papFldDes[165]->offset=(short)((char *)&prec->oute - (char *)prec);
+ pdbRecordType->papFldDes[166]->size=sizeof(prec->outf);
+ pdbRecordType->papFldDes[166]->offset=(short)((char *)&prec->outf - (char *)prec);
+ pdbRecordType->papFldDes[167]->size=sizeof(prec->outg);
+ pdbRecordType->papFldDes[167]->offset=(short)((char *)&prec->outg - (char *)prec);
+ pdbRecordType->papFldDes[168]->size=sizeof(prec->outh);
+ pdbRecordType->papFldDes[168]->offset=(short)((char *)&prec->outh - (char *)prec);
+ pdbRecordType->papFldDes[169]->size=sizeof(prec->outi);
+ pdbRecordType->papFldDes[169]->offset=(short)((char *)&prec->outi - (char *)prec);
+ pdbRecordType->papFldDes[170]->size=sizeof(prec->outj);
+ pdbRecordType->papFldDes[170]->offset=(short)((char *)&prec->outj - (char *)prec);
+ pdbRecordType->papFldDes[171]->size=sizeof(prec->outk);
+ pdbRecordType->papFldDes[171]->offset=(short)((char *)&prec->outk - (char *)prec);
+ pdbRecordType->papFldDes[172]->size=sizeof(prec->outl);
+ pdbRecordType->papFldDes[172]->offset=(short)((char *)&prec->outl - (char *)prec);
+ pdbRecordType->papFldDes[173]->size=sizeof(prec->outm);
+ pdbRecordType->papFldDes[173]->offset=(short)((char *)&prec->outm - (char *)prec);
+ pdbRecordType->papFldDes[174]->size=sizeof(prec->outn);
+ pdbRecordType->papFldDes[174]->offset=(short)((char *)&prec->outn - (char *)prec);
+ pdbRecordType->papFldDes[175]->size=sizeof(prec->outo);
+ pdbRecordType->papFldDes[175]->offset=(short)((char *)&prec->outo - (char *)prec);
+ pdbRecordType->papFldDes[176]->size=sizeof(prec->outp);
+ pdbRecordType->papFldDes[176]->offset=(short)((char *)&prec->outp - (char *)prec);
+ pdbRecordType->papFldDes[177]->size=sizeof(prec->outq);
+ pdbRecordType->papFldDes[177]->offset=(short)((char *)&prec->outq - (char *)prec);
+ pdbRecordType->papFldDes[178]->size=sizeof(prec->outr);
+ pdbRecordType->papFldDes[178]->offset=(short)((char *)&prec->outr - (char *)prec);
+ pdbRecordType->papFldDes[179]->size=sizeof(prec->outs);
+ pdbRecordType->papFldDes[179]->offset=(short)((char *)&prec->outs - (char *)prec);
+ pdbRecordType->papFldDes[180]->size=sizeof(prec->outt);
+ pdbRecordType->papFldDes[180]->offset=(short)((char *)&prec->outt - (char *)prec);
+ pdbRecordType->papFldDes[181]->size=sizeof(prec->outu);
+ pdbRecordType->papFldDes[181]->offset=(short)((char *)&prec->outu - (char *)prec);
+ pdbRecordType->papFldDes[182]->size=sizeof(prec->ufva);
+ pdbRecordType->papFldDes[182]->offset=(short)((char *)&prec->ufva - (char *)prec);
+ pdbRecordType->papFldDes[183]->size=sizeof(prec->ufvb);
+ pdbRecordType->papFldDes[183]->offset=(short)((char *)&prec->ufvb - (char *)prec);
+ pdbRecordType->papFldDes[184]->size=sizeof(prec->ufvc);
+ pdbRecordType->papFldDes[184]->offset=(short)((char *)&prec->ufvc - (char *)prec);
+ pdbRecordType->papFldDes[185]->size=sizeof(prec->ufvd);
+ pdbRecordType->papFldDes[185]->offset=(short)((char *)&prec->ufvd - (char *)prec);
+ pdbRecordType->papFldDes[186]->size=sizeof(prec->ufve);
+ pdbRecordType->papFldDes[186]->offset=(short)((char *)&prec->ufve - (char *)prec);
+ pdbRecordType->papFldDes[187]->size=sizeof(prec->ufvf);
+ pdbRecordType->papFldDes[187]->offset=(short)((char *)&prec->ufvf - (char *)prec);
+ pdbRecordType->papFldDes[188]->size=sizeof(prec->ufvg);
+ pdbRecordType->papFldDes[188]->offset=(short)((char *)&prec->ufvg - (char *)prec);
+ pdbRecordType->papFldDes[189]->size=sizeof(prec->ufvh);
+ pdbRecordType->papFldDes[189]->offset=(short)((char *)&prec->ufvh - (char *)prec);
+ pdbRecordType->papFldDes[190]->size=sizeof(prec->ufvi);
+ pdbRecordType->papFldDes[190]->offset=(short)((char *)&prec->ufvi - (char *)prec);
+ pdbRecordType->papFldDes[191]->size=sizeof(prec->ufvj);
+ pdbRecordType->papFldDes[191]->offset=(short)((char *)&prec->ufvj - (char *)prec);
+ pdbRecordType->papFldDes[192]->size=sizeof(prec->ufvk);
+ pdbRecordType->papFldDes[192]->offset=(short)((char *)&prec->ufvk - (char *)prec);
+ pdbRecordType->papFldDes[193]->size=sizeof(prec->ufvl);
+ pdbRecordType->papFldDes[193]->offset=(short)((char *)&prec->ufvl - (char *)prec);
+ pdbRecordType->papFldDes[194]->size=sizeof(prec->ufvm);
+ pdbRecordType->papFldDes[194]->offset=(short)((char *)&prec->ufvm - (char *)prec);
+ pdbRecordType->papFldDes[195]->size=sizeof(prec->ufvn);
+ pdbRecordType->papFldDes[195]->offset=(short)((char *)&prec->ufvn - (char *)prec);
+ pdbRecordType->papFldDes[196]->size=sizeof(prec->ufvo);
+ pdbRecordType->papFldDes[196]->offset=(short)((char *)&prec->ufvo - (char *)prec);
+ pdbRecordType->papFldDes[197]->size=sizeof(prec->ufvp);
+ pdbRecordType->papFldDes[197]->offset=(short)((char *)&prec->ufvp - (char *)prec);
+ pdbRecordType->papFldDes[198]->size=sizeof(prec->ufvq);
+ pdbRecordType->papFldDes[198]->offset=(short)((char *)&prec->ufvq - (char *)prec);
+ pdbRecordType->papFldDes[199]->size=sizeof(prec->ufvr);
+ pdbRecordType->papFldDes[199]->offset=(short)((char *)&prec->ufvr - (char *)prec);
+ pdbRecordType->papFldDes[200]->size=sizeof(prec->ufvs);
+ pdbRecordType->papFldDes[200]->offset=(short)((char *)&prec->ufvs - (char *)prec);
+ pdbRecordType->papFldDes[201]->size=sizeof(prec->ufvt);
+ pdbRecordType->papFldDes[201]->offset=(short)((char *)&prec->ufvt - (char *)prec);
+ pdbRecordType->papFldDes[202]->size=sizeof(prec->ufvu);
+ pdbRecordType->papFldDes[202]->offset=(short)((char *)&prec->ufvu - (char *)prec);
+ pdbRecordType->papFldDes[203]->size=sizeof(prec->vala);
+ pdbRecordType->papFldDes[203]->offset=(short)((char *)&prec->vala - (char *)prec);
+ pdbRecordType->papFldDes[204]->size=sizeof(prec->valb);
+ pdbRecordType->papFldDes[204]->offset=(short)((char *)&prec->valb - (char *)prec);
+ pdbRecordType->papFldDes[205]->size=sizeof(prec->valc);
+ pdbRecordType->papFldDes[205]->offset=(short)((char *)&prec->valc - (char *)prec);
+ pdbRecordType->papFldDes[206]->size=sizeof(prec->vald);
+ pdbRecordType->papFldDes[206]->offset=(short)((char *)&prec->vald - (char *)prec);
+ pdbRecordType->papFldDes[207]->size=sizeof(prec->vale);
+ pdbRecordType->papFldDes[207]->offset=(short)((char *)&prec->vale - (char *)prec);
+ pdbRecordType->papFldDes[208]->size=sizeof(prec->valf);
+ pdbRecordType->papFldDes[208]->offset=(short)((char *)&prec->valf - (char *)prec);
+ pdbRecordType->papFldDes[209]->size=sizeof(prec->valg);
+ pdbRecordType->papFldDes[209]->offset=(short)((char *)&prec->valg - (char *)prec);
+ pdbRecordType->papFldDes[210]->size=sizeof(prec->valh);
+ pdbRecordType->papFldDes[210]->offset=(short)((char *)&prec->valh - (char *)prec);
+ pdbRecordType->papFldDes[211]->size=sizeof(prec->vali);
+ pdbRecordType->papFldDes[211]->offset=(short)((char *)&prec->vali - (char *)prec);
+ pdbRecordType->papFldDes[212]->size=sizeof(prec->valj);
+ pdbRecordType->papFldDes[212]->offset=(short)((char *)&prec->valj - (char *)prec);
+ pdbRecordType->papFldDes[213]->size=sizeof(prec->valk);
+ pdbRecordType->papFldDes[213]->offset=(short)((char *)&prec->valk - (char *)prec);
+ pdbRecordType->papFldDes[214]->size=sizeof(prec->vall);
+ pdbRecordType->papFldDes[214]->offset=(short)((char *)&prec->vall - (char *)prec);
+ pdbRecordType->papFldDes[215]->size=sizeof(prec->valm);
+ pdbRecordType->papFldDes[215]->offset=(short)((char *)&prec->valm - (char *)prec);
+ pdbRecordType->papFldDes[216]->size=sizeof(prec->valn);
+ pdbRecordType->papFldDes[216]->offset=(short)((char *)&prec->valn - (char *)prec);
+ pdbRecordType->papFldDes[217]->size=sizeof(prec->valo);
+ pdbRecordType->papFldDes[217]->offset=(short)((char *)&prec->valo - (char *)prec);
+ pdbRecordType->papFldDes[218]->size=sizeof(prec->valp);
+ pdbRecordType->papFldDes[218]->offset=(short)((char *)&prec->valp - (char *)prec);
+ pdbRecordType->papFldDes[219]->size=sizeof(prec->valq);
+ pdbRecordType->papFldDes[219]->offset=(short)((char *)&prec->valq - (char *)prec);
+ pdbRecordType->papFldDes[220]->size=sizeof(prec->valr);
+ pdbRecordType->papFldDes[220]->offset=(short)((char *)&prec->valr - (char *)prec);
+ pdbRecordType->papFldDes[221]->size=sizeof(prec->vals);
+ pdbRecordType->papFldDes[221]->offset=(short)((char *)&prec->vals - (char *)prec);
+ pdbRecordType->papFldDes[222]->size=sizeof(prec->valt);
+ pdbRecordType->papFldDes[222]->offset=(short)((char *)&prec->valt - (char *)prec);
+ pdbRecordType->papFldDes[223]->size=sizeof(prec->valu);
+ pdbRecordType->papFldDes[223]->offset=(short)((char *)&prec->valu - (char *)prec);
+ pdbRecordType->papFldDes[224]->size=sizeof(prec->ovla);
+ pdbRecordType->papFldDes[224]->offset=(short)((char *)&prec->ovla - (char *)prec);
+ pdbRecordType->papFldDes[225]->size=sizeof(prec->ovlb);
+ pdbRecordType->papFldDes[225]->offset=(short)((char *)&prec->ovlb - (char *)prec);
+ pdbRecordType->papFldDes[226]->size=sizeof(prec->ovlc);
+ pdbRecordType->papFldDes[226]->offset=(short)((char *)&prec->ovlc - (char *)prec);
+ pdbRecordType->papFldDes[227]->size=sizeof(prec->ovld);
+ pdbRecordType->papFldDes[227]->offset=(short)((char *)&prec->ovld - (char *)prec);
+ pdbRecordType->papFldDes[228]->size=sizeof(prec->ovle);
+ pdbRecordType->papFldDes[228]->offset=(short)((char *)&prec->ovle - (char *)prec);
+ pdbRecordType->papFldDes[229]->size=sizeof(prec->ovlf);
+ pdbRecordType->papFldDes[229]->offset=(short)((char *)&prec->ovlf - (char *)prec);
+ pdbRecordType->papFldDes[230]->size=sizeof(prec->ovlg);
+ pdbRecordType->papFldDes[230]->offset=(short)((char *)&prec->ovlg - (char *)prec);
+ pdbRecordType->papFldDes[231]->size=sizeof(prec->ovlh);
+ pdbRecordType->papFldDes[231]->offset=(short)((char *)&prec->ovlh - (char *)prec);
+ pdbRecordType->papFldDes[232]->size=sizeof(prec->ovli);
+ pdbRecordType->papFldDes[232]->offset=(short)((char *)&prec->ovli - (char *)prec);
+ pdbRecordType->papFldDes[233]->size=sizeof(prec->ovlj);
+ pdbRecordType->papFldDes[233]->offset=(short)((char *)&prec->ovlj - (char *)prec);
+ pdbRecordType->papFldDes[234]->size=sizeof(prec->ovlk);
+ pdbRecordType->papFldDes[234]->offset=(short)((char *)&prec->ovlk - (char *)prec);
+ pdbRecordType->papFldDes[235]->size=sizeof(prec->ovll);
+ pdbRecordType->papFldDes[235]->offset=(short)((char *)&prec->ovll - (char *)prec);
+ pdbRecordType->papFldDes[236]->size=sizeof(prec->ovlm);
+ pdbRecordType->papFldDes[236]->offset=(short)((char *)&prec->ovlm - (char *)prec);
+ pdbRecordType->papFldDes[237]->size=sizeof(prec->ovln);
+ pdbRecordType->papFldDes[237]->offset=(short)((char *)&prec->ovln - (char *)prec);
+ pdbRecordType->papFldDes[238]->size=sizeof(prec->ovlo);
+ pdbRecordType->papFldDes[238]->offset=(short)((char *)&prec->ovlo - (char *)prec);
+ pdbRecordType->papFldDes[239]->size=sizeof(prec->ovlp);
+ pdbRecordType->papFldDes[239]->offset=(short)((char *)&prec->ovlp - (char *)prec);
+ pdbRecordType->papFldDes[240]->size=sizeof(prec->ovlq);
+ pdbRecordType->papFldDes[240]->offset=(short)((char *)&prec->ovlq - (char *)prec);
+ pdbRecordType->papFldDes[241]->size=sizeof(prec->ovlr);
+ pdbRecordType->papFldDes[241]->offset=(short)((char *)&prec->ovlr - (char *)prec);
+ pdbRecordType->papFldDes[242]->size=sizeof(prec->ovls);
+ pdbRecordType->papFldDes[242]->offset=(short)((char *)&prec->ovls - (char *)prec);
+ pdbRecordType->papFldDes[243]->size=sizeof(prec->ovlt);
+ pdbRecordType->papFldDes[243]->offset=(short)((char *)&prec->ovlt - (char *)prec);
+ pdbRecordType->papFldDes[244]->size=sizeof(prec->ovlu);
+ pdbRecordType->papFldDes[244]->offset=(short)((char *)&prec->ovlu - (char *)prec);
+ pdbRecordType->papFldDes[245]->size=sizeof(prec->ftva);
+ pdbRecordType->papFldDes[245]->offset=(short)((char *)&prec->ftva - (char *)prec);
+ pdbRecordType->papFldDes[246]->size=sizeof(prec->ftvb);
+ pdbRecordType->papFldDes[246]->offset=(short)((char *)&prec->ftvb - (char *)prec);
+ pdbRecordType->papFldDes[247]->size=sizeof(prec->ftvc);
+ pdbRecordType->papFldDes[247]->offset=(short)((char *)&prec->ftvc - (char *)prec);
+ pdbRecordType->papFldDes[248]->size=sizeof(prec->ftvd);
+ pdbRecordType->papFldDes[248]->offset=(short)((char *)&prec->ftvd - (char *)prec);
+ pdbRecordType->papFldDes[249]->size=sizeof(prec->ftve);
+ pdbRecordType->papFldDes[249]->offset=(short)((char *)&prec->ftve - (char *)prec);
+ pdbRecordType->papFldDes[250]->size=sizeof(prec->ftvf);
+ pdbRecordType->papFldDes[250]->offset=(short)((char *)&prec->ftvf - (char *)prec);
+ pdbRecordType->papFldDes[251]->size=sizeof(prec->ftvg);
+ pdbRecordType->papFldDes[251]->offset=(short)((char *)&prec->ftvg - (char *)prec);
+ pdbRecordType->papFldDes[252]->size=sizeof(prec->ftvh);
+ pdbRecordType->papFldDes[252]->offset=(short)((char *)&prec->ftvh - (char *)prec);
+ pdbRecordType->papFldDes[253]->size=sizeof(prec->ftvi);
+ pdbRecordType->papFldDes[253]->offset=(short)((char *)&prec->ftvi - (char *)prec);
+ pdbRecordType->papFldDes[254]->size=sizeof(prec->ftvj);
+ pdbRecordType->papFldDes[254]->offset=(short)((char *)&prec->ftvj - (char *)prec);
+ pdbRecordType->papFldDes[255]->size=sizeof(prec->ftvk);
+ pdbRecordType->papFldDes[255]->offset=(short)((char *)&prec->ftvk - (char *)prec);
+ pdbRecordType->papFldDes[256]->size=sizeof(prec->ftvl);
+ pdbRecordType->papFldDes[256]->offset=(short)((char *)&prec->ftvl - (char *)prec);
+ pdbRecordType->papFldDes[257]->size=sizeof(prec->ftvm);
+ pdbRecordType->papFldDes[257]->offset=(short)((char *)&prec->ftvm - (char *)prec);
+ pdbRecordType->papFldDes[258]->size=sizeof(prec->ftvn);
+ pdbRecordType->papFldDes[258]->offset=(short)((char *)&prec->ftvn - (char *)prec);
+ pdbRecordType->papFldDes[259]->size=sizeof(prec->ftvo);
+ pdbRecordType->papFldDes[259]->offset=(short)((char *)&prec->ftvo - (char *)prec);
+ pdbRecordType->papFldDes[260]->size=sizeof(prec->ftvp);
+ pdbRecordType->papFldDes[260]->offset=(short)((char *)&prec->ftvp - (char *)prec);
+ pdbRecordType->papFldDes[261]->size=sizeof(prec->ftvq);
+ pdbRecordType->papFldDes[261]->offset=(short)((char *)&prec->ftvq - (char *)prec);
+ pdbRecordType->papFldDes[262]->size=sizeof(prec->ftvr);
+ pdbRecordType->papFldDes[262]->offset=(short)((char *)&prec->ftvr - (char *)prec);
+ pdbRecordType->papFldDes[263]->size=sizeof(prec->ftvs);
+ pdbRecordType->papFldDes[263]->offset=(short)((char *)&prec->ftvs - (char *)prec);
+ pdbRecordType->papFldDes[264]->size=sizeof(prec->ftvt);
+ pdbRecordType->papFldDes[264]->offset=(short)((char *)&prec->ftvt - (char *)prec);
+ pdbRecordType->papFldDes[265]->size=sizeof(prec->ftvu);
+ pdbRecordType->papFldDes[265]->offset=(short)((char *)&prec->ftvu - (char *)prec);
+ pdbRecordType->papFldDes[266]->size=sizeof(prec->nova);
+ pdbRecordType->papFldDes[266]->offset=(short)((char *)&prec->nova - (char *)prec);
+ pdbRecordType->papFldDes[267]->size=sizeof(prec->novb);
+ pdbRecordType->papFldDes[267]->offset=(short)((char *)&prec->novb - (char *)prec);
+ pdbRecordType->papFldDes[268]->size=sizeof(prec->novc);
+ pdbRecordType->papFldDes[268]->offset=(short)((char *)&prec->novc - (char *)prec);
+ pdbRecordType->papFldDes[269]->size=sizeof(prec->novd);
+ pdbRecordType->papFldDes[269]->offset=(short)((char *)&prec->novd - (char *)prec);
+ pdbRecordType->papFldDes[270]->size=sizeof(prec->nove);
+ pdbRecordType->papFldDes[270]->offset=(short)((char *)&prec->nove - (char *)prec);
+ pdbRecordType->papFldDes[271]->size=sizeof(prec->novf);
+ pdbRecordType->papFldDes[271]->offset=(short)((char *)&prec->novf - (char *)prec);
+ pdbRecordType->papFldDes[272]->size=sizeof(prec->novg);
+ pdbRecordType->papFldDes[272]->offset=(short)((char *)&prec->novg - (char *)prec);
+ pdbRecordType->papFldDes[273]->size=sizeof(prec->novh);
+ pdbRecordType->papFldDes[273]->offset=(short)((char *)&prec->novh - (char *)prec);
+ pdbRecordType->papFldDes[274]->size=sizeof(prec->novi);
+ pdbRecordType->papFldDes[274]->offset=(short)((char *)&prec->novi - (char *)prec);
+ pdbRecordType->papFldDes[275]->size=sizeof(prec->novj);
+ pdbRecordType->papFldDes[275]->offset=(short)((char *)&prec->novj - (char *)prec);
+ pdbRecordType->papFldDes[276]->size=sizeof(prec->novk);
+ pdbRecordType->papFldDes[276]->offset=(short)((char *)&prec->novk - (char *)prec);
+ pdbRecordType->papFldDes[277]->size=sizeof(prec->novl);
+ pdbRecordType->papFldDes[277]->offset=(short)((char *)&prec->novl - (char *)prec);
+ pdbRecordType->papFldDes[278]->size=sizeof(prec->novm);
+ pdbRecordType->papFldDes[278]->offset=(short)((char *)&prec->novm - (char *)prec);
+ pdbRecordType->papFldDes[279]->size=sizeof(prec->novn);
+ pdbRecordType->papFldDes[279]->offset=(short)((char *)&prec->novn - (char *)prec);
+ pdbRecordType->papFldDes[280]->size=sizeof(prec->novo);
+ pdbRecordType->papFldDes[280]->offset=(short)((char *)&prec->novo - (char *)prec);
+ pdbRecordType->papFldDes[281]->size=sizeof(prec->novp);
+ pdbRecordType->papFldDes[281]->offset=(short)((char *)&prec->novp - (char *)prec);
+ pdbRecordType->papFldDes[282]->size=sizeof(prec->novq);
+ pdbRecordType->papFldDes[282]->offset=(short)((char *)&prec->novq - (char *)prec);
+ pdbRecordType->papFldDes[283]->size=sizeof(prec->novr);
+ pdbRecordType->papFldDes[283]->offset=(short)((char *)&prec->novr - (char *)prec);
+ pdbRecordType->papFldDes[284]->size=sizeof(prec->novs);
+ pdbRecordType->papFldDes[284]->offset=(short)((char *)&prec->novs - (char *)prec);
+ pdbRecordType->papFldDes[285]->size=sizeof(prec->novt);
+ pdbRecordType->papFldDes[285]->offset=(short)((char *)&prec->novt - (char *)prec);
+ pdbRecordType->papFldDes[286]->size=sizeof(prec->novu);
+ pdbRecordType->papFldDes[286]->offset=(short)((char *)&prec->novu - (char *)prec);
+ pdbRecordType->papFldDes[287]->size=sizeof(prec->tova);
+ pdbRecordType->papFldDes[287]->offset=(short)((char *)&prec->tova - (char *)prec);
+ pdbRecordType->papFldDes[288]->size=sizeof(prec->tovb);
+ pdbRecordType->papFldDes[288]->offset=(short)((char *)&prec->tovb - (char *)prec);
+ pdbRecordType->papFldDes[289]->size=sizeof(prec->tovc);
+ pdbRecordType->papFldDes[289]->offset=(short)((char *)&prec->tovc - (char *)prec);
+ pdbRecordType->papFldDes[290]->size=sizeof(prec->tovd);
+ pdbRecordType->papFldDes[290]->offset=(short)((char *)&prec->tovd - (char *)prec);
+ pdbRecordType->papFldDes[291]->size=sizeof(prec->tove);
+ pdbRecordType->papFldDes[291]->offset=(short)((char *)&prec->tove - (char *)prec);
+ pdbRecordType->papFldDes[292]->size=sizeof(prec->tovf);
+ pdbRecordType->papFldDes[292]->offset=(short)((char *)&prec->tovf - (char *)prec);
+ pdbRecordType->papFldDes[293]->size=sizeof(prec->tovg);
+ pdbRecordType->papFldDes[293]->offset=(short)((char *)&prec->tovg - (char *)prec);
+ pdbRecordType->papFldDes[294]->size=sizeof(prec->tovh);
+ pdbRecordType->papFldDes[294]->offset=(short)((char *)&prec->tovh - (char *)prec);
+ pdbRecordType->papFldDes[295]->size=sizeof(prec->tovi);
+ pdbRecordType->papFldDes[295]->offset=(short)((char *)&prec->tovi - (char *)prec);
+ pdbRecordType->papFldDes[296]->size=sizeof(prec->tovj);
+ pdbRecordType->papFldDes[296]->offset=(short)((char *)&prec->tovj - (char *)prec);
+ pdbRecordType->papFldDes[297]->size=sizeof(prec->tovk);
+ pdbRecordType->papFldDes[297]->offset=(short)((char *)&prec->tovk - (char *)prec);
+ pdbRecordType->papFldDes[298]->size=sizeof(prec->tovl);
+ pdbRecordType->papFldDes[298]->offset=(short)((char *)&prec->tovl - (char *)prec);
+ pdbRecordType->papFldDes[299]->size=sizeof(prec->tovm);
+ pdbRecordType->papFldDes[299]->offset=(short)((char *)&prec->tovm - (char *)prec);
+ pdbRecordType->papFldDes[300]->size=sizeof(prec->tovn);
+ pdbRecordType->papFldDes[300]->offset=(short)((char *)&prec->tovn - (char *)prec);
+ pdbRecordType->papFldDes[301]->size=sizeof(prec->tovo);
+ pdbRecordType->papFldDes[301]->offset=(short)((char *)&prec->tovo - (char *)prec);
+ pdbRecordType->papFldDes[302]->size=sizeof(prec->tovp);
+ pdbRecordType->papFldDes[302]->offset=(short)((char *)&prec->tovp - (char *)prec);
+ pdbRecordType->papFldDes[303]->size=sizeof(prec->tovq);
+ pdbRecordType->papFldDes[303]->offset=(short)((char *)&prec->tovq - (char *)prec);
+ pdbRecordType->papFldDes[304]->size=sizeof(prec->tovr);
+ pdbRecordType->papFldDes[304]->offset=(short)((char *)&prec->tovr - (char *)prec);
+ pdbRecordType->papFldDes[305]->size=sizeof(prec->tovs);
+ pdbRecordType->papFldDes[305]->offset=(short)((char *)&prec->tovs - (char *)prec);
+ pdbRecordType->papFldDes[306]->size=sizeof(prec->tovt);
+ pdbRecordType->papFldDes[306]->offset=(short)((char *)&prec->tovt - (char *)prec);
+ pdbRecordType->papFldDes[307]->size=sizeof(prec->tovu);
+ pdbRecordType->papFldDes[307]->offset=(short)((char *)&prec->tovu - (char *)prec);
+ pdbRecordType->rec_size = sizeof(*prec);
+ return(0);
+}
+epicsExportRegistrar(genSubRecordSizeOffset);
+#ifdef __cplusplus
+}
+#endif
+#endif /*GEN_SIZE_OFFSET*/
--- /dev/null
+
+#ifndef HADTU_H
+#define HADTU_H
+
+#include <stddef.h>
+#include <stdint.h>
+
+
+enum HadTu_Decoding {
+ HadTu_queueDecoding = 3 << 16 | 99
+};
+
+static uint32_t *HadTu_hdr(const void *my);
+static size_t HadTu_hdrLen(void);
+static size_t HadTu_hdrSize(void);
+static int HadTu_isSwapped(const void *my);
+static uint32_t HadTu_hdrValue(const void *my, unsigned idx);
+static void HadTu_setHdrValue(const void *my, unsigned idx, uint32_t value);
+static uint32_t HadTu_decoding(const void *my);
+static void HadTu_setDecoding(void *my, uint32_t decoding);
+static unsigned HadTu_alignment(const void *my);
+static uint32_t HadTu_size(const void *my);
+static void HadTu_setSize(void *my, uint32_t size);
+static size_t HadTu_paddedSize(const void *my);
+static void *HadTu_begin(const void *my);
+static void *HadTu_end(const void *my);
+static size_t HadTu_dataSize(const void *my);
+static void *HadTu_data(const void *my);
+static void *HadTu_next(const void *my, const void *hadTu);
+char *HadTu_2charP(const void *my);
+
+enum HadTuIdx {
+ HadTuIdx_size,
+ HadTuIdx_decoding,
+ HadTuIdx_data
+};
+
+static uint32_t *HadTu_hdr(const void *my)
+{
+ return (uint32_t *) my;
+}
+
+static size_t HadTu_hdrLen(void)
+{
+ return HadTuIdx_data;
+}
+
+static size_t HadTu_hdrSize(void)
+{
+ return HadTu_hdrLen() * sizeof(uint32_t);
+}
+
+static int HadTu_isSwapped(const void *my)
+{
+ uint32_t *hdr = HadTu_hdr(my);
+
+ return hdr[HadTuIdx_decoding] > 0xffffff;
+}
+
+static uint32_t HadTu_hdrValue(const void *my, unsigned idx)
+{
+ uint32_t *hdr = HadTu_hdr(my);
+
+ if (HadTu_isSwapped(my)) {
+ uint32_t tmp0;
+ uint32_t tmp1;
+
+ tmp0 = hdr[idx];
+ ((char *) &tmp1)[0] = ((char *) &tmp0)[3];
+ ((char *) &tmp1)[1] = ((char *) &tmp0)[2];
+ ((char *) &tmp1)[2] = ((char *) &tmp0)[1];
+ ((char *) &tmp1)[3] = ((char *) &tmp0)[0];
+ return tmp1;
+ } else {
+ return hdr[idx];
+ }
+}
+
+static void HadTu_setHdrValue(const void *my, unsigned idx, uint32_t value)
+{
+ uint32_t *hdr = HadTu_hdr(my);
+
+ hdr[idx] = value;
+}
+
+static uint32_t HadTu_decoding(const void *my)
+{
+ return HadTu_hdrValue(my, HadTuIdx_decoding);
+}
+
+static void HadTu_setDecoding(void *my, uint32_t decoding)
+{
+ HadTu_setHdrValue(my, HadTuIdx_decoding, decoding);
+}
+
+static unsigned HadTu_alignment(const void *my)
+{
+ return 1 << (HadTu_decoding(my) >> 16 & 0xff);
+}
+
+static uint32_t HadTu_size(const void *my)
+{
+ return HadTu_hdrValue(my, HadTuIdx_size);
+}
+
+static void HadTu_setSize(void *my, uint32_t size)
+{
+ HadTu_setHdrValue(my, HadTuIdx_size, size);
+}
+
+static size_t HadTu_paddedSize(const void *my)
+{
+ uint32_t size;
+ uint32_t alignment;
+
+ size = HadTu_size(my);
+ alignment = HadTu_alignment(my);
+ return (size & (alignment - 1))
+ ? (size & ~(alignment - 1)) + alignment : size;
+}
+
+static void *HadTu_begin(const void *my)
+{
+ return (void *) my;
+}
+
+static void *HadTu_end(const void *my)
+{
+ return (void *) ((char *) my + HadTu_paddedSize(my));
+}
+
+static size_t HadTu_dataSize(const void *my)
+{
+ return HadTu_size(my) - HadTu_hdrSize();
+}
+
+static void *HadTu_data(const void *my)
+{
+ return (void *) ((char *) my + HadTu_hdrSize());
+}
+
+static void *HadTu_next(const void *my, const void *hadTu)
+{
+ uint32_t size;
+ uint32_t alignment;
+ size_t paddedSize;
+
+ size = HadTu_size(hadTu);
+ alignment = HadTu_alignment(my);
+ paddedSize = (size & (alignment - 1))
+ ? (size & ~(alignment - 1)) + alignment : size;
+
+ return (void *) ((char *) hadTu + paddedSize);
+}
+
+#endif
--- /dev/null
+
+#ifndef HADTUQUEUE_H
+#define HADTUQUEUE_H
+
+#include <stddef.h>
+#include "hadtu.h"
+
+typedef struct HadTuQueueS HadTuQueue;
+
+typedef enum HadTuQueueProtE {
+ HadTuQueueProt_read,
+ HadTuQueueProt_write
+} HadTuQueueProt;
+
+void conHadTuQueue(HadTuQueue *my, void *mem, size_t size);
+void conHadTuQueue_voidP(HadTuQueue *my, void *mem);
+void desHadTuQueue(HadTuQueue *my);
+size_t HadTuQueue_sizeOf(void);
+void HadTuQueue_cntl(HadTuQueue *my, int flag);
+void HadTuQueue_clear(HadTuQueue *my);
+int HadTuQueue_invariant(const HadTuQueue *my);
+
+int HadTuQueue_empty(const HadTuQueue *my);
+size_t HadTuQueue_size(const HadTuQueue *my);
+void *HadTuQueue_alloc(const HadTuQueue *my, size_t size);
+void HadTuQueue_push(HadTuQueue *my);
+void *HadTuQueue_2voidP(const HadTuQueue *my);
+void *HadTuQueue_front(const HadTuQueue *my);
+void HadTuQueue_pop(HadTuQueue *my);
+
+#endif
--- /dev/null
+
+#ifndef HARDWARE_H
+#define HARDWARE_H
+
+#include <syslog.h>
+
+typedef struct HardwareS Hardware;
+
+int readoutMain(int argc, char *argv[]);
+
+Hardware *newHardware(); /* allowed as newHardware(void) and newHardware(const char *subsystem) UFN */
+void deleteHardware(Hardware *my);
+int Hardware_inSpill(const Hardware *my);
+size_t Hardware_maxSubEvtSize(const Hardware *my);
+void Hardware_waitForTrigger(Hardware *my, void *subEvt);
+void Hardware_readout(Hardware *my, void *subEvt);
+
+static int getCards(Param *param, const char *subsystem, const char *cardtype, int *nCards, char **cards)
+{
+ int getCardsR;
+ int i;
+ char unitsS[PARAM_MAX_ARRAY_LEN][PARAM_MAX_VALUE_LEN];
+ char *units[PARAM_MAX_ARRAY_LEN];
+ int r;
+
+ for (i = 0; i < PARAM_MAX_ARRAY_LEN; i++) {
+ units[i] = unitsS[i];
+ }
+
+ if (0 > Param_getStringArray(param, subsystem, "unit", PARAM_MAX_ARRAY_LEN, &r, units) || r == 0) {
+ getCardsR = -1;
+ syslog(LOG_ERR, "Parameter %s(unit) not found, unknown list of VME modules", subsystem);
+ } else {
+ int unit;
+ int card;
+
+
+ getCardsR = 0;
+ card = 0;
+ /*= printf("units: %d\n", r); */
+ for (unit = 0; unit < r; unit++) {
+ char ct[PARAM_MAX_VALUE_LEN];
+ int r2;
+
+ /*printf("before getString: %s, unit %d\n", units[unit], unit);*/
+ if (Param_getString(param, units[unit], "cardtype", &r2, ct) || r2 == 0) {
+ syslog(LOG_ERR, "Parameter %s(cardtype) not found", units[unit]);
+ getCardsR = -1;
+ } else {
+ /*printf("before strcpy: %s: %s, unit %d\n", units[unit], ct, unit);*/
+ if (strcmp(cardtype, ct) == 0) {
+ strcpy(cards[card++], units[unit]);
+ /*printf("strcpy: %s, unit %d\n", units[unit], unit);*/
+ }
+ }
+ }
+ *nCards = card;
+ }
+
+ if (0 == getCardsR) {
+ int card;
+
+ syslog(LOG_INFO, "List of matching cards for subsystem %s, cardtype %s", subsystem, cardtype);
+ for (card = 0; card < *nCards; card++) {
+ syslog(LOG_INFO, "%s", cards[card]);
+ }
+ }
+ return getCardsR;
+}
+
+#endif
--- /dev/null
+
+#ifndef PSXSHM_H
+#define PSXSHM_H
+
+#include <sys/types.h>
+
+typedef struct PsxShmS {
+ int fd;
+ void *addr;
+ off_t size;
+}
+
+PsxShm;
+
+PsxShm *PsxShm_open(const char *name, int oflag, mode_t mode, off_t size);
+int PsxShm_close(PsxShm *my);
+int PsxShm_unlink(const char *name);
+
+#endif
--- /dev/null
+
+#ifndef SHMTRANS_H
+#define SHMTRANS_H
+
+#ifndef _POSIX_SEMAPHORES
+#error POSIX_SEMAPHORES not available on this OS
+#endif
+
+#include <limits.h>
+#include <pthread.h>
+#include <semaphore.h>
+
+
+#include "psxshm.h"
+
+#include "hadtuqueue.h"
+
+
+
+typedef struct ShmTransS {
+ char name[_POSIX_PATH_MAX];
+ PsxShm *shm;
+ HadTuQueue *rdQueue;
+ HadTuQueue *wrQueue;
+ sem_t *switchRequest;
+ sem_t *switchComplete;
+}
+
+ShmTrans;
+
+ShmTrans *ShmTrans_create(const char *name, size_t size);
+ShmTrans *ShmTrans_open(const char *name, size_t size);
+void ShmTrans_close(ShmTrans *my);
+void ShmTrans_remove(ShmTrans *my);
+
+void *ShmTrans_alloc(ShmTrans *my, size_t size);
+void *ShmTrans_tryAlloc(ShmTrans *my, size_t size);
+void ShmTrans_requestSpace(ShmTrans *my);
+void ShmTrans_send(ShmTrans *my);
+void *ShmTrans_recv(ShmTrans *my);
+void *ShmTrans_recvWhole(ShmTrans *my);
+void *ShmTrans_tryRecv(ShmTrans *my);
+void ShmTrans_requestData(ShmTrans *my);
+void ShmTrans_free(ShmTrans *my);
+void ShmTrans_freeWhole(ShmTrans *my);
+
+#endif
--- /dev/null
+
+#ifndef SUBEVT_H
+#define SUBEVT_H
+
+#include <stdint.h>
+
+
+#include "hadtu.h"
+
+enum SubEvtId {
+ SubEvtId_invalid = 0,
+ SubEvtId_test1 = 1,
+ SubEvtId_slow = 2,
+ SubEvtId_test2 = 3,
+ SubEvtId_mdc = 6,
+ SubEvtId_shower = 7,
+ SubEvtId_rich = 8,
+ SubEvtId_tof = 9,
+ SubEvtId_start = 10,
+ SubEvtId_veto = 11,
+ SubEvtId_richPed = 12,
+ SubEvtId_tofTest = 400,
+ SubEvtId_trigCode = 500,
+ SubEvtId_trigInfo = 501,
+ SubEvtId_slowTest = 600
+};
+
+enum SubEvtDecoding {
+ SubEvtDecoding_8bitData = 1,
+ SubEvtDecoding_16bitData = (1 << 16) | 1,
+ SubEvtDecoding_32bitData = (2 << 16) | 1,
+ SubEvtDecoding_text = 2,
+ SubEvtDecoding_SubEvts = (3 << 16) | 3
+};
+
+#define SubEvt_hdr HadTu_hdr
+#define SubEvt_isSwapped HadTu_isSwapped
+#define SubEvt_hdrValue HadTu_hdrValue
+#define SubEvt_setHdrValue HadTu_setHdrValue
+#define SubEvt_decoding HadTu_decoding
+#define SubEvt_setDecoding HadTu_setDecoding
+#define SubEvt_alignment HadTu_alignment
+#define SubEvt_size HadTu_size
+#define SubEvt_setSize HadTu_setSize
+#define SubEvt_paddedSize HadTu_paddedSize
+#define SubEvt_begin HadTu_begin
+#define SubEvt_end HadTu_end
+#define SubEvt_next HadTu_next
+
+
+enum SubEvtIdx {
+ SubEvtIdx_size,
+ SubEvtIdx_decoding,
+ SubEvtIdx_id,
+ SubEvtIdx_trigNr,
+ SubEvtIdx_data
+};
+
+static size_t SubEvt_hdrLen(void)
+{
+ return SubEvtIdx_data;
+}
+
+static size_t SubEvt_hdrSize(void)
+{
+ return SubEvt_hdrLen() * sizeof(uint32_t);
+}
+
+static size_t SubEvt_dataSize(const void *my)
+{
+ return SubEvt_size(my) - SubEvt_hdrSize();
+}
+
+static void *SubEvt_data(const void *my)
+{
+ return (void *) ((char *) my + SubEvt_hdrSize());
+}
+
+uint32_t SubEvt_dataValue(const void *my, unsigned idx);
+char *SubEvt_2charP(const void *my);
+
+
+static uint32_t SubEvt_id(const void *my)
+{
+ return SubEvt_hdrValue(my, SubEvtIdx_id);
+}
+
+static uint32_t SubEvt_pureId(const void *my)
+{
+ return SubEvt_id(my) & 0x7fffffffUL;
+}
+
+static int SubEvt_dataError(const void *my)
+{
+ return (SubEvt_id(my) & 0x80000000UL) != 0;
+}
+
+static void SubEvt_setId(void *my, uint32_t id)
+{
+ SubEvt_setHdrValue(my, SubEvtIdx_id, id);
+}
+
+static int SubEvt_setDataError(void *my)
+{
+ SubEvt_setId(my, SubEvt_id(my) | 0x80000000UL);
+}
+
+static int SubEvt_clrDataError(void *my)
+{
+ SubEvt_setId(my, SubEvt_id(my) & ~0x80000000UL);
+}
+
+static uint32_t SubEvt_trigNr(const void *my)
+{
+ return SubEvt_hdrValue(my, SubEvtIdx_trigNr);
+}
+
+static void SubEvt_setTrigNr(void *my, uint32_t trigNr)
+{
+ SubEvt_setHdrValue(my, SubEvtIdx_trigNr, trigNr);
+}
+
+void *newSubEvt(uint32_t decoding, uint32_t id, uint32_t trigNr);
+void deleteSubEvt(void *my);
+void *SubEvt_appendData(void *my, const void *data, size_t size);
+
+#endif
--- /dev/null
+
+#ifndef WORKER_H
+#define WORKER_H
+
+#include <limits.h>
+#include <signal.h>
+
+#include "psxshm.h"
+
+#define WORKER_MAX_NUM_STATS 550
+#define WORKER_MAX_NAME_LEN 32
+
+typedef struct StatisticS {
+ char name[WORKER_MAX_NAME_LEN];
+ unsigned long value;
+}
+
+Statistic;
+
+typedef struct WorkerS {
+ char name[_POSIX_PATH_MAX];
+ int signal0;
+ int signal1;
+ int signal2;
+ struct sigaction oldSigAction0S;
+ struct sigaction *oldSigAction0;
+ struct sigaction oldSigAction1S;
+ struct sigaction *oldSigAction1;
+ struct sigaction oldSigAction2S;
+ struct sigaction *oldSigAction2;
+ PsxShm *shm;
+ Statistic *statistics;
+ pid_t pid;
+ int isStandalone;
+}
+
+Worker;
+
+int Worker_start(const char *path, char *const argv[]);
+char *Worker_status(const char *name);
+void Worker_stop(const char *name, int timeout);
+Worker *Worker_initBegin(const char *name, void (*sigHandler) (int), int priority, int isStandalone);
+void Worker_initEnd(Worker *my);
+void Worker_fini(Worker *my);
+unsigned long *Worker_addStatistic(Worker *my, const char *name);
+void Worker_dump(Worker *my, time_t interval);
+int Worker_getStatistic(const char *name, const char *stat, unsigned long int *value);
+int Worker_setStatistic(const char *name, const char *stat, unsigned long int *value);
+
+#endif
--- /dev/null
+#include "ellLib.h"
+#include "epicsMutex.h"
+#include "link.h"
+#include "epicsTime.h"
+#include "epicsTypes.h"
+#ifndef INCxxxH
+#define INCxxxH
+typedef struct xxxRecord {
+ char name[61]; /*Record Name*/
+ char desc[29]; /*Descriptor*/
+ char asg[29]; /*Access Security Group*/
+ epicsEnum16 scan; /*Scan Mechanism*/
+ epicsEnum16 pini; /*Process at iocInit*/
+ short phas; /*Scan Phase*/
+ short evnt; /*Event Number*/
+ short tse; /*Time Stamp Event*/
+ DBLINK tsel; /*Time Stamp Link*/
+ epicsEnum16 dtyp; /*Device Type*/
+ short disv; /*Disable Value*/
+ short disa; /*Disable*/
+ DBLINK sdis; /*Scanning Disable*/
+ epicsMutexId mlok; /*Monitor lock*/
+ ELLLIST mlis; /*Monitor List*/
+ unsigned char disp; /*Disable putField*/
+ unsigned char proc; /*Force Processing*/
+ epicsEnum16 stat; /*Alarm Status*/
+ epicsEnum16 sevr; /*Alarm Severity*/
+ epicsEnum16 nsta; /*New Alarm Status*/
+ epicsEnum16 nsev; /*New Alarm Severity*/
+ epicsEnum16 acks; /*Alarm Ack Severity*/
+ epicsEnum16 ackt; /*Alarm Ack Transient*/
+ epicsEnum16 diss; /*Disable Alarm Sevrty*/
+ unsigned char lcnt; /*Lock Count*/
+ unsigned char pact; /*Record active*/
+ unsigned char putf; /*dbPutField process*/
+ unsigned char rpro; /*Reprocess */
+ void *asp; /*Access Security Pvt*/
+ struct putNotify *ppn; /*addr of PUTNOTIFY*/
+ struct putNotifyRecord *ppnr; /*pputNotifyRecord*/
+ struct scan_element *spvt; /*Scan Private*/
+ struct rset *rset; /*Address of RSET*/
+ struct dset *dset; /*DSET address*/
+ void *dpvt; /*Device Private*/
+ struct dbRecordType *rdes; /*Address of dbRecordType*/
+ struct lockRecord *lset; /*Lock Set*/
+ epicsEnum16 prio; /*Scheduling Priority*/
+ unsigned char tpro; /*Trace Processing*/
+ char bkpt; /*Break Point*/
+ unsigned char udf; /*Undefined*/
+ epicsTimeStamp time; /*Time*/
+ DBLINK flnk; /*Forward Process Link*/
+ double val; /*Current EGU Value*/
+ DBLINK inp; /*Input Specification*/
+ short prec; /*Display Precision*/
+ char egu[16]; /*Engineering Units*/
+ float hopr; /*High Operating Range*/
+ float lopr; /*Low Operating Range*/
+ float hihi; /*Hihi Alarm Limit*/
+ float lolo; /*Lolo Alarm Limit*/
+ float high; /*High Alarm Limit*/
+ float low; /*Low Alarm Limit*/
+ epicsEnum16 hhsv; /*Hihi Severity*/
+ epicsEnum16 llsv; /*Lolo Severity*/
+ epicsEnum16 hsv; /*High Severity*/
+ epicsEnum16 lsv; /*Low Severity*/
+ double hyst; /*Alarm Deadband*/
+ double adel; /*Archive Deadband*/
+ double mdel; /*Monitor Deadband*/
+ double lalm; /*Last Value Alarmed*/
+ double alst; /*Last Value Archived*/
+ double mlst; /*Last Val Monitored*/
+} xxxRecord;
+#define xxxRecordNAME 0
+#define xxxRecordDESC 1
+#define xxxRecordASG 2
+#define xxxRecordSCAN 3
+#define xxxRecordPINI 4
+#define xxxRecordPHAS 5
+#define xxxRecordEVNT 6
+#define xxxRecordTSE 7
+#define xxxRecordTSEL 8
+#define xxxRecordDTYP 9
+#define xxxRecordDISV 10
+#define xxxRecordDISA 11
+#define xxxRecordSDIS 12
+#define xxxRecordMLOK 13
+#define xxxRecordMLIS 14
+#define xxxRecordDISP 15
+#define xxxRecordPROC 16
+#define xxxRecordSTAT 17
+#define xxxRecordSEVR 18
+#define xxxRecordNSTA 19
+#define xxxRecordNSEV 20
+#define xxxRecordACKS 21
+#define xxxRecordACKT 22
+#define xxxRecordDISS 23
+#define xxxRecordLCNT 24
+#define xxxRecordPACT 25
+#define xxxRecordPUTF 26
+#define xxxRecordRPRO 27
+#define xxxRecordASP 28
+#define xxxRecordPPN 29
+#define xxxRecordPPNR 30
+#define xxxRecordSPVT 31
+#define xxxRecordRSET 32
+#define xxxRecordDSET 33
+#define xxxRecordDPVT 34
+#define xxxRecordRDES 35
+#define xxxRecordLSET 36
+#define xxxRecordPRIO 37
+#define xxxRecordTPRO 38
+#define xxxRecordBKPT 39
+#define xxxRecordUDF 40
+#define xxxRecordTIME 41
+#define xxxRecordFLNK 42
+#define xxxRecordVAL 43
+#define xxxRecordINP 44
+#define xxxRecordPREC 45
+#define xxxRecordEGU 46
+#define xxxRecordHOPR 47
+#define xxxRecordLOPR 48
+#define xxxRecordHIHI 49
+#define xxxRecordLOLO 50
+#define xxxRecordHIGH 51
+#define xxxRecordLOW 52
+#define xxxRecordHHSV 53
+#define xxxRecordLLSV 54
+#define xxxRecordHSV 55
+#define xxxRecordLSV 56
+#define xxxRecordHYST 57
+#define xxxRecordADEL 58
+#define xxxRecordMDEL 59
+#define xxxRecordLALM 60
+#define xxxRecordALST 61
+#define xxxRecordMLST 62
+#endif /*INCxxxH*/
+#ifdef GEN_SIZE_OFFSET
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <epicsExport.h>
+static int xxxRecordSizeOffset(dbRecordType *pdbRecordType)
+{
+ xxxRecord *prec = 0;
+ pdbRecordType->papFldDes[0]->size=sizeof(prec->name);
+ pdbRecordType->papFldDes[0]->offset=(short)((char *)&prec->name - (char *)prec);
+ pdbRecordType->papFldDes[1]->size=sizeof(prec->desc);
+ pdbRecordType->papFldDes[1]->offset=(short)((char *)&prec->desc - (char *)prec);
+ pdbRecordType->papFldDes[2]->size=sizeof(prec->asg);
+ pdbRecordType->papFldDes[2]->offset=(short)((char *)&prec->asg - (char *)prec);
+ pdbRecordType->papFldDes[3]->size=sizeof(prec->scan);
+ pdbRecordType->papFldDes[3]->offset=(short)((char *)&prec->scan - (char *)prec);
+ pdbRecordType->papFldDes[4]->size=sizeof(prec->pini);
+ pdbRecordType->papFldDes[4]->offset=(short)((char *)&prec->pini - (char *)prec);
+ pdbRecordType->papFldDes[5]->size=sizeof(prec->phas);
+ pdbRecordType->papFldDes[5]->offset=(short)((char *)&prec->phas - (char *)prec);
+ pdbRecordType->papFldDes[6]->size=sizeof(prec->evnt);
+ pdbRecordType->papFldDes[6]->offset=(short)((char *)&prec->evnt - (char *)prec);
+ pdbRecordType->papFldDes[7]->size=sizeof(prec->tse);
+ pdbRecordType->papFldDes[7]->offset=(short)((char *)&prec->tse - (char *)prec);
+ pdbRecordType->papFldDes[8]->size=sizeof(prec->tsel);
+ pdbRecordType->papFldDes[8]->offset=(short)((char *)&prec->tsel - (char *)prec);
+ pdbRecordType->papFldDes[9]->size=sizeof(prec->dtyp);
+ pdbRecordType->papFldDes[9]->offset=(short)((char *)&prec->dtyp - (char *)prec);
+ pdbRecordType->papFldDes[10]->size=sizeof(prec->disv);
+ pdbRecordType->papFldDes[10]->offset=(short)((char *)&prec->disv - (char *)prec);
+ pdbRecordType->papFldDes[11]->size=sizeof(prec->disa);
+ pdbRecordType->papFldDes[11]->offset=(short)((char *)&prec->disa - (char *)prec);
+ pdbRecordType->papFldDes[12]->size=sizeof(prec->sdis);
+ pdbRecordType->papFldDes[12]->offset=(short)((char *)&prec->sdis - (char *)prec);
+ pdbRecordType->papFldDes[13]->size=sizeof(prec->mlok);
+ pdbRecordType->papFldDes[13]->offset=(short)((char *)&prec->mlok - (char *)prec);
+ pdbRecordType->papFldDes[14]->size=sizeof(prec->mlis);
+ pdbRecordType->papFldDes[14]->offset=(short)((char *)&prec->mlis - (char *)prec);
+ pdbRecordType->papFldDes[15]->size=sizeof(prec->disp);
+ pdbRecordType->papFldDes[15]->offset=(short)((char *)&prec->disp - (char *)prec);
+ pdbRecordType->papFldDes[16]->size=sizeof(prec->proc);
+ pdbRecordType->papFldDes[16]->offset=(short)((char *)&prec->proc - (char *)prec);
+ pdbRecordType->papFldDes[17]->size=sizeof(prec->stat);
+ pdbRecordType->papFldDes[17]->offset=(short)((char *)&prec->stat - (char *)prec);
+ pdbRecordType->papFldDes[18]->size=sizeof(prec->sevr);
+ pdbRecordType->papFldDes[18]->offset=(short)((char *)&prec->sevr - (char *)prec);
+ pdbRecordType->papFldDes[19]->size=sizeof(prec->nsta);
+ pdbRecordType->papFldDes[19]->offset=(short)((char *)&prec->nsta - (char *)prec);
+ pdbRecordType->papFldDes[20]->size=sizeof(prec->nsev);
+ pdbRecordType->papFldDes[20]->offset=(short)((char *)&prec->nsev - (char *)prec);
+ pdbRecordType->papFldDes[21]->size=sizeof(prec->acks);
+ pdbRecordType->papFldDes[21]->offset=(short)((char *)&prec->acks - (char *)prec);
+ pdbRecordType->papFldDes[22]->size=sizeof(prec->ackt);
+ pdbRecordType->papFldDes[22]->offset=(short)((char *)&prec->ackt - (char *)prec);
+ pdbRecordType->papFldDes[23]->size=sizeof(prec->diss);
+ pdbRecordType->papFldDes[23]->offset=(short)((char *)&prec->diss - (char *)prec);
+ pdbRecordType->papFldDes[24]->size=sizeof(prec->lcnt);
+ pdbRecordType->papFldDes[24]->offset=(short)((char *)&prec->lcnt - (char *)prec);
+ pdbRecordType->papFldDes[25]->size=sizeof(prec->pact);
+ pdbRecordType->papFldDes[25]->offset=(short)((char *)&prec->pact - (char *)prec);
+ pdbRecordType->papFldDes[26]->size=sizeof(prec->putf);
+ pdbRecordType->papFldDes[26]->offset=(short)((char *)&prec->putf - (char *)prec);
+ pdbRecordType->papFldDes[27]->size=sizeof(prec->rpro);
+ pdbRecordType->papFldDes[27]->offset=(short)((char *)&prec->rpro - (char *)prec);
+ pdbRecordType->papFldDes[28]->size=sizeof(prec->asp);
+ pdbRecordType->papFldDes[28]->offset=(short)((char *)&prec->asp - (char *)prec);
+ pdbRecordType->papFldDes[29]->size=sizeof(prec->ppn);
+ pdbRecordType->papFldDes[29]->offset=(short)((char *)&prec->ppn - (char *)prec);
+ pdbRecordType->papFldDes[30]->size=sizeof(prec->ppnr);
+ pdbRecordType->papFldDes[30]->offset=(short)((char *)&prec->ppnr - (char *)prec);
+ pdbRecordType->papFldDes[31]->size=sizeof(prec->spvt);
+ pdbRecordType->papFldDes[31]->offset=(short)((char *)&prec->spvt - (char *)prec);
+ pdbRecordType->papFldDes[32]->size=sizeof(prec->rset);
+ pdbRecordType->papFldDes[32]->offset=(short)((char *)&prec->rset - (char *)prec);
+ pdbRecordType->papFldDes[33]->size=sizeof(prec->dset);
+ pdbRecordType->papFldDes[33]->offset=(short)((char *)&prec->dset - (char *)prec);
+ pdbRecordType->papFldDes[34]->size=sizeof(prec->dpvt);
+ pdbRecordType->papFldDes[34]->offset=(short)((char *)&prec->dpvt - (char *)prec);
+ pdbRecordType->papFldDes[35]->size=sizeof(prec->rdes);
+ pdbRecordType->papFldDes[35]->offset=(short)((char *)&prec->rdes - (char *)prec);
+ pdbRecordType->papFldDes[36]->size=sizeof(prec->lset);
+ pdbRecordType->papFldDes[36]->offset=(short)((char *)&prec->lset - (char *)prec);
+ pdbRecordType->papFldDes[37]->size=sizeof(prec->prio);
+ pdbRecordType->papFldDes[37]->offset=(short)((char *)&prec->prio - (char *)prec);
+ pdbRecordType->papFldDes[38]->size=sizeof(prec->tpro);
+ pdbRecordType->papFldDes[38]->offset=(short)((char *)&prec->tpro - (char *)prec);
+ pdbRecordType->papFldDes[39]->size=sizeof(prec->bkpt);
+ pdbRecordType->papFldDes[39]->offset=(short)((char *)&prec->bkpt - (char *)prec);
+ pdbRecordType->papFldDes[40]->size=sizeof(prec->udf);
+ pdbRecordType->papFldDes[40]->offset=(short)((char *)&prec->udf - (char *)prec);
+ pdbRecordType->papFldDes[41]->size=sizeof(prec->time);
+ pdbRecordType->papFldDes[41]->offset=(short)((char *)&prec->time - (char *)prec);
+ pdbRecordType->papFldDes[42]->size=sizeof(prec->flnk);
+ pdbRecordType->papFldDes[42]->offset=(short)((char *)&prec->flnk - (char *)prec);
+ pdbRecordType->papFldDes[43]->size=sizeof(prec->val);
+ pdbRecordType->papFldDes[43]->offset=(short)((char *)&prec->val - (char *)prec);
+ pdbRecordType->papFldDes[44]->size=sizeof(prec->inp);
+ pdbRecordType->papFldDes[44]->offset=(short)((char *)&prec->inp - (char *)prec);
+ pdbRecordType->papFldDes[45]->size=sizeof(prec->prec);
+ pdbRecordType->papFldDes[45]->offset=(short)((char *)&prec->prec - (char *)prec);
+ pdbRecordType->papFldDes[46]->size=sizeof(prec->egu);
+ pdbRecordType->papFldDes[46]->offset=(short)((char *)&prec->egu - (char *)prec);
+ pdbRecordType->papFldDes[47]->size=sizeof(prec->hopr);
+ pdbRecordType->papFldDes[47]->offset=(short)((char *)&prec->hopr - (char *)prec);
+ pdbRecordType->papFldDes[48]->size=sizeof(prec->lopr);
+ pdbRecordType->papFldDes[48]->offset=(short)((char *)&prec->lopr - (char *)prec);
+ pdbRecordType->papFldDes[49]->size=sizeof(prec->hihi);
+ pdbRecordType->papFldDes[49]->offset=(short)((char *)&prec->hihi - (char *)prec);
+ pdbRecordType->papFldDes[50]->size=sizeof(prec->lolo);
+ pdbRecordType->papFldDes[50]->offset=(short)((char *)&prec->lolo - (char *)prec);
+ pdbRecordType->papFldDes[51]->size=sizeof(prec->high);
+ pdbRecordType->papFldDes[51]->offset=(short)((char *)&prec->high - (char *)prec);
+ pdbRecordType->papFldDes[52]->size=sizeof(prec->low);
+ pdbRecordType->papFldDes[52]->offset=(short)((char *)&prec->low - (char *)prec);
+ pdbRecordType->papFldDes[53]->size=sizeof(prec->hhsv);
+ pdbRecordType->papFldDes[53]->offset=(short)((char *)&prec->hhsv - (char *)prec);
+ pdbRecordType->papFldDes[54]->size=sizeof(prec->llsv);
+ pdbRecordType->papFldDes[54]->offset=(short)((char *)&prec->llsv - (char *)prec);
+ pdbRecordType->papFldDes[55]->size=sizeof(prec->hsv);
+ pdbRecordType->papFldDes[55]->offset=(short)((char *)&prec->hsv - (char *)prec);
+ pdbRecordType->papFldDes[56]->size=sizeof(prec->lsv);
+ pdbRecordType->papFldDes[56]->offset=(short)((char *)&prec->lsv - (char *)prec);
+ pdbRecordType->papFldDes[57]->size=sizeof(prec->hyst);
+ pdbRecordType->papFldDes[57]->offset=(short)((char *)&prec->hyst - (char *)prec);
+ pdbRecordType->papFldDes[58]->size=sizeof(prec->adel);
+ pdbRecordType->papFldDes[58]->offset=(short)((char *)&prec->adel - (char *)prec);
+ pdbRecordType->papFldDes[59]->size=sizeof(prec->mdel);
+ pdbRecordType->papFldDes[59]->offset=(short)((char *)&prec->mdel - (char *)prec);
+ pdbRecordType->papFldDes[60]->size=sizeof(prec->lalm);
+ pdbRecordType->papFldDes[60]->offset=(short)((char *)&prec->lalm - (char *)prec);
+ pdbRecordType->papFldDes[61]->size=sizeof(prec->alst);
+ pdbRecordType->papFldDes[61]->offset=(short)((char *)&prec->alst - (char *)prec);
+ pdbRecordType->papFldDes[62]->size=sizeof(prec->mlst);
+ pdbRecordType->papFldDes[62]->offset=(short)((char *)&prec->mlst - (char *)prec);
+ pdbRecordType->rec_size = sizeof(*prec);
+ return(0);
+}
+epicsExportRegistrar(xxxRecordSizeOffset);
+#ifdef __cplusplus
+}
+#endif
+#endif /*GEN_SIZE_OFFSET*/
--- /dev/null
+TOP = ..
+include $(TOP)/configure/CONFIG
+DIRS += $(wildcard *ioc*)
+DIRS += $(wildcard as*)
+include $(EPICS_BASE)/configure/RULES_DIRS
+
--- /dev/null
+TOP = ../..
+include $(TOP)/configure/CONFIG
+ARCH = linux-x86
+TARGETS = envPaths
+include $(TOP)/configure/RULES.ioc
--- /dev/null
+To start the ioc from this directory execute the command
+ ../../bin/linux-x86/<appname> st.cmd
+
+Alternatively make the st.cmd file directly executable with
+ chmod +x st.cmd
+and check the executable name on the first line of the st.cmd file
+
+You may need to change the name of the .dbd file given in the
+st.cmd's dbLoadDatabase() command before starting the ioc.
--- /dev/null
+epicsEnvSet(ARCH,"linux-x86")
+epicsEnvSet(IOC,"iocebctrl")
+epicsEnvSet(TOP,"/home/scs/play_2/ebctrl/ioc")
+epicsEnvSet(EPICS_BASE,"/home/scs/base-3.14.9")
--- /dev/null
+#!../../bin/linux-x86/ebctrl
+
+## You may have to change ebctrl to something else
+## everywhere it appears in this file
+
+< envPaths
+
+cd ${TOP}
+
+## Register all support components
+dbLoadDatabase("dbd/ebctrl.dbd")
+ebctrl_registerRecordDeviceDriver(pdbbase)
+
+## Load record instances
+dbLoadTemplate "db/userHost.substitutions"
+dbLoadRecords("db/evtbuild.db","eb=eb01")
+
+## Set this to see messages from mySub
+var evtbuildDebug 0
+var genrunidDebug 1
+var writerunidDebug 1
+
+cd ${TOP}/iocBoot/${IOC}
+iocInit()
+
+## Start any sequence programs
+#seq sncExample,"user=scsHost"