leodos_libcfs/psp/
restart.rs1use crate::cfe::es::system::ResetSubtype;
4pub use crate::cfe::es::system::ResetType;
5use crate::ffi;
6use core::mem::MaybeUninit;
7
8pub fn restart(reset_type: ResetType) -> ! {
13 unsafe {
14 ffi::CFE_PSP_Restart(reset_type.into());
15 }
16 loop {}
18}
19
20pub fn get_restart_type() -> (ResetType, ResetSubtype) {
22 let mut subtype = MaybeUninit::uninit();
23 let reset_type = unsafe { ffi::CFE_PSP_GetRestartType(subtype.as_mut_ptr()) };
24 (
25 (reset_type as u32).into(),
26 unsafe { subtype.assume_init() }.into(),
27 )
28}