]>
Commit | Line | Data |
---|---|---|
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 | */ | |
64baadc2 | 24 | typedef struct AdapterInfo AdapterInfo; |
b421d9c6 | 25 | typedef struct AddressSpace AddressSpace; |
64baadc2 | 26 | typedef struct AioContext AioContext; |
0f8d656b | 27 | typedef struct Aml Aml; |
50510ea2 | 28 | typedef struct AnnounceTimer AnnounceTimer; |
9a3f5cf1 | 29 | typedef struct BdrvDirtyBitmap BdrvDirtyBitmap; |
dc162c8e | 30 | typedef struct BdrvDirtyBitmapIter BdrvDirtyBitmapIter; |
26f54e9a | 31 | typedef struct BlockBackend BlockBackend; |
281d22d8 | 32 | typedef struct BlockBackendRootState BlockBackendRootState; |
394e1bb7 | 33 | typedef struct BlockDriverState BlockDriverState; |
64baadc2 DDAG |
34 | typedef struct BusClass BusClass; |
35 | typedef struct BusState BusState; | |
0ec7b3e7 | 36 | typedef struct Chardev Chardev; |
ad140dad | 37 | typedef struct Clock Clock; |
64baadc2 | 38 | typedef struct CompatProperty CompatProperty; |
e70372fc | 39 | typedef struct CoMutex CoMutex; |
f91f9f25 | 40 | typedef struct ConfidentialGuestSupport ConfidentialGuestSupport; |
32857f4d | 41 | typedef struct CPUAddressSpace CPUAddressSpace; |
b23197f9 | 42 | typedef struct CPUState CPUState; |
707ff800 | 43 | typedef struct DeviceListener DeviceListener; |
2988cbea | 44 | typedef struct DeviceState DeviceState; |
8deaf12c | 45 | typedef struct DirtyBitmapSnapshot DirtyBitmapSnapshot; |
394e1bb7 | 46 | typedef struct DisplayChangeListener DisplayChangeListener; |
64baadc2 | 47 | typedef struct DriveInfo DriveInfo; |
da34e65c | 48 | typedef struct Error Error; |
64baadc2 | 49 | typedef struct EventNotifier EventNotifier; |
02d9651d | 50 | typedef struct FlatView FlatView; |
39736e18 | 51 | typedef struct FWCfgEntry FWCfgEntry; |
5712db6a LE |
52 | typedef struct FWCfgIoState FWCfgIoState; |
53 | typedef struct FWCfgMemState FWCfgMemState; | |
64baadc2 | 54 | typedef struct FWCfgState FWCfgState; |
7969dd91 | 55 | typedef struct HostMemoryBackend HostMemoryBackend; |
a5c82852 | 56 | typedef struct I2CBus I2CBus; |
64baadc2 | 57 | typedef struct I2SCodec I2SCodec; |
a98c370c | 58 | typedef struct IOMMUMemoryRegion IOMMUMemoryRegion; |
394e1bb7 EH |
59 | typedef struct ISABus ISABus; |
60 | typedef struct ISADevice ISADevice; | |
5484f30b | 61 | typedef struct IsaDma IsaDma; |
3ddba9a9 | 62 | typedef struct JSONWriter JSONWriter; |
64baadc2 DDAG |
63 | typedef struct MACAddr MACAddr; |
64 | typedef struct MachineClass MachineClass; | |
65 | typedef struct MachineState MachineState; | |
66 | typedef struct MemoryListener MemoryListener; | |
67 | typedef struct MemoryMappingList MemoryMappingList; | |
68 | typedef struct MemoryRegion MemoryRegion; | |
1f4e496e | 69 | typedef struct MemoryRegionCache MemoryRegionCache; |
64baadc2 | 70 | typedef struct MemoryRegionSection MemoryRegionSection; |
bca7856a | 71 | typedef struct MigrationIncomingState MigrationIncomingState; |
aefeb18b | 72 | typedef struct MigrationState MigrationState; |
64baadc2 | 73 | typedef struct Monitor Monitor; |
2988cbea | 74 | typedef struct MonitorDef MonitorDef; |
64baadc2 DDAG |
75 | typedef struct MSIMessage MSIMessage; |
76 | typedef struct NetClientState NetClientState; | |
fdccce45 | 77 | typedef struct NetFilterState NetFilterState; |
64baadc2 | 78 | typedef struct NICInfo NICInfo; |
aec90730 | 79 | typedef struct NodeInfo NodeInfo; |
31959e82 | 80 | typedef struct NumaNodeMem NumaNodeMem; |
ca27b5eb | 81 | typedef struct Object Object; |
7cfda775 | 82 | typedef struct ObjectClass ObjectClass; |
64baadc2 | 83 | typedef struct PCIBridge PCIBridge; |
394e1bb7 EH |
84 | typedef struct PCIBus PCIBus; |
85 | typedef struct PCIDevice PCIDevice; | |
394e1bb7 | 86 | typedef struct PCIEAERErr PCIEAERErr; |
64baadc2 DDAG |
87 | typedef struct PCIEAERLog PCIEAERLog; |
88 | typedef struct PCIEAERMsg PCIEAERMsg; | |
394e1bb7 EH |
89 | typedef struct PCIEPort PCIEPort; |
90 | typedef struct PCIESlot PCIESlot; | |
64baadc2 DDAG |
91 | typedef struct PCIExpressDevice PCIExpressDevice; |
92 | typedef struct PCIExpressHost PCIExpressHost; | |
a7c4d9c7 | 93 | typedef struct PCIHostDeviceAddress PCIHostDeviceAddress; |
64baadc2 | 94 | typedef struct PCIHostState PCIHostState; |
e0b266f0 | 95 | typedef struct PostcopyDiscardState PostcopyDiscardState; |
64baadc2 | 96 | typedef struct Property Property; |
2988cbea | 97 | typedef struct PropertyInfo PropertyInfo; |
a98c370c EB |
98 | typedef struct QBool QBool; |
99 | typedef struct QDict QDict; | |
64baadc2 DDAG |
100 | typedef struct QEMUBH QEMUBH; |
101 | typedef struct QemuConsole QemuConsole; | |
102 | typedef struct QEMUFile QEMUFile; | |
e70372fc PB |
103 | typedef struct QemuLockable QemuLockable; |
104 | typedef struct QemuMutex QemuMutex; | |
ae1e9380 PD |
105 | typedef struct QemuOpt QemuOpt; |
106 | typedef struct QemuOpts QemuOpts; | |
107 | typedef struct QemuOptsList QemuOptsList; | |
394e1bb7 | 108 | typedef struct QEMUSGList QEMUSGList; |
a98c370c | 109 | typedef struct QemuSpin QemuSpin; |
64baadc2 | 110 | typedef struct QEMUTimer QEMUTimer; |
2988cbea | 111 | typedef struct QEMUTimerListGroup QEMUTimerListGroup; |
9f5c734d | 112 | typedef struct QList QList; |
4d2d5c41 | 113 | typedef struct QNull QNull; |
9f5c734d MA |
114 | typedef struct QNum QNum; |
115 | typedef struct QObject QObject; | |
116 | typedef struct QString QString; | |
422148d3 | 117 | typedef struct RAMBlock RAMBlock; |
2988cbea | 118 | typedef struct Range Range; |
3ddba9a9 | 119 | typedef struct ReservedRegion ReservedRegion; |
2f3a57ee | 120 | typedef struct SavedIOTLB SavedIOTLB; |
64baadc2 | 121 | typedef struct SHPCDevice SHPCDevice; |
64baadc2 | 122 | typedef struct SSIBus SSIBus; |
64baadc2 DDAG |
123 | typedef struct VirtIODevice VirtIODevice; |
124 | typedef struct Visitor Visitor; | |
2f780b6a | 125 | typedef struct VMChangeStateEntry VMChangeStateEntry; |
8a9358cc | 126 | typedef struct VMStateDescription VMStateDescription; |
2a28720d | 127 | |
64552b6b MA |
128 | /* |
129 | * Pointer types | |
130 | * Such typedefs should be limited to cases where the typedef's users | |
131 | * are oblivious of its "pointer-ness". | |
132 | * Please keep this list in case-insensitive alphabetical order. | |
133 | */ | |
134 | typedef struct IRQState *qemu_irq; | |
135 | ||
2a28720d MA |
136 | /* |
137 | * Function types | |
138 | */ | |
68a4a2fd JQ |
139 | typedef void SaveStateHandler(QEMUFile *f, void *opaque); |
140 | typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); | |
64552b6b | 141 | typedef void (*qemu_irq_handler)(void *opaque, int n, int level); |
394e1bb7 EH |
142 | |
143 | #endif /* QEMU_TYPEDEFS_H */ |