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