feat: basic IPC
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
[package]
|
||||
name = "omega3"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
dusk-sys = { path = "../dusk-sys" }
|
||||
|
||||
[[bin]]
|
||||
name = "omega3"
|
||||
test = false
|
||||
bench = false
|
||||
@@ -0,0 +1,36 @@
|
||||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use dusk_sys::{println, sys_exit, sys_recv, sys_send};
|
||||
|
||||
#[unsafe(no_mangle)]
|
||||
pub extern "C" fn _start() -> ! {
|
||||
println!(r#"-----------------------------"#);
|
||||
println!(r#" .d88888888b. .d88888b. "#);
|
||||
println!(r#" d88P" "Y88b 88P" "Y88 "#);
|
||||
println!(r#" 888 888 .od88P "#);
|
||||
println!(r#" Y88b d88P "Y88b "#);
|
||||
println!(r#" "88bo od88" 88b d88 "#);
|
||||
println!(r#" d88888 88888b "Y88888P" "#);
|
||||
println!(r#"----- Omega3 Dusk Root Server"#);
|
||||
|
||||
let buf = [0u8; 128];
|
||||
let buf_ptr = buf.as_ptr() as usize;
|
||||
let max_len = buf.len();
|
||||
loop {
|
||||
let (actual_len, sender) = sys_recv(buf_ptr, max_len).unwrap();
|
||||
println!(
|
||||
"[server] Received: {}",
|
||||
core::str::from_utf8(&buf[..actual_len]).unwrap()
|
||||
);
|
||||
sys_send(sender, buf_ptr, actual_len).unwrap();
|
||||
}
|
||||
|
||||
sys_exit(0);
|
||||
}
|
||||
|
||||
#[panic_handler]
|
||||
fn panic(info: &core::panic::PanicInfo) -> ! {
|
||||
println!("{info}");
|
||||
sys_exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user