blob: 994a5dd8e03c5cb913e90178afee79f1546c24a1 [file] [log] [blame]
/*
* CAAM public-level include definitions for the key blob
*
* Copyright (C) 2015 Freescale Semiconductor, Inc.
*/
#ifndef CAAM_KEYBLOB_H
#define CAAM_KEYBLOB_H
#include <linux/ioctl.h>
#include <linux/types.h>
struct caam_kb_data {
char *rawkey;
size_t rawkey_len;
char *keyblob;
size_t keyblob_len;
char *keymod;
size_t keymod_len;
};
#define CAAM_KB_MAGIC 'I'
/**
* DOC: CAAM_KB_ENCRYPT - generate a key blob from raw key
*
* Takes an caam_kb_data struct and returns it with the key blob
*/
#define CAAM_KB_ENCRYPT _IOWR(CAAM_KB_MAGIC, 0, \
struct caam_kb_data)
/**
* DOC: CAAM_KB_DECRYPT - get keys from a key blob
*
* Takes an caam_kb_data struct and returns it with the raw key.
*/
#define CAAM_KB_DECRYPT _IOWR(CAAM_KB_MAGIC, 1, struct caam_kb_data)
#ifndef GENMEM_KEYMOD_LEN
#define GENMEM_KEYMOD_LEN 16
#endif
#endif /* CAAM_KEYBLOB_H */