Skip to main content

relibc/header/sys_syslog/
redox.rs

1use crate::{error::Result, fs::File, header::fcntl, io::BufWriter};
2
3use super::logger::LogSink;
4
5/// Write logs to Redox's log scheme.
6pub struct LogFile(BufWriter<File>);
7
8impl LogSink for LogFile {
9    type Sink = BufWriter<File>;
10
11    #[inline(always)]
12    fn open() -> Result<Self> {
13        File::open(c"/scheme/log".into(), fcntl::O_WRONLY).map(|file| Self(BufWriter::new(file)))
14    }
15
16    #[inline(always)]
17    fn writer(&mut self) -> &mut Self::Sink {
18        &mut self.0
19    }
20}