generated from erix/meta
lib-interrupt provides typed client helpers for the EriX interrupt routing service.
- Rust 100%
| .github | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
lib-interrupt
lib-interrupt provides typed client helpers for the EriX interrupt routing
service.
It wraps irqd request/response contracts and notify-event parsing into a
small no_std API with strict validation.
Status
- Request helpers implemented:
register_handlerset_maskack
- Blocking wait helper implemented:
wait_next
- Notify parsing accepts both framed notify messages and raw notify payload deliveries used by current runtime.
API model
The crate is transport-callback based.
Call-style operations accept a callback with signature:
FnMut(endpoint_slot, request_bytes, response_buf) -> Result<(status, response_len), transport_code>
Wait-style operation accepts:
FnMut(endpoint_slot, recv_buf, timeout_ticks) -> Result<(status, out_len), transport_code>
This keeps the crate runtime-agnostic and usable from baremetal service binaries without allocator requirements.
Validation guarantees
lib-interrupt validates:
- endpoint slot non-zero,
- line ID and mask-action range,
- response size/op-id/request-id consistency,
- notify payload shape and reserved fields.
Errors are returned as typed Error values.
Build and test
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features
Dependencies
lib-ipc
No third-party crates are used.