#include<libcaes.h>
Support functions
constchar*libcaes_get_version(void);
Error functions
voidlibcaes_error_free(libcaes_error_t**error);
intlibcaes_error_fprint(libcaes_error_t*error, FILE*stream);
intlibcaes_error_sprint(libcaes_error_t*error, char*string, size_tsize);
intlibcaes_error_backtrace_fprint(libcaes_error_t*error, FILE*stream);
intlibcaes_error_backtrace_sprint(libcaes_error_t*error, char*string, size_tsize);
Context functions
intlibcaes_context_initialize(libcaes_context_t**context, libcaes_error_t**error);
intlibcaes_context_free(libcaes_context_t**context, libcaes_error_t**error);
intlibcaes_context_set_key(libcaes_context_t*context, intmode, constuint8_t*key, size_tkey_bit_size,
libcaes_error_t**error);
intlibcaes_crypt_cbc(libcaes_context_t*context, intmode, constuint8_t*initialization_vector,
size_tinitialization_vector_size, constuint8_t*input_data, size_tinput_data_size,
uint8_t*output_data, size_toutput_data_size, libcaes_error_t**error);
intlibcaes_crypt_ccm(libcaes_context_t*context, intmode, constuint8_t*nonce, size_tnonce_size,
constuint8_t*input_data, size_tinput_data_size, uint8_t*output_data, size_toutput_data_size,
libcaes_error_t**error);
intlibcaes_crypt_ecb(libcaes_context_t*context, intmode, constuint8_t*input_data,
size_tinput_data_size, uint8_t*output_data, size_toutput_data_size, libcaes_error_t**error);
Tweaked context functions
intlibcaes_tweaked_context_initialize(libcaes_tweaked_context_t**tweaked_context, libcaes_error_t**error);
intlibcaes_tweaked_context_free(libcaes_tweaked_context_t**tweaked_context, libcaes_error_t**error);
intlibcaes_tweaked_context_set_keys(libcaes_tweaked_context_t*tweaked_context, intmode,
constuint8_t*key, size_tkey_bit_size, constuint8_t*tweak_key, size_ttweak_key_bit_size,
libcaes_error_t**error);
intlibcaes_crypt_xts(libcaes_tweaked_context_t*tweaked_context, intmode, constuint8_t*tweak_value,
size_ttweak_value_size, constuint8_t*input_data, size_tinput_data_size, uint8_t*output_data,
size_toutput_data_size, libcaes_error_t**error);