Skip to main content

aranya_capi_core/
lib.rs

1//! A `no-std` utility library for building C APIs.
2
3mod cstr;
4mod error;
5#[doc(hidden)]
6pub mod internal;
7mod macros;
8pub mod opaque;
9pub mod safe;
10mod traits;
11pub mod types;
12mod utf8;
13
14pub use cstr::{WriteCStrError, write_c_str};
15pub use error::{ErrorCode, ExtendedError, InvalidArg, InvalidArgReason};
16#[doc(hidden)]
17pub use internal::conv::{ConvError, slice::InvalidSlice};
18pub use macros::*;
19pub use traits::{Builder, InitDefault};
20pub use utf8::Utf8Str;
21
22/// Common items.
23pub mod prelude {
24    pub use core::mem::MaybeUninit;
25
26    pub use super::{
27        Builder, ErrorCode, InitDefault,
28        safe::{CBytes, CStr, OwnedPtr, Safe, Writer},
29    };
30}