Skip to main content

Crate euroscope_sys

Crate euroscope_sys 

Source
Expand description

Raw FFI surface for the EuroScope plugin SDK.

This crate owns the C++ glue shim (src/shim/, compiled by build.rs) and exposes its flat extern "C" entry points to Rust. It is deliberately unsafe and untyped — the safe, idiomatic API lives in the euroscope crate, which is what application plugins should depend on.

§The two halves of the boundary

  • es_* (module ffi): wrappers the shim provides, i.e. Rust -> ES calls. One module per EuroScope class, re-exported flat here.
  • rust_* (see callbacks): callbacks the shim expects Rust to provide, i.e. ES -> Rust. euroscope::register_plugin! emits #[no_mangle] definitions for these; the signatures are documented there.

Re-exports§

pub use ffi::*;

Modules§

callbacks
Reference documentation for the rust_* symbols the shim imports. These are defined by euroscope::register_plugin! in the final cdylib.
ffi
extern "C" declarations for the shim’s es_* wrappers, one module per EuroScope class. Everything is re-exported flat, so callers use euroscope_sys::es_flightplan_callsign(..) regardless of module.

Type Aliases§

EsHandle
An opaque pointer to an EuroScope handle object (CFlightPlan, CPlugIn, CController, …). Only valid for as long as EuroScope says — usually the callback that produced it. The safe euroscope crate encodes those rules.
FlightPlanPtr
Opaque pointer to a live CFlightPlan.
PluginPtr
Opaque pointer to the shim’s CPlugIn instance.