Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
nosv-sys
nosv-sys provides raw Rust FFI bindings to the nOS-V C API. It is intended to
be the dependency boundary for the safe nosv
crate, not the place where Rust ownership, task-context, or lifetime guarantees
are modeled.
All nOS-V functions exposed by this crate are unsafe to use directly. Callers must uphold the invariants documented by the nOS-V headers, including runtime initialization, task-context restrictions, callback validity, pointer validity, and handle ownership.
Requirements
- nOS-V 4.1.0 or newer.
pkg-config.- A C toolchain and
libclangusable bybindgen. PKG_CONFIG_PATHset to a directory containingnos-v.pcwhen nOS-V is not installed in a default pkg-config search path, seeconfig.toml.example.
For a local nOS-V checkout, PKG_CONFIG_PATH commonly points at either the
checkout root containing nos-v.pc or the installed prefix's lib/pkgconfig
directory.
Scope
This crate deliberately exposes:
- bindgen-generated raw types and functions from
nosv.h,nosv/affinity.h,nosv/compat.h,nosv/hwinfo.h, andnosv/memory.h; - C-like aliases for nOS-V enum constants;
- manual translations of nOS-V flag macros that bindgen does not emit.
This crate deliberately does not expose:
- RAII runtime initialization;
- owned task or task-type handles;
- task-context tokens;
- Rust closure trampolines;
- safe synchronization wrappers.
For a safe, higher-level API built on top of this crate, use
nosv.
Safe nosv Crate
The nosv crate provides a safe,
futures-based Rust runtime over these bindings. It models nOS-V ownership and
context rules in Rust types and provides high-level task, topology, affinity,
memory, timer, and I/O APIs.