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
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