Sha256: 35ea6b6e0f8a7fb064fd5cb33a3a855cd161a6a00f93d76c861b2a2c66db85e7

Contents?: true

Size: 561 Bytes

Versions: 19

Compression:

Stored size: 561 Bytes

Contents

//! libc syscalls supporting `rustix::rand`.

#[cfg(linux_kernel)]
use {crate::backend::c, crate::backend::conv::ret_usize, crate::io, crate::rand::GetRandomFlags};

#[cfg(linux_kernel)]
pub(crate) unsafe fn getrandom(
    buf: *mut u8,
    cap: usize,
    flags: GetRandomFlags,
) -> io::Result<usize> {
    // `getrandom` wasn't supported in glibc until 2.25.
    weak_or_syscall! {
        fn getrandom(buf: *mut c::c_void, buflen: c::size_t, flags: c::c_uint) via SYS_getrandom -> c::ssize_t
    }

    ret_usize(getrandom(buf.cast(), cap, flags.bits()))
}

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/rustix-0.38.44/src/backend/libc/rand/syscalls.rs
wasmtime-28.0.0 ./ext/cargo-vendor/rustix-0.38.43/src/backend/libc/rand/syscalls.rs
wasmtime-27.0.0 ./ext/cargo-vendor/rustix-0.38.41/src/backend/libc/rand/syscalls.rs
wasmtime-26.0.0 ./ext/cargo-vendor/rustix-0.38.37/src/backend/libc/rand/syscalls.rs
wasmtime-25.0.2 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-25.0.1 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-25.0.0 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-24.0.0 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-23.0.2 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-22.0.0 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-21.0.1 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-20.0.2 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-20.0.0 ./ext/cargo-vendor/rustix-0.38.34/src/backend/libc/rand/syscalls.rs
wasmtime-18.0.3 ./ext/cargo-vendor/rustix-0.38.28/src/backend/libc/rand/syscalls.rs
wasmtime-17.0.1 ./ext/cargo-vendor/rustix-0.38.28/src/backend/libc/rand/syscalls.rs
wasmtime-17.0.0 ./ext/cargo-vendor/rustix-0.38.28/src/backend/libc/rand/syscalls.rs
wasmtime-16.0.0 ./ext/cargo-vendor/rustix-0.38.28/src/backend/libc/rand/syscalls.rs
wasmtime-15.0.1 ./ext/cargo-vendor/rustix-0.38.28/src/backend/libc/rand/syscalls.rs
wasmtime-15.0.0 ./ext/cargo-vendor/rustix-0.38.28/src/backend/libc/rand/syscalls.rs