solana_chacha_sys/
lib.rs

1extern "C" {
2    fn chacha20_cbc_encrypt(
3        input: *const u8,
4        output: *mut u8,
5        in_len: usize,
6        key: *const u8,
7        ivec: *mut u8,
8    );
9}
10
11pub fn chacha_cbc_encrypt(input: &[u8], output: &mut [u8], key: &[u8], ivec: &mut [u8]) {
12    unsafe {
13        chacha20_cbc_encrypt(
14            input.as_ptr(),
15            output.as_mut_ptr(),
16            input.len(),
17            key.as_ptr(),
18            ivec.as_mut_ptr(),
19        );
20    }
21}