diff --git a/api/Cargo.lock b/api/Cargo.lock new file mode 100644 index 0000000..8b230ee --- /dev/null +++ b/api/Cargo.lock @@ -0,0 +1,72 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "api" +version = "0.1.0" +dependencies = [ + "num-derive", + "num-traits", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-traits" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "syn" +version = "2.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" diff --git a/api/Cargo.toml b/api/Cargo.toml new file mode 100644 index 0000000..d99c64d --- /dev/null +++ b/api/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "api" +version = "0.1.0" +edition = "2021" + +[dependencies] +num-traits = { version = "0.2", default-features = false } +num-derive = "0.4" diff --git a/api/src/cap.rs b/api/src/cap.rs new file mode 100644 index 0000000..6f078fd --- /dev/null +++ b/api/src/cap.rs @@ -0,0 +1,20 @@ +#[derive(Clone, Copy, FromPrimitive, ToPrimitive)] +pub enum ObjectType { + Null = 0, + CNode = 1, + TCB = 2, + SchedCtx = 3, + Endpoint = 4, + Reply = 5, + Notification = 6, + Frame = 7, + PageTable = 8, + Interrupt = 9, + Untyped = 10, +} + +impl Default for ObjectType { + fn default() -> Self { + Self::Null + } +} diff --git a/api/src/lib.rs b/api/src/lib.rs new file mode 100644 index 0000000..3709a49 --- /dev/null +++ b/api/src/lib.rs @@ -0,0 +1,6 @@ +#![no_std] + +#[macro_use] +extern crate num_derive; + +pub mod cap;