crmdesc Struct
C
struct crmdesc { char *addr; struct crmdesc *next; uint32_t sz; uint32_t dmatag; };
Description
A cryptomaster DMA descriptor
crm_dmaslot Struct
C
struct crm_dmaslot {
uint32_t cfg;
struct crmdesc outdescs[5];
};
Description
Input and output descriptors and related state for cmdma
crm_dmactl Struct
C
struct crm_dmactl { struct crm_regs *regs; struct crmdesc *d; struct crmdesc *out; char *mapped; struct crm_dmaslot dmamem; };
Description
DMA controller. For internal use only. Don't access directly.
crmkeyref Struct
C
struct crmkeyref { const char *key; size_t sz; uint32_t cfg; };
Description
Key reference Used for making a reference to a key stored in memory or to a key selected by an identifier. Created by CRM_KEYREF_LOAD_MATERIAL() or CRM_KEYREF_LOAD_BY_ID(). Used by blkcipher and aead creation functions. All members should be considered INTERNAL and may not be accessed directly.
crmaead Struct
C
struct crmaead {
const struct crm_aead_cmdma_cfg *cfg;
const char *expectedtag;
uint8_t tagsz;
uint8_t headersz;
uint32_t discardaadsz;
uint32_t datainsz;
uint64_t dataintotalsz;
uint64_t totalaadsz;
uint8_t granularity;
int is_in_ctx;
size_t ctxsz;
unsigned int compatible;
const struct crmkeyref *key;
struct crm_dmactl dma;
struct crmdesc allindescs[7];
uint8_t extramem[CRM_AEAD_PRIV_SZ];
};
Description
An AEAD operation. To be used with crm_aead() functions. All members should be considered INTERNAL and may not be accessed directly.
crmblkcipher Struct
C
struct crmblkcipher {
const struct crm_blkcipher_cmdma_cfg *cfg;
size_t inminsz;
size_t granularity;
uint32_t mode;
unsigned int compatible;
const struct crmkeyref *key;
struct crm_dmactl dma;
struct crmdesc allindescs[5];
char extramem[CRM_BLKCIPHER_PRIV_SZ];
};
Description
A simple block cipher operation To be used with crm_blkcipher() functions. All members should be considered INTERNAL and may not be accessed directly.
crmhash Struct
C
struct crmhash {
const struct crmhashalg *algo;
const struct crm_digesttags *dmatags;
uint32_t cntindescs;
size_t totalsz;
uint32_t feedsz;
void(*digest)(struct crmhash* c, char *digest);
struct crm_dmactl dma;
struct crmdesc allindescs[7 + CRM_EXTRA_IN_DESCS];
uint8_t extramem[CRM_HASH_PRIV_SZ];
};
Description
A hash operation. To be used with crm_hash functions. All members should be considered INTERNAL and may not be accessed directly.
crmcmmask Struct
C
struct crmcmmask {
struct crm_dmactl dma;
struct crmdesc allindescs[1];
};
Description
A operation to load a countermeasures mask into the hardware. To be used with crm_cm() functions. All members should be considered INTERNAL and may not be accessed directly.
crmmac Struct
C
struct crmmac { const struct crm_mac_cmdma_cfg *cfg; uint32_t cntindescs; uint32_t feedsz; int macsz; unsigned int compatible; const struct crmkeyref *key; struct crm_dmactl dma; struct crmdesc allindescs[5]; uint8_t extramem[16]; };
Description
A simple MAC(message authentication code) operation To be used with crm_mac() functions. All members should be considered INTERNAL and may not be accessed directly.