cosmopolitan/third_party/mbedtls/ccm.h
Justine Tunney fa20edc44d
Reduce header complexity
- Remove most __ASSEMBLER__ __LINKER__ ifdefs
- Rename libc/intrin/bits.h to libc/serialize.h
- Block pthread cancelation in fchmodat() polyfill
- Remove `clang-format off` statements in third_party
2023-11-28 14:39:42 -08:00

51 lines
2.3 KiB
C

#ifndef COSMOPOLITAN_THIRD_PARTY_MBEDTLS_CCM_H_
#define COSMOPOLITAN_THIRD_PARTY_MBEDTLS_CCM_H_
#include "third_party/mbedtls/cipher.h"
COSMOPOLITAN_C_START_
#define MBEDTLS_ERR_CCM_BAD_INPUT \
-0x000D /*< Bad input parameters to the function. */
#define MBEDTLS_ERR_CCM_AUTH_FAILED \
-0x000F /*< Authenticated decryption failed. */
/* MBEDTLS_ERR_CCM_HW_ACCEL_FAILED is deprecated and should not be used. */
#define MBEDTLS_ERR_CCM_HW_ACCEL_FAILED \
-0x0011 /*< CCM hardware accelerator failed. */
/**
* \brief The CCM context-type definition. The CCM context is passed
* to the APIs called.
*/
typedef struct mbedtls_ccm_context {
mbedtls_cipher_context_t cipher_ctx; /*!< The cipher context used. */
} mbedtls_ccm_context;
void mbedtls_ccm_init(mbedtls_ccm_context *);
int mbedtls_ccm_setkey(mbedtls_ccm_context *, mbedtls_cipher_id_t,
const unsigned char *, unsigned int);
void mbedtls_ccm_free(mbedtls_ccm_context *);
int mbedtls_ccm_encrypt_and_tag(mbedtls_ccm_context *, size_t,
const unsigned char *, size_t,
const unsigned char *, size_t,
const unsigned char *, unsigned char *,
unsigned char *, size_t);
int mbedtls_ccm_star_encrypt_and_tag(mbedtls_ccm_context *, size_t,
const unsigned char *, size_t,
const unsigned char *, size_t,
const unsigned char *, unsigned char *,
unsigned char *, size_t);
int mbedtls_ccm_auth_decrypt(mbedtls_ccm_context *, size_t,
const unsigned char *, size_t,
const unsigned char *, size_t,
const unsigned char *, unsigned char *,
const unsigned char *, size_t);
int mbedtls_ccm_star_auth_decrypt(mbedtls_ccm_context *, size_t,
const unsigned char *, size_t,
const unsigned char *, size_t,
const unsigned char *, unsigned char *,
const unsigned char *, size_t);
int mbedtls_ccm_self_test(int);
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_THIRD_PARTY_MBEDTLS_CCM_H_ */