Skip to main content

NROS_TRANSPORT_OPS_ABI_VERSION_V1

Constant NROS_TRANSPORT_OPS_ABI_VERSION_V1 

Source
pub const NROS_TRANSPORT_OPS_ABI_VERSION_V1: u32 = 1;
Expand description

Phase 115.A.2 — current ABI version of NrosTransportOps.

Embedded as the first field of the struct (see § Versioning below). Consumers fill in this exact value before passing the struct to set_custom_transport; runtime entry points reject any other value with crate::TransportError::IncompatibleAbi (or NROS_RMW_RET_INCOMPATIBLE_ABI at the C boundary).

The version bumps under two rules (per the portable-ABI design note R5 in docs/design/0006-portable-rmw-platform-interface.md):

  • Major (e.g. V1V2): existing fields removed or reordered. Old consumers fail cleanly via the version check.
  • Minor (e.g. struct gains an appended fn pointer): version stays the same. New consumers detect the new fn via the size of the trailing _reserved region. Today there is none — v1 is the inaugural version.