uefi_std/
io.rs

1use core::fmt::{self, Write};
2
3pub struct Stdout;
4
5impl Write for Stdout {
6    fn write_str(&mut self, string: &str) -> Result<(), fmt::Error> {
7        let st = crate::system_table();
8
9        for c in string.chars() {
10            let _ = (st.ConsoleOut.OutputString)(st.ConsoleOut, [c as u16, 0].as_ptr());
11            if c == '\n' {
12                let _ = (st.ConsoleOut.OutputString)(st.ConsoleOut, ['\r' as u16, 0].as_ptr());
13            }
14        }
15
16        Ok(())
17    }
18}
19
20pub fn _print(args: fmt::Arguments) {
21    Stdout.write_fmt(args).unwrap();
22}