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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
//! # Version Information
//!
//! This module provides functions to query the version of the libsodium library.
//!
//! ## Example
//!
//! ```rust
//! use libsodium_rs as sodium;
//!
//! // Get the version string of the libsodium library
//! let version = sodium::version::version_string();
//! println!("libsodium version: {}", version);
//!
//! // Get the major and minor version numbers
//! let major = sodium::version::library_version_major();
//! let minor = sodium::version::library_version_minor();
//! println!("libsodium version: {}.{}", major, minor);
//!
//! // Check if the library meets the minimum requirements
//! let is_minimal = sodium::version::library_minimal();
//! println!("Is minimal implementation: {}", is_minimal);
//! ```
/// The version string of the libsodium library (e.g., "1.0.21")
pub const VERSION_STRING: &str = "1.0.21";
/// The major version number of the libsodium library
pub const LIBRARY_VERSION_MAJOR: i32 = 28;
/// The minor version number of the libsodium library
pub const LIBRARY_VERSION_MINOR: i32 = 0;
/// Returns the version string of the libsodium library
///
/// This function returns the version string of the libsodium library, which
/// typically includes the major and minor version numbers.
///
/// ## Example
///
/// ```rust
/// use libsodium_rs as sodium;
///
/// let version = sodium::version::version_string();
/// println!("libsodium version: {}", version);
/// ```
///
/// # Returns
/// * `&'static str` - The version string of the libsodium library
/// Returns the major version number of the libsodium library
///
/// This function returns the major version number of the libsodium library.
///
/// ## Example
///
/// ```rust
/// use libsodium_rs as sodium;
///
/// let major = sodium::version::library_version_major();
/// println!("libsodium major version: {}", major);
/// ```
///
/// # Returns
/// * `i32` - The major version number of the libsodium library
/// Returns the minor version number of the libsodium library
///
/// This function returns the minor version number of the libsodium library.
///
/// ## Example
///
/// ```rust
/// use libsodium_rs as sodium;
///
/// let minor = sodium::version::library_version_minor();
/// println!("libsodium minor version: {}", minor);
/// ```
///
/// # Returns
/// * `i32` - The minor version number of the libsodium library
/// Checks if the library is a minimal implementation
///
/// This function checks if the library is a minimal implementation, which
/// means it only includes the core functionality needed for the most common
/// use cases.
///
/// ## Example
///
/// ```rust
/// use libsodium_rs as sodium;
///
/// let is_minimal = sodium::version::library_minimal();
/// println!("Is minimal implementation: {}", is_minimal);
/// ```
///
/// # Returns
/// * `bool` - `true` if the library is a minimal implementation, `false` otherwise