Selaa lähdekoodia

Add redox_fpath function

Jeremy Soller 6 vuotta sitten
vanhempi
commit
4e741f5583
3 muutettua tiedostoa jossa 31 lisäystä ja 0 poistoa
  1. 20 0
      include/sys/redox.h
  2. 10 0
      src/platform/redox/extra.rs
  3. 1 0
      src/platform/redox/mod.rs

+ 20 - 0
include/sys/redox.h

@@ -0,0 +1,20 @@
+#ifndef _SYS_REDOX_H
+#define _SYS_REDOX_H
+
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __redox__
+
+ssize_t redox_fpath(int fd, void * buf, size_t count);
+
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif

+ 10 - 0
src/platform/redox/extra.rs

@@ -0,0 +1,10 @@
+use core::slice;
+
+use platform::types::*;
+
+use super::e;
+
+#[no_mangle]
+pub unsafe extern "C" fn redox_fpath(fd: c_int, buf: *mut c_void, count: size_t) -> ssize_t {
+    e(syscall::fpath(fd as usize, slice::from_raw_parts_mut(buf as *mut u8, count))) as ssize_t
+}

+ 1 - 0
src/platform/redox/mod.rs

@@ -28,6 +28,7 @@ use io::{self, BufReader, SeekFrom};
 use super::types::*;
 use super::types::*;
 use super::{errno, Pal, Read};
 use super::{errno, Pal, Read};
 
 
+mod extra;
 mod pte;
 mod pte;
 mod signal;
 mod signal;
 mod socket;
 mod socket;