summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc-test/semver/redox.txt11
-rw-r--r--src/unix/newlib/vita/mod.rs2
-rw-r--r--src/unix/redox/mod.rs36
3 files changed, 47 insertions, 2 deletions
diff --git a/libc-test/semver/redox.txt b/libc-test/semver/redox.txt
index 4b6e126ea6..cd07660cc4 100644
--- a/libc-test/semver/redox.txt
+++ b/libc-test/semver/redox.txt
@@ -137,8 +137,8 @@ SO_PEERCRED
SO_PEERSEC
SO_PRIORITY
SO_PROTOCOL
-SO_REUSEPORT
SO_RCVBUFFORCE
+SO_REUSEPORT
SO_SNDBUFFORCE
TCFLSH
TCGETS
@@ -180,6 +180,7 @@ bsearch
chroot
clearerr
difftime
+endpwent
endservent
epoll_create
epoll_create1
@@ -189,12 +190,17 @@ epoll_wait
explicit_bzero
fchdir
fmemopen
+getdtablesize
+getgrgid_r
+getgrnam_r
+getgrouplist
getline
+getpwent
+getpwnam_r
getrlimit
getrusage
getservbyport
getservent
-getdtablesize
killpg
lockf
madvise
@@ -206,6 +212,7 @@ pipe2
pthread_condattr_setclock
qsort
reallocarray
+setpwent
setrlimit
setservent
strcasecmp
diff --git a/src/unix/newlib/vita/mod.rs b/src/unix/newlib/vita/mod.rs
index 5c1d35dae1..801a408b99 100644
--- a/src/unix/newlib/vita/mod.rs
+++ b/src/unix/newlib/vita/mod.rs
@@ -168,6 +168,8 @@ extern "C" {
) -> ::c_int;
pub fn pthread_getprocessorid_np() -> ::c_int;
+
+ pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
}
pub use crate::unix::newlib::generic::{sigset_t, stat};
diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs
index ccd3d779fa..d946f46524 100644
--- a/src/unix/redox/mod.rs
+++ b/src/unix/redox/mod.rs
@@ -528,6 +528,10 @@ pub const POLLOUT: ::c_short = 0x004;
pub const POLLERR: ::c_short = 0x008;
pub const POLLHUP: ::c_short = 0x010;
pub const POLLNVAL: ::c_short = 0x020;
+pub const POLLRDNORM: ::c_short = 0x040;
+pub const POLLRDBAND: ::c_short = 0x080;
+pub const POLLWRNORM: ::c_short = 0x100;
+pub const POLLWRBAND: ::c_short = 0x200;
// pthread.h
pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0;
@@ -996,6 +1000,28 @@ extern "C" {
pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
pub fn getdtablesize() -> ::c_int;
+ // grp.h
+ pub fn getgrgid_r(
+ gid: ::gid_t,
+ grp: *mut ::group,
+ buf: *mut ::c_char,
+ buflen: ::size_t,
+ result: *mut *mut ::group,
+ ) -> ::c_int;
+ pub fn getgrnam_r(
+ name: *const ::c_char,
+ grp: *mut ::group,
+ buf: *mut ::c_char,
+ buflen: ::size_t,
+ result: *mut *mut ::group,
+ ) -> ::c_int;
+ pub fn getgrouplist(
+ user: *const ::c_char,
+ group: ::gid_t,
+ groups: *mut ::gid_t,
+ ngroups: *mut ::c_int,
+ ) -> ::c_int;
+
// malloc.h
pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
@@ -1028,6 +1054,16 @@ extern "C" {
) -> ::c_int;
// pwd.h
+ pub fn getpwent() -> *mut passwd;
+ pub fn setpwent();
+ pub fn endpwent();
+ pub fn getpwnam_r(
+ name: *const ::c_char,
+ pwd: *mut passwd,
+ buf: *mut ::c_char,
+ buflen: ::size_t,
+ result: *mut *mut passwd,
+ ) -> ::c_int;
pub fn getpwuid_r(
uid: ::uid_t,
pwd: *mut passwd,