epics-base-rs 0.26.0

Pure Rust EPICS IOC core — record system, database, iocsh, calc engine
Documentation
#*************************************************************************
# Copyright (c) 2007 UChicago Argonne LLC, as Operator of Argonne
#     National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
#     Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************


	%#include "epicsTypes.h"
	%#include "link.h"
	field(NAME,DBF_STRING) {
		prompt("Record Name")
		special(SPC_NOMOD)
		size(61)
	}
	field(DESC,DBF_STRING) {
		prompt("Descriptor")
		promptgroup("10 - Common")
		size(41)
	}
	field(ASG,DBF_STRING) {
		prompt("Access Security Group")
		promptgroup("10 - Common")
		special(SPC_AS)
		size(29)
	}


	field(SCAN,DBF_MENU) {
		prompt("Scan Mechanism")
		promptgroup("20 - Scan")
		special(SPC_SCAN)
		interest(1)
		menu(menuScan)
	}
	field(PINI,DBF_MENU) {
		prompt("Process at iocInit")
		promptgroup("20 - Scan")
		interest(1)
		menu(menuPini)
	}
	field(PHAS,DBF_SHORT) {
		prompt("Scan Phase")
		promptgroup("20 - Scan")
		special(SPC_SCAN)
		interest(1)
	}
	field(EVNT,DBF_STRING) {
		prompt("Event Name")
		promptgroup("20 - Scan")
		special(SPC_SCAN)
		size(40)
		interest(1)
	}
	field(TSE,DBF_SHORT) {
		prompt("Time Stamp Event")
		promptgroup("20 - Scan")
		interest(1)
	}
	field(TSEL,DBF_INLINK) {
		prompt("Time Stamp Link")
		promptgroup("20 - Scan")
		interest(1)
	}
	field(DTYP,DBF_DEVICE) {
		prompt("Device Type")
		promptgroup("10 - Common")
		interest(1)
	}
	field(DISV,DBF_SHORT) {
		prompt("Disable Value")
		promptgroup("20 - Scan")
		initial("1")
	}
	field(DISA,DBF_SHORT) {
		prompt("Disable")
	}
	field(SDIS,DBF_INLINK) {
		prompt("Scanning Disable")
		promptgroup("20 - Scan")
		interest(1)
	}
	%#include "epicsMutex.h"
	field(MLOK,DBF_NOACCESS) {
		prompt("Monitor lock")
		special(SPC_NOMOD)
		interest(4)
		extra("epicsMutexId        mlok")
	}
	%#include "ellLib.h"
	field(MLIS,DBF_NOACCESS) {
		prompt("Monitor List")
		special(SPC_NOMOD)
		interest(4)
		extra("ELLLIST             mlis")
	}
	field(BKLNK,DBF_NOACCESS) {
		prompt("Backwards link tracking")
		special(SPC_NOMOD)
		interest(4)
		extra("ELLLIST             bklnk")
	}
	field(DISP,DBF_UCHAR) {
		prompt("Disable putField")
		promptgroup("10 - Common")
		interest(1)
	}
	field(PROC,DBF_UCHAR) {
		prompt("Force Processing")
		pp(TRUE)
		interest(3)
	}


	field(STAT,DBF_MENU) {
		prompt("Alarm Status")
		special(SPC_NOMOD)
		menu(menuAlarmStat)
		initial("UDF")
	}
	field(SEVR,DBF_MENU) {
		prompt("Alarm Severity")
		special(SPC_NOMOD)
		menu(menuAlarmSevr)
	}
	field(AMSG,DBF_STRING) {
		prompt("Alarm Message")
		special(SPC_NOMOD)
                size(40)
	}
	field(NSTA,DBF_MENU) {
		prompt("New Alarm Status")
		special(SPC_NOMOD)
		interest(2)
		menu(menuAlarmStat)
	}
	field(NSEV,DBF_MENU) {
		prompt("New Alarm Severity")
		special(SPC_NOMOD)
		interest(2)
		menu(menuAlarmSevr)
	}
	field(NAMSG,DBF_STRING) {
		prompt("New Alarm Message")
		special(SPC_NOMOD)
		size(40)
	}
	field(ACKS,DBF_MENU) {
		prompt("Alarm Ack Severity")
		special(SPC_NOMOD)
		interest(2)
		menu(menuAlarmSevr)
	}
	field(ACKT,DBF_MENU) {
		prompt("Alarm Ack Transient")
		promptgroup("70 - Alarm")
		special(SPC_NOMOD)
		interest(2)
		menu(menuYesNo)
		initial("YES")
	}
	field(DISS,DBF_MENU) {
		prompt("Disable Alarm Sevrty")
		promptgroup("70 - Alarm")
		interest(1)
		menu(menuAlarmSevr)
	}
	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)
		interest(4)
		extra("struct asgMember    *asp")
	}
	field(PPN,DBF_NOACCESS) {
		prompt("pprocessNotify")
		special(SPC_NOMOD)
		interest(4)
		extra("struct processNotify *ppn")
	}
	field(PPNR,DBF_NOACCESS) {
		prompt("pprocessNotifyRecord")
		special(SPC_NOMOD)
		interest(4)
		extra("struct processNotifyRecord *ppnr")
	}
	field(SPVT,DBF_NOACCESS) {
		prompt("Scan Private")
		special(SPC_NOMOD)
		interest(4)
		extra("struct scan_element *spvt")
	}


	field(RSET,DBF_NOACCESS) {
		prompt("Address of RSET")
		special(SPC_NOMOD)
		interest(4)
        extra("struct typed_rset   *rset")
	}
    %#include "devSup.h"
	field(DSET,DBF_NOACCESS) {
		prompt("DSET address")
		special(SPC_NOMOD)
		interest(4)
		extra("unambiguous_dset    *dset")
	}
	field(DPVT,DBF_NOACCESS) {
		prompt("Device Private")
		special(SPC_NOMOD)
		interest(4)
		extra("void                *dpvt")
	}
	field(RDES,DBF_NOACCESS) {
		prompt("Address of dbRecordType")
		special(SPC_NOMOD)
		interest(4)
		extra("struct dbRecordType *rdes")
	}
	field(LSET,DBF_NOACCESS) {
		prompt("Lock Set")
		special(SPC_NOMOD)
		interest(4)
		extra("struct lockRecord   *lset")
	}
	field(PRIO,DBF_MENU) {
		prompt("Scheduling Priority")
		promptgroup("20 - Scan")
		special(SPC_SCAN)
		interest(1)
		menu(menuPriority)
	}


	field(TPRO,DBF_UCHAR) {
		prompt("Trace Processing")
	}
	field(BKPT,DBF_NOACCESS) {
		prompt("Break Point")
		special(SPC_NOMOD)
		interest(1)
		extra("epicsUInt8          bkpt")
	}
	field(UDF,DBF_UCHAR) {
		prompt("Undefined")
		promptgroup("10 - Common")
		pp(TRUE)
		interest(1)
		initial("1")
	}
	field(UDFS,DBF_MENU) {
		prompt("Undefined Alarm Sevrty")
		promptgroup("70 - Alarm")
		interest(1)
		menu(menuAlarmSevr)
		initial("INVALID")
	}
	%#include "epicsTime.h"
	field(TIME,DBF_NOACCESS) {
		prompt("Time")
		special(SPC_NOMOD)
		interest(2)
		extra("epicsTimeStamp      time")
	}
        field(UTAG,DBF_UINT64) {
		prompt("Time Tag")
		special(SPC_NOMOD)
		interest(3)
	}
	field(FLNK,DBF_FWDLINK) {
		prompt("Forward Process Link")
		promptgroup("20 - Scan")
		interest(1)
	}