1pub const SODIUM_VERSION_STRING: &[u8; 7] = b"1.0.20\0";
4pub const SODIUM_LIBRARY_VERSION_MAJOR: u32 = 26;
5pub const SODIUM_LIBRARY_VERSION_MINOR: u32 = 2;
6pub const crypto_aead_aegis128l_KEYBYTES: u32 = 16;
7pub const crypto_aead_aegis128l_NSECBYTES: u32 = 0;
8pub const crypto_aead_aegis128l_NPUBBYTES: u32 = 16;
9pub const crypto_aead_aegis128l_ABYTES: u32 = 32;
10pub const crypto_aead_aegis256_KEYBYTES: u32 = 32;
11pub const crypto_aead_aegis256_NSECBYTES: u32 = 0;
12pub const crypto_aead_aegis256_NPUBBYTES: u32 = 32;
13pub const crypto_aead_aegis256_ABYTES: u32 = 32;
14pub const crypto_aead_aes256gcm_KEYBYTES: u32 = 32;
15pub const crypto_aead_aes256gcm_NSECBYTES: u32 = 0;
16pub const crypto_aead_aes256gcm_NPUBBYTES: u32 = 12;
17pub const crypto_aead_aes256gcm_ABYTES: u32 = 16;
18pub const crypto_aead_chacha20poly1305_ietf_KEYBYTES: u32 = 32;
19pub const crypto_aead_chacha20poly1305_ietf_NSECBYTES: u32 = 0;
20pub const crypto_aead_chacha20poly1305_ietf_NPUBBYTES: u32 = 12;
21pub const crypto_aead_chacha20poly1305_ietf_ABYTES: u32 = 16;
22pub const crypto_aead_chacha20poly1305_KEYBYTES: u32 = 32;
23pub const crypto_aead_chacha20poly1305_NSECBYTES: u32 = 0;
24pub const crypto_aead_chacha20poly1305_NPUBBYTES: u32 = 8;
25pub const crypto_aead_chacha20poly1305_ABYTES: u32 = 16;
26pub const crypto_aead_chacha20poly1305_IETF_KEYBYTES: u32 = 32;
27pub const crypto_aead_chacha20poly1305_IETF_NSECBYTES: u32 = 0;
28pub const crypto_aead_chacha20poly1305_IETF_NPUBBYTES: u32 = 12;
29pub const crypto_aead_chacha20poly1305_IETF_ABYTES: u32 = 16;
30pub const crypto_aead_xchacha20poly1305_ietf_KEYBYTES: u32 = 32;
31pub const crypto_aead_xchacha20poly1305_ietf_NSECBYTES: u32 = 0;
32pub const crypto_aead_xchacha20poly1305_ietf_NPUBBYTES: u32 = 24;
33pub const crypto_aead_xchacha20poly1305_ietf_ABYTES: u32 = 16;
34pub const crypto_aead_xchacha20poly1305_IETF_KEYBYTES: u32 = 32;
35pub const crypto_aead_xchacha20poly1305_IETF_NSECBYTES: u32 = 0;
36pub const crypto_aead_xchacha20poly1305_IETF_NPUBBYTES: u32 = 24;
37pub const crypto_aead_xchacha20poly1305_IETF_ABYTES: u32 = 16;
38pub const crypto_hash_sha512_BYTES: u32 = 64;
39pub const crypto_auth_hmacsha512_BYTES: u32 = 64;
40pub const crypto_auth_hmacsha512_KEYBYTES: u32 = 32;
41pub const crypto_auth_hmacsha512256_BYTES: u32 = 32;
42pub const crypto_auth_hmacsha512256_KEYBYTES: u32 = 32;
43pub const crypto_auth_BYTES: u32 = 32;
44pub const crypto_auth_KEYBYTES: u32 = 32;
45pub const crypto_auth_PRIMITIVE: &[u8; 14] = b"hmacsha512256\0";
46pub const crypto_hash_sha256_BYTES: u32 = 32;
47pub const crypto_auth_hmacsha256_BYTES: u32 = 32;
48pub const crypto_auth_hmacsha256_KEYBYTES: u32 = 32;
49pub const crypto_stream_xsalsa20_KEYBYTES: u32 = 32;
50pub const crypto_stream_xsalsa20_NONCEBYTES: u32 = 24;
51pub const crypto_box_curve25519xsalsa20poly1305_SEEDBYTES: u32 = 32;
52pub const crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES: u32 = 32;
53pub const crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES: u32 = 32;
54pub const crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES: u32 = 32;
55pub const crypto_box_curve25519xsalsa20poly1305_NONCEBYTES: u32 = 24;
56pub const crypto_box_curve25519xsalsa20poly1305_MACBYTES: u32 = 16;
57pub const crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES: u32 = 16;
58pub const crypto_box_curve25519xsalsa20poly1305_ZEROBYTES: u32 = 32;
59pub const crypto_box_SEEDBYTES: u32 = 32;
60pub const crypto_box_PUBLICKEYBYTES: u32 = 32;
61pub const crypto_box_SECRETKEYBYTES: u32 = 32;
62pub const crypto_box_NONCEBYTES: u32 = 24;
63pub const crypto_box_MACBYTES: u32 = 16;
64pub const crypto_box_PRIMITIVE: &[u8; 27] = b"curve25519xsalsa20poly1305\0";
65pub const crypto_box_BEFORENMBYTES: u32 = 32;
66pub const crypto_box_SEALBYTES: u32 = 48;
67pub const crypto_box_ZEROBYTES: u32 = 32;
68pub const crypto_box_BOXZEROBYTES: u32 = 16;
69pub const crypto_core_hchacha20_OUTPUTBYTES: u32 = 32;
70pub const crypto_core_hchacha20_INPUTBYTES: u32 = 16;
71pub const crypto_core_hchacha20_KEYBYTES: u32 = 32;
72pub const crypto_core_hchacha20_CONSTBYTES: u32 = 16;
73pub const crypto_core_hsalsa20_OUTPUTBYTES: u32 = 32;
74pub const crypto_core_hsalsa20_INPUTBYTES: u32 = 16;
75pub const crypto_core_hsalsa20_KEYBYTES: u32 = 32;
76pub const crypto_core_hsalsa20_CONSTBYTES: u32 = 16;
77pub const crypto_core_salsa20_OUTPUTBYTES: u32 = 64;
78pub const crypto_core_salsa20_INPUTBYTES: u32 = 16;
79pub const crypto_core_salsa20_KEYBYTES: u32 = 32;
80pub const crypto_core_salsa20_CONSTBYTES: u32 = 16;
81pub const crypto_core_salsa2012_OUTPUTBYTES: u32 = 64;
82pub const crypto_core_salsa2012_INPUTBYTES: u32 = 16;
83pub const crypto_core_salsa2012_KEYBYTES: u32 = 32;
84pub const crypto_core_salsa2012_CONSTBYTES: u32 = 16;
85pub const crypto_core_salsa208_OUTPUTBYTES: u32 = 64;
86pub const crypto_core_salsa208_INPUTBYTES: u32 = 16;
87pub const crypto_core_salsa208_KEYBYTES: u32 = 32;
88pub const crypto_core_salsa208_CONSTBYTES: u32 = 16;
89pub const crypto_generichash_blake2b_BYTES_MIN: u32 = 16;
90pub const crypto_generichash_blake2b_BYTES_MAX: u32 = 64;
91pub const crypto_generichash_blake2b_BYTES: u32 = 32;
92pub const crypto_generichash_blake2b_KEYBYTES_MIN: u32 = 16;
93pub const crypto_generichash_blake2b_KEYBYTES_MAX: u32 = 64;
94pub const crypto_generichash_blake2b_KEYBYTES: u32 = 32;
95pub const crypto_generichash_blake2b_SALTBYTES: u32 = 16;
96pub const crypto_generichash_blake2b_PERSONALBYTES: u32 = 16;
97pub const crypto_generichash_BYTES_MIN: u32 = 16;
98pub const crypto_generichash_BYTES_MAX: u32 = 64;
99pub const crypto_generichash_BYTES: u32 = 32;
100pub const crypto_generichash_KEYBYTES_MIN: u32 = 16;
101pub const crypto_generichash_KEYBYTES_MAX: u32 = 64;
102pub const crypto_generichash_KEYBYTES: u32 = 32;
103pub const crypto_generichash_PRIMITIVE: &[u8; 8] = b"blake2b\0";
104pub const crypto_hash_BYTES: u32 = 64;
105pub const crypto_hash_PRIMITIVE: &[u8; 7] = b"sha512\0";
106pub const crypto_kdf_blake2b_BYTES_MIN: u32 = 16;
107pub const crypto_kdf_blake2b_BYTES_MAX: u32 = 64;
108pub const crypto_kdf_blake2b_CONTEXTBYTES: u32 = 8;
109pub const crypto_kdf_blake2b_KEYBYTES: u32 = 32;
110pub const crypto_kdf_BYTES_MIN: u32 = 16;
111pub const crypto_kdf_BYTES_MAX: u32 = 64;
112pub const crypto_kdf_CONTEXTBYTES: u32 = 8;
113pub const crypto_kdf_KEYBYTES: u32 = 32;
114pub const crypto_kdf_PRIMITIVE: &[u8; 8] = b"blake2b\0";
115pub const crypto_kdf_hkdf_sha256_KEYBYTES: u32 = 32;
116pub const crypto_kdf_hkdf_sha256_BYTES_MIN: u32 = 0;
117pub const crypto_kdf_hkdf_sha256_BYTES_MAX: u32 = 8160;
118pub const crypto_kdf_hkdf_sha512_KEYBYTES: u32 = 64;
119pub const crypto_kdf_hkdf_sha512_BYTES_MIN: u32 = 0;
120pub const crypto_kdf_hkdf_sha512_BYTES_MAX: u32 = 16320;
121pub const crypto_kx_PUBLICKEYBYTES: u32 = 32;
122pub const crypto_kx_SECRETKEYBYTES: u32 = 32;
123pub const crypto_kx_SEEDBYTES: u32 = 32;
124pub const crypto_kx_SESSIONKEYBYTES: u32 = 32;
125pub const crypto_kx_PRIMITIVE: &[u8; 14] = b"x25519blake2b\0";
126pub const crypto_onetimeauth_poly1305_BYTES: u32 = 16;
127pub const crypto_onetimeauth_poly1305_KEYBYTES: u32 = 32;
128pub const crypto_onetimeauth_BYTES: u32 = 16;
129pub const crypto_onetimeauth_KEYBYTES: u32 = 32;
130pub const crypto_onetimeauth_PRIMITIVE: &[u8; 9] = b"poly1305\0";
131pub const crypto_pwhash_argon2i_ALG_ARGON2I13: u32 = 1;
132pub const crypto_pwhash_argon2i_BYTES_MIN: u32 = 16;
133pub const crypto_pwhash_argon2i_PASSWD_MIN: u32 = 0;
134pub const crypto_pwhash_argon2i_PASSWD_MAX: u32 = 4294967295;
135pub const crypto_pwhash_argon2i_SALTBYTES: u32 = 16;
136pub const crypto_pwhash_argon2i_STRBYTES: u32 = 128;
137pub const crypto_pwhash_argon2i_STRPREFIX: &[u8; 10] = b"$argon2i$\0";
138pub const crypto_pwhash_argon2i_OPSLIMIT_MIN: u32 = 3;
139pub const crypto_pwhash_argon2i_OPSLIMIT_MAX: u32 = 4294967295;
140pub const crypto_pwhash_argon2i_MEMLIMIT_MIN: u32 = 8192;
141pub const crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE: u32 = 4;
142pub const crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE: u32 = 33554432;
143pub const crypto_pwhash_argon2i_OPSLIMIT_MODERATE: u32 = 6;
144pub const crypto_pwhash_argon2i_MEMLIMIT_MODERATE: u32 = 134217728;
145pub const crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE: u32 = 8;
146pub const crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE: u32 = 536870912;
147pub const crypto_pwhash_argon2id_ALG_ARGON2ID13: u32 = 2;
148pub const crypto_pwhash_argon2id_BYTES_MIN: u32 = 16;
149pub const crypto_pwhash_argon2id_PASSWD_MIN: u32 = 0;
150pub const crypto_pwhash_argon2id_PASSWD_MAX: u32 = 4294967295;
151pub const crypto_pwhash_argon2id_SALTBYTES: u32 = 16;
152pub const crypto_pwhash_argon2id_STRBYTES: u32 = 128;
153pub const crypto_pwhash_argon2id_STRPREFIX: &[u8; 11] = b"$argon2id$\0";
154pub const crypto_pwhash_argon2id_OPSLIMIT_MIN: u32 = 1;
155pub const crypto_pwhash_argon2id_OPSLIMIT_MAX: u32 = 4294967295;
156pub const crypto_pwhash_argon2id_MEMLIMIT_MIN: u32 = 8192;
157pub const crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE: u32 = 2;
158pub const crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE: u32 = 67108864;
159pub const crypto_pwhash_argon2id_OPSLIMIT_MODERATE: u32 = 3;
160pub const crypto_pwhash_argon2id_MEMLIMIT_MODERATE: u32 = 268435456;
161pub const crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE: u32 = 4;
162pub const crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE: u32 = 1073741824;
163pub const crypto_pwhash_ALG_ARGON2I13: u32 = 1;
164pub const crypto_pwhash_ALG_ARGON2ID13: u32 = 2;
165pub const crypto_pwhash_ALG_DEFAULT: u32 = 2;
166pub const crypto_pwhash_BYTES_MIN: u32 = 16;
167pub const crypto_pwhash_PASSWD_MIN: u32 = 0;
168pub const crypto_pwhash_PASSWD_MAX: u32 = 4294967295;
169pub const crypto_pwhash_SALTBYTES: u32 = 16;
170pub const crypto_pwhash_STRBYTES: u32 = 128;
171pub const crypto_pwhash_STRPREFIX: &[u8; 11] = b"$argon2id$\0";
172pub const crypto_pwhash_OPSLIMIT_MIN: u32 = 1;
173pub const crypto_pwhash_OPSLIMIT_MAX: u32 = 4294967295;
174pub const crypto_pwhash_MEMLIMIT_MIN: u32 = 8192;
175pub const crypto_pwhash_OPSLIMIT_INTERACTIVE: u32 = 2;
176pub const crypto_pwhash_MEMLIMIT_INTERACTIVE: u32 = 67108864;
177pub const crypto_pwhash_OPSLIMIT_MODERATE: u32 = 3;
178pub const crypto_pwhash_MEMLIMIT_MODERATE: u32 = 268435456;
179pub const crypto_pwhash_OPSLIMIT_SENSITIVE: u32 = 4;
180pub const crypto_pwhash_MEMLIMIT_SENSITIVE: u32 = 1073741824;
181pub const crypto_pwhash_PRIMITIVE: &[u8; 17] = b"argon2id,argon2i\0";
182pub const crypto_scalarmult_curve25519_BYTES: u32 = 32;
183pub const crypto_scalarmult_curve25519_SCALARBYTES: u32 = 32;
184pub const crypto_scalarmult_BYTES: u32 = 32;
185pub const crypto_scalarmult_SCALARBYTES: u32 = 32;
186pub const crypto_scalarmult_PRIMITIVE: &[u8; 11] = b"curve25519\0";
187pub const crypto_secretbox_xsalsa20poly1305_KEYBYTES: u32 = 32;
188pub const crypto_secretbox_xsalsa20poly1305_NONCEBYTES: u32 = 24;
189pub const crypto_secretbox_xsalsa20poly1305_MACBYTES: u32 = 16;
190pub const crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES: u32 = 16;
191pub const crypto_secretbox_xsalsa20poly1305_ZEROBYTES: u32 = 32;
192pub const crypto_secretbox_KEYBYTES: u32 = 32;
193pub const crypto_secretbox_NONCEBYTES: u32 = 24;
194pub const crypto_secretbox_MACBYTES: u32 = 16;
195pub const crypto_secretbox_PRIMITIVE: &[u8; 17] = b"xsalsa20poly1305\0";
196pub const crypto_secretbox_ZEROBYTES: u32 = 32;
197pub const crypto_secretbox_BOXZEROBYTES: u32 = 16;
198pub const crypto_stream_chacha20_KEYBYTES: u32 = 32;
199pub const crypto_stream_chacha20_NONCEBYTES: u32 = 8;
200pub const crypto_stream_chacha20_ietf_KEYBYTES: u32 = 32;
201pub const crypto_stream_chacha20_ietf_NONCEBYTES: u32 = 12;
202pub const crypto_stream_chacha20_IETF_KEYBYTES: u32 = 32;
203pub const crypto_stream_chacha20_IETF_NONCEBYTES: u32 = 12;
204pub const crypto_secretstream_xchacha20poly1305_ABYTES: u32 = 17;
205pub const crypto_secretstream_xchacha20poly1305_HEADERBYTES: u32 = 24;
206pub const crypto_secretstream_xchacha20poly1305_KEYBYTES: u32 = 32;
207pub const crypto_secretstream_xchacha20poly1305_TAG_MESSAGE: u32 = 0;
208pub const crypto_secretstream_xchacha20poly1305_TAG_PUSH: u32 = 1;
209pub const crypto_secretstream_xchacha20poly1305_TAG_REKEY: u32 = 2;
210pub const crypto_secretstream_xchacha20poly1305_TAG_FINAL: u32 = 3;
211pub const crypto_shorthash_siphash24_BYTES: u32 = 8;
212pub const crypto_shorthash_siphash24_KEYBYTES: u32 = 16;
213pub const crypto_shorthash_siphashx24_BYTES: u32 = 16;
214pub const crypto_shorthash_siphashx24_KEYBYTES: u32 = 16;
215pub const crypto_shorthash_BYTES: u32 = 8;
216pub const crypto_shorthash_KEYBYTES: u32 = 16;
217pub const crypto_shorthash_PRIMITIVE: &[u8; 10] = b"siphash24\0";
218pub const crypto_sign_ed25519_BYTES: u32 = 64;
219pub const crypto_sign_ed25519_SEEDBYTES: u32 = 32;
220pub const crypto_sign_ed25519_PUBLICKEYBYTES: u32 = 32;
221pub const crypto_sign_ed25519_SECRETKEYBYTES: u32 = 64;
222pub const crypto_sign_BYTES: u32 = 64;
223pub const crypto_sign_SEEDBYTES: u32 = 32;
224pub const crypto_sign_PUBLICKEYBYTES: u32 = 32;
225pub const crypto_sign_SECRETKEYBYTES: u32 = 64;
226pub const crypto_sign_PRIMITIVE: &[u8; 8] = b"ed25519\0";
227pub const crypto_stream_KEYBYTES: u32 = 32;
228pub const crypto_stream_NONCEBYTES: u32 = 24;
229pub const crypto_stream_PRIMITIVE: &[u8; 9] = b"xsalsa20\0";
230pub const crypto_stream_salsa20_KEYBYTES: u32 = 32;
231pub const crypto_stream_salsa20_NONCEBYTES: u32 = 8;
232pub const crypto_verify_16_BYTES: u32 = 16;
233pub const crypto_verify_32_BYTES: u32 = 32;
234pub const crypto_verify_64_BYTES: u32 = 64;
235pub const randombytes_SEEDBYTES: u32 = 32;
236pub const sodium_base64_VARIANT_ORIGINAL: u32 = 1;
237pub const sodium_base64_VARIANT_ORIGINAL_NO_PADDING: u32 = 3;
238pub const sodium_base64_VARIANT_URLSAFE: u32 = 5;
239pub const sodium_base64_VARIANT_URLSAFE_NO_PADDING: u32 = 7;
240pub const crypto_stream_xchacha20_KEYBYTES: u32 = 32;
241pub const crypto_stream_xchacha20_NONCEBYTES: u32 = 24;
242pub const crypto_box_curve25519xchacha20poly1305_SEEDBYTES: u32 = 32;
243pub const crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES: u32 = 32;
244pub const crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES: u32 = 32;
245pub const crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES: u32 = 32;
246pub const crypto_box_curve25519xchacha20poly1305_NONCEBYTES: u32 = 24;
247pub const crypto_box_curve25519xchacha20poly1305_MACBYTES: u32 = 16;
248pub const crypto_box_curve25519xchacha20poly1305_SEALBYTES: u32 = 48;
249pub const crypto_core_ed25519_BYTES: u32 = 32;
250pub const crypto_core_ed25519_UNIFORMBYTES: u32 = 32;
251pub const crypto_core_ed25519_HASHBYTES: u32 = 64;
252pub const crypto_core_ed25519_SCALARBYTES: u32 = 32;
253pub const crypto_core_ed25519_NONREDUCEDSCALARBYTES: u32 = 64;
254pub const crypto_core_ristretto255_BYTES: u32 = 32;
255pub const crypto_core_ristretto255_HASHBYTES: u32 = 64;
256pub const crypto_core_ristretto255_SCALARBYTES: u32 = 32;
257pub const crypto_core_ristretto255_NONREDUCEDSCALARBYTES: u32 = 64;
258pub const crypto_pwhash_scryptsalsa208sha256_BYTES_MIN: u32 = 16;
259pub const crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN: u32 = 0;
260pub const crypto_pwhash_scryptsalsa208sha256_SALTBYTES: u32 = 32;
261pub const crypto_pwhash_scryptsalsa208sha256_STRBYTES: u32 = 102;
262pub const crypto_pwhash_scryptsalsa208sha256_STRPREFIX: &[u8; 4] = b"$7$\0";
263pub const crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN: u32 = 32768;
264pub const crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX: u32 = 4294967295;
265pub const crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN: u32 = 16777216;
266pub const crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE: u32 = 524288;
267pub const crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE: u32 = 16777216;
268pub const crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE: u32 = 33554432;
269pub const crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE: u32 = 1073741824;
270pub const crypto_scalarmult_ed25519_BYTES: u32 = 32;
271pub const crypto_scalarmult_ed25519_SCALARBYTES: u32 = 32;
272pub const crypto_scalarmult_ristretto255_BYTES: u32 = 32;
273pub const crypto_scalarmult_ristretto255_SCALARBYTES: u32 = 32;
274pub const crypto_secretbox_xchacha20poly1305_KEYBYTES: u32 = 32;
275pub const crypto_secretbox_xchacha20poly1305_NONCEBYTES: u32 = 24;
276pub const crypto_secretbox_xchacha20poly1305_MACBYTES: u32 = 16;
277pub const crypto_stream_salsa2012_KEYBYTES: u32 = 32;
278pub const crypto_stream_salsa2012_NONCEBYTES: u32 = 8;
279pub const crypto_stream_salsa208_KEYBYTES: u32 = 32;
280pub const crypto_stream_salsa208_NONCEBYTES: u32 = 8;
281extern "C" {
282 pub fn sodium_version_string() -> *const libc::c_char;
283}
284extern "C" {
285 pub fn sodium_library_version_major() -> libc::c_int;
286}
287extern "C" {
288 pub fn sodium_library_version_minor() -> libc::c_int;
289}
290extern "C" {
291 pub fn sodium_library_minimal() -> libc::c_int;
292}
293extern "C" {
294 pub fn sodium_init() -> libc::c_int;
295}
296extern "C" {
297 pub fn sodium_set_misuse_handler(
298 handler: ::core::option::Option<unsafe extern "C" fn()>,
299 ) -> libc::c_int;
300}
301extern "C" {
302 pub fn sodium_misuse() -> !;
303}
304extern "C" {
305 pub fn crypto_aead_aegis128l_keybytes() -> usize;
306}
307extern "C" {
308 pub fn crypto_aead_aegis128l_nsecbytes() -> usize;
309}
310extern "C" {
311 pub fn crypto_aead_aegis128l_npubbytes() -> usize;
312}
313extern "C" {
314 pub fn crypto_aead_aegis128l_abytes() -> usize;
315}
316extern "C" {
317 pub fn crypto_aead_aegis128l_messagebytes_max() -> usize;
318}
319extern "C" {
320 pub fn crypto_aead_aegis128l_encrypt(
321 c: *mut libc::c_uchar,
322 clen_p: *mut libc::c_ulonglong,
323 m: *const libc::c_uchar,
324 mlen: libc::c_ulonglong,
325 ad: *const libc::c_uchar,
326 adlen: libc::c_ulonglong,
327 nsec: *const libc::c_uchar,
328 npub: *const libc::c_uchar,
329 k: *const libc::c_uchar,
330 ) -> libc::c_int;
331}
332extern "C" {
333 pub fn crypto_aead_aegis128l_decrypt(
334 m: *mut libc::c_uchar,
335 mlen_p: *mut libc::c_ulonglong,
336 nsec: *mut libc::c_uchar,
337 c: *const libc::c_uchar,
338 clen: libc::c_ulonglong,
339 ad: *const libc::c_uchar,
340 adlen: libc::c_ulonglong,
341 npub: *const libc::c_uchar,
342 k: *const libc::c_uchar,
343 ) -> libc::c_int;
344}
345extern "C" {
346 pub fn crypto_aead_aegis128l_encrypt_detached(
347 c: *mut libc::c_uchar,
348 mac: *mut libc::c_uchar,
349 maclen_p: *mut libc::c_ulonglong,
350 m: *const libc::c_uchar,
351 mlen: libc::c_ulonglong,
352 ad: *const libc::c_uchar,
353 adlen: libc::c_ulonglong,
354 nsec: *const libc::c_uchar,
355 npub: *const libc::c_uchar,
356 k: *const libc::c_uchar,
357 ) -> libc::c_int;
358}
359extern "C" {
360 pub fn crypto_aead_aegis128l_decrypt_detached(
361 m: *mut libc::c_uchar,
362 nsec: *mut libc::c_uchar,
363 c: *const libc::c_uchar,
364 clen: libc::c_ulonglong,
365 mac: *const libc::c_uchar,
366 ad: *const libc::c_uchar,
367 adlen: libc::c_ulonglong,
368 npub: *const libc::c_uchar,
369 k: *const libc::c_uchar,
370 ) -> libc::c_int;
371}
372extern "C" {
373 pub fn crypto_aead_aegis128l_keygen(k: *mut libc::c_uchar);
374}
375extern "C" {
376 pub fn crypto_aead_aegis256_keybytes() -> usize;
377}
378extern "C" {
379 pub fn crypto_aead_aegis256_nsecbytes() -> usize;
380}
381extern "C" {
382 pub fn crypto_aead_aegis256_npubbytes() -> usize;
383}
384extern "C" {
385 pub fn crypto_aead_aegis256_abytes() -> usize;
386}
387extern "C" {
388 pub fn crypto_aead_aegis256_messagebytes_max() -> usize;
389}
390extern "C" {
391 pub fn crypto_aead_aegis256_encrypt(
392 c: *mut libc::c_uchar,
393 clen_p: *mut libc::c_ulonglong,
394 m: *const libc::c_uchar,
395 mlen: libc::c_ulonglong,
396 ad: *const libc::c_uchar,
397 adlen: libc::c_ulonglong,
398 nsec: *const libc::c_uchar,
399 npub: *const libc::c_uchar,
400 k: *const libc::c_uchar,
401 ) -> libc::c_int;
402}
403extern "C" {
404 pub fn crypto_aead_aegis256_decrypt(
405 m: *mut libc::c_uchar,
406 mlen_p: *mut libc::c_ulonglong,
407 nsec: *mut libc::c_uchar,
408 c: *const libc::c_uchar,
409 clen: libc::c_ulonglong,
410 ad: *const libc::c_uchar,
411 adlen: libc::c_ulonglong,
412 npub: *const libc::c_uchar,
413 k: *const libc::c_uchar,
414 ) -> libc::c_int;
415}
416extern "C" {
417 pub fn crypto_aead_aegis256_encrypt_detached(
418 c: *mut libc::c_uchar,
419 mac: *mut libc::c_uchar,
420 maclen_p: *mut libc::c_ulonglong,
421 m: *const libc::c_uchar,
422 mlen: libc::c_ulonglong,
423 ad: *const libc::c_uchar,
424 adlen: libc::c_ulonglong,
425 nsec: *const libc::c_uchar,
426 npub: *const libc::c_uchar,
427 k: *const libc::c_uchar,
428 ) -> libc::c_int;
429}
430extern "C" {
431 pub fn crypto_aead_aegis256_decrypt_detached(
432 m: *mut libc::c_uchar,
433 nsec: *mut libc::c_uchar,
434 c: *const libc::c_uchar,
435 clen: libc::c_ulonglong,
436 mac: *const libc::c_uchar,
437 ad: *const libc::c_uchar,
438 adlen: libc::c_ulonglong,
439 npub: *const libc::c_uchar,
440 k: *const libc::c_uchar,
441 ) -> libc::c_int;
442}
443extern "C" {
444 pub fn crypto_aead_aegis256_keygen(k: *mut libc::c_uchar);
445}
446extern "C" {
447 pub fn crypto_aead_aes256gcm_is_available() -> libc::c_int;
448}
449extern "C" {
450 pub fn crypto_aead_aes256gcm_keybytes() -> usize;
451}
452extern "C" {
453 pub fn crypto_aead_aes256gcm_nsecbytes() -> usize;
454}
455extern "C" {
456 pub fn crypto_aead_aes256gcm_npubbytes() -> usize;
457}
458extern "C" {
459 pub fn crypto_aead_aes256gcm_abytes() -> usize;
460}
461extern "C" {
462 pub fn crypto_aead_aes256gcm_messagebytes_max() -> usize;
463}
464#[repr(C)]
465#[repr(align(16))]
466#[derive(Debug, Copy, Clone)]
467pub struct crypto_aead_aes256gcm_state_ {
468 pub opaque: [libc::c_uchar; 512usize],
469}
470#[test]
471fn bindgen_test_layout_crypto_aead_aes256gcm_state_() {
472 const UNINIT: ::core::mem::MaybeUninit<crypto_aead_aes256gcm_state_> =
473 ::core::mem::MaybeUninit::uninit();
474 let ptr = UNINIT.as_ptr();
475 assert_eq!(
476 ::core::mem::size_of::<crypto_aead_aes256gcm_state_>(),
477 512usize,
478 concat!("Size of: ", stringify!(crypto_aead_aes256gcm_state_))
479 );
480 assert_eq!(
481 ::core::mem::align_of::<crypto_aead_aes256gcm_state_>(),
482 16usize,
483 concat!("Alignment of ", stringify!(crypto_aead_aes256gcm_state_))
484 );
485 assert_eq!(
486 unsafe { ::core::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
487 0usize,
488 concat!(
489 "Offset of field: ",
490 stringify!(crypto_aead_aes256gcm_state_),
491 "::",
492 stringify!(opaque)
493 )
494 );
495}
496pub type crypto_aead_aes256gcm_state = crypto_aead_aes256gcm_state_;
497extern "C" {
498 pub fn crypto_aead_aes256gcm_statebytes() -> usize;
499}
500extern "C" {
501 pub fn crypto_aead_aes256gcm_encrypt(
502 c: *mut libc::c_uchar,
503 clen_p: *mut libc::c_ulonglong,
504 m: *const libc::c_uchar,
505 mlen: libc::c_ulonglong,
506 ad: *const libc::c_uchar,
507 adlen: libc::c_ulonglong,
508 nsec: *const libc::c_uchar,
509 npub: *const libc::c_uchar,
510 k: *const libc::c_uchar,
511 ) -> libc::c_int;
512}
513extern "C" {
514 pub fn crypto_aead_aes256gcm_decrypt(
515 m: *mut libc::c_uchar,
516 mlen_p: *mut libc::c_ulonglong,
517 nsec: *mut libc::c_uchar,
518 c: *const libc::c_uchar,
519 clen: libc::c_ulonglong,
520 ad: *const libc::c_uchar,
521 adlen: libc::c_ulonglong,
522 npub: *const libc::c_uchar,
523 k: *const libc::c_uchar,
524 ) -> libc::c_int;
525}
526extern "C" {
527 pub fn crypto_aead_aes256gcm_encrypt_detached(
528 c: *mut libc::c_uchar,
529 mac: *mut libc::c_uchar,
530 maclen_p: *mut libc::c_ulonglong,
531 m: *const libc::c_uchar,
532 mlen: libc::c_ulonglong,
533 ad: *const libc::c_uchar,
534 adlen: libc::c_ulonglong,
535 nsec: *const libc::c_uchar,
536 npub: *const libc::c_uchar,
537 k: *const libc::c_uchar,
538 ) -> libc::c_int;
539}
540extern "C" {
541 pub fn crypto_aead_aes256gcm_decrypt_detached(
542 m: *mut libc::c_uchar,
543 nsec: *mut libc::c_uchar,
544 c: *const libc::c_uchar,
545 clen: libc::c_ulonglong,
546 mac: *const libc::c_uchar,
547 ad: *const libc::c_uchar,
548 adlen: libc::c_ulonglong,
549 npub: *const libc::c_uchar,
550 k: *const libc::c_uchar,
551 ) -> libc::c_int;
552}
553extern "C" {
554 pub fn crypto_aead_aes256gcm_beforenm(
555 ctx_: *mut crypto_aead_aes256gcm_state,
556 k: *const libc::c_uchar,
557 ) -> libc::c_int;
558}
559extern "C" {
560 pub fn crypto_aead_aes256gcm_encrypt_afternm(
561 c: *mut libc::c_uchar,
562 clen_p: *mut libc::c_ulonglong,
563 m: *const libc::c_uchar,
564 mlen: libc::c_ulonglong,
565 ad: *const libc::c_uchar,
566 adlen: libc::c_ulonglong,
567 nsec: *const libc::c_uchar,
568 npub: *const libc::c_uchar,
569 ctx_: *const crypto_aead_aes256gcm_state,
570 ) -> libc::c_int;
571}
572extern "C" {
573 pub fn crypto_aead_aes256gcm_decrypt_afternm(
574 m: *mut libc::c_uchar,
575 mlen_p: *mut libc::c_ulonglong,
576 nsec: *mut libc::c_uchar,
577 c: *const libc::c_uchar,
578 clen: libc::c_ulonglong,
579 ad: *const libc::c_uchar,
580 adlen: libc::c_ulonglong,
581 npub: *const libc::c_uchar,
582 ctx_: *const crypto_aead_aes256gcm_state,
583 ) -> libc::c_int;
584}
585extern "C" {
586 pub fn crypto_aead_aes256gcm_encrypt_detached_afternm(
587 c: *mut libc::c_uchar,
588 mac: *mut libc::c_uchar,
589 maclen_p: *mut libc::c_ulonglong,
590 m: *const libc::c_uchar,
591 mlen: libc::c_ulonglong,
592 ad: *const libc::c_uchar,
593 adlen: libc::c_ulonglong,
594 nsec: *const libc::c_uchar,
595 npub: *const libc::c_uchar,
596 ctx_: *const crypto_aead_aes256gcm_state,
597 ) -> libc::c_int;
598}
599extern "C" {
600 pub fn crypto_aead_aes256gcm_decrypt_detached_afternm(
601 m: *mut libc::c_uchar,
602 nsec: *mut libc::c_uchar,
603 c: *const libc::c_uchar,
604 clen: libc::c_ulonglong,
605 mac: *const libc::c_uchar,
606 ad: *const libc::c_uchar,
607 adlen: libc::c_ulonglong,
608 npub: *const libc::c_uchar,
609 ctx_: *const crypto_aead_aes256gcm_state,
610 ) -> libc::c_int;
611}
612extern "C" {
613 pub fn crypto_aead_aes256gcm_keygen(k: *mut libc::c_uchar);
614}
615extern "C" {
616 pub fn crypto_aead_chacha20poly1305_ietf_keybytes() -> usize;
617}
618extern "C" {
619 pub fn crypto_aead_chacha20poly1305_ietf_nsecbytes() -> usize;
620}
621extern "C" {
622 pub fn crypto_aead_chacha20poly1305_ietf_npubbytes() -> usize;
623}
624extern "C" {
625 pub fn crypto_aead_chacha20poly1305_ietf_abytes() -> usize;
626}
627extern "C" {
628 pub fn crypto_aead_chacha20poly1305_ietf_messagebytes_max() -> usize;
629}
630extern "C" {
631 pub fn crypto_aead_chacha20poly1305_ietf_encrypt(
632 c: *mut libc::c_uchar,
633 clen_p: *mut libc::c_ulonglong,
634 m: *const libc::c_uchar,
635 mlen: libc::c_ulonglong,
636 ad: *const libc::c_uchar,
637 adlen: libc::c_ulonglong,
638 nsec: *const libc::c_uchar,
639 npub: *const libc::c_uchar,
640 k: *const libc::c_uchar,
641 ) -> libc::c_int;
642}
643extern "C" {
644 pub fn crypto_aead_chacha20poly1305_ietf_decrypt(
645 m: *mut libc::c_uchar,
646 mlen_p: *mut libc::c_ulonglong,
647 nsec: *mut libc::c_uchar,
648 c: *const libc::c_uchar,
649 clen: libc::c_ulonglong,
650 ad: *const libc::c_uchar,
651 adlen: libc::c_ulonglong,
652 npub: *const libc::c_uchar,
653 k: *const libc::c_uchar,
654 ) -> libc::c_int;
655}
656extern "C" {
657 pub fn crypto_aead_chacha20poly1305_ietf_encrypt_detached(
658 c: *mut libc::c_uchar,
659 mac: *mut libc::c_uchar,
660 maclen_p: *mut libc::c_ulonglong,
661 m: *const libc::c_uchar,
662 mlen: libc::c_ulonglong,
663 ad: *const libc::c_uchar,
664 adlen: libc::c_ulonglong,
665 nsec: *const libc::c_uchar,
666 npub: *const libc::c_uchar,
667 k: *const libc::c_uchar,
668 ) -> libc::c_int;
669}
670extern "C" {
671 pub fn crypto_aead_chacha20poly1305_ietf_decrypt_detached(
672 m: *mut libc::c_uchar,
673 nsec: *mut libc::c_uchar,
674 c: *const libc::c_uchar,
675 clen: libc::c_ulonglong,
676 mac: *const libc::c_uchar,
677 ad: *const libc::c_uchar,
678 adlen: libc::c_ulonglong,
679 npub: *const libc::c_uchar,
680 k: *const libc::c_uchar,
681 ) -> libc::c_int;
682}
683extern "C" {
684 pub fn crypto_aead_chacha20poly1305_ietf_keygen(k: *mut libc::c_uchar);
685}
686extern "C" {
687 pub fn crypto_aead_chacha20poly1305_keybytes() -> usize;
688}
689extern "C" {
690 pub fn crypto_aead_chacha20poly1305_nsecbytes() -> usize;
691}
692extern "C" {
693 pub fn crypto_aead_chacha20poly1305_npubbytes() -> usize;
694}
695extern "C" {
696 pub fn crypto_aead_chacha20poly1305_abytes() -> usize;
697}
698extern "C" {
699 pub fn crypto_aead_chacha20poly1305_messagebytes_max() -> usize;
700}
701extern "C" {
702 pub fn crypto_aead_chacha20poly1305_encrypt(
703 c: *mut libc::c_uchar,
704 clen_p: *mut libc::c_ulonglong,
705 m: *const libc::c_uchar,
706 mlen: libc::c_ulonglong,
707 ad: *const libc::c_uchar,
708 adlen: libc::c_ulonglong,
709 nsec: *const libc::c_uchar,
710 npub: *const libc::c_uchar,
711 k: *const libc::c_uchar,
712 ) -> libc::c_int;
713}
714extern "C" {
715 pub fn crypto_aead_chacha20poly1305_decrypt(
716 m: *mut libc::c_uchar,
717 mlen_p: *mut libc::c_ulonglong,
718 nsec: *mut libc::c_uchar,
719 c: *const libc::c_uchar,
720 clen: libc::c_ulonglong,
721 ad: *const libc::c_uchar,
722 adlen: libc::c_ulonglong,
723 npub: *const libc::c_uchar,
724 k: *const libc::c_uchar,
725 ) -> libc::c_int;
726}
727extern "C" {
728 pub fn crypto_aead_chacha20poly1305_encrypt_detached(
729 c: *mut libc::c_uchar,
730 mac: *mut libc::c_uchar,
731 maclen_p: *mut libc::c_ulonglong,
732 m: *const libc::c_uchar,
733 mlen: libc::c_ulonglong,
734 ad: *const libc::c_uchar,
735 adlen: libc::c_ulonglong,
736 nsec: *const libc::c_uchar,
737 npub: *const libc::c_uchar,
738 k: *const libc::c_uchar,
739 ) -> libc::c_int;
740}
741extern "C" {
742 pub fn crypto_aead_chacha20poly1305_decrypt_detached(
743 m: *mut libc::c_uchar,
744 nsec: *mut libc::c_uchar,
745 c: *const libc::c_uchar,
746 clen: libc::c_ulonglong,
747 mac: *const libc::c_uchar,
748 ad: *const libc::c_uchar,
749 adlen: libc::c_ulonglong,
750 npub: *const libc::c_uchar,
751 k: *const libc::c_uchar,
752 ) -> libc::c_int;
753}
754extern "C" {
755 pub fn crypto_aead_chacha20poly1305_keygen(k: *mut libc::c_uchar);
756}
757extern "C" {
758 pub fn crypto_aead_xchacha20poly1305_ietf_keybytes() -> usize;
759}
760extern "C" {
761 pub fn crypto_aead_xchacha20poly1305_ietf_nsecbytes() -> usize;
762}
763extern "C" {
764 pub fn crypto_aead_xchacha20poly1305_ietf_npubbytes() -> usize;
765}
766extern "C" {
767 pub fn crypto_aead_xchacha20poly1305_ietf_abytes() -> usize;
768}
769extern "C" {
770 pub fn crypto_aead_xchacha20poly1305_ietf_messagebytes_max() -> usize;
771}
772extern "C" {
773 pub fn crypto_aead_xchacha20poly1305_ietf_encrypt(
774 c: *mut libc::c_uchar,
775 clen_p: *mut libc::c_ulonglong,
776 m: *const libc::c_uchar,
777 mlen: libc::c_ulonglong,
778 ad: *const libc::c_uchar,
779 adlen: libc::c_ulonglong,
780 nsec: *const libc::c_uchar,
781 npub: *const libc::c_uchar,
782 k: *const libc::c_uchar,
783 ) -> libc::c_int;
784}
785extern "C" {
786 pub fn crypto_aead_xchacha20poly1305_ietf_decrypt(
787 m: *mut libc::c_uchar,
788 mlen_p: *mut libc::c_ulonglong,
789 nsec: *mut libc::c_uchar,
790 c: *const libc::c_uchar,
791 clen: libc::c_ulonglong,
792 ad: *const libc::c_uchar,
793 adlen: libc::c_ulonglong,
794 npub: *const libc::c_uchar,
795 k: *const libc::c_uchar,
796 ) -> libc::c_int;
797}
798extern "C" {
799 pub fn crypto_aead_xchacha20poly1305_ietf_encrypt_detached(
800 c: *mut libc::c_uchar,
801 mac: *mut libc::c_uchar,
802 maclen_p: *mut libc::c_ulonglong,
803 m: *const libc::c_uchar,
804 mlen: libc::c_ulonglong,
805 ad: *const libc::c_uchar,
806 adlen: libc::c_ulonglong,
807 nsec: *const libc::c_uchar,
808 npub: *const libc::c_uchar,
809 k: *const libc::c_uchar,
810 ) -> libc::c_int;
811}
812extern "C" {
813 pub fn crypto_aead_xchacha20poly1305_ietf_decrypt_detached(
814 m: *mut libc::c_uchar,
815 nsec: *mut libc::c_uchar,
816 c: *const libc::c_uchar,
817 clen: libc::c_ulonglong,
818 mac: *const libc::c_uchar,
819 ad: *const libc::c_uchar,
820 adlen: libc::c_ulonglong,
821 npub: *const libc::c_uchar,
822 k: *const libc::c_uchar,
823 ) -> libc::c_int;
824}
825extern "C" {
826 pub fn crypto_aead_xchacha20poly1305_ietf_keygen(k: *mut libc::c_uchar);
827}
828#[repr(C)]
829#[derive(Debug, Copy, Clone)]
830pub struct crypto_hash_sha512_state {
831 pub state: [u64; 8usize],
832 pub count: [u64; 2usize],
833 pub buf: [u8; 128usize],
834}
835#[test]
836fn bindgen_test_layout_crypto_hash_sha512_state() {
837 const UNINIT: ::core::mem::MaybeUninit<crypto_hash_sha512_state> =
838 ::core::mem::MaybeUninit::uninit();
839 let ptr = UNINIT.as_ptr();
840 assert_eq!(
841 ::core::mem::size_of::<crypto_hash_sha512_state>(),
842 208usize,
843 concat!("Size of: ", stringify!(crypto_hash_sha512_state))
844 );
845 assert_eq!(
846 ::core::mem::align_of::<crypto_hash_sha512_state>(),
847 8usize,
848 concat!("Alignment of ", stringify!(crypto_hash_sha512_state))
849 );
850 assert_eq!(
851 unsafe { ::core::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
852 0usize,
853 concat!(
854 "Offset of field: ",
855 stringify!(crypto_hash_sha512_state),
856 "::",
857 stringify!(state)
858 )
859 );
860 assert_eq!(
861 unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
862 64usize,
863 concat!(
864 "Offset of field: ",
865 stringify!(crypto_hash_sha512_state),
866 "::",
867 stringify!(count)
868 )
869 );
870 assert_eq!(
871 unsafe { ::core::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
872 80usize,
873 concat!(
874 "Offset of field: ",
875 stringify!(crypto_hash_sha512_state),
876 "::",
877 stringify!(buf)
878 )
879 );
880}
881extern "C" {
882 pub fn crypto_hash_sha512_statebytes() -> usize;
883}
884extern "C" {
885 pub fn crypto_hash_sha512_bytes() -> usize;
886}
887extern "C" {
888 pub fn crypto_hash_sha512(
889 out: *mut libc::c_uchar,
890 in_: *const libc::c_uchar,
891 inlen: libc::c_ulonglong,
892 ) -> libc::c_int;
893}
894extern "C" {
895 pub fn crypto_hash_sha512_init(state: *mut crypto_hash_sha512_state) -> libc::c_int;
896}
897extern "C" {
898 pub fn crypto_hash_sha512_update(
899 state: *mut crypto_hash_sha512_state,
900 in_: *const libc::c_uchar,
901 inlen: libc::c_ulonglong,
902 ) -> libc::c_int;
903}
904extern "C" {
905 pub fn crypto_hash_sha512_final(
906 state: *mut crypto_hash_sha512_state,
907 out: *mut libc::c_uchar,
908 ) -> libc::c_int;
909}
910extern "C" {
911 pub fn crypto_auth_hmacsha512_bytes() -> usize;
912}
913extern "C" {
914 pub fn crypto_auth_hmacsha512_keybytes() -> usize;
915}
916extern "C" {
917 pub fn crypto_auth_hmacsha512(
918 out: *mut libc::c_uchar,
919 in_: *const libc::c_uchar,
920 inlen: libc::c_ulonglong,
921 k: *const libc::c_uchar,
922 ) -> libc::c_int;
923}
924extern "C" {
925 pub fn crypto_auth_hmacsha512_verify(
926 h: *const libc::c_uchar,
927 in_: *const libc::c_uchar,
928 inlen: libc::c_ulonglong,
929 k: *const libc::c_uchar,
930 ) -> libc::c_int;
931}
932#[repr(C)]
933#[derive(Debug, Copy, Clone)]
934pub struct crypto_auth_hmacsha512_state {
935 pub ictx: crypto_hash_sha512_state,
936 pub octx: crypto_hash_sha512_state,
937}
938#[test]
939fn bindgen_test_layout_crypto_auth_hmacsha512_state() {
940 const UNINIT: ::core::mem::MaybeUninit<crypto_auth_hmacsha512_state> =
941 ::core::mem::MaybeUninit::uninit();
942 let ptr = UNINIT.as_ptr();
943 assert_eq!(
944 ::core::mem::size_of::<crypto_auth_hmacsha512_state>(),
945 416usize,
946 concat!("Size of: ", stringify!(crypto_auth_hmacsha512_state))
947 );
948 assert_eq!(
949 ::core::mem::align_of::<crypto_auth_hmacsha512_state>(),
950 8usize,
951 concat!("Alignment of ", stringify!(crypto_auth_hmacsha512_state))
952 );
953 assert_eq!(
954 unsafe { ::core::ptr::addr_of!((*ptr).ictx) as usize - ptr as usize },
955 0usize,
956 concat!(
957 "Offset of field: ",
958 stringify!(crypto_auth_hmacsha512_state),
959 "::",
960 stringify!(ictx)
961 )
962 );
963 assert_eq!(
964 unsafe { ::core::ptr::addr_of!((*ptr).octx) as usize - ptr as usize },
965 208usize,
966 concat!(
967 "Offset of field: ",
968 stringify!(crypto_auth_hmacsha512_state),
969 "::",
970 stringify!(octx)
971 )
972 );
973}
974extern "C" {
975 pub fn crypto_auth_hmacsha512_statebytes() -> usize;
976}
977extern "C" {
978 pub fn crypto_auth_hmacsha512_init(
979 state: *mut crypto_auth_hmacsha512_state,
980 key: *const libc::c_uchar,
981 keylen: usize,
982 ) -> libc::c_int;
983}
984extern "C" {
985 pub fn crypto_auth_hmacsha512_update(
986 state: *mut crypto_auth_hmacsha512_state,
987 in_: *const libc::c_uchar,
988 inlen: libc::c_ulonglong,
989 ) -> libc::c_int;
990}
991extern "C" {
992 pub fn crypto_auth_hmacsha512_final(
993 state: *mut crypto_auth_hmacsha512_state,
994 out: *mut libc::c_uchar,
995 ) -> libc::c_int;
996}
997extern "C" {
998 pub fn crypto_auth_hmacsha512_keygen(k: *mut libc::c_uchar);
999}
1000extern "C" {
1001 pub fn crypto_auth_hmacsha512256_bytes() -> usize;
1002}
1003extern "C" {
1004 pub fn crypto_auth_hmacsha512256_keybytes() -> usize;
1005}
1006extern "C" {
1007 pub fn crypto_auth_hmacsha512256(
1008 out: *mut libc::c_uchar,
1009 in_: *const libc::c_uchar,
1010 inlen: libc::c_ulonglong,
1011 k: *const libc::c_uchar,
1012 ) -> libc::c_int;
1013}
1014extern "C" {
1015 pub fn crypto_auth_hmacsha512256_verify(
1016 h: *const libc::c_uchar,
1017 in_: *const libc::c_uchar,
1018 inlen: libc::c_ulonglong,
1019 k: *const libc::c_uchar,
1020 ) -> libc::c_int;
1021}
1022pub type crypto_auth_hmacsha512256_state = crypto_auth_hmacsha512_state;
1023extern "C" {
1024 pub fn crypto_auth_hmacsha512256_statebytes() -> usize;
1025}
1026extern "C" {
1027 pub fn crypto_auth_hmacsha512256_init(
1028 state: *mut crypto_auth_hmacsha512256_state,
1029 key: *const libc::c_uchar,
1030 keylen: usize,
1031 ) -> libc::c_int;
1032}
1033extern "C" {
1034 pub fn crypto_auth_hmacsha512256_update(
1035 state: *mut crypto_auth_hmacsha512256_state,
1036 in_: *const libc::c_uchar,
1037 inlen: libc::c_ulonglong,
1038 ) -> libc::c_int;
1039}
1040extern "C" {
1041 pub fn crypto_auth_hmacsha512256_final(
1042 state: *mut crypto_auth_hmacsha512256_state,
1043 out: *mut libc::c_uchar,
1044 ) -> libc::c_int;
1045}
1046extern "C" {
1047 pub fn crypto_auth_hmacsha512256_keygen(k: *mut libc::c_uchar);
1048}
1049extern "C" {
1050 pub fn crypto_auth_bytes() -> usize;
1051}
1052extern "C" {
1053 pub fn crypto_auth_keybytes() -> usize;
1054}
1055extern "C" {
1056 pub fn crypto_auth_primitive() -> *const libc::c_char;
1057}
1058extern "C" {
1059 pub fn crypto_auth(
1060 out: *mut libc::c_uchar,
1061 in_: *const libc::c_uchar,
1062 inlen: libc::c_ulonglong,
1063 k: *const libc::c_uchar,
1064 ) -> libc::c_int;
1065}
1066extern "C" {
1067 pub fn crypto_auth_verify(
1068 h: *const libc::c_uchar,
1069 in_: *const libc::c_uchar,
1070 inlen: libc::c_ulonglong,
1071 k: *const libc::c_uchar,
1072 ) -> libc::c_int;
1073}
1074extern "C" {
1075 pub fn crypto_auth_keygen(k: *mut libc::c_uchar);
1076}
1077#[repr(C)]
1078#[derive(Debug, Copy, Clone)]
1079pub struct crypto_hash_sha256_state {
1080 pub state: [u32; 8usize],
1081 pub count: u64,
1082 pub buf: [u8; 64usize],
1083}
1084#[test]
1085fn bindgen_test_layout_crypto_hash_sha256_state() {
1086 const UNINIT: ::core::mem::MaybeUninit<crypto_hash_sha256_state> =
1087 ::core::mem::MaybeUninit::uninit();
1088 let ptr = UNINIT.as_ptr();
1089 assert_eq!(
1090 ::core::mem::size_of::<crypto_hash_sha256_state>(),
1091 104usize,
1092 concat!("Size of: ", stringify!(crypto_hash_sha256_state))
1093 );
1094 assert_eq!(
1095 ::core::mem::align_of::<crypto_hash_sha256_state>(),
1096 8usize,
1097 concat!("Alignment of ", stringify!(crypto_hash_sha256_state))
1098 );
1099 assert_eq!(
1100 unsafe { ::core::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
1101 0usize,
1102 concat!(
1103 "Offset of field: ",
1104 stringify!(crypto_hash_sha256_state),
1105 "::",
1106 stringify!(state)
1107 )
1108 );
1109 assert_eq!(
1110 unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1111 32usize,
1112 concat!(
1113 "Offset of field: ",
1114 stringify!(crypto_hash_sha256_state),
1115 "::",
1116 stringify!(count)
1117 )
1118 );
1119 assert_eq!(
1120 unsafe { ::core::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
1121 40usize,
1122 concat!(
1123 "Offset of field: ",
1124 stringify!(crypto_hash_sha256_state),
1125 "::",
1126 stringify!(buf)
1127 )
1128 );
1129}
1130extern "C" {
1131 pub fn crypto_hash_sha256_statebytes() -> usize;
1132}
1133extern "C" {
1134 pub fn crypto_hash_sha256_bytes() -> usize;
1135}
1136extern "C" {
1137 pub fn crypto_hash_sha256(
1138 out: *mut libc::c_uchar,
1139 in_: *const libc::c_uchar,
1140 inlen: libc::c_ulonglong,
1141 ) -> libc::c_int;
1142}
1143extern "C" {
1144 pub fn crypto_hash_sha256_init(state: *mut crypto_hash_sha256_state) -> libc::c_int;
1145}
1146extern "C" {
1147 pub fn crypto_hash_sha256_update(
1148 state: *mut crypto_hash_sha256_state,
1149 in_: *const libc::c_uchar,
1150 inlen: libc::c_ulonglong,
1151 ) -> libc::c_int;
1152}
1153extern "C" {
1154 pub fn crypto_hash_sha256_final(
1155 state: *mut crypto_hash_sha256_state,
1156 out: *mut libc::c_uchar,
1157 ) -> libc::c_int;
1158}
1159extern "C" {
1160 pub fn crypto_auth_hmacsha256_bytes() -> usize;
1161}
1162extern "C" {
1163 pub fn crypto_auth_hmacsha256_keybytes() -> usize;
1164}
1165extern "C" {
1166 pub fn crypto_auth_hmacsha256(
1167 out: *mut libc::c_uchar,
1168 in_: *const libc::c_uchar,
1169 inlen: libc::c_ulonglong,
1170 k: *const libc::c_uchar,
1171 ) -> libc::c_int;
1172}
1173extern "C" {
1174 pub fn crypto_auth_hmacsha256_verify(
1175 h: *const libc::c_uchar,
1176 in_: *const libc::c_uchar,
1177 inlen: libc::c_ulonglong,
1178 k: *const libc::c_uchar,
1179 ) -> libc::c_int;
1180}
1181#[repr(C)]
1182#[derive(Debug, Copy, Clone)]
1183pub struct crypto_auth_hmacsha256_state {
1184 pub ictx: crypto_hash_sha256_state,
1185 pub octx: crypto_hash_sha256_state,
1186}
1187#[test]
1188fn bindgen_test_layout_crypto_auth_hmacsha256_state() {
1189 const UNINIT: ::core::mem::MaybeUninit<crypto_auth_hmacsha256_state> =
1190 ::core::mem::MaybeUninit::uninit();
1191 let ptr = UNINIT.as_ptr();
1192 assert_eq!(
1193 ::core::mem::size_of::<crypto_auth_hmacsha256_state>(),
1194 208usize,
1195 concat!("Size of: ", stringify!(crypto_auth_hmacsha256_state))
1196 );
1197 assert_eq!(
1198 ::core::mem::align_of::<crypto_auth_hmacsha256_state>(),
1199 8usize,
1200 concat!("Alignment of ", stringify!(crypto_auth_hmacsha256_state))
1201 );
1202 assert_eq!(
1203 unsafe { ::core::ptr::addr_of!((*ptr).ictx) as usize - ptr as usize },
1204 0usize,
1205 concat!(
1206 "Offset of field: ",
1207 stringify!(crypto_auth_hmacsha256_state),
1208 "::",
1209 stringify!(ictx)
1210 )
1211 );
1212 assert_eq!(
1213 unsafe { ::core::ptr::addr_of!((*ptr).octx) as usize - ptr as usize },
1214 104usize,
1215 concat!(
1216 "Offset of field: ",
1217 stringify!(crypto_auth_hmacsha256_state),
1218 "::",
1219 stringify!(octx)
1220 )
1221 );
1222}
1223extern "C" {
1224 pub fn crypto_auth_hmacsha256_statebytes() -> usize;
1225}
1226extern "C" {
1227 pub fn crypto_auth_hmacsha256_init(
1228 state: *mut crypto_auth_hmacsha256_state,
1229 key: *const libc::c_uchar,
1230 keylen: usize,
1231 ) -> libc::c_int;
1232}
1233extern "C" {
1234 pub fn crypto_auth_hmacsha256_update(
1235 state: *mut crypto_auth_hmacsha256_state,
1236 in_: *const libc::c_uchar,
1237 inlen: libc::c_ulonglong,
1238 ) -> libc::c_int;
1239}
1240extern "C" {
1241 pub fn crypto_auth_hmacsha256_final(
1242 state: *mut crypto_auth_hmacsha256_state,
1243 out: *mut libc::c_uchar,
1244 ) -> libc::c_int;
1245}
1246extern "C" {
1247 pub fn crypto_auth_hmacsha256_keygen(k: *mut libc::c_uchar);
1248}
1249extern "C" {
1250 pub fn crypto_stream_xsalsa20_keybytes() -> usize;
1251}
1252extern "C" {
1253 pub fn crypto_stream_xsalsa20_noncebytes() -> usize;
1254}
1255extern "C" {
1256 pub fn crypto_stream_xsalsa20_messagebytes_max() -> usize;
1257}
1258extern "C" {
1259 pub fn crypto_stream_xsalsa20(
1260 c: *mut libc::c_uchar,
1261 clen: libc::c_ulonglong,
1262 n: *const libc::c_uchar,
1263 k: *const libc::c_uchar,
1264 ) -> libc::c_int;
1265}
1266extern "C" {
1267 pub fn crypto_stream_xsalsa20_xor(
1268 c: *mut libc::c_uchar,
1269 m: *const libc::c_uchar,
1270 mlen: libc::c_ulonglong,
1271 n: *const libc::c_uchar,
1272 k: *const libc::c_uchar,
1273 ) -> libc::c_int;
1274}
1275extern "C" {
1276 pub fn crypto_stream_xsalsa20_xor_ic(
1277 c: *mut libc::c_uchar,
1278 m: *const libc::c_uchar,
1279 mlen: libc::c_ulonglong,
1280 n: *const libc::c_uchar,
1281 ic: u64,
1282 k: *const libc::c_uchar,
1283 ) -> libc::c_int;
1284}
1285extern "C" {
1286 pub fn crypto_stream_xsalsa20_keygen(k: *mut libc::c_uchar);
1287}
1288extern "C" {
1289 pub fn crypto_box_curve25519xsalsa20poly1305_seedbytes() -> usize;
1290}
1291extern "C" {
1292 pub fn crypto_box_curve25519xsalsa20poly1305_publickeybytes() -> usize;
1293}
1294extern "C" {
1295 pub fn crypto_box_curve25519xsalsa20poly1305_secretkeybytes() -> usize;
1296}
1297extern "C" {
1298 pub fn crypto_box_curve25519xsalsa20poly1305_beforenmbytes() -> usize;
1299}
1300extern "C" {
1301 pub fn crypto_box_curve25519xsalsa20poly1305_noncebytes() -> usize;
1302}
1303extern "C" {
1304 pub fn crypto_box_curve25519xsalsa20poly1305_macbytes() -> usize;
1305}
1306extern "C" {
1307 pub fn crypto_box_curve25519xsalsa20poly1305_messagebytes_max() -> usize;
1308}
1309extern "C" {
1310 pub fn crypto_box_curve25519xsalsa20poly1305_seed_keypair(
1311 pk: *mut libc::c_uchar,
1312 sk: *mut libc::c_uchar,
1313 seed: *const libc::c_uchar,
1314 ) -> libc::c_int;
1315}
1316extern "C" {
1317 pub fn crypto_box_curve25519xsalsa20poly1305_keypair(
1318 pk: *mut libc::c_uchar,
1319 sk: *mut libc::c_uchar,
1320 ) -> libc::c_int;
1321}
1322extern "C" {
1323 pub fn crypto_box_curve25519xsalsa20poly1305_beforenm(
1324 k: *mut libc::c_uchar,
1325 pk: *const libc::c_uchar,
1326 sk: *const libc::c_uchar,
1327 ) -> libc::c_int;
1328}
1329extern "C" {
1330 pub fn crypto_box_curve25519xsalsa20poly1305_boxzerobytes() -> usize;
1331}
1332extern "C" {
1333 pub fn crypto_box_curve25519xsalsa20poly1305_zerobytes() -> usize;
1334}
1335extern "C" {
1336 pub fn crypto_box_curve25519xsalsa20poly1305(
1337 c: *mut libc::c_uchar,
1338 m: *const libc::c_uchar,
1339 mlen: libc::c_ulonglong,
1340 n: *const libc::c_uchar,
1341 pk: *const libc::c_uchar,
1342 sk: *const libc::c_uchar,
1343 ) -> libc::c_int;
1344}
1345extern "C" {
1346 pub fn crypto_box_curve25519xsalsa20poly1305_open(
1347 m: *mut libc::c_uchar,
1348 c: *const libc::c_uchar,
1349 clen: libc::c_ulonglong,
1350 n: *const libc::c_uchar,
1351 pk: *const libc::c_uchar,
1352 sk: *const libc::c_uchar,
1353 ) -> libc::c_int;
1354}
1355extern "C" {
1356 pub fn crypto_box_curve25519xsalsa20poly1305_afternm(
1357 c: *mut libc::c_uchar,
1358 m: *const libc::c_uchar,
1359 mlen: libc::c_ulonglong,
1360 n: *const libc::c_uchar,
1361 k: *const libc::c_uchar,
1362 ) -> libc::c_int;
1363}
1364extern "C" {
1365 pub fn crypto_box_curve25519xsalsa20poly1305_open_afternm(
1366 m: *mut libc::c_uchar,
1367 c: *const libc::c_uchar,
1368 clen: libc::c_ulonglong,
1369 n: *const libc::c_uchar,
1370 k: *const libc::c_uchar,
1371 ) -> libc::c_int;
1372}
1373extern "C" {
1374 pub fn crypto_box_seedbytes() -> usize;
1375}
1376extern "C" {
1377 pub fn crypto_box_publickeybytes() -> usize;
1378}
1379extern "C" {
1380 pub fn crypto_box_secretkeybytes() -> usize;
1381}
1382extern "C" {
1383 pub fn crypto_box_noncebytes() -> usize;
1384}
1385extern "C" {
1386 pub fn crypto_box_macbytes() -> usize;
1387}
1388extern "C" {
1389 pub fn crypto_box_messagebytes_max() -> usize;
1390}
1391extern "C" {
1392 pub fn crypto_box_primitive() -> *const libc::c_char;
1393}
1394extern "C" {
1395 pub fn crypto_box_seed_keypair(
1396 pk: *mut libc::c_uchar,
1397 sk: *mut libc::c_uchar,
1398 seed: *const libc::c_uchar,
1399 ) -> libc::c_int;
1400}
1401extern "C" {
1402 pub fn crypto_box_keypair(pk: *mut libc::c_uchar, sk: *mut libc::c_uchar) -> libc::c_int;
1403}
1404extern "C" {
1405 pub fn crypto_box_easy(
1406 c: *mut libc::c_uchar,
1407 m: *const libc::c_uchar,
1408 mlen: libc::c_ulonglong,
1409 n: *const libc::c_uchar,
1410 pk: *const libc::c_uchar,
1411 sk: *const libc::c_uchar,
1412 ) -> libc::c_int;
1413}
1414extern "C" {
1415 pub fn crypto_box_open_easy(
1416 m: *mut libc::c_uchar,
1417 c: *const libc::c_uchar,
1418 clen: libc::c_ulonglong,
1419 n: *const libc::c_uchar,
1420 pk: *const libc::c_uchar,
1421 sk: *const libc::c_uchar,
1422 ) -> libc::c_int;
1423}
1424extern "C" {
1425 pub fn crypto_box_detached(
1426 c: *mut libc::c_uchar,
1427 mac: *mut libc::c_uchar,
1428 m: *const libc::c_uchar,
1429 mlen: libc::c_ulonglong,
1430 n: *const libc::c_uchar,
1431 pk: *const libc::c_uchar,
1432 sk: *const libc::c_uchar,
1433 ) -> libc::c_int;
1434}
1435extern "C" {
1436 pub fn crypto_box_open_detached(
1437 m: *mut libc::c_uchar,
1438 c: *const libc::c_uchar,
1439 mac: *const libc::c_uchar,
1440 clen: libc::c_ulonglong,
1441 n: *const libc::c_uchar,
1442 pk: *const libc::c_uchar,
1443 sk: *const libc::c_uchar,
1444 ) -> libc::c_int;
1445}
1446extern "C" {
1447 pub fn crypto_box_beforenmbytes() -> usize;
1448}
1449extern "C" {
1450 pub fn crypto_box_beforenm(
1451 k: *mut libc::c_uchar,
1452 pk: *const libc::c_uchar,
1453 sk: *const libc::c_uchar,
1454 ) -> libc::c_int;
1455}
1456extern "C" {
1457 pub fn crypto_box_easy_afternm(
1458 c: *mut libc::c_uchar,
1459 m: *const libc::c_uchar,
1460 mlen: libc::c_ulonglong,
1461 n: *const libc::c_uchar,
1462 k: *const libc::c_uchar,
1463 ) -> libc::c_int;
1464}
1465extern "C" {
1466 pub fn crypto_box_open_easy_afternm(
1467 m: *mut libc::c_uchar,
1468 c: *const libc::c_uchar,
1469 clen: libc::c_ulonglong,
1470 n: *const libc::c_uchar,
1471 k: *const libc::c_uchar,
1472 ) -> libc::c_int;
1473}
1474extern "C" {
1475 pub fn crypto_box_detached_afternm(
1476 c: *mut libc::c_uchar,
1477 mac: *mut libc::c_uchar,
1478 m: *const libc::c_uchar,
1479 mlen: libc::c_ulonglong,
1480 n: *const libc::c_uchar,
1481 k: *const libc::c_uchar,
1482 ) -> libc::c_int;
1483}
1484extern "C" {
1485 pub fn crypto_box_open_detached_afternm(
1486 m: *mut libc::c_uchar,
1487 c: *const libc::c_uchar,
1488 mac: *const libc::c_uchar,
1489 clen: libc::c_ulonglong,
1490 n: *const libc::c_uchar,
1491 k: *const libc::c_uchar,
1492 ) -> libc::c_int;
1493}
1494extern "C" {
1495 pub fn crypto_box_sealbytes() -> usize;
1496}
1497extern "C" {
1498 pub fn crypto_box_seal(
1499 c: *mut libc::c_uchar,
1500 m: *const libc::c_uchar,
1501 mlen: libc::c_ulonglong,
1502 pk: *const libc::c_uchar,
1503 ) -> libc::c_int;
1504}
1505extern "C" {
1506 pub fn crypto_box_seal_open(
1507 m: *mut libc::c_uchar,
1508 c: *const libc::c_uchar,
1509 clen: libc::c_ulonglong,
1510 pk: *const libc::c_uchar,
1511 sk: *const libc::c_uchar,
1512 ) -> libc::c_int;
1513}
1514extern "C" {
1515 pub fn crypto_box_zerobytes() -> usize;
1516}
1517extern "C" {
1518 pub fn crypto_box_boxzerobytes() -> usize;
1519}
1520extern "C" {
1521 pub fn crypto_box(
1522 c: *mut libc::c_uchar,
1523 m: *const libc::c_uchar,
1524 mlen: libc::c_ulonglong,
1525 n: *const libc::c_uchar,
1526 pk: *const libc::c_uchar,
1527 sk: *const libc::c_uchar,
1528 ) -> libc::c_int;
1529}
1530extern "C" {
1531 pub fn crypto_box_open(
1532 m: *mut libc::c_uchar,
1533 c: *const libc::c_uchar,
1534 clen: libc::c_ulonglong,
1535 n: *const libc::c_uchar,
1536 pk: *const libc::c_uchar,
1537 sk: *const libc::c_uchar,
1538 ) -> libc::c_int;
1539}
1540extern "C" {
1541 pub fn crypto_box_afternm(
1542 c: *mut libc::c_uchar,
1543 m: *const libc::c_uchar,
1544 mlen: libc::c_ulonglong,
1545 n: *const libc::c_uchar,
1546 k: *const libc::c_uchar,
1547 ) -> libc::c_int;
1548}
1549extern "C" {
1550 pub fn crypto_box_open_afternm(
1551 m: *mut libc::c_uchar,
1552 c: *const libc::c_uchar,
1553 clen: libc::c_ulonglong,
1554 n: *const libc::c_uchar,
1555 k: *const libc::c_uchar,
1556 ) -> libc::c_int;
1557}
1558extern "C" {
1559 pub fn crypto_core_hchacha20_outputbytes() -> usize;
1560}
1561extern "C" {
1562 pub fn crypto_core_hchacha20_inputbytes() -> usize;
1563}
1564extern "C" {
1565 pub fn crypto_core_hchacha20_keybytes() -> usize;
1566}
1567extern "C" {
1568 pub fn crypto_core_hchacha20_constbytes() -> usize;
1569}
1570extern "C" {
1571 pub fn crypto_core_hchacha20(
1572 out: *mut libc::c_uchar,
1573 in_: *const libc::c_uchar,
1574 k: *const libc::c_uchar,
1575 c: *const libc::c_uchar,
1576 ) -> libc::c_int;
1577}
1578extern "C" {
1579 pub fn crypto_core_hsalsa20_outputbytes() -> usize;
1580}
1581extern "C" {
1582 pub fn crypto_core_hsalsa20_inputbytes() -> usize;
1583}
1584extern "C" {
1585 pub fn crypto_core_hsalsa20_keybytes() -> usize;
1586}
1587extern "C" {
1588 pub fn crypto_core_hsalsa20_constbytes() -> usize;
1589}
1590extern "C" {
1591 pub fn crypto_core_hsalsa20(
1592 out: *mut libc::c_uchar,
1593 in_: *const libc::c_uchar,
1594 k: *const libc::c_uchar,
1595 c: *const libc::c_uchar,
1596 ) -> libc::c_int;
1597}
1598extern "C" {
1599 pub fn crypto_core_salsa20_outputbytes() -> usize;
1600}
1601extern "C" {
1602 pub fn crypto_core_salsa20_inputbytes() -> usize;
1603}
1604extern "C" {
1605 pub fn crypto_core_salsa20_keybytes() -> usize;
1606}
1607extern "C" {
1608 pub fn crypto_core_salsa20_constbytes() -> usize;
1609}
1610extern "C" {
1611 pub fn crypto_core_salsa20(
1612 out: *mut libc::c_uchar,
1613 in_: *const libc::c_uchar,
1614 k: *const libc::c_uchar,
1615 c: *const libc::c_uchar,
1616 ) -> libc::c_int;
1617}
1618extern "C" {
1619 pub fn crypto_core_salsa2012_outputbytes() -> usize;
1620}
1621extern "C" {
1622 pub fn crypto_core_salsa2012_inputbytes() -> usize;
1623}
1624extern "C" {
1625 pub fn crypto_core_salsa2012_keybytes() -> usize;
1626}
1627extern "C" {
1628 pub fn crypto_core_salsa2012_constbytes() -> usize;
1629}
1630extern "C" {
1631 pub fn crypto_core_salsa2012(
1632 out: *mut libc::c_uchar,
1633 in_: *const libc::c_uchar,
1634 k: *const libc::c_uchar,
1635 c: *const libc::c_uchar,
1636 ) -> libc::c_int;
1637}
1638extern "C" {
1639 pub fn crypto_core_salsa208_outputbytes() -> usize;
1640}
1641extern "C" {
1642 pub fn crypto_core_salsa208_inputbytes() -> usize;
1643}
1644extern "C" {
1645 pub fn crypto_core_salsa208_keybytes() -> usize;
1646}
1647extern "C" {
1648 pub fn crypto_core_salsa208_constbytes() -> usize;
1649}
1650extern "C" {
1651 pub fn crypto_core_salsa208(
1652 out: *mut libc::c_uchar,
1653 in_: *const libc::c_uchar,
1654 k: *const libc::c_uchar,
1655 c: *const libc::c_uchar,
1656 ) -> libc::c_int;
1657}
1658#[repr(C)]
1659#[repr(align(64))]
1660#[derive(Debug, Copy, Clone)]
1661pub struct crypto_generichash_blake2b_state {
1662 pub opaque: [libc::c_uchar; 384usize],
1663}
1664#[test]
1665fn bindgen_test_layout_crypto_generichash_blake2b_state() {
1666 const UNINIT: ::core::mem::MaybeUninit<crypto_generichash_blake2b_state> =
1667 ::core::mem::MaybeUninit::uninit();
1668 let ptr = UNINIT.as_ptr();
1669 assert_eq!(
1670 ::core::mem::size_of::<crypto_generichash_blake2b_state>(),
1671 384usize,
1672 concat!("Size of: ", stringify!(crypto_generichash_blake2b_state))
1673 );
1674 assert_eq!(
1675 ::core::mem::align_of::<crypto_generichash_blake2b_state>(),
1676 64usize,
1677 concat!(
1678 "Alignment of ",
1679 stringify!(crypto_generichash_blake2b_state)
1680 )
1681 );
1682 assert_eq!(
1683 unsafe { ::core::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
1684 0usize,
1685 concat!(
1686 "Offset of field: ",
1687 stringify!(crypto_generichash_blake2b_state),
1688 "::",
1689 stringify!(opaque)
1690 )
1691 );
1692}
1693extern "C" {
1694 pub fn crypto_generichash_blake2b_bytes_min() -> usize;
1695}
1696extern "C" {
1697 pub fn crypto_generichash_blake2b_bytes_max() -> usize;
1698}
1699extern "C" {
1700 pub fn crypto_generichash_blake2b_bytes() -> usize;
1701}
1702extern "C" {
1703 pub fn crypto_generichash_blake2b_keybytes_min() -> usize;
1704}
1705extern "C" {
1706 pub fn crypto_generichash_blake2b_keybytes_max() -> usize;
1707}
1708extern "C" {
1709 pub fn crypto_generichash_blake2b_keybytes() -> usize;
1710}
1711extern "C" {
1712 pub fn crypto_generichash_blake2b_saltbytes() -> usize;
1713}
1714extern "C" {
1715 pub fn crypto_generichash_blake2b_personalbytes() -> usize;
1716}
1717extern "C" {
1718 pub fn crypto_generichash_blake2b_statebytes() -> usize;
1719}
1720extern "C" {
1721 pub fn crypto_generichash_blake2b(
1722 out: *mut libc::c_uchar,
1723 outlen: usize,
1724 in_: *const libc::c_uchar,
1725 inlen: libc::c_ulonglong,
1726 key: *const libc::c_uchar,
1727 keylen: usize,
1728 ) -> libc::c_int;
1729}
1730extern "C" {
1731 pub fn crypto_generichash_blake2b_salt_personal(
1732 out: *mut libc::c_uchar,
1733 outlen: usize,
1734 in_: *const libc::c_uchar,
1735 inlen: libc::c_ulonglong,
1736 key: *const libc::c_uchar,
1737 keylen: usize,
1738 salt: *const libc::c_uchar,
1739 personal: *const libc::c_uchar,
1740 ) -> libc::c_int;
1741}
1742extern "C" {
1743 pub fn crypto_generichash_blake2b_init(
1744 state: *mut crypto_generichash_blake2b_state,
1745 key: *const libc::c_uchar,
1746 keylen: usize,
1747 outlen: usize,
1748 ) -> libc::c_int;
1749}
1750extern "C" {
1751 pub fn crypto_generichash_blake2b_init_salt_personal(
1752 state: *mut crypto_generichash_blake2b_state,
1753 key: *const libc::c_uchar,
1754 keylen: usize,
1755 outlen: usize,
1756 salt: *const libc::c_uchar,
1757 personal: *const libc::c_uchar,
1758 ) -> libc::c_int;
1759}
1760extern "C" {
1761 pub fn crypto_generichash_blake2b_update(
1762 state: *mut crypto_generichash_blake2b_state,
1763 in_: *const libc::c_uchar,
1764 inlen: libc::c_ulonglong,
1765 ) -> libc::c_int;
1766}
1767extern "C" {
1768 pub fn crypto_generichash_blake2b_final(
1769 state: *mut crypto_generichash_blake2b_state,
1770 out: *mut libc::c_uchar,
1771 outlen: usize,
1772 ) -> libc::c_int;
1773}
1774extern "C" {
1775 pub fn crypto_generichash_blake2b_keygen(k: *mut libc::c_uchar);
1776}
1777extern "C" {
1778 pub fn crypto_generichash_bytes_min() -> usize;
1779}
1780extern "C" {
1781 pub fn crypto_generichash_bytes_max() -> usize;
1782}
1783extern "C" {
1784 pub fn crypto_generichash_bytes() -> usize;
1785}
1786extern "C" {
1787 pub fn crypto_generichash_keybytes_min() -> usize;
1788}
1789extern "C" {
1790 pub fn crypto_generichash_keybytes_max() -> usize;
1791}
1792extern "C" {
1793 pub fn crypto_generichash_keybytes() -> usize;
1794}
1795extern "C" {
1796 pub fn crypto_generichash_primitive() -> *const libc::c_char;
1797}
1798pub type crypto_generichash_state = crypto_generichash_blake2b_state;
1799extern "C" {
1800 pub fn crypto_generichash_statebytes() -> usize;
1801}
1802extern "C" {
1803 pub fn crypto_generichash(
1804 out: *mut libc::c_uchar,
1805 outlen: usize,
1806 in_: *const libc::c_uchar,
1807 inlen: libc::c_ulonglong,
1808 key: *const libc::c_uchar,
1809 keylen: usize,
1810 ) -> libc::c_int;
1811}
1812extern "C" {
1813 pub fn crypto_generichash_init(
1814 state: *mut crypto_generichash_state,
1815 key: *const libc::c_uchar,
1816 keylen: usize,
1817 outlen: usize,
1818 ) -> libc::c_int;
1819}
1820extern "C" {
1821 pub fn crypto_generichash_update(
1822 state: *mut crypto_generichash_state,
1823 in_: *const libc::c_uchar,
1824 inlen: libc::c_ulonglong,
1825 ) -> libc::c_int;
1826}
1827extern "C" {
1828 pub fn crypto_generichash_final(
1829 state: *mut crypto_generichash_state,
1830 out: *mut libc::c_uchar,
1831 outlen: usize,
1832 ) -> libc::c_int;
1833}
1834extern "C" {
1835 pub fn crypto_generichash_keygen(k: *mut libc::c_uchar);
1836}
1837extern "C" {
1838 pub fn crypto_hash_bytes() -> usize;
1839}
1840extern "C" {
1841 pub fn crypto_hash(
1842 out: *mut libc::c_uchar,
1843 in_: *const libc::c_uchar,
1844 inlen: libc::c_ulonglong,
1845 ) -> libc::c_int;
1846}
1847extern "C" {
1848 pub fn crypto_hash_primitive() -> *const libc::c_char;
1849}
1850extern "C" {
1851 pub fn crypto_kdf_blake2b_bytes_min() -> usize;
1852}
1853extern "C" {
1854 pub fn crypto_kdf_blake2b_bytes_max() -> usize;
1855}
1856extern "C" {
1857 pub fn crypto_kdf_blake2b_contextbytes() -> usize;
1858}
1859extern "C" {
1860 pub fn crypto_kdf_blake2b_keybytes() -> usize;
1861}
1862extern "C" {
1863 pub fn crypto_kdf_blake2b_derive_from_key(
1864 subkey: *mut libc::c_uchar,
1865 subkey_len: usize,
1866 subkey_id: u64,
1867 ctx: *const libc::c_char,
1868 key: *const libc::c_uchar,
1869 ) -> libc::c_int;
1870}
1871extern "C" {
1872 pub fn crypto_kdf_bytes_min() -> usize;
1873}
1874extern "C" {
1875 pub fn crypto_kdf_bytes_max() -> usize;
1876}
1877extern "C" {
1878 pub fn crypto_kdf_contextbytes() -> usize;
1879}
1880extern "C" {
1881 pub fn crypto_kdf_keybytes() -> usize;
1882}
1883extern "C" {
1884 pub fn crypto_kdf_primitive() -> *const libc::c_char;
1885}
1886extern "C" {
1887 pub fn crypto_kdf_derive_from_key(
1888 subkey: *mut libc::c_uchar,
1889 subkey_len: usize,
1890 subkey_id: u64,
1891 ctx: *const libc::c_char,
1892 key: *const libc::c_uchar,
1893 ) -> libc::c_int;
1894}
1895extern "C" {
1896 pub fn crypto_kdf_keygen(k: *mut libc::c_uchar);
1897}
1898extern "C" {
1899 pub fn crypto_kdf_hkdf_sha256_keybytes() -> usize;
1900}
1901extern "C" {
1902 pub fn crypto_kdf_hkdf_sha256_bytes_min() -> usize;
1903}
1904extern "C" {
1905 pub fn crypto_kdf_hkdf_sha256_bytes_max() -> usize;
1906}
1907extern "C" {
1908 pub fn crypto_kdf_hkdf_sha256_extract(
1909 prk: *mut libc::c_uchar,
1910 salt: *const libc::c_uchar,
1911 salt_len: usize,
1912 ikm: *const libc::c_uchar,
1913 ikm_len: usize,
1914 ) -> libc::c_int;
1915}
1916extern "C" {
1917 pub fn crypto_kdf_hkdf_sha256_keygen(prk: *mut libc::c_uchar);
1918}
1919extern "C" {
1920 pub fn crypto_kdf_hkdf_sha256_expand(
1921 out: *mut libc::c_uchar,
1922 out_len: usize,
1923 ctx: *const libc::c_char,
1924 ctx_len: usize,
1925 prk: *const libc::c_uchar,
1926 ) -> libc::c_int;
1927}
1928#[repr(C)]
1929#[derive(Debug, Copy, Clone)]
1930pub struct crypto_kdf_hkdf_sha256_state {
1931 pub st: crypto_auth_hmacsha256_state,
1932}
1933#[test]
1934fn bindgen_test_layout_crypto_kdf_hkdf_sha256_state() {
1935 const UNINIT: ::core::mem::MaybeUninit<crypto_kdf_hkdf_sha256_state> =
1936 ::core::mem::MaybeUninit::uninit();
1937 let ptr = UNINIT.as_ptr();
1938 assert_eq!(
1939 ::core::mem::size_of::<crypto_kdf_hkdf_sha256_state>(),
1940 208usize,
1941 concat!("Size of: ", stringify!(crypto_kdf_hkdf_sha256_state))
1942 );
1943 assert_eq!(
1944 ::core::mem::align_of::<crypto_kdf_hkdf_sha256_state>(),
1945 8usize,
1946 concat!("Alignment of ", stringify!(crypto_kdf_hkdf_sha256_state))
1947 );
1948 assert_eq!(
1949 unsafe { ::core::ptr::addr_of!((*ptr).st) as usize - ptr as usize },
1950 0usize,
1951 concat!(
1952 "Offset of field: ",
1953 stringify!(crypto_kdf_hkdf_sha256_state),
1954 "::",
1955 stringify!(st)
1956 )
1957 );
1958}
1959extern "C" {
1960 pub fn crypto_kdf_hkdf_sha256_statebytes() -> usize;
1961}
1962extern "C" {
1963 pub fn crypto_kdf_hkdf_sha256_extract_init(
1964 state: *mut crypto_kdf_hkdf_sha256_state,
1965 salt: *const libc::c_uchar,
1966 salt_len: usize,
1967 ) -> libc::c_int;
1968}
1969extern "C" {
1970 pub fn crypto_kdf_hkdf_sha256_extract_update(
1971 state: *mut crypto_kdf_hkdf_sha256_state,
1972 ikm: *const libc::c_uchar,
1973 ikm_len: usize,
1974 ) -> libc::c_int;
1975}
1976extern "C" {
1977 pub fn crypto_kdf_hkdf_sha256_extract_final(
1978 state: *mut crypto_kdf_hkdf_sha256_state,
1979 prk: *mut libc::c_uchar,
1980 ) -> libc::c_int;
1981}
1982extern "C" {
1983 pub fn crypto_kdf_hkdf_sha512_keybytes() -> usize;
1984}
1985extern "C" {
1986 pub fn crypto_kdf_hkdf_sha512_bytes_min() -> usize;
1987}
1988extern "C" {
1989 pub fn crypto_kdf_hkdf_sha512_bytes_max() -> usize;
1990}
1991extern "C" {
1992 pub fn crypto_kdf_hkdf_sha512_extract(
1993 prk: *mut libc::c_uchar,
1994 salt: *const libc::c_uchar,
1995 salt_len: usize,
1996 ikm: *const libc::c_uchar,
1997 ikm_len: usize,
1998 ) -> libc::c_int;
1999}
2000extern "C" {
2001 pub fn crypto_kdf_hkdf_sha512_keygen(prk: *mut libc::c_uchar);
2002}
2003extern "C" {
2004 pub fn crypto_kdf_hkdf_sha512_expand(
2005 out: *mut libc::c_uchar,
2006 out_len: usize,
2007 ctx: *const libc::c_char,
2008 ctx_len: usize,
2009 prk: *const libc::c_uchar,
2010 ) -> libc::c_int;
2011}
2012#[repr(C)]
2013#[derive(Debug, Copy, Clone)]
2014pub struct crypto_kdf_hkdf_sha512_state {
2015 pub st: crypto_auth_hmacsha512_state,
2016}
2017#[test]
2018fn bindgen_test_layout_crypto_kdf_hkdf_sha512_state() {
2019 const UNINIT: ::core::mem::MaybeUninit<crypto_kdf_hkdf_sha512_state> =
2020 ::core::mem::MaybeUninit::uninit();
2021 let ptr = UNINIT.as_ptr();
2022 assert_eq!(
2023 ::core::mem::size_of::<crypto_kdf_hkdf_sha512_state>(),
2024 416usize,
2025 concat!("Size of: ", stringify!(crypto_kdf_hkdf_sha512_state))
2026 );
2027 assert_eq!(
2028 ::core::mem::align_of::<crypto_kdf_hkdf_sha512_state>(),
2029 8usize,
2030 concat!("Alignment of ", stringify!(crypto_kdf_hkdf_sha512_state))
2031 );
2032 assert_eq!(
2033 unsafe { ::core::ptr::addr_of!((*ptr).st) as usize - ptr as usize },
2034 0usize,
2035 concat!(
2036 "Offset of field: ",
2037 stringify!(crypto_kdf_hkdf_sha512_state),
2038 "::",
2039 stringify!(st)
2040 )
2041 );
2042}
2043extern "C" {
2044 pub fn crypto_kdf_hkdf_sha512_statebytes() -> usize;
2045}
2046extern "C" {
2047 pub fn crypto_kdf_hkdf_sha512_extract_init(
2048 state: *mut crypto_kdf_hkdf_sha512_state,
2049 salt: *const libc::c_uchar,
2050 salt_len: usize,
2051 ) -> libc::c_int;
2052}
2053extern "C" {
2054 pub fn crypto_kdf_hkdf_sha512_extract_update(
2055 state: *mut crypto_kdf_hkdf_sha512_state,
2056 ikm: *const libc::c_uchar,
2057 ikm_len: usize,
2058 ) -> libc::c_int;
2059}
2060extern "C" {
2061 pub fn crypto_kdf_hkdf_sha512_extract_final(
2062 state: *mut crypto_kdf_hkdf_sha512_state,
2063 prk: *mut libc::c_uchar,
2064 ) -> libc::c_int;
2065}
2066extern "C" {
2067 pub fn crypto_kx_publickeybytes() -> usize;
2068}
2069extern "C" {
2070 pub fn crypto_kx_secretkeybytes() -> usize;
2071}
2072extern "C" {
2073 pub fn crypto_kx_seedbytes() -> usize;
2074}
2075extern "C" {
2076 pub fn crypto_kx_sessionkeybytes() -> usize;
2077}
2078extern "C" {
2079 pub fn crypto_kx_primitive() -> *const libc::c_char;
2080}
2081extern "C" {
2082 pub fn crypto_kx_seed_keypair(
2083 pk: *mut libc::c_uchar,
2084 sk: *mut libc::c_uchar,
2085 seed: *const libc::c_uchar,
2086 ) -> libc::c_int;
2087}
2088extern "C" {
2089 pub fn crypto_kx_keypair(pk: *mut libc::c_uchar, sk: *mut libc::c_uchar) -> libc::c_int;
2090}
2091extern "C" {
2092 pub fn crypto_kx_client_session_keys(
2093 rx: *mut libc::c_uchar,
2094 tx: *mut libc::c_uchar,
2095 client_pk: *const libc::c_uchar,
2096 client_sk: *const libc::c_uchar,
2097 server_pk: *const libc::c_uchar,
2098 ) -> libc::c_int;
2099}
2100extern "C" {
2101 pub fn crypto_kx_server_session_keys(
2102 rx: *mut libc::c_uchar,
2103 tx: *mut libc::c_uchar,
2104 server_pk: *const libc::c_uchar,
2105 server_sk: *const libc::c_uchar,
2106 client_pk: *const libc::c_uchar,
2107 ) -> libc::c_int;
2108}
2109#[repr(C)]
2110#[repr(align(16))]
2111#[derive(Debug, Copy, Clone)]
2112pub struct crypto_onetimeauth_poly1305_state {
2113 pub opaque: [libc::c_uchar; 256usize],
2114}
2115#[test]
2116fn bindgen_test_layout_crypto_onetimeauth_poly1305_state() {
2117 const UNINIT: ::core::mem::MaybeUninit<crypto_onetimeauth_poly1305_state> =
2118 ::core::mem::MaybeUninit::uninit();
2119 let ptr = UNINIT.as_ptr();
2120 assert_eq!(
2121 ::core::mem::size_of::<crypto_onetimeauth_poly1305_state>(),
2122 256usize,
2123 concat!("Size of: ", stringify!(crypto_onetimeauth_poly1305_state))
2124 );
2125 assert_eq!(
2126 ::core::mem::align_of::<crypto_onetimeauth_poly1305_state>(),
2127 16usize,
2128 concat!(
2129 "Alignment of ",
2130 stringify!(crypto_onetimeauth_poly1305_state)
2131 )
2132 );
2133 assert_eq!(
2134 unsafe { ::core::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
2135 0usize,
2136 concat!(
2137 "Offset of field: ",
2138 stringify!(crypto_onetimeauth_poly1305_state),
2139 "::",
2140 stringify!(opaque)
2141 )
2142 );
2143}
2144extern "C" {
2145 pub fn crypto_onetimeauth_poly1305_statebytes() -> usize;
2146}
2147extern "C" {
2148 pub fn crypto_onetimeauth_poly1305_bytes() -> usize;
2149}
2150extern "C" {
2151 pub fn crypto_onetimeauth_poly1305_keybytes() -> usize;
2152}
2153extern "C" {
2154 pub fn crypto_onetimeauth_poly1305(
2155 out: *mut libc::c_uchar,
2156 in_: *const libc::c_uchar,
2157 inlen: libc::c_ulonglong,
2158 k: *const libc::c_uchar,
2159 ) -> libc::c_int;
2160}
2161extern "C" {
2162 pub fn crypto_onetimeauth_poly1305_verify(
2163 h: *const libc::c_uchar,
2164 in_: *const libc::c_uchar,
2165 inlen: libc::c_ulonglong,
2166 k: *const libc::c_uchar,
2167 ) -> libc::c_int;
2168}
2169extern "C" {
2170 pub fn crypto_onetimeauth_poly1305_init(
2171 state: *mut crypto_onetimeauth_poly1305_state,
2172 key: *const libc::c_uchar,
2173 ) -> libc::c_int;
2174}
2175extern "C" {
2176 pub fn crypto_onetimeauth_poly1305_update(
2177 state: *mut crypto_onetimeauth_poly1305_state,
2178 in_: *const libc::c_uchar,
2179 inlen: libc::c_ulonglong,
2180 ) -> libc::c_int;
2181}
2182extern "C" {
2183 pub fn crypto_onetimeauth_poly1305_final(
2184 state: *mut crypto_onetimeauth_poly1305_state,
2185 out: *mut libc::c_uchar,
2186 ) -> libc::c_int;
2187}
2188extern "C" {
2189 pub fn crypto_onetimeauth_poly1305_keygen(k: *mut libc::c_uchar);
2190}
2191pub type crypto_onetimeauth_state = crypto_onetimeauth_poly1305_state;
2192extern "C" {
2193 pub fn crypto_onetimeauth_statebytes() -> usize;
2194}
2195extern "C" {
2196 pub fn crypto_onetimeauth_bytes() -> usize;
2197}
2198extern "C" {
2199 pub fn crypto_onetimeauth_keybytes() -> usize;
2200}
2201extern "C" {
2202 pub fn crypto_onetimeauth_primitive() -> *const libc::c_char;
2203}
2204extern "C" {
2205 pub fn crypto_onetimeauth(
2206 out: *mut libc::c_uchar,
2207 in_: *const libc::c_uchar,
2208 inlen: libc::c_ulonglong,
2209 k: *const libc::c_uchar,
2210 ) -> libc::c_int;
2211}
2212extern "C" {
2213 pub fn crypto_onetimeauth_verify(
2214 h: *const libc::c_uchar,
2215 in_: *const libc::c_uchar,
2216 inlen: libc::c_ulonglong,
2217 k: *const libc::c_uchar,
2218 ) -> libc::c_int;
2219}
2220extern "C" {
2221 pub fn crypto_onetimeauth_init(
2222 state: *mut crypto_onetimeauth_state,
2223 key: *const libc::c_uchar,
2224 ) -> libc::c_int;
2225}
2226extern "C" {
2227 pub fn crypto_onetimeauth_update(
2228 state: *mut crypto_onetimeauth_state,
2229 in_: *const libc::c_uchar,
2230 inlen: libc::c_ulonglong,
2231 ) -> libc::c_int;
2232}
2233extern "C" {
2234 pub fn crypto_onetimeauth_final(
2235 state: *mut crypto_onetimeauth_state,
2236 out: *mut libc::c_uchar,
2237 ) -> libc::c_int;
2238}
2239extern "C" {
2240 pub fn crypto_onetimeauth_keygen(k: *mut libc::c_uchar);
2241}
2242extern "C" {
2243 pub fn crypto_pwhash_argon2i_alg_argon2i13() -> libc::c_int;
2244}
2245extern "C" {
2246 pub fn crypto_pwhash_argon2i_bytes_min() -> usize;
2247}
2248extern "C" {
2249 pub fn crypto_pwhash_argon2i_bytes_max() -> usize;
2250}
2251extern "C" {
2252 pub fn crypto_pwhash_argon2i_passwd_min() -> usize;
2253}
2254extern "C" {
2255 pub fn crypto_pwhash_argon2i_passwd_max() -> usize;
2256}
2257extern "C" {
2258 pub fn crypto_pwhash_argon2i_saltbytes() -> usize;
2259}
2260extern "C" {
2261 pub fn crypto_pwhash_argon2i_strbytes() -> usize;
2262}
2263extern "C" {
2264 pub fn crypto_pwhash_argon2i_strprefix() -> *const libc::c_char;
2265}
2266extern "C" {
2267 pub fn crypto_pwhash_argon2i_opslimit_min() -> usize;
2268}
2269extern "C" {
2270 pub fn crypto_pwhash_argon2i_opslimit_max() -> usize;
2271}
2272extern "C" {
2273 pub fn crypto_pwhash_argon2i_memlimit_min() -> usize;
2274}
2275extern "C" {
2276 pub fn crypto_pwhash_argon2i_memlimit_max() -> usize;
2277}
2278extern "C" {
2279 pub fn crypto_pwhash_argon2i_opslimit_interactive() -> usize;
2280}
2281extern "C" {
2282 pub fn crypto_pwhash_argon2i_memlimit_interactive() -> usize;
2283}
2284extern "C" {
2285 pub fn crypto_pwhash_argon2i_opslimit_moderate() -> usize;
2286}
2287extern "C" {
2288 pub fn crypto_pwhash_argon2i_memlimit_moderate() -> usize;
2289}
2290extern "C" {
2291 pub fn crypto_pwhash_argon2i_opslimit_sensitive() -> usize;
2292}
2293extern "C" {
2294 pub fn crypto_pwhash_argon2i_memlimit_sensitive() -> usize;
2295}
2296extern "C" {
2297 pub fn crypto_pwhash_argon2i(
2298 out: *mut libc::c_uchar,
2299 outlen: libc::c_ulonglong,
2300 passwd: *const libc::c_char,
2301 passwdlen: libc::c_ulonglong,
2302 salt: *const libc::c_uchar,
2303 opslimit: libc::c_ulonglong,
2304 memlimit: usize,
2305 alg: libc::c_int,
2306 ) -> libc::c_int;
2307}
2308extern "C" {
2309 pub fn crypto_pwhash_argon2i_str(
2310 out: *mut libc::c_char,
2311 passwd: *const libc::c_char,
2312 passwdlen: libc::c_ulonglong,
2313 opslimit: libc::c_ulonglong,
2314 memlimit: usize,
2315 ) -> libc::c_int;
2316}
2317extern "C" {
2318 pub fn crypto_pwhash_argon2i_str_verify(
2319 str_: *const libc::c_char,
2320 passwd: *const libc::c_char,
2321 passwdlen: libc::c_ulonglong,
2322 ) -> libc::c_int;
2323}
2324extern "C" {
2325 pub fn crypto_pwhash_argon2i_str_needs_rehash(
2326 str_: *const libc::c_char,
2327 opslimit: libc::c_ulonglong,
2328 memlimit: usize,
2329 ) -> libc::c_int;
2330}
2331extern "C" {
2332 pub fn crypto_pwhash_argon2id_alg_argon2id13() -> libc::c_int;
2333}
2334extern "C" {
2335 pub fn crypto_pwhash_argon2id_bytes_min() -> usize;
2336}
2337extern "C" {
2338 pub fn crypto_pwhash_argon2id_bytes_max() -> usize;
2339}
2340extern "C" {
2341 pub fn crypto_pwhash_argon2id_passwd_min() -> usize;
2342}
2343extern "C" {
2344 pub fn crypto_pwhash_argon2id_passwd_max() -> usize;
2345}
2346extern "C" {
2347 pub fn crypto_pwhash_argon2id_saltbytes() -> usize;
2348}
2349extern "C" {
2350 pub fn crypto_pwhash_argon2id_strbytes() -> usize;
2351}
2352extern "C" {
2353 pub fn crypto_pwhash_argon2id_strprefix() -> *const libc::c_char;
2354}
2355extern "C" {
2356 pub fn crypto_pwhash_argon2id_opslimit_min() -> usize;
2357}
2358extern "C" {
2359 pub fn crypto_pwhash_argon2id_opslimit_max() -> usize;
2360}
2361extern "C" {
2362 pub fn crypto_pwhash_argon2id_memlimit_min() -> usize;
2363}
2364extern "C" {
2365 pub fn crypto_pwhash_argon2id_memlimit_max() -> usize;
2366}
2367extern "C" {
2368 pub fn crypto_pwhash_argon2id_opslimit_interactive() -> usize;
2369}
2370extern "C" {
2371 pub fn crypto_pwhash_argon2id_memlimit_interactive() -> usize;
2372}
2373extern "C" {
2374 pub fn crypto_pwhash_argon2id_opslimit_moderate() -> usize;
2375}
2376extern "C" {
2377 pub fn crypto_pwhash_argon2id_memlimit_moderate() -> usize;
2378}
2379extern "C" {
2380 pub fn crypto_pwhash_argon2id_opslimit_sensitive() -> usize;
2381}
2382extern "C" {
2383 pub fn crypto_pwhash_argon2id_memlimit_sensitive() -> usize;
2384}
2385extern "C" {
2386 pub fn crypto_pwhash_argon2id(
2387 out: *mut libc::c_uchar,
2388 outlen: libc::c_ulonglong,
2389 passwd: *const libc::c_char,
2390 passwdlen: libc::c_ulonglong,
2391 salt: *const libc::c_uchar,
2392 opslimit: libc::c_ulonglong,
2393 memlimit: usize,
2394 alg: libc::c_int,
2395 ) -> libc::c_int;
2396}
2397extern "C" {
2398 pub fn crypto_pwhash_argon2id_str(
2399 out: *mut libc::c_char,
2400 passwd: *const libc::c_char,
2401 passwdlen: libc::c_ulonglong,
2402 opslimit: libc::c_ulonglong,
2403 memlimit: usize,
2404 ) -> libc::c_int;
2405}
2406extern "C" {
2407 pub fn crypto_pwhash_argon2id_str_verify(
2408 str_: *const libc::c_char,
2409 passwd: *const libc::c_char,
2410 passwdlen: libc::c_ulonglong,
2411 ) -> libc::c_int;
2412}
2413extern "C" {
2414 pub fn crypto_pwhash_argon2id_str_needs_rehash(
2415 str_: *const libc::c_char,
2416 opslimit: libc::c_ulonglong,
2417 memlimit: usize,
2418 ) -> libc::c_int;
2419}
2420extern "C" {
2421 pub fn crypto_pwhash_alg_argon2i13() -> libc::c_int;
2422}
2423extern "C" {
2424 pub fn crypto_pwhash_alg_argon2id13() -> libc::c_int;
2425}
2426extern "C" {
2427 pub fn crypto_pwhash_alg_default() -> libc::c_int;
2428}
2429extern "C" {
2430 pub fn crypto_pwhash_bytes_min() -> usize;
2431}
2432extern "C" {
2433 pub fn crypto_pwhash_bytes_max() -> usize;
2434}
2435extern "C" {
2436 pub fn crypto_pwhash_passwd_min() -> usize;
2437}
2438extern "C" {
2439 pub fn crypto_pwhash_passwd_max() -> usize;
2440}
2441extern "C" {
2442 pub fn crypto_pwhash_saltbytes() -> usize;
2443}
2444extern "C" {
2445 pub fn crypto_pwhash_strbytes() -> usize;
2446}
2447extern "C" {
2448 pub fn crypto_pwhash_strprefix() -> *const libc::c_char;
2449}
2450extern "C" {
2451 pub fn crypto_pwhash_opslimit_min() -> usize;
2452}
2453extern "C" {
2454 pub fn crypto_pwhash_opslimit_max() -> usize;
2455}
2456extern "C" {
2457 pub fn crypto_pwhash_memlimit_min() -> usize;
2458}
2459extern "C" {
2460 pub fn crypto_pwhash_memlimit_max() -> usize;
2461}
2462extern "C" {
2463 pub fn crypto_pwhash_opslimit_interactive() -> usize;
2464}
2465extern "C" {
2466 pub fn crypto_pwhash_memlimit_interactive() -> usize;
2467}
2468extern "C" {
2469 pub fn crypto_pwhash_opslimit_moderate() -> usize;
2470}
2471extern "C" {
2472 pub fn crypto_pwhash_memlimit_moderate() -> usize;
2473}
2474extern "C" {
2475 pub fn crypto_pwhash_opslimit_sensitive() -> usize;
2476}
2477extern "C" {
2478 pub fn crypto_pwhash_memlimit_sensitive() -> usize;
2479}
2480extern "C" {
2481 pub fn crypto_pwhash(
2482 out: *mut libc::c_uchar,
2483 outlen: libc::c_ulonglong,
2484 passwd: *const libc::c_char,
2485 passwdlen: libc::c_ulonglong,
2486 salt: *const libc::c_uchar,
2487 opslimit: libc::c_ulonglong,
2488 memlimit: usize,
2489 alg: libc::c_int,
2490 ) -> libc::c_int;
2491}
2492extern "C" {
2493 pub fn crypto_pwhash_str(
2494 out: *mut libc::c_char,
2495 passwd: *const libc::c_char,
2496 passwdlen: libc::c_ulonglong,
2497 opslimit: libc::c_ulonglong,
2498 memlimit: usize,
2499 ) -> libc::c_int;
2500}
2501extern "C" {
2502 pub fn crypto_pwhash_str_alg(
2503 out: *mut libc::c_char,
2504 passwd: *const libc::c_char,
2505 passwdlen: libc::c_ulonglong,
2506 opslimit: libc::c_ulonglong,
2507 memlimit: usize,
2508 alg: libc::c_int,
2509 ) -> libc::c_int;
2510}
2511extern "C" {
2512 pub fn crypto_pwhash_str_verify(
2513 str_: *const libc::c_char,
2514 passwd: *const libc::c_char,
2515 passwdlen: libc::c_ulonglong,
2516 ) -> libc::c_int;
2517}
2518extern "C" {
2519 pub fn crypto_pwhash_str_needs_rehash(
2520 str_: *const libc::c_char,
2521 opslimit: libc::c_ulonglong,
2522 memlimit: usize,
2523 ) -> libc::c_int;
2524}
2525extern "C" {
2526 pub fn crypto_pwhash_primitive() -> *const libc::c_char;
2527}
2528extern "C" {
2529 pub fn crypto_scalarmult_curve25519_bytes() -> usize;
2530}
2531extern "C" {
2532 pub fn crypto_scalarmult_curve25519_scalarbytes() -> usize;
2533}
2534extern "C" {
2535 pub fn crypto_scalarmult_curve25519(
2536 q: *mut libc::c_uchar,
2537 n: *const libc::c_uchar,
2538 p: *const libc::c_uchar,
2539 ) -> libc::c_int;
2540}
2541extern "C" {
2542 pub fn crypto_scalarmult_curve25519_base(
2543 q: *mut libc::c_uchar,
2544 n: *const libc::c_uchar,
2545 ) -> libc::c_int;
2546}
2547extern "C" {
2548 pub fn crypto_scalarmult_bytes() -> usize;
2549}
2550extern "C" {
2551 pub fn crypto_scalarmult_scalarbytes() -> usize;
2552}
2553extern "C" {
2554 pub fn crypto_scalarmult_primitive() -> *const libc::c_char;
2555}
2556extern "C" {
2557 pub fn crypto_scalarmult_base(q: *mut libc::c_uchar, n: *const libc::c_uchar) -> libc::c_int;
2558}
2559extern "C" {
2560 pub fn crypto_scalarmult(
2561 q: *mut libc::c_uchar,
2562 n: *const libc::c_uchar,
2563 p: *const libc::c_uchar,
2564 ) -> libc::c_int;
2565}
2566extern "C" {
2567 pub fn crypto_secretbox_xsalsa20poly1305_keybytes() -> usize;
2568}
2569extern "C" {
2570 pub fn crypto_secretbox_xsalsa20poly1305_noncebytes() -> usize;
2571}
2572extern "C" {
2573 pub fn crypto_secretbox_xsalsa20poly1305_macbytes() -> usize;
2574}
2575extern "C" {
2576 pub fn crypto_secretbox_xsalsa20poly1305_messagebytes_max() -> usize;
2577}
2578extern "C" {
2579 pub fn crypto_secretbox_xsalsa20poly1305(
2580 c: *mut libc::c_uchar,
2581 m: *const libc::c_uchar,
2582 mlen: libc::c_ulonglong,
2583 n: *const libc::c_uchar,
2584 k: *const libc::c_uchar,
2585 ) -> libc::c_int;
2586}
2587extern "C" {
2588 pub fn crypto_secretbox_xsalsa20poly1305_open(
2589 m: *mut libc::c_uchar,
2590 c: *const libc::c_uchar,
2591 clen: libc::c_ulonglong,
2592 n: *const libc::c_uchar,
2593 k: *const libc::c_uchar,
2594 ) -> libc::c_int;
2595}
2596extern "C" {
2597 pub fn crypto_secretbox_xsalsa20poly1305_keygen(k: *mut libc::c_uchar);
2598}
2599extern "C" {
2600 pub fn crypto_secretbox_xsalsa20poly1305_boxzerobytes() -> usize;
2601}
2602extern "C" {
2603 pub fn crypto_secretbox_xsalsa20poly1305_zerobytes() -> usize;
2604}
2605extern "C" {
2606 pub fn crypto_secretbox_keybytes() -> usize;
2607}
2608extern "C" {
2609 pub fn crypto_secretbox_noncebytes() -> usize;
2610}
2611extern "C" {
2612 pub fn crypto_secretbox_macbytes() -> usize;
2613}
2614extern "C" {
2615 pub fn crypto_secretbox_primitive() -> *const libc::c_char;
2616}
2617extern "C" {
2618 pub fn crypto_secretbox_messagebytes_max() -> usize;
2619}
2620extern "C" {
2621 pub fn crypto_secretbox_easy(
2622 c: *mut libc::c_uchar,
2623 m: *const libc::c_uchar,
2624 mlen: libc::c_ulonglong,
2625 n: *const libc::c_uchar,
2626 k: *const libc::c_uchar,
2627 ) -> libc::c_int;
2628}
2629extern "C" {
2630 pub fn crypto_secretbox_open_easy(
2631 m: *mut libc::c_uchar,
2632 c: *const libc::c_uchar,
2633 clen: libc::c_ulonglong,
2634 n: *const libc::c_uchar,
2635 k: *const libc::c_uchar,
2636 ) -> libc::c_int;
2637}
2638extern "C" {
2639 pub fn crypto_secretbox_detached(
2640 c: *mut libc::c_uchar,
2641 mac: *mut libc::c_uchar,
2642 m: *const libc::c_uchar,
2643 mlen: libc::c_ulonglong,
2644 n: *const libc::c_uchar,
2645 k: *const libc::c_uchar,
2646 ) -> libc::c_int;
2647}
2648extern "C" {
2649 pub fn crypto_secretbox_open_detached(
2650 m: *mut libc::c_uchar,
2651 c: *const libc::c_uchar,
2652 mac: *const libc::c_uchar,
2653 clen: libc::c_ulonglong,
2654 n: *const libc::c_uchar,
2655 k: *const libc::c_uchar,
2656 ) -> libc::c_int;
2657}
2658extern "C" {
2659 pub fn crypto_secretbox_keygen(k: *mut libc::c_uchar);
2660}
2661extern "C" {
2662 pub fn crypto_secretbox_zerobytes() -> usize;
2663}
2664extern "C" {
2665 pub fn crypto_secretbox_boxzerobytes() -> usize;
2666}
2667extern "C" {
2668 pub fn crypto_secretbox(
2669 c: *mut libc::c_uchar,
2670 m: *const libc::c_uchar,
2671 mlen: libc::c_ulonglong,
2672 n: *const libc::c_uchar,
2673 k: *const libc::c_uchar,
2674 ) -> libc::c_int;
2675}
2676extern "C" {
2677 pub fn crypto_secretbox_open(
2678 m: *mut libc::c_uchar,
2679 c: *const libc::c_uchar,
2680 clen: libc::c_ulonglong,
2681 n: *const libc::c_uchar,
2682 k: *const libc::c_uchar,
2683 ) -> libc::c_int;
2684}
2685extern "C" {
2686 pub fn crypto_stream_chacha20_keybytes() -> usize;
2687}
2688extern "C" {
2689 pub fn crypto_stream_chacha20_noncebytes() -> usize;
2690}
2691extern "C" {
2692 pub fn crypto_stream_chacha20_messagebytes_max() -> usize;
2693}
2694extern "C" {
2695 pub fn crypto_stream_chacha20(
2696 c: *mut libc::c_uchar,
2697 clen: libc::c_ulonglong,
2698 n: *const libc::c_uchar,
2699 k: *const libc::c_uchar,
2700 ) -> libc::c_int;
2701}
2702extern "C" {
2703 pub fn crypto_stream_chacha20_xor(
2704 c: *mut libc::c_uchar,
2705 m: *const libc::c_uchar,
2706 mlen: libc::c_ulonglong,
2707 n: *const libc::c_uchar,
2708 k: *const libc::c_uchar,
2709 ) -> libc::c_int;
2710}
2711extern "C" {
2712 pub fn crypto_stream_chacha20_xor_ic(
2713 c: *mut libc::c_uchar,
2714 m: *const libc::c_uchar,
2715 mlen: libc::c_ulonglong,
2716 n: *const libc::c_uchar,
2717 ic: u64,
2718 k: *const libc::c_uchar,
2719 ) -> libc::c_int;
2720}
2721extern "C" {
2722 pub fn crypto_stream_chacha20_keygen(k: *mut libc::c_uchar);
2723}
2724extern "C" {
2725 pub fn crypto_stream_chacha20_ietf_keybytes() -> usize;
2726}
2727extern "C" {
2728 pub fn crypto_stream_chacha20_ietf_noncebytes() -> usize;
2729}
2730extern "C" {
2731 pub fn crypto_stream_chacha20_ietf_messagebytes_max() -> usize;
2732}
2733extern "C" {
2734 pub fn crypto_stream_chacha20_ietf(
2735 c: *mut libc::c_uchar,
2736 clen: libc::c_ulonglong,
2737 n: *const libc::c_uchar,
2738 k: *const libc::c_uchar,
2739 ) -> libc::c_int;
2740}
2741extern "C" {
2742 pub fn crypto_stream_chacha20_ietf_xor(
2743 c: *mut libc::c_uchar,
2744 m: *const libc::c_uchar,
2745 mlen: libc::c_ulonglong,
2746 n: *const libc::c_uchar,
2747 k: *const libc::c_uchar,
2748 ) -> libc::c_int;
2749}
2750extern "C" {
2751 pub fn crypto_stream_chacha20_ietf_xor_ic(
2752 c: *mut libc::c_uchar,
2753 m: *const libc::c_uchar,
2754 mlen: libc::c_ulonglong,
2755 n: *const libc::c_uchar,
2756 ic: u32,
2757 k: *const libc::c_uchar,
2758 ) -> libc::c_int;
2759}
2760extern "C" {
2761 pub fn crypto_stream_chacha20_ietf_keygen(k: *mut libc::c_uchar);
2762}
2763extern "C" {
2764 pub fn crypto_secretstream_xchacha20poly1305_abytes() -> usize;
2765}
2766extern "C" {
2767 pub fn crypto_secretstream_xchacha20poly1305_headerbytes() -> usize;
2768}
2769extern "C" {
2770 pub fn crypto_secretstream_xchacha20poly1305_keybytes() -> usize;
2771}
2772extern "C" {
2773 pub fn crypto_secretstream_xchacha20poly1305_messagebytes_max() -> usize;
2774}
2775extern "C" {
2776 pub fn crypto_secretstream_xchacha20poly1305_tag_message() -> libc::c_uchar;
2777}
2778extern "C" {
2779 pub fn crypto_secretstream_xchacha20poly1305_tag_push() -> libc::c_uchar;
2780}
2781extern "C" {
2782 pub fn crypto_secretstream_xchacha20poly1305_tag_rekey() -> libc::c_uchar;
2783}
2784extern "C" {
2785 pub fn crypto_secretstream_xchacha20poly1305_tag_final() -> libc::c_uchar;
2786}
2787#[repr(C)]
2788#[derive(Debug, Copy, Clone)]
2789pub struct crypto_secretstream_xchacha20poly1305_state {
2790 pub k: [libc::c_uchar; 32usize],
2791 pub nonce: [libc::c_uchar; 12usize],
2792 pub _pad: [libc::c_uchar; 8usize],
2793}
2794#[test]
2795fn bindgen_test_layout_crypto_secretstream_xchacha20poly1305_state() {
2796 const UNINIT: ::core::mem::MaybeUninit<crypto_secretstream_xchacha20poly1305_state> =
2797 ::core::mem::MaybeUninit::uninit();
2798 let ptr = UNINIT.as_ptr();
2799 assert_eq!(
2800 ::core::mem::size_of::<crypto_secretstream_xchacha20poly1305_state>(),
2801 52usize,
2802 concat!(
2803 "Size of: ",
2804 stringify!(crypto_secretstream_xchacha20poly1305_state)
2805 )
2806 );
2807 assert_eq!(
2808 ::core::mem::align_of::<crypto_secretstream_xchacha20poly1305_state>(),
2809 1usize,
2810 concat!(
2811 "Alignment of ",
2812 stringify!(crypto_secretstream_xchacha20poly1305_state)
2813 )
2814 );
2815 assert_eq!(
2816 unsafe { ::core::ptr::addr_of!((*ptr).k) as usize - ptr as usize },
2817 0usize,
2818 concat!(
2819 "Offset of field: ",
2820 stringify!(crypto_secretstream_xchacha20poly1305_state),
2821 "::",
2822 stringify!(k)
2823 )
2824 );
2825 assert_eq!(
2826 unsafe { ::core::ptr::addr_of!((*ptr).nonce) as usize - ptr as usize },
2827 32usize,
2828 concat!(
2829 "Offset of field: ",
2830 stringify!(crypto_secretstream_xchacha20poly1305_state),
2831 "::",
2832 stringify!(nonce)
2833 )
2834 );
2835 assert_eq!(
2836 unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
2837 44usize,
2838 concat!(
2839 "Offset of field: ",
2840 stringify!(crypto_secretstream_xchacha20poly1305_state),
2841 "::",
2842 stringify!(_pad)
2843 )
2844 );
2845}
2846extern "C" {
2847 pub fn crypto_secretstream_xchacha20poly1305_statebytes() -> usize;
2848}
2849extern "C" {
2850 pub fn crypto_secretstream_xchacha20poly1305_keygen(k: *mut libc::c_uchar);
2851}
2852extern "C" {
2853 pub fn crypto_secretstream_xchacha20poly1305_init_push(
2854 state: *mut crypto_secretstream_xchacha20poly1305_state,
2855 header: *mut libc::c_uchar,
2856 k: *const libc::c_uchar,
2857 ) -> libc::c_int;
2858}
2859extern "C" {
2860 pub fn crypto_secretstream_xchacha20poly1305_push(
2861 state: *mut crypto_secretstream_xchacha20poly1305_state,
2862 c: *mut libc::c_uchar,
2863 clen_p: *mut libc::c_ulonglong,
2864 m: *const libc::c_uchar,
2865 mlen: libc::c_ulonglong,
2866 ad: *const libc::c_uchar,
2867 adlen: libc::c_ulonglong,
2868 tag: libc::c_uchar,
2869 ) -> libc::c_int;
2870}
2871extern "C" {
2872 pub fn crypto_secretstream_xchacha20poly1305_init_pull(
2873 state: *mut crypto_secretstream_xchacha20poly1305_state,
2874 header: *const libc::c_uchar,
2875 k: *const libc::c_uchar,
2876 ) -> libc::c_int;
2877}
2878extern "C" {
2879 pub fn crypto_secretstream_xchacha20poly1305_pull(
2880 state: *mut crypto_secretstream_xchacha20poly1305_state,
2881 m: *mut libc::c_uchar,
2882 mlen_p: *mut libc::c_ulonglong,
2883 tag_p: *mut libc::c_uchar,
2884 c: *const libc::c_uchar,
2885 clen: libc::c_ulonglong,
2886 ad: *const libc::c_uchar,
2887 adlen: libc::c_ulonglong,
2888 ) -> libc::c_int;
2889}
2890extern "C" {
2891 pub fn crypto_secretstream_xchacha20poly1305_rekey(
2892 state: *mut crypto_secretstream_xchacha20poly1305_state,
2893 );
2894}
2895extern "C" {
2896 pub fn crypto_shorthash_siphash24_bytes() -> usize;
2897}
2898extern "C" {
2899 pub fn crypto_shorthash_siphash24_keybytes() -> usize;
2900}
2901extern "C" {
2902 pub fn crypto_shorthash_siphash24(
2903 out: *mut libc::c_uchar,
2904 in_: *const libc::c_uchar,
2905 inlen: libc::c_ulonglong,
2906 k: *const libc::c_uchar,
2907 ) -> libc::c_int;
2908}
2909extern "C" {
2910 pub fn crypto_shorthash_siphashx24_bytes() -> usize;
2911}
2912extern "C" {
2913 pub fn crypto_shorthash_siphashx24_keybytes() -> usize;
2914}
2915extern "C" {
2916 pub fn crypto_shorthash_siphashx24(
2917 out: *mut libc::c_uchar,
2918 in_: *const libc::c_uchar,
2919 inlen: libc::c_ulonglong,
2920 k: *const libc::c_uchar,
2921 ) -> libc::c_int;
2922}
2923extern "C" {
2924 pub fn crypto_shorthash_bytes() -> usize;
2925}
2926extern "C" {
2927 pub fn crypto_shorthash_keybytes() -> usize;
2928}
2929extern "C" {
2930 pub fn crypto_shorthash_primitive() -> *const libc::c_char;
2931}
2932extern "C" {
2933 pub fn crypto_shorthash(
2934 out: *mut libc::c_uchar,
2935 in_: *const libc::c_uchar,
2936 inlen: libc::c_ulonglong,
2937 k: *const libc::c_uchar,
2938 ) -> libc::c_int;
2939}
2940extern "C" {
2941 pub fn crypto_shorthash_keygen(k: *mut libc::c_uchar);
2942}
2943#[repr(C)]
2944#[derive(Debug, Copy, Clone)]
2945pub struct crypto_sign_ed25519ph_state {
2946 pub hs: crypto_hash_sha512_state,
2947}
2948#[test]
2949fn bindgen_test_layout_crypto_sign_ed25519ph_state() {
2950 const UNINIT: ::core::mem::MaybeUninit<crypto_sign_ed25519ph_state> =
2951 ::core::mem::MaybeUninit::uninit();
2952 let ptr = UNINIT.as_ptr();
2953 assert_eq!(
2954 ::core::mem::size_of::<crypto_sign_ed25519ph_state>(),
2955 208usize,
2956 concat!("Size of: ", stringify!(crypto_sign_ed25519ph_state))
2957 );
2958 assert_eq!(
2959 ::core::mem::align_of::<crypto_sign_ed25519ph_state>(),
2960 8usize,
2961 concat!("Alignment of ", stringify!(crypto_sign_ed25519ph_state))
2962 );
2963 assert_eq!(
2964 unsafe { ::core::ptr::addr_of!((*ptr).hs) as usize - ptr as usize },
2965 0usize,
2966 concat!(
2967 "Offset of field: ",
2968 stringify!(crypto_sign_ed25519ph_state),
2969 "::",
2970 stringify!(hs)
2971 )
2972 );
2973}
2974extern "C" {
2975 pub fn crypto_sign_ed25519ph_statebytes() -> usize;
2976}
2977extern "C" {
2978 pub fn crypto_sign_ed25519_bytes() -> usize;
2979}
2980extern "C" {
2981 pub fn crypto_sign_ed25519_seedbytes() -> usize;
2982}
2983extern "C" {
2984 pub fn crypto_sign_ed25519_publickeybytes() -> usize;
2985}
2986extern "C" {
2987 pub fn crypto_sign_ed25519_secretkeybytes() -> usize;
2988}
2989extern "C" {
2990 pub fn crypto_sign_ed25519_messagebytes_max() -> usize;
2991}
2992extern "C" {
2993 pub fn crypto_sign_ed25519(
2994 sm: *mut libc::c_uchar,
2995 smlen_p: *mut libc::c_ulonglong,
2996 m: *const libc::c_uchar,
2997 mlen: libc::c_ulonglong,
2998 sk: *const libc::c_uchar,
2999 ) -> libc::c_int;
3000}
3001extern "C" {
3002 pub fn crypto_sign_ed25519_open(
3003 m: *mut libc::c_uchar,
3004 mlen_p: *mut libc::c_ulonglong,
3005 sm: *const libc::c_uchar,
3006 smlen: libc::c_ulonglong,
3007 pk: *const libc::c_uchar,
3008 ) -> libc::c_int;
3009}
3010extern "C" {
3011 pub fn crypto_sign_ed25519_detached(
3012 sig: *mut libc::c_uchar,
3013 siglen_p: *mut libc::c_ulonglong,
3014 m: *const libc::c_uchar,
3015 mlen: libc::c_ulonglong,
3016 sk: *const libc::c_uchar,
3017 ) -> libc::c_int;
3018}
3019extern "C" {
3020 pub fn crypto_sign_ed25519_verify_detached(
3021 sig: *const libc::c_uchar,
3022 m: *const libc::c_uchar,
3023 mlen: libc::c_ulonglong,
3024 pk: *const libc::c_uchar,
3025 ) -> libc::c_int;
3026}
3027extern "C" {
3028 pub fn crypto_sign_ed25519_keypair(
3029 pk: *mut libc::c_uchar,
3030 sk: *mut libc::c_uchar,
3031 ) -> libc::c_int;
3032}
3033extern "C" {
3034 pub fn crypto_sign_ed25519_seed_keypair(
3035 pk: *mut libc::c_uchar,
3036 sk: *mut libc::c_uchar,
3037 seed: *const libc::c_uchar,
3038 ) -> libc::c_int;
3039}
3040extern "C" {
3041 pub fn crypto_sign_ed25519_pk_to_curve25519(
3042 curve25519_pk: *mut libc::c_uchar,
3043 ed25519_pk: *const libc::c_uchar,
3044 ) -> libc::c_int;
3045}
3046extern "C" {
3047 pub fn crypto_sign_ed25519_sk_to_curve25519(
3048 curve25519_sk: *mut libc::c_uchar,
3049 ed25519_sk: *const libc::c_uchar,
3050 ) -> libc::c_int;
3051}
3052extern "C" {
3053 pub fn crypto_sign_ed25519_sk_to_seed(
3054 seed: *mut libc::c_uchar,
3055 sk: *const libc::c_uchar,
3056 ) -> libc::c_int;
3057}
3058extern "C" {
3059 pub fn crypto_sign_ed25519_sk_to_pk(
3060 pk: *mut libc::c_uchar,
3061 sk: *const libc::c_uchar,
3062 ) -> libc::c_int;
3063}
3064extern "C" {
3065 pub fn crypto_sign_ed25519ph_init(state: *mut crypto_sign_ed25519ph_state) -> libc::c_int;
3066}
3067extern "C" {
3068 pub fn crypto_sign_ed25519ph_update(
3069 state: *mut crypto_sign_ed25519ph_state,
3070 m: *const libc::c_uchar,
3071 mlen: libc::c_ulonglong,
3072 ) -> libc::c_int;
3073}
3074extern "C" {
3075 pub fn crypto_sign_ed25519ph_final_create(
3076 state: *mut crypto_sign_ed25519ph_state,
3077 sig: *mut libc::c_uchar,
3078 siglen_p: *mut libc::c_ulonglong,
3079 sk: *const libc::c_uchar,
3080 ) -> libc::c_int;
3081}
3082extern "C" {
3083 pub fn crypto_sign_ed25519ph_final_verify(
3084 state: *mut crypto_sign_ed25519ph_state,
3085 sig: *const libc::c_uchar,
3086 pk: *const libc::c_uchar,
3087 ) -> libc::c_int;
3088}
3089pub type crypto_sign_state = crypto_sign_ed25519ph_state;
3090extern "C" {
3091 pub fn crypto_sign_statebytes() -> usize;
3092}
3093extern "C" {
3094 pub fn crypto_sign_bytes() -> usize;
3095}
3096extern "C" {
3097 pub fn crypto_sign_seedbytes() -> usize;
3098}
3099extern "C" {
3100 pub fn crypto_sign_publickeybytes() -> usize;
3101}
3102extern "C" {
3103 pub fn crypto_sign_secretkeybytes() -> usize;
3104}
3105extern "C" {
3106 pub fn crypto_sign_messagebytes_max() -> usize;
3107}
3108extern "C" {
3109 pub fn crypto_sign_primitive() -> *const libc::c_char;
3110}
3111extern "C" {
3112 pub fn crypto_sign_seed_keypair(
3113 pk: *mut libc::c_uchar,
3114 sk: *mut libc::c_uchar,
3115 seed: *const libc::c_uchar,
3116 ) -> libc::c_int;
3117}
3118extern "C" {
3119 pub fn crypto_sign_keypair(pk: *mut libc::c_uchar, sk: *mut libc::c_uchar) -> libc::c_int;
3120}
3121extern "C" {
3122 pub fn crypto_sign(
3123 sm: *mut libc::c_uchar,
3124 smlen_p: *mut libc::c_ulonglong,
3125 m: *const libc::c_uchar,
3126 mlen: libc::c_ulonglong,
3127 sk: *const libc::c_uchar,
3128 ) -> libc::c_int;
3129}
3130extern "C" {
3131 pub fn crypto_sign_open(
3132 m: *mut libc::c_uchar,
3133 mlen_p: *mut libc::c_ulonglong,
3134 sm: *const libc::c_uchar,
3135 smlen: libc::c_ulonglong,
3136 pk: *const libc::c_uchar,
3137 ) -> libc::c_int;
3138}
3139extern "C" {
3140 pub fn crypto_sign_detached(
3141 sig: *mut libc::c_uchar,
3142 siglen_p: *mut libc::c_ulonglong,
3143 m: *const libc::c_uchar,
3144 mlen: libc::c_ulonglong,
3145 sk: *const libc::c_uchar,
3146 ) -> libc::c_int;
3147}
3148extern "C" {
3149 pub fn crypto_sign_verify_detached(
3150 sig: *const libc::c_uchar,
3151 m: *const libc::c_uchar,
3152 mlen: libc::c_ulonglong,
3153 pk: *const libc::c_uchar,
3154 ) -> libc::c_int;
3155}
3156extern "C" {
3157 pub fn crypto_sign_init(state: *mut crypto_sign_state) -> libc::c_int;
3158}
3159extern "C" {
3160 pub fn crypto_sign_update(
3161 state: *mut crypto_sign_state,
3162 m: *const libc::c_uchar,
3163 mlen: libc::c_ulonglong,
3164 ) -> libc::c_int;
3165}
3166extern "C" {
3167 pub fn crypto_sign_final_create(
3168 state: *mut crypto_sign_state,
3169 sig: *mut libc::c_uchar,
3170 siglen_p: *mut libc::c_ulonglong,
3171 sk: *const libc::c_uchar,
3172 ) -> libc::c_int;
3173}
3174extern "C" {
3175 pub fn crypto_sign_final_verify(
3176 state: *mut crypto_sign_state,
3177 sig: *const libc::c_uchar,
3178 pk: *const libc::c_uchar,
3179 ) -> libc::c_int;
3180}
3181extern "C" {
3182 pub fn crypto_stream_keybytes() -> usize;
3183}
3184extern "C" {
3185 pub fn crypto_stream_noncebytes() -> usize;
3186}
3187extern "C" {
3188 pub fn crypto_stream_messagebytes_max() -> usize;
3189}
3190extern "C" {
3191 pub fn crypto_stream_primitive() -> *const libc::c_char;
3192}
3193extern "C" {
3194 pub fn crypto_stream(
3195 c: *mut libc::c_uchar,
3196 clen: libc::c_ulonglong,
3197 n: *const libc::c_uchar,
3198 k: *const libc::c_uchar,
3199 ) -> libc::c_int;
3200}
3201extern "C" {
3202 pub fn crypto_stream_xor(
3203 c: *mut libc::c_uchar,
3204 m: *const libc::c_uchar,
3205 mlen: libc::c_ulonglong,
3206 n: *const libc::c_uchar,
3207 k: *const libc::c_uchar,
3208 ) -> libc::c_int;
3209}
3210extern "C" {
3211 pub fn crypto_stream_keygen(k: *mut libc::c_uchar);
3212}
3213extern "C" {
3214 pub fn crypto_stream_salsa20_keybytes() -> usize;
3215}
3216extern "C" {
3217 pub fn crypto_stream_salsa20_noncebytes() -> usize;
3218}
3219extern "C" {
3220 pub fn crypto_stream_salsa20_messagebytes_max() -> usize;
3221}
3222extern "C" {
3223 pub fn crypto_stream_salsa20(
3224 c: *mut libc::c_uchar,
3225 clen: libc::c_ulonglong,
3226 n: *const libc::c_uchar,
3227 k: *const libc::c_uchar,
3228 ) -> libc::c_int;
3229}
3230extern "C" {
3231 pub fn crypto_stream_salsa20_xor(
3232 c: *mut libc::c_uchar,
3233 m: *const libc::c_uchar,
3234 mlen: libc::c_ulonglong,
3235 n: *const libc::c_uchar,
3236 k: *const libc::c_uchar,
3237 ) -> libc::c_int;
3238}
3239extern "C" {
3240 pub fn crypto_stream_salsa20_xor_ic(
3241 c: *mut libc::c_uchar,
3242 m: *const libc::c_uchar,
3243 mlen: libc::c_ulonglong,
3244 n: *const libc::c_uchar,
3245 ic: u64,
3246 k: *const libc::c_uchar,
3247 ) -> libc::c_int;
3248}
3249extern "C" {
3250 pub fn crypto_stream_salsa20_keygen(k: *mut libc::c_uchar);
3251}
3252extern "C" {
3253 pub fn crypto_verify_16_bytes() -> usize;
3254}
3255extern "C" {
3256 pub fn crypto_verify_16(x: *const libc::c_uchar, y: *const libc::c_uchar) -> libc::c_int;
3257}
3258extern "C" {
3259 pub fn crypto_verify_32_bytes() -> usize;
3260}
3261extern "C" {
3262 pub fn crypto_verify_32(x: *const libc::c_uchar, y: *const libc::c_uchar) -> libc::c_int;
3263}
3264extern "C" {
3265 pub fn crypto_verify_64_bytes() -> usize;
3266}
3267extern "C" {
3268 pub fn crypto_verify_64(x: *const libc::c_uchar, y: *const libc::c_uchar) -> libc::c_int;
3269}
3270#[repr(C)]
3271#[derive(Debug, Copy, Clone)]
3272pub struct randombytes_implementation {
3273 pub implementation_name: ::core::option::Option<unsafe extern "C" fn() -> *const libc::c_char>,
3274 pub random: ::core::option::Option<unsafe extern "C" fn() -> u32>,
3275 pub stir: ::core::option::Option<unsafe extern "C" fn()>,
3276 pub uniform: ::core::option::Option<unsafe extern "C" fn(upper_bound: u32) -> u32>,
3277 pub buf: ::core::option::Option<unsafe extern "C" fn(buf: *mut libc::c_void, size: usize)>,
3278 pub close: ::core::option::Option<unsafe extern "C" fn() -> libc::c_int>,
3279}
3280#[test]
3281fn bindgen_test_layout_randombytes_implementation() {
3282 const UNINIT: ::core::mem::MaybeUninit<randombytes_implementation> =
3283 ::core::mem::MaybeUninit::uninit();
3284 let ptr = UNINIT.as_ptr();
3285 assert_eq!(
3286 ::core::mem::size_of::<randombytes_implementation>(),
3287 48usize,
3288 concat!("Size of: ", stringify!(randombytes_implementation))
3289 );
3290 assert_eq!(
3291 ::core::mem::align_of::<randombytes_implementation>(),
3292 8usize,
3293 concat!("Alignment of ", stringify!(randombytes_implementation))
3294 );
3295 assert_eq!(
3296 unsafe { ::core::ptr::addr_of!((*ptr).implementation_name) as usize - ptr as usize },
3297 0usize,
3298 concat!(
3299 "Offset of field: ",
3300 stringify!(randombytes_implementation),
3301 "::",
3302 stringify!(implementation_name)
3303 )
3304 );
3305 assert_eq!(
3306 unsafe { ::core::ptr::addr_of!((*ptr).random) as usize - ptr as usize },
3307 8usize,
3308 concat!(
3309 "Offset of field: ",
3310 stringify!(randombytes_implementation),
3311 "::",
3312 stringify!(random)
3313 )
3314 );
3315 assert_eq!(
3316 unsafe { ::core::ptr::addr_of!((*ptr).stir) as usize - ptr as usize },
3317 16usize,
3318 concat!(
3319 "Offset of field: ",
3320 stringify!(randombytes_implementation),
3321 "::",
3322 stringify!(stir)
3323 )
3324 );
3325 assert_eq!(
3326 unsafe { ::core::ptr::addr_of!((*ptr).uniform) as usize - ptr as usize },
3327 24usize,
3328 concat!(
3329 "Offset of field: ",
3330 stringify!(randombytes_implementation),
3331 "::",
3332 stringify!(uniform)
3333 )
3334 );
3335 assert_eq!(
3336 unsafe { ::core::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
3337 32usize,
3338 concat!(
3339 "Offset of field: ",
3340 stringify!(randombytes_implementation),
3341 "::",
3342 stringify!(buf)
3343 )
3344 );
3345 assert_eq!(
3346 unsafe { ::core::ptr::addr_of!((*ptr).close) as usize - ptr as usize },
3347 40usize,
3348 concat!(
3349 "Offset of field: ",
3350 stringify!(randombytes_implementation),
3351 "::",
3352 stringify!(close)
3353 )
3354 );
3355}
3356extern "C" {
3357 pub fn randombytes_seedbytes() -> usize;
3358}
3359extern "C" {
3360 pub fn randombytes_buf(buf: *mut libc::c_void, size: usize);
3361}
3362extern "C" {
3363 pub fn randombytes_buf_deterministic(
3364 buf: *mut libc::c_void,
3365 size: usize,
3366 seed: *const libc::c_uchar,
3367 );
3368}
3369extern "C" {
3370 pub fn randombytes_random() -> u32;
3371}
3372extern "C" {
3373 pub fn randombytes_uniform(upper_bound: u32) -> u32;
3374}
3375extern "C" {
3376 pub fn randombytes_stir();
3377}
3378extern "C" {
3379 pub fn randombytes_close() -> libc::c_int;
3380}
3381extern "C" {
3382 pub fn randombytes_set_implementation(impl_: *const randombytes_implementation) -> libc::c_int;
3383}
3384extern "C" {
3385 pub fn randombytes_implementation_name() -> *const libc::c_char;
3386}
3387extern "C" {
3388 pub static mut randombytes_internal_implementation: randombytes_implementation;
3389}
3390extern "C" {
3391 pub static mut randombytes_sysrandom_implementation: randombytes_implementation;
3392}
3393extern "C" {
3394 pub fn sodium_runtime_has_neon() -> libc::c_int;
3395}
3396extern "C" {
3397 pub fn sodium_runtime_has_armcrypto() -> libc::c_int;
3398}
3399extern "C" {
3400 pub fn sodium_runtime_has_sse2() -> libc::c_int;
3401}
3402extern "C" {
3403 pub fn sodium_runtime_has_sse3() -> libc::c_int;
3404}
3405extern "C" {
3406 pub fn sodium_runtime_has_ssse3() -> libc::c_int;
3407}
3408extern "C" {
3409 pub fn sodium_runtime_has_sse41() -> libc::c_int;
3410}
3411extern "C" {
3412 pub fn sodium_runtime_has_avx() -> libc::c_int;
3413}
3414extern "C" {
3415 pub fn sodium_runtime_has_avx2() -> libc::c_int;
3416}
3417extern "C" {
3418 pub fn sodium_runtime_has_avx512f() -> libc::c_int;
3419}
3420extern "C" {
3421 pub fn sodium_runtime_has_pclmul() -> libc::c_int;
3422}
3423extern "C" {
3424 pub fn sodium_runtime_has_aesni() -> libc::c_int;
3425}
3426extern "C" {
3427 pub fn sodium_runtime_has_rdrand() -> libc::c_int;
3428}
3429extern "C" {
3430 pub fn sodium_memzero(pnt: *mut libc::c_void, len: usize);
3431}
3432extern "C" {
3433 pub fn sodium_stackzero(len: usize);
3434}
3435extern "C" {
3436 pub fn sodium_memcmp(
3437 b1_: *const libc::c_void,
3438 b2_: *const libc::c_void,
3439 len: usize,
3440 ) -> libc::c_int;
3441}
3442extern "C" {
3443 pub fn sodium_compare(
3444 b1_: *const libc::c_uchar,
3445 b2_: *const libc::c_uchar,
3446 len: usize,
3447 ) -> libc::c_int;
3448}
3449extern "C" {
3450 pub fn sodium_is_zero(n: *const libc::c_uchar, nlen: usize) -> libc::c_int;
3451}
3452extern "C" {
3453 pub fn sodium_increment(n: *mut libc::c_uchar, nlen: usize);
3454}
3455extern "C" {
3456 pub fn sodium_add(a: *mut libc::c_uchar, b: *const libc::c_uchar, len: usize);
3457}
3458extern "C" {
3459 pub fn sodium_sub(a: *mut libc::c_uchar, b: *const libc::c_uchar, len: usize);
3460}
3461extern "C" {
3462 pub fn sodium_bin2hex(
3463 hex: *mut libc::c_char,
3464 hex_maxlen: usize,
3465 bin: *const libc::c_uchar,
3466 bin_len: usize,
3467 ) -> *mut libc::c_char;
3468}
3469extern "C" {
3470 pub fn sodium_hex2bin(
3471 bin: *mut libc::c_uchar,
3472 bin_maxlen: usize,
3473 hex: *const libc::c_char,
3474 hex_len: usize,
3475 ignore: *const libc::c_char,
3476 bin_len: *mut usize,
3477 hex_end: *mut *const libc::c_char,
3478 ) -> libc::c_int;
3479}
3480extern "C" {
3481 pub fn sodium_base64_encoded_len(bin_len: usize, variant: libc::c_int) -> usize;
3482}
3483extern "C" {
3484 pub fn sodium_bin2base64(
3485 b64: *mut libc::c_char,
3486 b64_maxlen: usize,
3487 bin: *const libc::c_uchar,
3488 bin_len: usize,
3489 variant: libc::c_int,
3490 ) -> *mut libc::c_char;
3491}
3492extern "C" {
3493 pub fn sodium_base642bin(
3494 bin: *mut libc::c_uchar,
3495 bin_maxlen: usize,
3496 b64: *const libc::c_char,
3497 b64_len: usize,
3498 ignore: *const libc::c_char,
3499 bin_len: *mut usize,
3500 b64_end: *mut *const libc::c_char,
3501 variant: libc::c_int,
3502 ) -> libc::c_int;
3503}
3504extern "C" {
3505 pub fn sodium_mlock(addr: *mut libc::c_void, len: usize) -> libc::c_int;
3506}
3507extern "C" {
3508 pub fn sodium_munlock(addr: *mut libc::c_void, len: usize) -> libc::c_int;
3509}
3510extern "C" {
3511 pub fn sodium_malloc(size: usize) -> *mut libc::c_void;
3512}
3513extern "C" {
3514 pub fn sodium_allocarray(count: usize, size: usize) -> *mut libc::c_void;
3515}
3516extern "C" {
3517 pub fn sodium_free(ptr: *mut libc::c_void);
3518}
3519extern "C" {
3520 pub fn sodium_mprotect_noaccess(ptr: *mut libc::c_void) -> libc::c_int;
3521}
3522extern "C" {
3523 pub fn sodium_mprotect_readonly(ptr: *mut libc::c_void) -> libc::c_int;
3524}
3525extern "C" {
3526 pub fn sodium_mprotect_readwrite(ptr: *mut libc::c_void) -> libc::c_int;
3527}
3528extern "C" {
3529 pub fn sodium_pad(
3530 padded_buflen_p: *mut usize,
3531 buf: *mut libc::c_uchar,
3532 unpadded_buflen: usize,
3533 blocksize: usize,
3534 max_buflen: usize,
3535 ) -> libc::c_int;
3536}
3537extern "C" {
3538 pub fn sodium_unpad(
3539 unpadded_buflen_p: *mut usize,
3540 buf: *const libc::c_uchar,
3541 padded_buflen: usize,
3542 blocksize: usize,
3543 ) -> libc::c_int;
3544}
3545extern "C" {
3546 pub fn crypto_stream_xchacha20_keybytes() -> usize;
3547}
3548extern "C" {
3549 pub fn crypto_stream_xchacha20_noncebytes() -> usize;
3550}
3551extern "C" {
3552 pub fn crypto_stream_xchacha20_messagebytes_max() -> usize;
3553}
3554extern "C" {
3555 pub fn crypto_stream_xchacha20(
3556 c: *mut libc::c_uchar,
3557 clen: libc::c_ulonglong,
3558 n: *const libc::c_uchar,
3559 k: *const libc::c_uchar,
3560 ) -> libc::c_int;
3561}
3562extern "C" {
3563 pub fn crypto_stream_xchacha20_xor(
3564 c: *mut libc::c_uchar,
3565 m: *const libc::c_uchar,
3566 mlen: libc::c_ulonglong,
3567 n: *const libc::c_uchar,
3568 k: *const libc::c_uchar,
3569 ) -> libc::c_int;
3570}
3571extern "C" {
3572 pub fn crypto_stream_xchacha20_xor_ic(
3573 c: *mut libc::c_uchar,
3574 m: *const libc::c_uchar,
3575 mlen: libc::c_ulonglong,
3576 n: *const libc::c_uchar,
3577 ic: u64,
3578 k: *const libc::c_uchar,
3579 ) -> libc::c_int;
3580}
3581extern "C" {
3582 pub fn crypto_stream_xchacha20_keygen(k: *mut libc::c_uchar);
3583}
3584extern "C" {
3585 pub fn crypto_box_curve25519xchacha20poly1305_seedbytes() -> usize;
3586}
3587extern "C" {
3588 pub fn crypto_box_curve25519xchacha20poly1305_publickeybytes() -> usize;
3589}
3590extern "C" {
3591 pub fn crypto_box_curve25519xchacha20poly1305_secretkeybytes() -> usize;
3592}
3593extern "C" {
3594 pub fn crypto_box_curve25519xchacha20poly1305_beforenmbytes() -> usize;
3595}
3596extern "C" {
3597 pub fn crypto_box_curve25519xchacha20poly1305_noncebytes() -> usize;
3598}
3599extern "C" {
3600 pub fn crypto_box_curve25519xchacha20poly1305_macbytes() -> usize;
3601}
3602extern "C" {
3603 pub fn crypto_box_curve25519xchacha20poly1305_messagebytes_max() -> usize;
3604}
3605extern "C" {
3606 pub fn crypto_box_curve25519xchacha20poly1305_seed_keypair(
3607 pk: *mut libc::c_uchar,
3608 sk: *mut libc::c_uchar,
3609 seed: *const libc::c_uchar,
3610 ) -> libc::c_int;
3611}
3612extern "C" {
3613 pub fn crypto_box_curve25519xchacha20poly1305_keypair(
3614 pk: *mut libc::c_uchar,
3615 sk: *mut libc::c_uchar,
3616 ) -> libc::c_int;
3617}
3618extern "C" {
3619 pub fn crypto_box_curve25519xchacha20poly1305_easy(
3620 c: *mut libc::c_uchar,
3621 m: *const libc::c_uchar,
3622 mlen: libc::c_ulonglong,
3623 n: *const libc::c_uchar,
3624 pk: *const libc::c_uchar,
3625 sk: *const libc::c_uchar,
3626 ) -> libc::c_int;
3627}
3628extern "C" {
3629 pub fn crypto_box_curve25519xchacha20poly1305_open_easy(
3630 m: *mut libc::c_uchar,
3631 c: *const libc::c_uchar,
3632 clen: libc::c_ulonglong,
3633 n: *const libc::c_uchar,
3634 pk: *const libc::c_uchar,
3635 sk: *const libc::c_uchar,
3636 ) -> libc::c_int;
3637}
3638extern "C" {
3639 pub fn crypto_box_curve25519xchacha20poly1305_detached(
3640 c: *mut libc::c_uchar,
3641 mac: *mut libc::c_uchar,
3642 m: *const libc::c_uchar,
3643 mlen: libc::c_ulonglong,
3644 n: *const libc::c_uchar,
3645 pk: *const libc::c_uchar,
3646 sk: *const libc::c_uchar,
3647 ) -> libc::c_int;
3648}
3649extern "C" {
3650 pub fn crypto_box_curve25519xchacha20poly1305_open_detached(
3651 m: *mut libc::c_uchar,
3652 c: *const libc::c_uchar,
3653 mac: *const libc::c_uchar,
3654 clen: libc::c_ulonglong,
3655 n: *const libc::c_uchar,
3656 pk: *const libc::c_uchar,
3657 sk: *const libc::c_uchar,
3658 ) -> libc::c_int;
3659}
3660extern "C" {
3661 pub fn crypto_box_curve25519xchacha20poly1305_beforenm(
3662 k: *mut libc::c_uchar,
3663 pk: *const libc::c_uchar,
3664 sk: *const libc::c_uchar,
3665 ) -> libc::c_int;
3666}
3667extern "C" {
3668 pub fn crypto_box_curve25519xchacha20poly1305_easy_afternm(
3669 c: *mut libc::c_uchar,
3670 m: *const libc::c_uchar,
3671 mlen: libc::c_ulonglong,
3672 n: *const libc::c_uchar,
3673 k: *const libc::c_uchar,
3674 ) -> libc::c_int;
3675}
3676extern "C" {
3677 pub fn crypto_box_curve25519xchacha20poly1305_open_easy_afternm(
3678 m: *mut libc::c_uchar,
3679 c: *const libc::c_uchar,
3680 clen: libc::c_ulonglong,
3681 n: *const libc::c_uchar,
3682 k: *const libc::c_uchar,
3683 ) -> libc::c_int;
3684}
3685extern "C" {
3686 pub fn crypto_box_curve25519xchacha20poly1305_detached_afternm(
3687 c: *mut libc::c_uchar,
3688 mac: *mut libc::c_uchar,
3689 m: *const libc::c_uchar,
3690 mlen: libc::c_ulonglong,
3691 n: *const libc::c_uchar,
3692 k: *const libc::c_uchar,
3693 ) -> libc::c_int;
3694}
3695extern "C" {
3696 pub fn crypto_box_curve25519xchacha20poly1305_open_detached_afternm(
3697 m: *mut libc::c_uchar,
3698 c: *const libc::c_uchar,
3699 mac: *const libc::c_uchar,
3700 clen: libc::c_ulonglong,
3701 n: *const libc::c_uchar,
3702 k: *const libc::c_uchar,
3703 ) -> libc::c_int;
3704}
3705extern "C" {
3706 pub fn crypto_box_curve25519xchacha20poly1305_sealbytes() -> usize;
3707}
3708extern "C" {
3709 pub fn crypto_box_curve25519xchacha20poly1305_seal(
3710 c: *mut libc::c_uchar,
3711 m: *const libc::c_uchar,
3712 mlen: libc::c_ulonglong,
3713 pk: *const libc::c_uchar,
3714 ) -> libc::c_int;
3715}
3716extern "C" {
3717 pub fn crypto_box_curve25519xchacha20poly1305_seal_open(
3718 m: *mut libc::c_uchar,
3719 c: *const libc::c_uchar,
3720 clen: libc::c_ulonglong,
3721 pk: *const libc::c_uchar,
3722 sk: *const libc::c_uchar,
3723 ) -> libc::c_int;
3724}
3725extern "C" {
3726 pub fn crypto_core_ed25519_bytes() -> usize;
3727}
3728extern "C" {
3729 pub fn crypto_core_ed25519_uniformbytes() -> usize;
3730}
3731extern "C" {
3732 pub fn crypto_core_ed25519_hashbytes() -> usize;
3733}
3734extern "C" {
3735 pub fn crypto_core_ed25519_scalarbytes() -> usize;
3736}
3737extern "C" {
3738 pub fn crypto_core_ed25519_nonreducedscalarbytes() -> usize;
3739}
3740extern "C" {
3741 pub fn crypto_core_ed25519_is_valid_point(p: *const libc::c_uchar) -> libc::c_int;
3742}
3743extern "C" {
3744 pub fn crypto_core_ed25519_add(
3745 r: *mut libc::c_uchar,
3746 p: *const libc::c_uchar,
3747 q: *const libc::c_uchar,
3748 ) -> libc::c_int;
3749}
3750extern "C" {
3751 pub fn crypto_core_ed25519_sub(
3752 r: *mut libc::c_uchar,
3753 p: *const libc::c_uchar,
3754 q: *const libc::c_uchar,
3755 ) -> libc::c_int;
3756}
3757extern "C" {
3758 pub fn crypto_core_ed25519_from_uniform(
3759 p: *mut libc::c_uchar,
3760 r: *const libc::c_uchar,
3761 ) -> libc::c_int;
3762}
3763extern "C" {
3764 pub fn crypto_core_ed25519_from_hash(
3765 p: *mut libc::c_uchar,
3766 h: *const libc::c_uchar,
3767 ) -> libc::c_int;
3768}
3769extern "C" {
3770 pub fn crypto_core_ed25519_random(p: *mut libc::c_uchar);
3771}
3772extern "C" {
3773 pub fn crypto_core_ed25519_scalar_random(r: *mut libc::c_uchar);
3774}
3775extern "C" {
3776 pub fn crypto_core_ed25519_scalar_invert(
3777 recip: *mut libc::c_uchar,
3778 s: *const libc::c_uchar,
3779 ) -> libc::c_int;
3780}
3781extern "C" {
3782 pub fn crypto_core_ed25519_scalar_negate(neg: *mut libc::c_uchar, s: *const libc::c_uchar);
3783}
3784extern "C" {
3785 pub fn crypto_core_ed25519_scalar_complement(comp: *mut libc::c_uchar, s: *const libc::c_uchar);
3786}
3787extern "C" {
3788 pub fn crypto_core_ed25519_scalar_add(
3789 z: *mut libc::c_uchar,
3790 x: *const libc::c_uchar,
3791 y: *const libc::c_uchar,
3792 );
3793}
3794extern "C" {
3795 pub fn crypto_core_ed25519_scalar_sub(
3796 z: *mut libc::c_uchar,
3797 x: *const libc::c_uchar,
3798 y: *const libc::c_uchar,
3799 );
3800}
3801extern "C" {
3802 pub fn crypto_core_ed25519_scalar_mul(
3803 z: *mut libc::c_uchar,
3804 x: *const libc::c_uchar,
3805 y: *const libc::c_uchar,
3806 );
3807}
3808extern "C" {
3809 pub fn crypto_core_ed25519_scalar_reduce(r: *mut libc::c_uchar, s: *const libc::c_uchar);
3810}
3811extern "C" {
3812 pub fn crypto_core_ristretto255_bytes() -> usize;
3813}
3814extern "C" {
3815 pub fn crypto_core_ristretto255_hashbytes() -> usize;
3816}
3817extern "C" {
3818 pub fn crypto_core_ristretto255_scalarbytes() -> usize;
3819}
3820extern "C" {
3821 pub fn crypto_core_ristretto255_nonreducedscalarbytes() -> usize;
3822}
3823extern "C" {
3824 pub fn crypto_core_ristretto255_is_valid_point(p: *const libc::c_uchar) -> libc::c_int;
3825}
3826extern "C" {
3827 pub fn crypto_core_ristretto255_add(
3828 r: *mut libc::c_uchar,
3829 p: *const libc::c_uchar,
3830 q: *const libc::c_uchar,
3831 ) -> libc::c_int;
3832}
3833extern "C" {
3834 pub fn crypto_core_ristretto255_sub(
3835 r: *mut libc::c_uchar,
3836 p: *const libc::c_uchar,
3837 q: *const libc::c_uchar,
3838 ) -> libc::c_int;
3839}
3840extern "C" {
3841 pub fn crypto_core_ristretto255_from_hash(
3842 p: *mut libc::c_uchar,
3843 r: *const libc::c_uchar,
3844 ) -> libc::c_int;
3845}
3846extern "C" {
3847 pub fn crypto_core_ristretto255_random(p: *mut libc::c_uchar);
3848}
3849extern "C" {
3850 pub fn crypto_core_ristretto255_scalar_random(r: *mut libc::c_uchar);
3851}
3852extern "C" {
3853 pub fn crypto_core_ristretto255_scalar_invert(
3854 recip: *mut libc::c_uchar,
3855 s: *const libc::c_uchar,
3856 ) -> libc::c_int;
3857}
3858extern "C" {
3859 pub fn crypto_core_ristretto255_scalar_negate(neg: *mut libc::c_uchar, s: *const libc::c_uchar);
3860}
3861extern "C" {
3862 pub fn crypto_core_ristretto255_scalar_complement(
3863 comp: *mut libc::c_uchar,
3864 s: *const libc::c_uchar,
3865 );
3866}
3867extern "C" {
3868 pub fn crypto_core_ristretto255_scalar_add(
3869 z: *mut libc::c_uchar,
3870 x: *const libc::c_uchar,
3871 y: *const libc::c_uchar,
3872 );
3873}
3874extern "C" {
3875 pub fn crypto_core_ristretto255_scalar_sub(
3876 z: *mut libc::c_uchar,
3877 x: *const libc::c_uchar,
3878 y: *const libc::c_uchar,
3879 );
3880}
3881extern "C" {
3882 pub fn crypto_core_ristretto255_scalar_mul(
3883 z: *mut libc::c_uchar,
3884 x: *const libc::c_uchar,
3885 y: *const libc::c_uchar,
3886 );
3887}
3888extern "C" {
3889 pub fn crypto_core_ristretto255_scalar_reduce(r: *mut libc::c_uchar, s: *const libc::c_uchar);
3890}
3891extern "C" {
3892 pub fn crypto_pwhash_scryptsalsa208sha256_bytes_min() -> usize;
3893}
3894extern "C" {
3895 pub fn crypto_pwhash_scryptsalsa208sha256_bytes_max() -> usize;
3896}
3897extern "C" {
3898 pub fn crypto_pwhash_scryptsalsa208sha256_passwd_min() -> usize;
3899}
3900extern "C" {
3901 pub fn crypto_pwhash_scryptsalsa208sha256_passwd_max() -> usize;
3902}
3903extern "C" {
3904 pub fn crypto_pwhash_scryptsalsa208sha256_saltbytes() -> usize;
3905}
3906extern "C" {
3907 pub fn crypto_pwhash_scryptsalsa208sha256_strbytes() -> usize;
3908}
3909extern "C" {
3910 pub fn crypto_pwhash_scryptsalsa208sha256_strprefix() -> *const libc::c_char;
3911}
3912extern "C" {
3913 pub fn crypto_pwhash_scryptsalsa208sha256_opslimit_min() -> usize;
3914}
3915extern "C" {
3916 pub fn crypto_pwhash_scryptsalsa208sha256_opslimit_max() -> usize;
3917}
3918extern "C" {
3919 pub fn crypto_pwhash_scryptsalsa208sha256_memlimit_min() -> usize;
3920}
3921extern "C" {
3922 pub fn crypto_pwhash_scryptsalsa208sha256_memlimit_max() -> usize;
3923}
3924extern "C" {
3925 pub fn crypto_pwhash_scryptsalsa208sha256_opslimit_interactive() -> usize;
3926}
3927extern "C" {
3928 pub fn crypto_pwhash_scryptsalsa208sha256_memlimit_interactive() -> usize;
3929}
3930extern "C" {
3931 pub fn crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive() -> usize;
3932}
3933extern "C" {
3934 pub fn crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive() -> usize;
3935}
3936extern "C" {
3937 pub fn crypto_pwhash_scryptsalsa208sha256(
3938 out: *mut libc::c_uchar,
3939 outlen: libc::c_ulonglong,
3940 passwd: *const libc::c_char,
3941 passwdlen: libc::c_ulonglong,
3942 salt: *const libc::c_uchar,
3943 opslimit: libc::c_ulonglong,
3944 memlimit: usize,
3945 ) -> libc::c_int;
3946}
3947extern "C" {
3948 pub fn crypto_pwhash_scryptsalsa208sha256_str(
3949 out: *mut libc::c_char,
3950 passwd: *const libc::c_char,
3951 passwdlen: libc::c_ulonglong,
3952 opslimit: libc::c_ulonglong,
3953 memlimit: usize,
3954 ) -> libc::c_int;
3955}
3956extern "C" {
3957 pub fn crypto_pwhash_scryptsalsa208sha256_str_verify(
3958 str_: *const libc::c_char,
3959 passwd: *const libc::c_char,
3960 passwdlen: libc::c_ulonglong,
3961 ) -> libc::c_int;
3962}
3963extern "C" {
3964 pub fn crypto_pwhash_scryptsalsa208sha256_ll(
3965 passwd: *const u8,
3966 passwdlen: usize,
3967 salt: *const u8,
3968 saltlen: usize,
3969 N: u64,
3970 r: u32,
3971 p: u32,
3972 buf: *mut u8,
3973 buflen: usize,
3974 ) -> libc::c_int;
3975}
3976extern "C" {
3977 pub fn crypto_pwhash_scryptsalsa208sha256_str_needs_rehash(
3978 str_: *const libc::c_char,
3979 opslimit: libc::c_ulonglong,
3980 memlimit: usize,
3981 ) -> libc::c_int;
3982}
3983extern "C" {
3984 pub fn crypto_scalarmult_ed25519_bytes() -> usize;
3985}
3986extern "C" {
3987 pub fn crypto_scalarmult_ed25519_scalarbytes() -> usize;
3988}
3989extern "C" {
3990 pub fn crypto_scalarmult_ed25519(
3991 q: *mut libc::c_uchar,
3992 n: *const libc::c_uchar,
3993 p: *const libc::c_uchar,
3994 ) -> libc::c_int;
3995}
3996extern "C" {
3997 pub fn crypto_scalarmult_ed25519_noclamp(
3998 q: *mut libc::c_uchar,
3999 n: *const libc::c_uchar,
4000 p: *const libc::c_uchar,
4001 ) -> libc::c_int;
4002}
4003extern "C" {
4004 pub fn crypto_scalarmult_ed25519_base(
4005 q: *mut libc::c_uchar,
4006 n: *const libc::c_uchar,
4007 ) -> libc::c_int;
4008}
4009extern "C" {
4010 pub fn crypto_scalarmult_ed25519_base_noclamp(
4011 q: *mut libc::c_uchar,
4012 n: *const libc::c_uchar,
4013 ) -> libc::c_int;
4014}
4015extern "C" {
4016 pub fn crypto_scalarmult_ristretto255_bytes() -> usize;
4017}
4018extern "C" {
4019 pub fn crypto_scalarmult_ristretto255_scalarbytes() -> usize;
4020}
4021extern "C" {
4022 pub fn crypto_scalarmult_ristretto255(
4023 q: *mut libc::c_uchar,
4024 n: *const libc::c_uchar,
4025 p: *const libc::c_uchar,
4026 ) -> libc::c_int;
4027}
4028extern "C" {
4029 pub fn crypto_scalarmult_ristretto255_base(
4030 q: *mut libc::c_uchar,
4031 n: *const libc::c_uchar,
4032 ) -> libc::c_int;
4033}
4034extern "C" {
4035 pub fn crypto_secretbox_xchacha20poly1305_keybytes() -> usize;
4036}
4037extern "C" {
4038 pub fn crypto_secretbox_xchacha20poly1305_noncebytes() -> usize;
4039}
4040extern "C" {
4041 pub fn crypto_secretbox_xchacha20poly1305_macbytes() -> usize;
4042}
4043extern "C" {
4044 pub fn crypto_secretbox_xchacha20poly1305_messagebytes_max() -> usize;
4045}
4046extern "C" {
4047 pub fn crypto_secretbox_xchacha20poly1305_easy(
4048 c: *mut libc::c_uchar,
4049 m: *const libc::c_uchar,
4050 mlen: libc::c_ulonglong,
4051 n: *const libc::c_uchar,
4052 k: *const libc::c_uchar,
4053 ) -> libc::c_int;
4054}
4055extern "C" {
4056 pub fn crypto_secretbox_xchacha20poly1305_open_easy(
4057 m: *mut libc::c_uchar,
4058 c: *const libc::c_uchar,
4059 clen: libc::c_ulonglong,
4060 n: *const libc::c_uchar,
4061 k: *const libc::c_uchar,
4062 ) -> libc::c_int;
4063}
4064extern "C" {
4065 pub fn crypto_secretbox_xchacha20poly1305_detached(
4066 c: *mut libc::c_uchar,
4067 mac: *mut libc::c_uchar,
4068 m: *const libc::c_uchar,
4069 mlen: libc::c_ulonglong,
4070 n: *const libc::c_uchar,
4071 k: *const libc::c_uchar,
4072 ) -> libc::c_int;
4073}
4074extern "C" {
4075 pub fn crypto_secretbox_xchacha20poly1305_open_detached(
4076 m: *mut libc::c_uchar,
4077 c: *const libc::c_uchar,
4078 mac: *const libc::c_uchar,
4079 clen: libc::c_ulonglong,
4080 n: *const libc::c_uchar,
4081 k: *const libc::c_uchar,
4082 ) -> libc::c_int;
4083}
4084extern "C" {
4085 pub fn crypto_stream_salsa2012_keybytes() -> usize;
4086}
4087extern "C" {
4088 pub fn crypto_stream_salsa2012_noncebytes() -> usize;
4089}
4090extern "C" {
4091 pub fn crypto_stream_salsa2012_messagebytes_max() -> usize;
4092}
4093extern "C" {
4094 pub fn crypto_stream_salsa2012(
4095 c: *mut libc::c_uchar,
4096 clen: libc::c_ulonglong,
4097 n: *const libc::c_uchar,
4098 k: *const libc::c_uchar,
4099 ) -> libc::c_int;
4100}
4101extern "C" {
4102 pub fn crypto_stream_salsa2012_xor(
4103 c: *mut libc::c_uchar,
4104 m: *const libc::c_uchar,
4105 mlen: libc::c_ulonglong,
4106 n: *const libc::c_uchar,
4107 k: *const libc::c_uchar,
4108 ) -> libc::c_int;
4109}
4110extern "C" {
4111 pub fn crypto_stream_salsa2012_keygen(k: *mut libc::c_uchar);
4112}
4113extern "C" {
4114 pub fn crypto_stream_salsa208_keybytes() -> usize;
4115}
4116extern "C" {
4117 pub fn crypto_stream_salsa208_noncebytes() -> usize;
4118}
4119extern "C" {
4120 pub fn crypto_stream_salsa208_messagebytes_max() -> usize;
4121}
4122extern "C" {
4123 pub fn crypto_stream_salsa208(
4124 c: *mut libc::c_uchar,
4125 clen: libc::c_ulonglong,
4126 n: *const libc::c_uchar,
4127 k: *const libc::c_uchar,
4128 ) -> libc::c_int;
4129}
4130extern "C" {
4131 pub fn crypto_stream_salsa208_xor(
4132 c: *mut libc::c_uchar,
4133 m: *const libc::c_uchar,
4134 mlen: libc::c_ulonglong,
4135 n: *const libc::c_uchar,
4136 k: *const libc::c_uchar,
4137 ) -> libc::c_int;
4138}
4139extern "C" {
4140 pub fn crypto_stream_salsa208_keygen(k: *mut libc::c_uchar);
4141}