| 1 | /* |
| 2 | * libqmp test unit |
| 3 | * |
| 4 | * Copyright IBM, Corp. 2012 |
| 5 | * Copyright Red Hat, Inc. 2012 |
| 6 | * Copyright SUSE LINUX Products GmbH 2013 |
| 7 | * |
| 8 | * Authors: |
| 9 | * Anthony Liguori <aliguori@us.ibm.com> |
| 10 | * Paolo Bonzini <pbonzini@redhat.com> |
| 11 | * Andreas Färber <afaerber@suse.de> |
| 12 | * |
| 13 | * This work is licensed under the terms of the GNU GPL, version 2 or later. |
| 14 | * See the COPYING file in the top-level directory. |
| 15 | * |
| 16 | */ |
| 17 | |
| 18 | #ifndef LIBQMP_H |
| 19 | #define LIBQMP_H |
| 20 | |
| 21 | #include "qobject/qdict.h" |
| 22 | |
| 23 | QDict *qmp_fd_receive(int fd); |
| 24 | #ifndef _WIN32 |
| 25 | void qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num, |
| 26 | const char *fmt, va_list ap) G_GNUC_PRINTF(4, 0); |
| 27 | #endif |
| 28 | void qmp_fd_vsend(int fd, const char *fmt, va_list ap) G_GNUC_PRINTF(2, 0); |
| 29 | void qmp_fd_send(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); |
| 30 | void qmp_fd_send_raw(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); |
| 31 | void qmp_fd_vsend_raw(int fd, const char *fmt, va_list ap) G_GNUC_PRINTF(2, 0); |
| 32 | QDict *qmp_fdv(int fd, const char *fmt, va_list ap) G_GNUC_PRINTF(2, 0); |
| 33 | QDict *qmp_fd(int fd, const char *fmt, ...) G_GNUC_PRINTF(2, 3); |
| 34 | |
| 35 | /** |
| 36 | * qmp_rsp_is_err: |
| 37 | * @rsp: QMP response to check for error |
| 38 | * |
| 39 | * Test @rsp for error and discard @rsp. |
| 40 | * Returns 'true' if there is error in @rsp and 'false' otherwise. |
| 41 | */ |
| 42 | bool qmp_rsp_is_err(QDict *rsp); |
| 43 | |
| 44 | /** |
| 45 | * qmp_expect_error_and_unref: |
| 46 | * @rsp: QMP response to check for error |
| 47 | * @class: an error class |
| 48 | * |
| 49 | * Assert the response has the given error class and discard @rsp. |
| 50 | */ |
| 51 | void qmp_expect_error_and_unref(QDict *rsp, const char *class); |
| 52 | |
| 53 | #endif /* LIBQMP_H */ |