GHASH_CTX
extern void aesni_gmac_update(GHASH_CTX *ghash, uint8_t *src, size_t len);
void ghash_update_pclmul(GHASH_CTX *, uint8_t *, size_t);
ses->ses_ghash = malloc(sizeof(GHASH_CTX),
explicit_bzero(ses->ses_ghash, sizeof(GHASH_CTX));
free(ses->ses_ghash, M_CRYPTO_DATA, sizeof(GHASH_CTX));
GHASH_CTX *ses_ghash;
ghash_update_pclmul(GHASH_CTX *ghash, uint8_t *src, size_t len)
octcrypto_ghash_update_md(GHASH_CTX *ghash, uint8_t *src, size_t len)
CTASSERT(offsetof(GHASH_CTX, H) % 8 == 0);
CTASSERT(offsetof(GHASH_CTX, S) % 8 == 0);
void octcrypto_ghash_update_md(GHASH_CTX *, uint8_t *, size_t);
void ghash_update_mi(GHASH_CTX *, uint8_t *, size_t);
void (*ghash_update)(GHASH_CTX *, uint8_t *, size_t) = ghash_update_mi;
ghash_update_mi(GHASH_CTX *ctx, uint8_t *X, size_t len)
GHASH_CTX ghash;
extern void (*ghash_update)(GHASH_CTX *, uint8_t *, size_t);