#include <linux/module.h>
#include <linux/sched.h>
#include <linux/delay.h>
#include <linux/scatterlist.h>
#include <linux/crypto.h>
#include <crypto/algapi.h>
#include <crypto/aes.h>
#include <crypto/hash.h>
#include <crypto/internal/hash.h>
#include <crypto/scatterwalk.h>
#include "ccp-crypto.h"
static int ccp_aes_cmac_complete(struct crypto_async_request *async_req,
int ret)
{ … }
static int ccp_do_cmac_update(struct ahash_request *req, unsigned int nbytes,
unsigned int final)
{ … }
static int ccp_aes_cmac_init(struct ahash_request *req)
{ … }
static int ccp_aes_cmac_update(struct ahash_request *req)
{ … }
static int ccp_aes_cmac_final(struct ahash_request *req)
{ … }
static int ccp_aes_cmac_finup(struct ahash_request *req)
{ … }
static int ccp_aes_cmac_digest(struct ahash_request *req)
{ … }
static int ccp_aes_cmac_export(struct ahash_request *req, void *out)
{ … }
static int ccp_aes_cmac_import(struct ahash_request *req, const void *in)
{ … }
static int ccp_aes_cmac_setkey(struct crypto_ahash *tfm, const u8 *key,
unsigned int key_len)
{ … }
static int ccp_aes_cmac_cra_init(struct crypto_tfm *tfm)
{ … }
int ccp_register_aes_cmac_algs(struct list_head *head)
{ … }