28#ifndef PROTOCORE_AESGCM_H
29#define PROTOCORE_AESGCM_H
33#if PROTOCORE_ENABLE_AESGCM
38#define PROTOCORE_AESGCM_KEY_LEN 32
41#define PROTOCORE_AESGCM_IV_LEN 12
44#define PROTOCORE_AESGCM_TAG_LEN 16
131 AesGcmKeyArgs key_args;
132 AesGcmSealArgs seal_args;
133 AesGcmOpenArgs open_args;
134 AesGcmIvArgs iv_args;
139extern AesGcmVars AesGcmV;
144 void (*
const key_init)(uint8_t *work);
145 void (*
const key_wipe)(uint8_t *work);
146 void (*
const seal)(uint8_t *work);
147 void (*
const open)(uint8_t *work);
148 void (*
const iv_increment)(uint8_t *work);
153void protocore_aes_gcm_key_init(uint8_t *work);
154void protocore_aes_gcm_key_wipe(uint8_t *work);
155void protocore_aes_gcm_seal(uint8_t *work);
156void protocore_aes_gcm_open(uint8_t *work);
157void protocore_aes_gcm_iv_increment(uint8_t *work);
163static const AesGcmNs AesGcm __attribute__((unused)) = {
164 .key_init = protocore_aes_gcm_key_init,
165 .key_wipe = protocore_aes_gcm_key_wipe,
166 .seal = protocore_aes_gcm_seal,
167 .open = protocore_aes_gcm_open,
168 .iv_increment = protocore_aes_gcm_iv_increment,
#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