pub const OQS_RAND_alg_system: &[u8; 7] = b"system\0";
pub const OQS_RAND_alg_nist_kat: &[u8; 9] = b"NIST-KAT\0";
pub const OQS_RAND_alg_openssl: &[u8; 8] = b"OpenSSL\0";
extern "C" {
#[doc = " Switches OQS_randombytes to use the specified algorithm.\n\n @param[in] algorithm The name of the algorithm to use.\n @return OQS_SUCCESS if `algorithm` is a supported algorithm name, OQS_ERROR otherwise."]
pub fn OQS_randombytes_switch_algorithm(algorithm: *const ::libc::c_char) -> OQS_STATUS;
}
extern "C" {
#[doc = " Switches OQS_randombytes to use the given function.\n\n This allows additional custom RNGs besides the provided ones. The provided RNG\n function must have the same signature as `OQS_randombytes`.\n\n @param[in] algorithm_ptr Pointer to the RNG function to use."]
pub fn OQS_randombytes_custom_algorithm(
algorithm_ptr: ::core::option::Option<unsafe extern "C" fn(arg1: *mut u8, arg2: usize)>,
);
}
extern "C" {
#[doc = " Initializes the NIST DRBG with a given seed and with 256-bit security.\n\n @param[in] entropy_input The seed; must be exactly 48 bytes\n @param[in] personalization_string An optional personalization string;\n may be NULL; if not NULL, must be at least 48 bytes long"]
pub fn OQS_randombytes_nist_kat_init_256bit(
entropy_input: *const u8,
personalization_string: *const u8,
);
}