Skip to main content

mojo_rs/
lib.rs

1//! # mojo-rs
2//!
3//! Facade crate: the native Rust implementation of Chromium Mojo IPC,
4//! serialization, bindings, and the public Mojo System C ABI, developed
5//! through forensic differential parity against a pinned official Chromium
6//! Mojo oracle.
7//!
8//! Status discipline: capability claims live in `atlas/feature-matrix.json`
9//! and move up the sealed ladder only with court receipts.
10//!
11//! The facade re-exports the runtime and language-toolchain crates:
12//!
13//! * [`wire`] — wire-format encoding, decoding, and validation
14//! * [`core`] — native runtime: handle table, dispatchers, pipes, routing
15//! * [`platform`] — Linux-first platform layer (transport, shared memory, fds)
16//! * [`system`] — idiomatic safe Rust System API
17//! * [`c_api`] — the compatible public Mojo C System ABI (epoch 1)
18//! * [`io`] — executor/task integration without a hard-wired async runtime
19//! * [`bindings`] — generated-binding runtime: remotes, receivers, control
20//! * [`mojom`] — the Mojom language toolchain (lexer, parser, AST, validation)
21//! * [`codegen`] — deterministic Rust code generation from mojom definitions
22//!
23//! Forensic tooling (casefiles, the oracle harness, interop clients, and test
24//! support) is intentionally not re-exported here; depend on those crates
25//! directly when building courts.
26#![deny(missing_docs)]
27
28pub use mojo_rs_bindings as bindings;
29pub use mojo_rs_c_api as c_api;
30pub use mojo_rs_codegen as codegen;
31pub use mojo_rs_core as core;
32pub use mojo_rs_io as io;
33pub use mojo_rs_mojom as mojom;
34pub use mojo_rs_platform as platform;
35pub use mojo_rs_system as system;
36pub use mojo_rs_wire as wire;
37
38/// The pinned Chromium compatibility epoch.
39pub const COMPATIBILITY_EPOCH: &str = "151.0.7922.105";
40
41/// The pinned Chromium commit for the epoch.
42pub const COMPATIBILITY_COMMIT: &str = "bfa3579138998e2fbb981725570fa588c5b6f8cd";