1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Kernelspace interface to the pkey device driver
4 *
5 * Copyright IBM Corp. 2016, 2023
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 */
25int pkey_keyblob2pkey(const u8 *key, u32 keylen,
26		      u8 *protkey, u32 *protkeylen, u32 *protkeytype);
27
28#endif /* _KAPI_PKEY_H */
29