linux/include/keys/trusted-type.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2010 IBM Corporation
 * Author: David Safford <[email protected]>
 */

#ifndef _KEYS_TRUSTED_TYPE_H
#define _KEYS_TRUSTED_TYPE_H

#include <linux/key.h>
#include <linux/rcupdate.h>
#include <linux/tpm.h>

#ifdef pr_fmt
#undef pr_fmt
#endif

#define pr_fmt(fmt)

#define MIN_KEY_SIZE
#define MAX_KEY_SIZE
#define MAX_BLOB_SIZE
#define MAX_PCRINFO_SIZE
#define MAX_DIGEST_SIZE

struct trusted_key_payload {};

struct trusted_key_options {};

struct trusted_key_ops {};

struct trusted_key_source {};

extern struct key_type key_type_trusted;

#define TRUSTED_DEBUG

#if TRUSTED_DEBUG
static inline void dump_payload(struct trusted_key_payload *p)
{
	pr_info("key_len %d\n", p->key_len);
	print_hex_dump(KERN_INFO, "key ", DUMP_PREFIX_NONE,
		       16, 1, p->key, p->key_len, 0);
	pr_info("bloblen %d\n", p->blob_len);
	print_hex_dump(KERN_INFO, "blob ", DUMP_PREFIX_NONE,
		       16, 1, p->blob, p->blob_len, 0);
	pr_info("migratable %d\n", p->migratable);
}
#else
static inline void dump_payload(struct trusted_key_payload *p)
{}
#endif

#endif /* _KEYS_TRUSTED_TYPE_H */