Skip to main content

Module record_fields

Module record_fields 

Source
Expand description

IOC/QSRV-style record field access.

Serves <pvname>.<FIELD> (and the obsolete <pvname>.<FIELD>$ long-string form) as independent read-only channels, mimicking IOC field-access semantics so tools such as the EPICS Archiver Appliance can fetch record metadata (RTYP, NAME, DESC, dbCommon fields, …).

Ported from the p4pillon RecordProvider / DynamicRecordFields design (branch 50-access-to-ioc-fields).

Structs§

FieldRef
A parsed <base>.<FIELD>[$] channel-name reference.
RecordFieldSource
A read-only Source serving <pvname>.<FIELD> channels for any RecordFieldProvider.

Enums§

FieldKind
Scalar type of a record field, per dbCommon.dbd semantics.

Constants§

LINK_FIELDS
The record fields whose value is a link, and which therefore render through render_link_text rather than as the raw .db text.

Functions§

canonical_link_text
Re-render the raw .db text of a link field in render_link_text’s canonical form.
dbcommon_default
Look up the dbCommon default for field, if it is a common field.
dbcommon_default_value
The dbCommon default for field, already parsed to its declared type.
field_value
Resolve the value of field for record.
is_link_field
Whether field is one of LINK_FIELDS.
mdel_of
The record’s MDEL monitor deadband (0.0 when absent or unparsable).
parse_field_ref
Split a channel name into a FieldRef on its last ..
payload_for
Build the wire payload for a resolved field reference on a record.
payload_for_value
Wrap a resolved field value as a wire payload.
record_type_name
The .db record-type name for a RecordType (what RTYP reports).
render_link_text
Render a link the way EPICS Base prints one: the target, an optional .FIELD, then both modifiers, however terse the .db was.