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