Add more stdio_ext functions

This commit is contained in:
Jeremy Soller
2018-11-22 19:09:46 -07:00
parent 632f9f18e5
commit b4f36bce17
2 changed files with 30 additions and 14 deletions
+23
View File
@@ -0,0 +1,23 @@
use header::stdio::{FILE, F_NORD, F_NOWR};
use platform::types::*;
#[no_mangle]
pub extern "C" fn __freadable(stream: *mut FILE) -> c_int {
let mut stream = unsafe { &mut *stream }.lock();
(stream.flags & F_NORD == 0) as c_int
}
#[no_mangle]
pub extern "C" fn __fwritable(stream: *mut FILE) -> c_int {
let mut stream = unsafe { &mut *stream }.lock();
(stream.flags & F_NOWR == 0) as c_int
}
#[no_mangle]
pub extern "C" fn __fpending(stream: *mut FILE) -> size_t {
let mut stream = unsafe { &mut *stream }.lock();
stream.writer.inner.buf.len() as size_t
}