From fb6969ccbe5baf4e0645b9bd42d0a8dbf6d62b07 Mon Sep 17 00:00:00 2001 From: Astro <astro@spaceboyz.net> Date: Fri, 23 Aug 2019 15:34:32 +0200 Subject: [PATCH] add os --- l0dable/src/lib.rs | 3 ++- l0dable/src/os.rs | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 l0dable/src/os.rs diff --git a/l0dable/src/lib.rs b/l0dable/src/lib.rs index e3960fdb..17623a48 100644 --- a/l0dable/src/lib.rs +++ b/l0dable/src/lib.rs @@ -65,8 +65,9 @@ pub mod bindings { include!(concat!(env!("OUT_DIR"), "/bindings.rs")); } -use bindings::*; +mod os; +pub use os::*; mod display; pub use display::{Display, Color, LineStyle, FillStyle}; mod buttons; diff --git a/l0dable/src/os.rs b/l0dable/src/os.rs new file mode 100644 index 00000000..af7a2283 --- /dev/null +++ b/l0dable/src/os.rs @@ -0,0 +1,23 @@ +use super::bindings::*; + +pub fn exec(path: &str) -> ! { + let mut pathbuf = super::str_to_cstr(path); + unsafe { + epic_exec(pathbuf.as_mut_ptr()); + } + unreachable!() +} + +pub fn exit(ret: i32) -> ! { + unsafe { + epic_exit(ret); + } + unreachable!() +} + +pub fn system_reset() -> ! { + unsafe { + epic_system_reset(); + } + unreachable!() +} -- GitLab