summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-10-09 04:34:12 +0000
committerbors <bors@rust-lang.org>2022-10-09 04:34:12 +0000
commitcfb68f43fa04fdb4f0364c1e00fca7f3a9c4daca (patch)
tree75e2213e351b1c64bb4636029d2c2ca3b96d0f01
parent96c85c1b913604fb5b1eb8822e344b7c08bcd6b9 (diff)
parente01c42858e26bae9c6a010391694e2bfaf88bbfb (diff)
downloadrust-libc-cfb68f43fa04fdb4f0364c1e00fca7f3a9c4daca.tar.gz
Auto merge of #2947 - SteveLauC:euidaccess-and-eaccess, r=JohnTitor
add euidaccess and eaccess on gnu/musl linux [man page for these two functions](https://man7.org/linux/man-pages/man3/euidaccess.3.html) `uClibc` does not support them, so these two functions can not be put in `linux/mod.rs`.
-rw-r--r--libc-test/semver/linux-gnu.txt2
-rw-r--r--libc-test/semver/linux-musl.txt2
-rw-r--r--src/unix/linux_like/linux/gnu/mod.rs3
-rw-r--r--src/unix/linux_like/linux/musl/mod.rs3
4 files changed, 10 insertions, 0 deletions
diff --git a/libc-test/semver/linux-gnu.txt b/libc-test/semver/linux-gnu.txt
index b48f9a5ffc..3ad582e210 100644
--- a/libc-test/semver/linux-gnu.txt
+++ b/libc-test/semver/linux-gnu.txt
@@ -649,3 +649,5 @@ timex
utmpname
utmpx
utmpxname
+euidaccess
+eaccess \ No newline at end of file
diff --git a/libc-test/semver/linux-musl.txt b/libc-test/semver/linux-musl.txt
index 764ee79060..96d04e0d90 100644
--- a/libc-test/semver/linux-musl.txt
+++ b/libc-test/semver/linux-musl.txt
@@ -48,3 +48,5 @@ process_vm_writev
pwritev64
reallocarray
timex
+euidaccess
+eaccess \ No newline at end of file
diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs
index a8fc30e6e9..b582e706a9 100644
--- a/src/unix/linux_like/linux/gnu/mod.rs
+++ b/src/unix/linux_like/linux/gnu/mod.rs
@@ -1329,6 +1329,9 @@ extern "C" {
pub fn memfd_create(name: *const ::c_char, flags: ::c_uint) -> ::c_int;
pub fn mlock2(addr: *const ::c_void, len: ::size_t, flags: ::c_uint) -> ::c_int;
+
+ pub fn euidaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int;
+ pub fn eaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int;
}
extern "C" {
diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs
index 6cdc313881..894f377acf 100644
--- a/src/unix/linux_like/linux/musl/mod.rs
+++ b/src/unix/linux_like/linux/musl/mod.rs
@@ -754,6 +754,9 @@ extern "C" {
pub fn memfd_create(name: *const ::c_char, flags: ::c_uint) -> ::c_int;
pub fn mlock2(addr: *const ::c_void, len: ::size_t, flags: ::c_uint) -> ::c_int;
pub fn malloc_usable_size(ptr: *mut ::c_void) -> ::size_t;
+
+ pub fn euidaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int;
+ pub fn eaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int;
}
cfg_if! {