1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Kernelspace interface to the pkey device driver 4 * 5 * Copyright IBM Corp. 2016,2019 6 * 7 * Author: Harald Freudenberger <freude@de.ibm.com> 8 * 9 */ 10 11 #ifndef _KAPI_PKEY_H 12 #define _KAPI_PKEY_H 13 14 #include <linux/ioctl.h> 15 #include <linux/types.h> 16 #include <uapi/asm/pkey.h> 17 18 /* 19 * In-kernel API: Transform an key blob (of any type) into a protected key. 20 * @param key pointer to a buffer containing the key blob 21 * @param keylen size of the key blob in bytes 22 * @param protkey pointer to buffer receiving the protected key 23 * @return 0 on success, negative errno value on failure 24 */ 25 int pkey_keyblob2pkey(const u8 *key, u32 keylen, 26 struct pkey_protkey *protkey); 27 28 #endif /* _KAPI_PKEY_H */ 29