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}