1use crate::ffi_types::{c_char, c_int};
2
3extern "C" {
4
5 pub fn botan_pbkdf(
6 pbkdf_algo: *const c_char,
7 out: *mut u8,
8 out_len: usize,
9 passphrase: *const c_char,
10 salt: *const u8,
11 salt_len: usize,
12 iterations: usize,
13 ) -> c_int;
14
15 pub fn botan_pbkdf_timed(
16 pbkdf_algo: *const c_char,
17 out: *mut u8,
18 out_len: usize,
19 passphrase: *const c_char,
20 salt: *const u8,
21 salt_len: usize,
22 milliseconds_to_run: usize,
23 out_iterations_used: *mut usize,
24 ) -> c_int;
25
26 pub fn botan_pwdhash(
27 algo: *const c_char,
28 param1: usize,
29 param2: usize,
30 param3: usize,
31 out: *mut u8,
32 out_len: usize,
33 passphrase: *const c_char,
34 passphrase_len: usize,
35 salt: *const u8,
36 salt_len: usize,
37 ) -> c_int;
38
39 pub fn botan_pwdhash_timed(
40 algo: *const c_char,
41 msec: u32,
42 param1: *mut usize,
43 param2: *mut usize,
44 param3: *mut usize,
45 out: *mut u8,
46 out_len: usize,
47 passphrase: *const c_char,
48 passphrase_len: usize,
49 salt: *const u8,
50 salt_len: usize,
51 ) -> c_int;
52
53 pub fn botan_scrypt(
54 out: *mut u8,
55 out_len: usize,
56 passphrase: *const c_char,
57 salt: *const u8,
58 salt_len: usize,
59 N: usize,
60 r: usize,
61 p: usize,
62 ) -> c_int;
63
64 pub fn botan_kdf(
65 kdf_algo: *const c_char,
66 out: *mut u8,
67 out_len: usize,
68 secret: *const u8,
69 secret_len: usize,
70 salt: *const u8,
71 salt_len: usize,
72 label: *const u8,
73 label_len: usize,
74 ) -> c_int;
75
76}