RAND_LOAD_FILE(3) | Library Functions Manual | RAND_LOAD_FILE(3)

# NAME

`RAND_file_name`, `RAND_load_file`, `RAND_write_file` — PRNG seed file

# SYNOPSIS

library “libcrypto”
`#include <openssl/rand.h>`

const char *
`RAND_file_name`(char *buf, size_t num);

int
`RAND_load_file`(const char *filename, long max_bytes);

int
`RAND_write_file`(const char *filename);

# DESCRIPTION

`RAND_file_name`() returns a default path for the random seed file. buf points to a buffer of size num in which to store the filename. If num is too small for the path name, an error occurs.

`RAND_load_file`() used to allow for the state of the random number generator to be controlled by external sources. It is kept for ABI compatibility but is no longer functional, and should not be used in new programs.

`RAND_write_file`() writes a number of random bytes (currently 1024) to file filename.

# RETURN VALUES

`RAND_load_file`() returns max_bytes, or a bogus positive value if max_bytes is -1.

`RAND_write_file`() returns the number of bytes written, or a number less than or equal to 1 if an error occurs.

`RAND_file_name`() returns a pointer to buf on success or `NULL` on error.

# HISTORY

`RAND_load_file`(), `RAND_write_file`(), and `RAND_file_name`() first appeared in SSLeay 0.5.1 and have been available since OpenBSD 2.4.

June 8, 2025 | Debian