4 struct crypto_interface {
5 const char *(*init)(void);
6 unsigned long (*encrypt)(void *key, int keylen, void *iv,
7 void *pt, void *ct, int tlen);
8 unsigned long (*decrypt)(void *key, int keylen, void *iv,
9 void *ct, void *pt, int tlen);
10 unsigned long (*hash)(void *pt, int tlen, void *tag, int *taglen);
11 unsigned long (*hmac)(void *key, int keylen,
12 void *pt, int tlen, void *tag, int *taglen);
13 const char *(*errstr)(unsigned long err);