1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use crate*;
/// Load the Botan shared library from the specified path or name
///
/// This is only available with the `dynamic-loading` feature.
///
/// If this is not called, the Botan shared library is searched for under its
/// usual names (eg `libbotan-3.so.N`) the first time it is needed. Calling
/// this function first allows an application to control exactly which
/// library is used. The name is passed to `dlopen` (or `LoadLibrary`), so it
/// may be a full path or a bare filename which is searched for in the usual
/// locations.
///
/// This must be called before any other use of the library; once a library
/// has been loaded it cannot be replaced, and this function fails with
/// an error of type [`ErrorType::InvalidObjectState`].
///
/// If the library cannot be loaded, or is not a usable version of Botan, an
/// error of type [`ErrorType::LibraryNotLoaded`] is returned.
/// Return the name or path of the Botan shared library which was loaded
///
/// This is only available with the `dynamic-loading` feature. Returns `None`
/// if no library has been loaded yet.