diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index cbca5a32363ee..13f7de5974a68 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -967,6 +967,11 @@ extern { tz: *mut ::timezone) -> ::c_int; pub fn statx(dirfd: ::c_int, pathname: *const c_char, flags: ::c_int, mask: ::c_uint, statxbuf: *mut statx) -> ::c_int; + pub fn getrandom( + buf: *mut ::c_void, + buflen: ::size_t, + flags: ::c_uint, + ) -> ::ssize_t; } #[link(name = "util")] diff --git a/src/unix/linux_like/linux/musl/b32/arm.rs b/src/unix/linux_like/linux/musl/b32/arm.rs index 9d79f5b53466a..7d6dcfde0d75f 100644 --- a/src/unix/linux_like/linux/musl/b32/arm.rs +++ b/src/unix/linux_like/linux/musl/b32/arm.rs @@ -843,3 +843,11 @@ pub const AF_MAX: ::c_int = 45; https://github.com/rust-lang/libc/issues/665" )] pub const PF_MAX: ::c_int = AF_MAX; + +extern { + pub fn getrandom( + buf: *mut ::c_void, + buflen: ::size_t, + flags: ::c_uint, + ) -> ::ssize_t; +} diff --git a/src/unix/linux_like/linux/musl/b32/powerpc.rs b/src/unix/linux_like/linux/musl/b32/powerpc.rs index 0ea8e400d7801..04999c625e37b 100644 --- a/src/unix/linux_like/linux/musl/b32/powerpc.rs +++ b/src/unix/linux_like/linux/musl/b32/powerpc.rs @@ -869,3 +869,11 @@ pub const AF_MAX: ::c_int = 43; https://github.com/rust-lang/libc/issues/665" )] pub const PF_MAX: ::c_int = AF_MAX; + +extern { + pub fn getrandom( + buf: *mut ::c_void, + buflen: ::size_t, + flags: ::c_uint, + ) -> ::ssize_t; +} diff --git a/src/unix/linux_like/linux/musl/b32/x86.rs b/src/unix/linux_like/linux/musl/b32/x86.rs index b574a414edf74..3ccf80707b246 100644 --- a/src/unix/linux_like/linux/musl/b32/x86.rs +++ b/src/unix/linux_like/linux/musl/b32/x86.rs @@ -951,3 +951,11 @@ pub const AF_MAX: ::c_int = 45; https://github.com/rust-lang/libc/issues/665" )] pub const PF_MAX: ::c_int = AF_MAX; + +extern { + pub fn getrandom( + buf: *mut ::c_void, + buflen: ::size_t, + flags: ::c_uint, + ) -> ::ssize_t; +} diff --git a/src/unix/linux_like/linux/musl/b64/mod.rs b/src/unix/linux_like/linux/musl/b64/mod.rs index 34b376695735f..12d5c849f6dc4 100644 --- a/src/unix/linux_like/linux/musl/b64/mod.rs +++ b/src/unix/linux_like/linux/musl/b64/mod.rs @@ -312,6 +312,14 @@ pub const VEOF: usize = 4; pub const POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; +extern { + pub fn getrandom( + buf: *mut ::c_void, + buflen: ::size_t, + flags: ::c_uint, + ) -> ::ssize_t; +} + cfg_if! { if #[cfg(target_arch = "aarch64")] { mod aarch64;