MCPcopy Create free account
hub / github.com/FrameworkComputer/framework-system / shell_write_file

Function shell_write_file

framework_lib/src/fw_uefi/fs.rs:75–95  ·  view source on GitHub ↗
(path: &str, data: &[u8])

Source from the content-addressed store, hash-verified

73}
74
75pub fn shell_write_file(path: &str, data: &[u8]) -> Result {
76 let shell = get_shell_protocol();
77 let c_path =
78 CString16::try_from(path).map_err(|_| uefi::Error::from(Status::INVALID_PARAMETER))?;
79
80 unsafe {
81 let mode = FileMode::READ | FileMode::WRITE | FileMode::CREATE;
82 let mut handle: MaybeUninit<ShellFileHandle> = MaybeUninit::zeroed();
83 (shell.open_file_by_name)(c_path.as_ptr().cast(), handle.as_mut_ptr(), mode.bits())
84 .to_result()?;
85
86 let file_handle = handle.assume_init();
87
88 let mut write_size = data.len();
89 let status = (shell.write_file)(file_handle, &mut write_size, data.as_ptr() as *mut _);
90
91 let _ = (shell.close_file)(file_handle);
92
93 status.to_result()
94 }
95}

Callers 3

dump_winux_imageFunction · 0.85
dump_ec_flashFunction · 0.85
dump_dgpu_eepromFunction · 0.85

Calls 1

get_shell_protocolFunction · 0.70

Tested by

no test coverage detected