master
h 30 lines 932 Bytes
Raw
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 /*
4 * This header file is meant to be used as input to the `bindgen` application
5 * in order to generate C FFI compatible Rust bindings.
6 */
7
8 /*
9 * We block include/qemu/typedefs.h from bindgen, add here symbols
10 * that are needed as opaque types by other functions.
11 */
12 typedef struct Clock Clock;
13 typedef struct DeviceState DeviceState;
14 typedef struct IRQState *qemu_irq;
15 typedef void (*qemu_irq_handler)(void *opaque, int n, int level);
16
17 /* Once bindings exist, these could move to a different *-sys crate. */
18 typedef struct BlockBackend BlockBackend;
19 typedef struct Monitor Monitor;
20 typedef struct NetClientState NetClientState;
21
22 #include "qemu/osdep.h"
23
24 #include "hw/core/clock.h"
25 #include "hw/core/irq.h"
26 #include "hw/core/qdev-clock.h"
27 #include "hw/core/qdev.h"
28 #include "hw/core/qdev-properties-system.h"
29 #include "hw/core/qdev-properties.h"
30 #include "hw/core/resettable.h"