Skip to main content

oscore_cryptoerr_is_error

Function oscore_cryptoerr_is_error 

Source
#[unsafe(no_mangle)]
pub extern "C" fn oscore_cryptoerr_is_error(err: CryptoErr) -> bool
Examples found in repository?
examples/single-encrypt.rs (line 16)
9fn main() -> Result<(), ()> {
10    let key = b"0123456789----------0123456789--";
11    let nonce = b"0123456789--";
12    let mut msgbuf = *b"Message.0123456789------"; // 8 byte plus 16 tag
13
14    let mut alg = MaybeUninit::uninit();
15    let err = unsafe { oscore_crypto_aead_from_number(&mut alg, 24) };
16    if oscore_cryptoerr_is_error(err) {
17        return Err(());
18    };
19    let alg = unsafe { alg.assume_init() };
20
21    let mut state = MaybeUninit::uninit();
22    let err = unsafe {
23        oscore_crypto_aead_encrypt_start(&mut state, alg, 0, 8, nonce.as_ptr(), key.as_ptr())
24    };
25    if oscore_cryptoerr_is_error(err) {
26        return Err(());
27    };
28    let mut state = unsafe { state.assume_init() };
29    let msgbuflen = msgbuf.len();
30    let err =
31        unsafe { oscore_crypto_aead_encrypt_inplace(&mut state, msgbuf.as_mut_ptr(), msgbuflen) };
32    if oscore_cryptoerr_is_error(err) {
33        return Err(());
34    };
35
36    Ok(())
37}