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