add external definitions file
Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
a9772e6716
commit
2e8e1bca84
79
src/xous/definitions.rs
Normal file
79
src/xous/definitions.rs
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
#[derive(Debug, Copy, Clone)]
|
||||||
|
pub enum SyscallResultNumber {
|
||||||
|
Ok = 0,
|
||||||
|
Error = 1,
|
||||||
|
MemoryRange = 3,
|
||||||
|
ConnectionId = 7,
|
||||||
|
Message = 9,
|
||||||
|
ThreadId = 10,
|
||||||
|
Unimplemented = 12,
|
||||||
|
Scalar1 = 14,
|
||||||
|
Scalar2 = 15,
|
||||||
|
MemoryReturned = 18,
|
||||||
|
Scalar5 = 20,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub enum Syscall {
|
||||||
|
Unknown([i64; 8]),
|
||||||
|
IncreaseHeap(
|
||||||
|
i64, /* number of bytes to add */
|
||||||
|
i64, /* memory flags */
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub enum SyscallNumber {
|
||||||
|
MapMemory = 2,
|
||||||
|
Yield = 3,
|
||||||
|
IncreaseHeap = 10,
|
||||||
|
UpdateMemoryFlags = 12,
|
||||||
|
ReceiveMessage = 15,
|
||||||
|
SendMessage = 16,
|
||||||
|
Connect = 17,
|
||||||
|
CreateThread = 18,
|
||||||
|
UnmapMemory = 19,
|
||||||
|
ReturnMemory = 20,
|
||||||
|
TerminateProcess = 22,
|
||||||
|
TrySendMessage = 24,
|
||||||
|
TryConnect = 25,
|
||||||
|
GetThreadId = 32,
|
||||||
|
JoinThread = 36,
|
||||||
|
AdjustProcessLimit = 38,
|
||||||
|
ReturnScalar = 40,
|
||||||
|
Unknown = 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<[i64; 8]> for Syscall {
|
||||||
|
fn from(value: [i64; 8]) -> Self {
|
||||||
|
match value[0].into() {
|
||||||
|
SyscallNumber::IncreaseHeap => Syscall::IncreaseHeap(value[1], value[2]),
|
||||||
|
_ => Syscall::Unknown(value),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<i64> for SyscallNumber {
|
||||||
|
fn from(value: i64) -> Self {
|
||||||
|
match value {
|
||||||
|
2 => SyscallNumber::MapMemory,
|
||||||
|
3 => SyscallNumber::Yield,
|
||||||
|
10 => SyscallNumber::IncreaseHeap,
|
||||||
|
12 => SyscallNumber::UpdateMemoryFlags,
|
||||||
|
15 => SyscallNumber::ReceiveMessage,
|
||||||
|
16 => SyscallNumber::SendMessage,
|
||||||
|
17 => SyscallNumber::Connect,
|
||||||
|
18 => SyscallNumber::CreateThread,
|
||||||
|
19 => SyscallNumber::UnmapMemory,
|
||||||
|
20 => SyscallNumber::ReturnMemory,
|
||||||
|
22 => SyscallNumber::TerminateProcess,
|
||||||
|
24 => SyscallNumber::TrySendMessage,
|
||||||
|
25 => SyscallNumber::TryConnect,
|
||||||
|
32 => SyscallNumber::GetThreadId,
|
||||||
|
36 => SyscallNumber::JoinThread,
|
||||||
|
38 => SyscallNumber::AdjustProcessLimit,
|
||||||
|
40 => SyscallNumber::ReturnScalar,
|
||||||
|
_ => SyscallNumber::Unknown,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user