]> git.proxmox.com Git - mirror_qemu.git/blame - include/qemu/typedefs.h
hw/net/xen_nic: Fix missing ERRP_GUARD() for error_prepend()
[mirror_qemu.git] / include / qemu / typedefs.h
CommitLineData
394e1bb7
EH
1#ifndef QEMU_TYPEDEFS_H
2#define QEMU_TYPEDEFS_H
3
2a28720d
MA
4/*
5 * This header is for selectively avoiding #include just to get a
6 * typedef name.
7 *
8 * Declaring a typedef name in its "obvious" place can result in
9 * inclusion cycles, in particular for complete struct and union
10 * types that need more types for their members. It can also result
11 * in headers pulling in many more headers, slowing down builds.
12 *
13 * You can break such cycles and unwanted dependencies by declaring
14 * the typedef name here.
15 *
16 * For struct types used in only a few headers, judicious use of the
17 * struct tag instead of the typedef name is commonly preferable.
18 */
394e1bb7 19
2a28720d
MA
20/*
21 * Incomplete struct types
22 * Please keep this list in case-insensitive alphabetical order.
23 */
f861b3f3 24typedef struct AccelCPUState AccelCPUState;
3d277871 25typedef struct AccelState AccelState;
64baadc2 26typedef struct AdapterInfo AdapterInfo;
b421d9c6 27typedef struct AddressSpace AddressSpace;
64baadc2 28typedef struct AioContext AioContext;
0f8d656b 29typedef struct Aml Aml;
50510ea2 30typedef struct AnnounceTimer AnnounceTimer;
b36e239e 31typedef struct ArchCPU ArchCPU;
9a3f5cf1 32typedef struct BdrvDirtyBitmap BdrvDirtyBitmap;
dc162c8e 33typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter;
26f54e9a 34typedef struct BlockBackend BlockBackend;
281d22d8 35typedef struct BlockBackendRootState BlockBackendRootState;
394e1bb7 36typedef struct BlockDriverState BlockDriverState;
64baadc2
DDAG
37typedef struct BusClass BusClass;
38typedef struct BusState BusState;
0ec7b3e7 39typedef struct Chardev Chardev;
ad140dad 40typedef struct Clock Clock;
64baadc2 41typedef struct CompatProperty CompatProperty;
f91f9f25 42typedef struct ConfidentialGuestSupport ConfidentialGuestSupport;
32857f4d 43typedef struct CPUAddressSpace CPUAddressSpace;
1ea4a06a 44typedef struct CPUArchState CPUArchState;
c0061471 45typedef struct CPUPluginState CPUPluginState;
5503da4a 46typedef struct CpuInfoFast CpuInfoFast;
a976a99a 47typedef struct CPUJumpCache CPUJumpCache;
b23197f9 48typedef struct CPUState CPUState;
af803a4f 49typedef struct CPUTLBEntryFull CPUTLBEntryFull;
707ff800 50typedef struct DeviceListener DeviceListener;
2988cbea 51typedef struct DeviceState DeviceState;
8deaf12c 52typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot;
394e1bb7 53typedef struct DisplayChangeListener DisplayChangeListener;
64baadc2 54typedef struct DriveInfo DriveInfo;
38ce1ebf 55typedef struct DumpState DumpState;
da34e65c 56typedef struct Error Error;
64baadc2 57typedef struct EventNotifier EventNotifier;
02d9651d 58typedef struct FlatView FlatView;
39736e18 59typedef struct FWCfgEntry FWCfgEntry;
5712db6a
LE
60typedef struct FWCfgIoState FWCfgIoState;
61typedef struct FWCfgMemState FWCfgMemState;
64baadc2 62typedef struct FWCfgState FWCfgState;
38ce1ebf 63typedef struct GraphicHwOps GraphicHwOps;
7969dd91 64typedef struct HostMemoryBackend HostMemoryBackend;
a5c82852 65typedef struct I2CBus I2CBus;
64baadc2 66typedef struct I2SCodec I2SCodec;
a98c370c 67typedef struct IOMMUMemoryRegion IOMMUMemoryRegion;
394e1bb7
EH
68typedef struct ISABus ISABus;
69typedef struct ISADevice ISADevice;
5484f30b 70typedef struct IsaDma IsaDma;
3ddba9a9 71typedef struct JSONWriter JSONWriter;
64baadc2
DDAG
72typedef struct MACAddr MACAddr;
73typedef struct MachineClass MachineClass;
74typedef struct MachineState MachineState;
75typedef struct MemoryListener MemoryListener;
76typedef struct MemoryMappingList MemoryMappingList;
77typedef struct MemoryRegion MemoryRegion;
1f4e496e 78typedef struct MemoryRegionCache MemoryRegionCache;
64baadc2 79typedef struct MemoryRegionSection MemoryRegionSection;
bca7856a 80typedef struct MigrationIncomingState MigrationIncomingState;
aefeb18b 81typedef struct MigrationState MigrationState;
64baadc2 82typedef struct Monitor Monitor;
2988cbea 83typedef struct MonitorDef MonitorDef;
64baadc2
DDAG
84typedef struct MSIMessage MSIMessage;
85typedef struct NetClientState NetClientState;
fdccce45 86typedef struct NetFilterState NetFilterState;
64baadc2 87typedef struct NICInfo NICInfo;
aec90730 88typedef struct NodeInfo NodeInfo;
31959e82 89typedef struct NumaNodeMem NumaNodeMem;
ca27b5eb 90typedef struct Object Object;
7cfda775 91typedef struct ObjectClass ObjectClass;
64baadc2 92typedef struct PCIBridge PCIBridge;
394e1bb7
EH
93typedef struct PCIBus PCIBus;
94typedef struct PCIDevice PCIDevice;
394e1bb7 95typedef struct PCIEAERErr PCIEAERErr;
64baadc2
DDAG
96typedef struct PCIEAERLog PCIEAERLog;
97typedef struct PCIEAERMsg PCIEAERMsg;
394e1bb7
EH
98typedef struct PCIEPort PCIEPort;
99typedef struct PCIESlot PCIESlot;
38ce1ebf
PMD
100typedef struct PCIESriovPF PCIESriovPF;
101typedef struct PCIESriovVF PCIESriovVF;
64baadc2
DDAG
102typedef struct PCIExpressDevice PCIExpressDevice;
103typedef struct PCIExpressHost PCIExpressHost;
a7c4d9c7 104typedef struct PCIHostDeviceAddress PCIHostDeviceAddress;
64baadc2 105typedef struct PCIHostState PCIHostState;
2aaf0ec7 106typedef struct PICCommonState PICCommonState;
e0b266f0 107typedef struct PostcopyDiscardState PostcopyDiscardState;
64baadc2 108typedef struct Property Property;
2988cbea 109typedef struct PropertyInfo PropertyInfo;
a98c370c
EB
110typedef struct QBool QBool;
111typedef struct QDict QDict;
64baadc2
DDAG
112typedef struct QEMUBH QEMUBH;
113typedef struct QemuConsole QemuConsole;
38ce1ebf 114typedef struct QEMUCursor QEMUCursor;
64baadc2 115typedef struct QEMUFile QEMUFile;
e70372fc
PB
116typedef struct QemuLockable QemuLockable;
117typedef struct QemuMutex QemuMutex;
ae1e9380
PD
118typedef struct QemuOpt QemuOpt;
119typedef struct QemuOpts QemuOpts;
120typedef struct QemuOptsList QemuOptsList;
394e1bb7 121typedef struct QEMUSGList QEMUSGList;
a98c370c 122typedef struct QemuSpin QemuSpin;
64baadc2 123typedef struct QEMUTimer QEMUTimer;
2988cbea 124typedef struct QEMUTimerListGroup QEMUTimerListGroup;
9f5c734d 125typedef struct QList QList;
4d2d5c41 126typedef struct QNull QNull;
9f5c734d
MA
127typedef struct QNum QNum;
128typedef struct QObject QObject;
129typedef struct QString QString;
422148d3 130typedef struct RAMBlock RAMBlock;
2988cbea 131typedef struct Range Range;
3ddba9a9 132typedef struct ReservedRegion ReservedRegion;
64baadc2 133typedef struct SHPCDevice SHPCDevice;
64baadc2 134typedef struct SSIBus SSIBus;
1764ad70 135typedef struct TCGCPUOps TCGCPUOps;
d53106c9 136typedef struct TCGHelperInfo TCGHelperInfo;
8349d2ae 137typedef struct TranslationBlock TranslationBlock;
64baadc2
DDAG
138typedef struct VirtIODevice VirtIODevice;
139typedef struct Visitor Visitor;
2f780b6a 140typedef struct VMChangeStateEntry VMChangeStateEntry;
8a9358cc 141typedef struct VMStateDescription VMStateDescription;
2a28720d 142
64552b6b
MA
143/*
144 * Pointer types
145 * Such typedefs should be limited to cases where the typedef's users
146 * are oblivious of its "pointer-ness".
147 * Please keep this list in case-insensitive alphabetical order.
148 */
149typedef struct IRQState *qemu_irq;
150
2a28720d
MA
151/*
152 * Function types
153 */
68a4a2fd
JQ
154typedef void SaveStateHandler(QEMUFile *f, void *opaque);
155typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id);
64552b6b 156typedef void (*qemu_irq_handler)(void *opaque, int n, int level);
394e1bb7
EH
157
158#endif /* QEMU_TYPEDEFS_H */