1mod bool;
2mod buffer;
3mod event;
4mod location;
5mod pointer;
6mod r#ref;
7mod register;
8
9pub use bool::*;
10pub use buffer::*;
11pub use event::*;
12pub use location::*;
13pub use pointer::*;
14pub use r#ref::*;
15pub use register::*;
16
17#[repr(C, u64)]
18#[derive(Clone, Copy, Debug, Eq, PartialEq)]
19pub enum ValueReturn<'a> {
20 Ok(Buffer<'a>),
21 Err(Buffer<'a>),
22}
23
24impl<'a, T, E> From<Result<&'a T, &'a E>> for ValueReturn<'a>
25where
26 T: AsRef<[u8]>,
27 E: AsRef<[u8]>,
28{
29 #[inline]
30 fn from(result: Result<&'a T, &'a E>) -> Self {
31 match result {
32 Ok(value) => ValueReturn::Ok(Buffer::new(value)),
33 Err(value) => ValueReturn::Err(Buffer::new(value)),
34 }
35 }
36}
37
38#[cfg(not(any(target_pointer_width = "64", target_arch = "wasm32")))]
39compile_error!(
40 "calimero-sys assumes you're compiling for a 64-bit target or wasm32, which you are not. Please file an issue"
41);