Expand description
§C reference pins
Every file.c:NNN citation in this crate resolves at the tree and revision
below, not at whatever that tree’s working copy holds today. These trees are
checked out on local branches here and run ahead of their pins.
| tree | pinned revision |
|---|---|
std | R3-6-4 |
epics-base | R7.0.10 |
Resolve by symbol at the pin; the line is a hint. Find the named function, struct, macro or field first, and treat the line number as a hint that has to land inside that construct. Three cases follow:
- Construct at the pin, line lands in it — the citation is exact. A reference checkout ahead of the pin will disagree; that disagreement is the checkout’s, not the citation’s.
- Construct at the pin, line lands outside it — line drift. Keep the symbol and move the line to the pin’s.
- Construct absent at the pin — the citation means code added after it,
and is NOT moved onto the pin, where it would point at lines that do not
exist. It names the revision it means inline, beside the line span: the
upstream PR and commit, and that both are later than the pin this table
gives.
epics-libcom-rsalready carries that form.
Every pin above passes git merge-base --is-ancestor <pin> origin/<default>
in its own tree, which is the test a pin has to meet. A git describe
string names an exact commit and is worth as much as a tag; what
disqualifies a revision is being reachable only from a fork branch or an
unmerged PR, because then it names nothing a reader outside this workspace
can fetch.
Resolve each citation on its own. One sentence can cite two lines that are right at different revisions, and a check run at either revision then reports a single tidy error while vouching for the very citation the other condemns.
A row reading no settled pin means no revision has been agreed for that
tree: say which revision you read, and do not take its HEAD for the pin.
Citations into non-EPICS sources (libc, RTEMS, rtems-libbsd, VxWorks,
vendored third-party) are outside this table and carry no pin.
Re-exports§
pub use device_support::time_of_day::SecPastEpochDeviceSupport;pub use device_support::time_of_day::TimeOfDayStringDeviceSupport;pub use records::epid::EpidRecord;pub use records::throttle::ThrottleRecord;pub use records::timestamp::TimestampRecord;
Modules§
- device_
support - records
- seq_
runner - SNL program launcher for the std module — the Rust stand-in for C’s
seq &program, "macros". - snl
Constants§
- STD_
DB_ DIR - Path to the bundled database template directory.
Functions§
- epid_
record_ factory - Return the epid record type factory for injection into IocBuilder.
- register_
std_ record_ types - Register all std record types via the global registry (legacy).
Prefer
std_record_factories()withIocBuilder::register_record_type(). - sec_
past_ epoch_ device_ factory - Return the “Sec Past Epoch” (
ai) device support factory fromdevTimeOfDay.c(devAiTodSeconds) for injection into a builder. - std_
device_ supports - Return all std-module device support factories for bulk registration.
- std_
record_ factories - Return all std record type factories for bulk registration.
- throttle_
record_ factory - Return the throttle record type factory for injection into IocBuilder.
- time_
of_ day_ device_ factory - Return the “Time of Day” (
stringin) device support factory fromdevTimeOfDay.c(devSiTodString) for injection into a builder. - timestamp_
record_ factory - Return the timestamp record type factory for injection into IocBuilder.