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