MatiOS_SDK/
process_start_info.rs1use core::cell::OnceCell;
2use crate::uuid::Uuid;
3use core::panic::PanicInfo;
4
5pub static mut GLOBAL_PROCESS_START_INFO: OnceCell< ProcessStartInfo> = OnceCell::new();
6pub struct ProcessStartInfo {
7 pub processId: Uuid,
8 pub debugPrint: extern "win64" fn(&str),
9 pub debugPrintInt: extern "win64" fn(u64),
10 pub debugPrintUuid: extern "win64" fn(Uuid),
11 pub debugPanicRust: extern "win64" fn(&PanicInfo),
12 pub allocate: extern "win64" fn(size: u64, align: u64) -> u64,
13 pub syscallSync: extern "win64" fn(usize) -> usize,
14}
15impl ProcessStartInfo {
16 pub fn init(info: ProcessStartInfo) {
17 unsafe {
18 GLOBAL_PROCESS_START_INFO = OnceCell::from(info);
19 }
20 }
21}