xref: /openbmc/qemu/include/sysemu/qtest.h (revision ffbc3949)
1 /*
2  * Test Server
3  *
4  * Copyright IBM, Corp. 2011
5  *
6  * Authors:
7  *  Anthony Liguori   <aliguori@us.ibm.com>
8  *
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.
11  *
12  */
13 
14 #ifndef QTEST_H
15 #define QTEST_H
16 
17 #include "chardev/char.h"
18 
19 extern bool qtest_allowed;
20 
21 static inline bool qtest_enabled(void)
22 {
23     return qtest_allowed;
24 }
25 
26 #ifndef CONFIG_USER_ONLY
27 void qtest_send_prefix(CharBackend *chr);
28 void G_GNUC_PRINTF(2, 3) qtest_sendf(CharBackend *chr, const char *fmt, ...);
29 void qtest_set_command_cb(bool (*pc_cb)(CharBackend *chr, gchar **words));
30 bool qtest_driver(void);
31 
32 void qtest_server_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
33 
34 void qtest_server_set_send_handler(void (*send)(void *, const char *),
35                                  void *opaque);
36 void qtest_server_inproc_recv(void *opaque, const char *buf);
37 
38 int64_t qtest_get_virtual_clock(void);
39 void qtest_set_virtual_clock(int64_t count);
40 #endif
41 
42 #endif
43