pub struct LinkMetadata {
pub dbf_type: Option<LinkDbfType>,
pub element_count: Option<i64>,
pub graphic_limits: Option<(f64, f64)>,
pub control_limits: Option<(f64, f64)>,
pub alarm_limits: Option<(f64, f64, f64, f64)>,
pub precision: Option<i16>,
pub units: Option<String>,
pub description: Option<String>,
pub enum_choices: Option<Vec<String>>,
}Fields§
§dbf_type: Option<LinkDbfType>DBF type the remote value maps to (pvaGetDBFtype). A connected
link always reports a type — an unmappable value shape falls back
to Long, the default: arm of pvxs pvaGetDBFtype
(pvxs/ioc/pvalink_lset.cpp:199-236). None therefore means “not
connected” (no cached value), never “connected but unmappable”.
element_count: Option<i64>Element count: array length, or 1 for a scalar / any connected
non-array shape (pvaGetElements, pvxs/ioc/pvalink_lset.cpp:242-257).
As with dbf_type, None means “not connected”.
graphic_limits: Option<(f64, f64)>display.limitLow / display.limitHigh (pvaGetGraphicLimits).
control_limits: Option<(f64, f64)>control.limitLow / control.limitHigh (pvaGetControlLimits).
alarm_limits: Option<(f64, f64, f64, f64)>valueAlarm.{lowAlarmLimit,lowWarningLimit,highWarningLimit, highAlarmLimit} as (lolo, lo, hi, hihi) (pvaGetAlarmLimits).
precision: Option<i16>display.precision (pvaGetPrecision).
units: Option<String>display.units (pvaGetUnits).
description: Option<String>display.description — carried so a link snapshot is complete;
pvxs exposes it through the same fld_meta cache.
enum_choices: Option<Vec<String>>ENUM state labels of the remote channel, when it has any. The label
table a DBR_STRING-requesting reader (stringin/lsi INP, printf
%s) renders a remote enum index through — C dbCa keeps a second
DBR_STRING monitor (pgetString) for that read; here the labels
ride the same attribute fetch as the limits (CA: DBR_CTRL_ENUM).