diff --git a/libc-test/build.rs b/libc-test/build.rs index d6b61eae44077..5231aba1f2d36 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -2015,6 +2015,15 @@ fn test_android(target: &str) { // Added in API level 28, but some tests use level 24. "aligned_alloc" => true, + // Added in API level 26, but some tests use level 24. + "getgrent" => true, + + // Added in API level 26, but some tests use level 24. + "setgrent" => true, + + // Added in API level 26, but some tests use level 24. + "endgrent" => true, + // FIXME: bad function pointers: "isalnum" | "isalpha" | "iscntrl" | "isdigit" | "isgraph" | "islower" | "isprint" | "ispunct" | "isspace" | "isupper" | "isxdigit" | "isblank" | "tolower" diff --git a/libc-test/semver/android.txt b/libc-test/semver/android.txt index 4a91a63c8fa3b..67138f23dfd40 100644 --- a/libc-test/semver/android.txt +++ b/libc-test/semver/android.txt @@ -3223,6 +3223,7 @@ dlsym dup dup2 duplocale +endgrent endservent epoll_create epoll_create1 @@ -3327,6 +3328,7 @@ getegid getenv geteuid getgid +getgrent getgrgid getgrgid_r getgrnam @@ -3724,6 +3726,7 @@ seteuid setfsgid setfsuid setgid +setgrent setgroups sethostname setlocale diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index 61f91a183c4f7..b367a22f3ed89 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -3679,6 +3679,9 @@ safe_f! { } extern "C" { + pub fn setgrent(); + pub fn endgrent(); + pub fn getgrent() -> *mut ::group; pub fn getrlimit64(resource: ::c_int, rlim: *mut rlimit64) -> ::c_int; pub fn setrlimit64(resource: ::c_int, rlim: *const rlimit64) -> ::c_int; pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int;