4#ifndef PROTOCORE_AES_CMAC_H
5#define PROTOCORE_AES_CMAC_H
35#define PROTOCORE_AES_CMAC_LEN 16
40 proto_bool (*mac)(uint8_t *,
const uint8_t *,
const uint8_t *, size_t, uint8_t *);
proto_bool protocore_aes_cmac_mac(uint8_t *work, const uint8_t *key, const uint8_t *msg, size_t msg_len, uint8_t *out)
Derive K1/K2, CBC-MAC the message, write the 16 bytes out.
PROTOCORE_NS AesCmacNs AesCmac PROTOCORE_UNUSED
Module namespace.
#define PROTOCORE_NS_LAYOUT(T,...)
Pin every dispatch slot of a table that is nothing but function pointers.
#define PROTOCORE_NS
Storage for a dispatch table. The const is load bearing.
Dispatch table. Addressed by offset, so the layout is asserted below.
proto_bool(* mac)(uint8_t *, const uint8_t *, const uint8_t *, size_t, uint8_t *)
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS