Merge tag 'qemu-macppc-20230206' of https://github.com/mcayland/qemu into staging
[qemu.git] / include / qemu / typedefs.h
blobc7c8a8531536716e401ecc76b459823bc78c1377
1 #ifndef QEMU_TYPEDEFS_H
2 #define QEMU_TYPEDEFS_H
4 /*
5 * This header is for selectively avoiding #include just to get a
6 * typedef name.
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.
13 * You can break such cycles and unwanted dependencies by declaring
14 * the typedef name here.
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.
21 * Incomplete struct types
22 * Please keep this list in case-insensitive alphabetical order.
24 typedef struct AccelState AccelState;
25 typedef struct AdapterInfo AdapterInfo;
26 typedef struct AddressSpace AddressSpace;
27 typedef struct AioContext AioContext;
28 typedef struct Aml Aml;
29 typedef struct AnnounceTimer AnnounceTimer;
30 typedef struct ArchCPU ArchCPU;
31 typedef struct BdrvDirtyBitmap BdrvDirtyBitmap;
32 typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter;
33 typedef struct BlockBackend BlockBackend;
34 typedef struct BlockBackendRootState BlockBackendRootState;
35 typedef struct BlockDriverState BlockDriverState;
36 typedef struct BusClass BusClass;
37 typedef struct BusState BusState;
38 typedef struct Chardev Chardev;
39 typedef struct Clock Clock;
40 typedef struct CompatProperty CompatProperty;
41 typedef struct ConfidentialGuestSupport ConfidentialGuestSupport;
42 typedef struct CPUAddressSpace CPUAddressSpace;
43 typedef struct CPUArchState CPUArchState;
44 typedef struct CPUJumpCache CPUJumpCache;
45 typedef struct CPUState CPUState;
46 typedef struct CPUTLBEntryFull CPUTLBEntryFull;
47 typedef struct DeviceListener DeviceListener;
48 typedef struct DeviceState DeviceState;
49 typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot;
50 typedef struct DisplayChangeListener DisplayChangeListener;
51 typedef struct DriveInfo DriveInfo;
52 typedef struct Error Error;
53 typedef struct EventNotifier EventNotifier;
54 typedef struct FlatView FlatView;
55 typedef struct FWCfgEntry FWCfgEntry;
56 typedef struct FWCfgIoState FWCfgIoState;
57 typedef struct FWCfgMemState FWCfgMemState;
58 typedef struct FWCfgState FWCfgState;
59 typedef struct HostMemoryBackend HostMemoryBackend;
60 typedef struct I2CBus I2CBus;
61 typedef struct I2SCodec I2SCodec;
62 typedef struct IOMMUMemoryRegion IOMMUMemoryRegion;
63 typedef struct ISABus ISABus;
64 typedef struct ISADevice ISADevice;
65 typedef struct IsaDma IsaDma;
66 typedef struct JSONWriter JSONWriter;
67 typedef struct MACAddr MACAddr;
68 typedef struct MachineClass MachineClass;
69 typedef struct MachineState MachineState;
70 typedef struct MemoryListener MemoryListener;
71 typedef struct MemoryMappingList MemoryMappingList;
72 typedef struct MemoryRegion MemoryRegion;
73 typedef struct MemoryRegionCache MemoryRegionCache;
74 typedef struct MemoryRegionSection MemoryRegionSection;
75 typedef struct MigrationIncomingState MigrationIncomingState;
76 typedef struct MigrationState MigrationState;
77 typedef struct Monitor Monitor;
78 typedef struct MonitorDef MonitorDef;
79 typedef struct MSIMessage MSIMessage;
80 typedef struct NetClientState NetClientState;
81 typedef struct NetFilterState NetFilterState;
82 typedef struct NICInfo NICInfo;
83 typedef struct NodeInfo NodeInfo;
84 typedef struct NumaNodeMem NumaNodeMem;
85 typedef struct Object Object;
86 typedef struct ObjectClass ObjectClass;
87 typedef struct PCIBridge PCIBridge;
88 typedef struct PCIBus PCIBus;
89 typedef struct PCIDevice PCIDevice;
90 typedef struct PCIEAERErr PCIEAERErr;
91 typedef struct PCIEAERLog PCIEAERLog;
92 typedef struct PCIEAERMsg PCIEAERMsg;
93 typedef struct PCIESriovPF PCIESriovPF;
94 typedef struct PCIESriovVF PCIESriovVF;
95 typedef struct PCIEPort PCIEPort;
96 typedef struct PCIESlot PCIESlot;
97 typedef struct PCIExpressDevice PCIExpressDevice;
98 typedef struct PCIExpressHost PCIExpressHost;
99 typedef struct PCIHostDeviceAddress PCIHostDeviceAddress;
100 typedef struct PCIHostState PCIHostState;
101 typedef struct PICCommonState PICCommonState;
102 typedef struct PostcopyDiscardState PostcopyDiscardState;
103 typedef struct Property Property;
104 typedef struct PropertyInfo PropertyInfo;
105 typedef struct QBool QBool;
106 typedef struct QDict QDict;
107 typedef struct QEMUBH QEMUBH;
108 typedef struct QemuConsole QemuConsole;
109 typedef struct QEMUFile QEMUFile;
110 typedef struct QemuLockable QemuLockable;
111 typedef struct QemuMutex QemuMutex;
112 typedef struct QemuOpt QemuOpt;
113 typedef struct QemuOpts QemuOpts;
114 typedef struct QemuOptsList QemuOptsList;
115 typedef struct QEMUSGList QEMUSGList;
116 typedef struct QemuSpin QemuSpin;
117 typedef struct QEMUTimer QEMUTimer;
118 typedef struct QEMUTimerListGroup QEMUTimerListGroup;
119 typedef struct QList QList;
120 typedef struct QNull QNull;
121 typedef struct QNum QNum;
122 typedef struct QObject QObject;
123 typedef struct QString QString;
124 typedef struct RAMBlock RAMBlock;
125 typedef struct Range Range;
126 typedef struct ReservedRegion ReservedRegion;
127 typedef struct SavedIOTLB SavedIOTLB;
128 typedef struct SHPCDevice SHPCDevice;
129 typedef struct SSIBus SSIBus;
130 typedef struct TranslationBlock TranslationBlock;
131 typedef struct VirtIODevice VirtIODevice;
132 typedef struct Visitor Visitor;
133 typedef struct VMChangeStateEntry VMChangeStateEntry;
134 typedef struct VMStateDescription VMStateDescription;
135 typedef struct DumpState DumpState;
136 typedef struct GraphicHwOps GraphicHwOps;
137 typedef struct QEMUCursor QEMUCursor;
140 * Pointer types
141 * Such typedefs should be limited to cases where the typedef's users
142 * are oblivious of its "pointer-ness".
143 * Please keep this list in case-insensitive alphabetical order.
145 typedef struct IRQState *qemu_irq;
148 * Function types
150 typedef void SaveStateHandler(QEMUFile *f, void *opaque);
151 typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id);
152 typedef void (*qemu_irq_handler)(void *opaque, int n, int level);
154 #endif /* QEMU_TYPEDEFS_H */