xref: /openbmc/qemu/include/sysemu/qtest.h (revision c7a6bf5d)
19c17d615SPaolo Bonzini /*
29c17d615SPaolo Bonzini  * Test Server
39c17d615SPaolo Bonzini  *
49c17d615SPaolo Bonzini  * Copyright IBM, Corp. 2011
59c17d615SPaolo Bonzini  *
69c17d615SPaolo Bonzini  * Authors:
79c17d615SPaolo Bonzini  *  Anthony Liguori   <aliguori@us.ibm.com>
89c17d615SPaolo Bonzini  *
99c17d615SPaolo Bonzini  * This work is licensed under the terms of the GNU GPL, version 2 or later.
109c17d615SPaolo Bonzini  * See the COPYING file in the top-level directory.
119c17d615SPaolo Bonzini  *
129c17d615SPaolo Bonzini  */
139c17d615SPaolo Bonzini 
149c17d615SPaolo Bonzini #ifndef QTEST_H
159c17d615SPaolo Bonzini #define QTEST_H
169c17d615SPaolo Bonzini 
17*c7a6bf5dSThomas Huth #include "chardev/char.h"
189c17d615SPaolo Bonzini 
19d5286af5Sliguang extern bool qtest_allowed;
209c17d615SPaolo Bonzini 
qtest_enabled(void)219c17d615SPaolo Bonzini static inline bool qtest_enabled(void)
229c17d615SPaolo Bonzini {
239c17d615SPaolo Bonzini     return qtest_allowed;
249c17d615SPaolo Bonzini }
259c17d615SPaolo Bonzini 
26*c7a6bf5dSThomas Huth void qtest_send_prefix(CharBackend *chr);
27*c7a6bf5dSThomas Huth void G_GNUC_PRINTF(2, 3) qtest_sendf(CharBackend *chr, const char *fmt, ...);
28*c7a6bf5dSThomas Huth void qtest_set_command_cb(bool (*pc_cb)(CharBackend *chr, gchar **words));
29b3be57c3SMichael S. Tsirkin bool qtest_driver(void);
30b3be57c3SMichael S. Tsirkin 
312b8985f1SOleinik, Alexander void qtest_server_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
32d4fce24fSPaolo Bonzini 
33e731d083SAlexander Bulekov void qtest_server_set_send_handler(void (*send)(void *, const char *),
34e731d083SAlexander Bulekov                                  void *opaque);
350bd9aef8SAlexander Bulekov void qtest_server_inproc_recv(void *opaque, const char *buf);
36e731d083SAlexander Bulekov 
37740b1759SClaudio Fontana int64_t qtest_get_virtual_clock(void);
38740b1759SClaudio Fontana 
399c17d615SPaolo Bonzini #endif
40