1/*-
2 * SPDX-License-Identifier: BSD-2-Clause
3 *
4 * Copyright (c) 2023 Beckhoff Automation GmbH & Co. KG
5 * Author: Corvin K��hne <corvink@FreeBSD.org>
6 */
7
8#pragma once
9
10#include <sys/linker_set.h>
11
12#include "config.h"
13
14struct tpm_device;
15
16struct tpm_emul {
17	const char *name;
18
19	int (*init)(void **sc, nvlist_t *nvl);
20	void (*deinit)(void *sc);
21	int (*execute_cmd)(void *sc, void *cmd, uint32_t cmd_size, void *rsp,
22	    uint32_t rsp_size);
23};
24#define TPM_EMUL_SET(x) DATA_SET(tpm_emul_set, x)
25