Library initialization. * Deviating from C, D can't express "warn about an unused return value" here, because the function is impure. * * sodium_init() initializes the library and should be called before any other function provided * by Sodium. * The function can be called more than once, and can be called simultaneously from multiple * threads since version 1.0.11. * After this function returns, all of the other functions provided by Sodium will be thread-safe. * sodium_init() doesn't perform any memory allocations. However, on Unix systems, it may * open /dev/urandom and keep the descriptor open, so that the device remains accessible * after a chroot() call. * Multiple calls to sodium_init() do not cause additional descriptors to be opened. * Before returning, the function ensures that the system's random number generator has been * properly seeded. * On some Linux systems, this may take some time, especially when called right after a reboot * of the system. * Returns: 0 on success, -1 on failure, and 1 if the library had already been initialized. * See_Also: https://download.libsodium.org/doc/quickstart#boilerplate
Aborts the process. but possibly first calls a misuse_handler (if one is set).
Set a misuse_handler
Initialization and 'abort process' related functions.