feat: add ObjectType definitions

This commit is contained in:
Paul Pan 2024-03-20 21:10:19 +08:00
parent 369b488641
commit b5d4e419c4
4 changed files with 106 additions and 0 deletions

72
api/Cargo.lock generated Normal file
View File

@ -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"

8
api/Cargo.toml Normal file
View File

@ -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"

20
api/src/cap.rs Normal file
View File

@ -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
}
}

6
api/src/lib.rs Normal file
View File

@ -0,0 +1,6 @@
#![no_std]
#[macro_use]
extern crate num_derive;
pub mod cap;