From: hadaq Date: Fri, 25 Apr 2008 16:56:09 +0000 (+0000) Subject: Initial revision X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=13273acd1ae365b9e4b0db5f48e4ccd8c29388d1;p=daqdata.git Initial revision --- diff --git a/ebctrl/ioc/Makefile b/ebctrl/ioc/Makefile new file mode 100644 index 0000000..bb27ec0 --- /dev/null +++ b/ebctrl/ioc/Makefile @@ -0,0 +1,9 @@ +#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 diff --git a/ebctrl/ioc/bin/linux-x86/ebctrl b/ebctrl/ioc/bin/linux-x86/ebctrl new file mode 100755 index 0000000..71b0b6a Binary files /dev/null and b/ebctrl/ioc/bin/linux-x86/ebctrl differ diff --git a/ebctrl/ioc/configure/CONFIG b/ebctrl/ioc/configure/CONFIG new file mode 100644 index 0000000..55ed7e8 --- /dev/null +++ b/ebctrl/ioc/configure/CONFIG @@ -0,0 +1,26 @@ +# 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 + diff --git a/ebctrl/ioc/configure/CONFIG_SITE b/ebctrl/ioc/configure/CONFIG_SITE new file mode 100644 index 0000000..0a13fc6 --- /dev/null +++ b/ebctrl/ioc/configure/CONFIG_SITE @@ -0,0 +1,26 @@ +# 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 = + +# If you don't want to install into $(TOP) then +# define INSTALL_LOCATION here +#INSTALL_LOCATION= + diff --git a/ebctrl/ioc/configure/Makefile b/ebctrl/ioc/configure/Makefile new file mode 100644 index 0000000..0052e7e --- /dev/null +++ b/ebctrl/ioc/configure/Makefile @@ -0,0 +1,19 @@ +# 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 + diff --git a/ebctrl/ioc/configure/O.linux-x86/CONFIG_APP_INCLUDE b/ebctrl/ioc/configure/O.linux-x86/CONFIG_APP_INCLUDE new file mode 100644 index 0000000..a8aea2d --- /dev/null +++ b/ebctrl/ioc/configure/O.linux-x86/CONFIG_APP_INCLUDE @@ -0,0 +1,13 @@ +# 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 diff --git a/ebctrl/ioc/configure/O.linux-x86/Makefile b/ebctrl/ioc/configure/O.linux-x86/Makefile new file mode 100644 index 0000000..96ef7b7 --- /dev/null +++ b/ebctrl/ioc/configure/O.linux-x86/Makefile @@ -0,0 +1,10 @@ +#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: ; diff --git a/ebctrl/ioc/configure/O.linux-x86/RULES_INCLUDE b/ebctrl/ioc/configure/O.linux-x86/RULES_INCLUDE new file mode 100644 index 0000000..73d9ca4 --- /dev/null +++ b/ebctrl/ioc/configure/O.linux-x86/RULES_INCLUDE @@ -0,0 +1,3 @@ +# Do not modify this file, changes made here will +# be lost when the application is next rebuilt. + diff --git a/ebctrl/ioc/configure/RELEASE b/ebctrl/ioc/configure/RELEASE new file mode 100644 index 0000000..be96e63 --- /dev/null +++ b/ebctrl/ioc/configure/RELEASE @@ -0,0 +1,30 @@ +#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= + diff --git a/ebctrl/ioc/configure/RULES b/ebctrl/ioc/configure/RULES new file mode 100644 index 0000000..1f2cb5d --- /dev/null +++ b/ebctrl/ioc/configure/RULES @@ -0,0 +1,6 @@ +# RULES + +include $(EPICS_BASE)/configure/RULES + +# Library should be rebuilt because LIBOBJS may have changed. +$(LIBNAME): ../Makefile diff --git a/ebctrl/ioc/configure/RULES.ioc b/ebctrl/ioc/configure/RULES.ioc new file mode 100644 index 0000000..5ba1013 --- /dev/null +++ b/ebctrl/ioc/configure/RULES.ioc @@ -0,0 +1,2 @@ +#RULES.ioc +include $(EPICS_BASE)/configure/RULES.ioc diff --git a/ebctrl/ioc/configure/RULES_DIRS b/ebctrl/ioc/configure/RULES_DIRS new file mode 100644 index 0000000..804faee --- /dev/null +++ b/ebctrl/ioc/configure/RULES_DIRS @@ -0,0 +1,2 @@ +#RULES_DIRS +include $(EPICS_BASE)/configure/RULES_DIRS diff --git a/ebctrl/ioc/configure/RULES_TOP b/ebctrl/ioc/configure/RULES_TOP new file mode 100644 index 0000000..0620f08 --- /dev/null +++ b/ebctrl/ioc/configure/RULES_TOP @@ -0,0 +1,3 @@ +#RULES_TOP +include $(EPICS_BASE)/configure/RULES_TOP + diff --git a/ebctrl/ioc/db/dbExample1.db b/ebctrl/ioc/db/dbExample1.db new file mode 100644 index 0000000..4f16ada --- /dev/null +++ b/ebctrl/ioc/db/dbExample1.db @@ -0,0 +1,62 @@ +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.db template is not named *.template add +# _TEMPLATE = + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/ebctrl/ioc/ebctrlApp/Db/O.linux-x86/Makefile b/ebctrl/ioc/ebctrlApp/Db/O.linux-x86/Makefile new file mode 100644 index 0000000..da5269a --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/Db/O.linux-x86/Makefile @@ -0,0 +1,10 @@ +#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: ; diff --git a/ebctrl/ioc/ebctrlApp/Db/dbExample1.db b/ebctrl/ioc/ebctrlApp/Db/dbExample1.db new file mode 100644 index 0000000..4f16ada --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/Db/dbExample1.db @@ -0,0 +1,62 @@ +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/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 + +# _registerRecordDeviceDriver.cpp will be created from .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 /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 + diff --git a/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrl.dbd b/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrl.dbd new file mode 100644 index 0000000..ebabb25 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrl.dbd @@ -0,0 +1,13320 @@ +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) diff --git a/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrl.dbd.depends b/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrl.dbd.depends new file mode 100644 index 0000000..b43649a --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrl.dbd.depends @@ -0,0 +1,51 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrlInclude.dbd b/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrlInclude.dbd new file mode 100644 index 0000000..6032334 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.Common/ebctrlInclude.dbd @@ -0,0 +1,6 @@ +include "base.dbd" +include "xxxSupport.dbd" +include "genSubRecord.dbd" +include "evtbuild.dbd" +include "genrunid.dbd" +include "writerunid.dbd" diff --git a/ebctrl/ioc/ebctrlApp/src/O.Common/genSubRecord.h b/ebctrl/ioc/ebctrlApp/src/O.Common/genSubRecord.h new file mode 100644 index 0000000..857cb7c --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.Common/genSubRecord.h @@ -0,0 +1,1275 @@ +#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 +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*/ diff --git a/ebctrl/ioc/ebctrlApp/src/O.Common/xxxRecord.h b/ebctrl/ioc/ebctrlApp/src/O.Common/xxxRecord.h new file mode 100644 index 0000000..93fabce --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.Common/xxxRecord.h @@ -0,0 +1,278 @@ +#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 +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*/ diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/Makefile b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/Makefile new file mode 100644 index 0000000..da5269a --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/Makefile @@ -0,0 +1,10 @@ +#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: ; diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/MakefileInclude b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/MakefileInclude new file mode 100644 index 0000000..b78ba4a --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/MakefileInclude @@ -0,0 +1,359 @@ +#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 + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/devXxxSoft.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/devXxxSoft.depends new file mode 100644 index 0000000..b328cc4 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/devXxxSoft.depends @@ -0,0 +1,34 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl new file mode 100755 index 0000000..71b0b6a Binary files /dev/null and b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl differ diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrlMain.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrlMain.depends new file mode 100644 index 0000000..af944e4 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrlMain.depends @@ -0,0 +1,15 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl_registerRecordDeviceDriver.cpp b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl_registerRecordDeviceDriver.cpp new file mode 100644 index 0000000..323cc26 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl_registerRecordDeviceDriver.cpp @@ -0,0 +1,293 @@ +/* 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 diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl_registerRecordDeviceDriver.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl_registerRecordDeviceDriver.depends new file mode 100644 index 0000000..9f18717 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/ebctrl_registerRecordDeviceDriver.depends @@ -0,0 +1,35 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/evtbuild.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/evtbuild.depends new file mode 100644 index 0000000..45b1800 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/evtbuild.depends @@ -0,0 +1,23 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/genSubRecord.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/genSubRecord.depends new file mode 100644 index 0000000..b53f90e --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/genSubRecord.depends @@ -0,0 +1,40 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/genrunid.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/genrunid.depends new file mode 100644 index 0000000..c5798d3 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/genrunid.depends @@ -0,0 +1,20 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/writerunid.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/writerunid.depends new file mode 100644 index 0000000..174c958 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/writerunid.depends @@ -0,0 +1,22 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/O.linux-x86/xxxRecord.depends b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/xxxRecord.depends new file mode 100644 index 0000000..2f606ca --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/O.linux-x86/xxxRecord.depends @@ -0,0 +1,39 @@ +# 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 + + diff --git a/ebctrl/ioc/ebctrlApp/src/dbSubExample.c b/ebctrl/ioc/ebctrlApp/src/dbSubExample.c new file mode 100644 index 0000000..9a5776d --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/dbSubExample.c @@ -0,0 +1,32 @@ +#include + +#include +#include +#include +#include + +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); diff --git a/ebctrl/ioc/ebctrlApp/src/dbSubExample.dbd b/ebctrl/ioc/ebctrlApp/src/dbSubExample.dbd new file mode 100644 index 0000000..a907fb7 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/dbSubExample.dbd @@ -0,0 +1,3 @@ +variable(mySubDebug) +function(mySubInit) +function(mySubProcess) diff --git a/ebctrl/ioc/ebctrlApp/src/devXxxSoft.c b/ebctrl/ioc/ebctrlApp/src/devXxxSoft.c new file mode 100644 index 0000000..0507fdf --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/devXxxSoft.c @@ -0,0 +1,58 @@ +/* devXxxSoft.c */ +/* Example device support module */ + +#include +#include +#include +#include + +#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); + + +static long init_record(pxxx) + struct xxxRecord *pxxx; +{ + if(recGblInitConstantLink(&pxxx->inp,DBF_DOUBLE,&pxxx->val)) + pxxx->udf = FALSE; + return(0); +} + +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); +} diff --git a/ebctrl/ioc/ebctrlApp/src/ebctrlHello.c b/ebctrl/ioc/ebctrlApp/src/ebctrlHello.c new file mode 100644 index 0000000..9b4418a --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/ebctrlHello.c @@ -0,0 +1,31 @@ +/* Example showing how to register a new command with iocsh */ + +#include + +#include +#include + +/* 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); diff --git a/ebctrl/ioc/ebctrlApp/src/ebctrlHello.dbd b/ebctrl/ioc/ebctrlApp/src/ebctrlHello.dbd new file mode 100644 index 0000000..64eb038 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/ebctrlHello.dbd @@ -0,0 +1 @@ +registrar(helloRegister) diff --git a/ebctrl/ioc/ebctrlApp/src/ebctrlMain.cpp b/ebctrl/ioc/ebctrlApp/src/ebctrlMain.cpp new file mode 100644 index 0000000..43a48f6 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/ebctrlMain.cpp @@ -0,0 +1,23 @@ +/* ebctrlMain.cpp */ +/* Author: Marty Kraimer Date: 17MAR2000 */ + +#include +#include +#include +#include +#include + +#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); +} diff --git a/ebctrl/ioc/ebctrlApp/src/evtbuild.c b/ebctrl/ioc/ebctrlApp/src/evtbuild.c new file mode 100644 index 0000000..b0a9baa --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/evtbuild.c @@ -0,0 +1,93 @@ +#include +#include + +#include +#include +#include +#include +#include + +#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); diff --git a/ebctrl/ioc/ebctrlApp/src/evtbuild.dbd b/ebctrl/ioc/ebctrlApp/src/evtbuild.dbd new file mode 100644 index 0000000..7a19465 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/evtbuild.dbd @@ -0,0 +1,3 @@ +variable(evtbuildDebug) +function(evtbuild_init) +function(evtbuild_proc) \ No newline at end of file diff --git a/ebctrl/ioc/ebctrlApp/src/genSubRecord.c b/ebctrl/ioc/ebctrlApp/src/genSubRecord.c new file mode 100755 index 0000000..4b5583c --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/genSubRecord.c @@ -0,0 +1,1355 @@ +/* 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 +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define GEN_SIZE_OFFSET +#include +#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 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; iudf = 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; iinam[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; iname); + printf("genSub=\"%s\"", pgsub->name); + for( j=0; jvalue.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; ipact = 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; ieflg == genSubEFLG_ALWAYS ) + { + if(monitor_mask) + { + valptr = &pgsub->vala; + for( i=0; isnam[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); +} diff --git a/ebctrl/ioc/ebctrlApp/src/genSubRecord.dbd b/ebctrl/ioc/ebctrlApp/src/genSubRecord.dbd new file mode 100755 index 0000000..909bd69 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/genSubRecord.dbd @@ -0,0 +1,1875 @@ +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") + } +} diff --git a/ebctrl/ioc/ebctrlApp/src/genrunid.c b/ebctrl/ioc/ebctrlApp/src/genrunid.c new file mode 100644 index 0000000..4b44a75 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/genrunid.c @@ -0,0 +1,109 @@ +#include +#include +#include +#include + +#include +#include +#include +#include + +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, " genrunid.c: env variable HOSTNAME is undefined!\n"); + } + + char* ebmaster = getenv( "EBMASTER" ); + if( ebmaster == NULL ) { + ebmaster = "MASTER_UNDEFINED"; + if(genrunidDebug) + fprintf( stderr, " 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( " 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( " genrunid.c: RUN Id was generated: runId = %lu \n", runId ); + } + + psub->val = runId; + + if( genrunidDebug ) + printf( " 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); diff --git a/ebctrl/ioc/ebctrlApp/src/genrunid.dbd b/ebctrl/ioc/ebctrlApp/src/genrunid.dbd new file mode 100644 index 0000000..51b2d06 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/genrunid.dbd @@ -0,0 +1,3 @@ +variable(genrunidDebug) +function(genRunId_init) +function(genRunId_proc) \ No newline at end of file diff --git a/ebctrl/ioc/ebctrlApp/src/sncExample.dbd b/ebctrl/ioc/ebctrlApp/src/sncExample.dbd new file mode 100644 index 0000000..df61066 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/sncExample.dbd @@ -0,0 +1 @@ +registrar(sncExampleRegistrar) diff --git a/ebctrl/ioc/ebctrlApp/src/sncExample.stt b/ebctrl/ioc/ebctrlApp/src/sncExample.stt new file mode 100644 index 0000000..235f3f4 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/sncExample.stt @@ -0,0 +1,22 @@ +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 + } +} diff --git a/ebctrl/ioc/ebctrlApp/src/sncProgram.st b/ebctrl/ioc/ebctrlApp/src/sncProgram.st new file mode 100644 index 0000000..1ba2989 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/sncProgram.st @@ -0,0 +1 @@ +#include "../sncExample.stt" diff --git a/ebctrl/ioc/ebctrlApp/src/writerunid.c b/ebctrl/ioc/ebctrlApp/src/writerunid.c new file mode 100644 index 0000000..6e4cf4f --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/writerunid.c @@ -0,0 +1,52 @@ +#include +#include +#include + +#include +#include +#include +#include + +#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, " 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(" writerunid.c: Worker_setStatistic runId = %lu\n", runId); + + unsigned long runId_check; + if( Worker_getStatistic( "daq_evtbuild", "runId", &runId_check ) == -1 ) + printf(" writerunid.c: check: Worker_getStatistic cannot access runId!\n"); + else + printf(" 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); diff --git a/ebctrl/ioc/ebctrlApp/src/writerunid.dbd b/ebctrl/ioc/ebctrlApp/src/writerunid.dbd new file mode 100644 index 0000000..e174287 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/writerunid.dbd @@ -0,0 +1,3 @@ +variable(writerunidDebug) +function(writeRunId_init) +function(writeRunId_proc) \ No newline at end of file diff --git a/ebctrl/ioc/ebctrlApp/src/xxxRecord.c b/ebctrl/ioc/ebctrlApp/src/xxxRecord.c new file mode 100644 index 0000000..6fb1472 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/xxxRecord.c @@ -0,0 +1,272 @@ +/* xxxRecord.c */ +/* Example record support module */ + +#include +#include +#include +#include + +#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); + +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); +} + +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); +} + +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); +} + +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; +} + +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; +} diff --git a/ebctrl/ioc/ebctrlApp/src/xxxRecord.dbd b/ebctrl/ioc/ebctrlApp/src/xxxRecord.dbd new file mode 100644 index 0000000..4a71c54 --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/xxxRecord.dbd @@ -0,0 +1,117 @@ +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) + } +} diff --git a/ebctrl/ioc/ebctrlApp/src/xxxSupport.dbd b/ebctrl/ioc/ebctrlApp/src/xxxSupport.dbd new file mode 100644 index 0000000..8094bdd --- /dev/null +++ b/ebctrl/ioc/ebctrlApp/src/xxxSupport.dbd @@ -0,0 +1,2 @@ +include "xxxRecord.dbd" +device(xxx,CONSTANT,devXxxSoft,"SoftChannel") diff --git a/ebctrl/ioc/include/genSubRecord.h b/ebctrl/ioc/include/genSubRecord.h new file mode 100644 index 0000000..857cb7c --- /dev/null +++ b/ebctrl/ioc/include/genSubRecord.h @@ -0,0 +1,1275 @@ +#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 +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*/ diff --git a/ebctrl/ioc/include/hadtu.h b/ebctrl/ioc/include/hadtu.h new file mode 100644 index 0000000..f7c0878 --- /dev/null +++ b/ebctrl/ioc/include/hadtu.h @@ -0,0 +1,156 @@ + +#ifndef HADTU_H +#define HADTU_H + +#include +#include + + +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 diff --git a/ebctrl/ioc/include/hadtuqueue.h b/ebctrl/ioc/include/hadtuqueue.h new file mode 100644 index 0000000..5f44bfc --- /dev/null +++ b/ebctrl/ioc/include/hadtuqueue.h @@ -0,0 +1,31 @@ + +#ifndef HADTUQUEUE_H +#define HADTUQUEUE_H + +#include +#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 diff --git a/ebctrl/ioc/include/hardware.h b/ebctrl/ioc/include/hardware.h new file mode 100644 index 0000000..420a0dd --- /dev/null +++ b/ebctrl/ioc/include/hardware.h @@ -0,0 +1,71 @@ + +#ifndef HARDWARE_H +#define HARDWARE_H + +#include + +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 diff --git a/ebctrl/ioc/include/psxshm.h b/ebctrl/ioc/include/psxshm.h new file mode 100644 index 0000000..d350cf0 --- /dev/null +++ b/ebctrl/ioc/include/psxshm.h @@ -0,0 +1,19 @@ + +#ifndef PSXSHM_H +#define PSXSHM_H + +#include + +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 diff --git a/ebctrl/ioc/include/shmtrans.h b/ebctrl/ioc/include/shmtrans.h new file mode 100644 index 0000000..f8548f2 --- /dev/null +++ b/ebctrl/ioc/include/shmtrans.h @@ -0,0 +1,47 @@ + +#ifndef SHMTRANS_H +#define SHMTRANS_H + +#ifndef _POSIX_SEMAPHORES +#error POSIX_SEMAPHORES not available on this OS +#endif + +#include +#include +#include + + +#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 diff --git a/ebctrl/ioc/include/subevt.h b/ebctrl/ioc/include/subevt.h new file mode 100644 index 0000000..d66ac29 --- /dev/null +++ b/ebctrl/ioc/include/subevt.h @@ -0,0 +1,127 @@ + +#ifndef SUBEVT_H +#define SUBEVT_H + +#include + + +#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 diff --git a/ebctrl/ioc/include/worker.h b/ebctrl/ioc/include/worker.h new file mode 100644 index 0000000..161d9a7 --- /dev/null +++ b/ebctrl/ioc/include/worker.h @@ -0,0 +1,50 @@ + +#ifndef WORKER_H +#define WORKER_H + +#include +#include + +#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 diff --git a/ebctrl/ioc/include/xxxRecord.h b/ebctrl/ioc/include/xxxRecord.h new file mode 100644 index 0000000..93fabce --- /dev/null +++ b/ebctrl/ioc/include/xxxRecord.h @@ -0,0 +1,278 @@ +#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 +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*/ diff --git a/ebctrl/ioc/iocBoot/Makefile b/ebctrl/ioc/iocBoot/Makefile new file mode 100644 index 0000000..d097ef0 --- /dev/null +++ b/ebctrl/ioc/iocBoot/Makefile @@ -0,0 +1,6 @@ +TOP = .. +include $(TOP)/configure/CONFIG +DIRS += $(wildcard *ioc*) +DIRS += $(wildcard as*) +include $(EPICS_BASE)/configure/RULES_DIRS + diff --git a/ebctrl/ioc/iocBoot/iocebctrl/Makefile b/ebctrl/ioc/iocBoot/iocebctrl/Makefile new file mode 100644 index 0000000..cec9156 --- /dev/null +++ b/ebctrl/ioc/iocBoot/iocebctrl/Makefile @@ -0,0 +1,5 @@ +TOP = ../.. +include $(TOP)/configure/CONFIG +ARCH = linux-x86 +TARGETS = envPaths +include $(TOP)/configure/RULES.ioc diff --git a/ebctrl/ioc/iocBoot/iocebctrl/README b/ebctrl/ioc/iocBoot/iocebctrl/README new file mode 100644 index 0000000..65c4835 --- /dev/null +++ b/ebctrl/ioc/iocBoot/iocebctrl/README @@ -0,0 +1,9 @@ +To start the ioc from this directory execute the command + ../../bin/linux-x86/ 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. diff --git a/ebctrl/ioc/iocBoot/iocebctrl/envPaths b/ebctrl/ioc/iocBoot/iocebctrl/envPaths new file mode 100644 index 0000000..dc00b19 --- /dev/null +++ b/ebctrl/ioc/iocBoot/iocebctrl/envPaths @@ -0,0 +1,4 @@ +epicsEnvSet(ARCH,"linux-x86") +epicsEnvSet(IOC,"iocebctrl") +epicsEnvSet(TOP,"/home/scs/play_2/ebctrl/ioc") +epicsEnvSet(EPICS_BASE,"/home/scs/base-3.14.9") diff --git a/ebctrl/ioc/iocBoot/iocebctrl/st.cmd b/ebctrl/ioc/iocBoot/iocebctrl/st.cmd new file mode 100644 index 0000000..25e36ea --- /dev/null +++ b/ebctrl/ioc/iocBoot/iocebctrl/st.cmd @@ -0,0 +1,27 @@ +#!../../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"