32#ifndef PROTOCORE_AES128GCM_H
33#define PROTOCORE_AES128GCM_H
37#if PROTOCORE_ENABLE_AES128GCM
42#define PROTOCORE_AES128GCM_KEY_LEN 16
45#define PROTOCORE_AES128GCM_IV_LEN 12
48#define PROTOCORE_AES128GCM_TAG_LEN 16
87} Aes128GcmBlockKeyArgs;
145 Aes128GcmKeyArgs key_args;
146 Aes128GcmSealArgs seal_args;
147 Aes128GcmOpenArgs open_args;
148 Aes128GcmBlockKeyArgs block_key_args;
149 Aes128GcmBlockArgs block_args;
154extern Aes128GcmVars Aes128GcmV;
159 void (*
const key_init)(uint8_t *work);
160 void (*
const key_wipe)(uint8_t *work);
161 void (*
const seal)(uint8_t *work);
162 void (*
const open)(uint8_t *work);
163 void (*
const block_init)(uint8_t *work);
164 void (*
const block_encrypt)(uint8_t *work);
165 void (*
const block_wipe)(uint8_t *work);
170void protocore_aes128_gcm_key_init(uint8_t *work);
171void protocore_aes128_gcm_key_wipe(uint8_t *work);
172void protocore_aes128_gcm_seal(uint8_t *work);
173void protocore_aes128_gcm_open(uint8_t *work);
174void protocore_aes128_gcm_block_init(uint8_t *work);
175void protocore_aes128_gcm_block_encrypt(uint8_t *work);
176void protocore_aes128_gcm_block_wipe(uint8_t *work);
182static const Aes128GcmNs Aes128Gcm __attribute__((unused)) = {
183 .key_init = protocore_aes128_gcm_key_init,
184 .key_wipe = protocore_aes128_gcm_key_wipe,
185 .seal = protocore_aes128_gcm_seal,
186 .open = protocore_aes128_gcm_open,
187 .block_init = protocore_aes128_gcm_block_init,
188 .block_encrypt = protocore_aes128_gcm_block_encrypt,
189 .block_wipe = protocore_aes128_gcm_block_wipe,
#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