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