diff options
author | bors <bors@rust-lang.org> | 2022-10-09 04:34:12 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2022-10-09 04:34:12 +0000 |
commit | cfb68f43fa04fdb4f0364c1e00fca7f3a9c4daca (patch) | |
tree | 75e2213e351b1c64bb4636029d2c2ca3b96d0f01 | |
parent | 96c85c1b913604fb5b1eb8822e344b7c08bcd6b9 (diff) | |
parent | e01c42858e26bae9c6a010391694e2bfaf88bbfb (diff) | |
download | rust-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.txt | 2 | ||||
-rw-r--r-- | libc-test/semver/linux-musl.txt | 2 | ||||
-rw-r--r-- | src/unix/linux_like/linux/gnu/mod.rs | 3 | ||||
-rw-r--r-- | src/unix/linux_like/linux/musl/mod.rs | 3 |
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! { |