test/tpm-emu: include sockets and channel headers in tpm-emu header
[qemu/ar7.git] / tests / qtest / tpm-emu.h
blob73f3bed0c4bceeefb14b3c8fa219eefa746907ed
1 /*
2 * Minimal TPM emulator for TPM test cases
4 * Copyright (c) 2018 Red Hat, Inc.
6 * Authors:
7 * Marc-André Lureau <marcandre.lureau@redhat.com>
9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10 * See the COPYING file in the top-level directory.
13 #ifndef TESTS_TPM_EMU_H
14 #define TESTS_TPM_EMU_H
16 #define TPM_RC_FAILURE 0x101
17 #define TPM2_ST_NO_SESSIONS 0x8001
19 #include "qemu/sockets.h"
20 #include "io/channel.h"
22 struct tpm_hdr {
23 uint16_t tag;
24 uint32_t len;
25 uint32_t code; /*ordinal/error */
26 char buffer[];
27 } QEMU_PACKED;
29 typedef struct TestState {
30 GMutex data_mutex;
31 GCond data_cond;
32 bool data_cond_signal;
33 SocketAddress *addr;
34 QIOChannel *tpm_ioc;
35 GThread *emu_tpm_thread;
36 struct tpm_hdr *tpm_msg;
37 } TestState;
39 void tpm_emu_test_wait_cond(TestState *s);
40 void *tpm_emu_ctrl_thread(void *data);
42 #endif /* TESTS_TPM_EMU_H */