/* AUTOMATICALLY GENERATED, DO NOT MODIFY */ /* * schema-defined QAPI types * * Copyright IBM, Corp. 2011 * * Authors: * Anthony Liguori * * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. * See the COPYING.LIB file in the top-level directory. * */ #ifndef QAPI_TYPES_H #define QAPI_TYPES_H #include #include #ifndef QAPI_TYPES_BUILTIN_STRUCT_DECL_H #define QAPI_TYPES_BUILTIN_STRUCT_DECL_H typedef struct strList { union { char * value; uint64_t padding; }; struct strList *next; } strList; typedef struct intList { union { int64_t value; uint64_t padding; }; struct intList *next; } intList; typedef struct numberList { union { double value; uint64_t padding; }; struct numberList *next; } numberList; typedef struct boolList { union { bool value; uint64_t padding; }; struct boolList *next; } boolList; typedef struct int8List { union { int8_t value; uint64_t padding; }; struct int8List *next; } int8List; typedef struct int16List { union { int16_t value; uint64_t padding; }; struct int16List *next; } int16List; typedef struct int32List { union { int32_t value; uint64_t padding; }; struct int32List *next; } int32List; typedef struct int64List { union { int64_t value; uint64_t padding; }; struct int64List *next; } int64List; typedef struct uint8List { union { uint8_t value; uint64_t padding; }; struct uint8List *next; } uint8List; typedef struct uint16List { union { uint16_t value; uint64_t padding; }; struct uint16List *next; } uint16List; typedef struct uint32List { union { uint32_t value; uint64_t padding; }; struct uint32List *next; } uint32List; typedef struct uint64List { union { uint64_t value; uint64_t padding; }; struct uint64List *next; } uint64List; #endif /* QAPI_TYPES_BUILTIN_STRUCT_DECL_H */ extern const char *ErrorClass_lookup[]; typedef enum ErrorClass { ERROR_CLASS_GENERIC_ERROR = 0, ERROR_CLASS_COMMAND_NOT_FOUND = 1, ERROR_CLASS_DEVICE_ENCRYPTED = 2, ERROR_CLASS_DEVICE_NOT_ACTIVE = 3, ERROR_CLASS_DEVICE_NOT_FOUND = 4, ERROR_CLASS_K_V_M_MISSING_CAP = 5, ERROR_CLASS_MAX = 6, } ErrorClass; typedef struct ErrorClassList { union { ErrorClass value; uint64_t padding; }; struct ErrorClassList *next; } ErrorClassList; typedef struct NameInfo NameInfo; typedef struct NameInfoList { union { NameInfo *value; uint64_t padding; }; struct NameInfoList *next; } NameInfoList; typedef struct VersionInfo VersionInfo; typedef struct VersionInfoList { union { VersionInfo *value; uint64_t padding; }; struct VersionInfoList *next; } VersionInfoList; typedef struct KvmInfo KvmInfo; typedef struct KvmInfoList { union { KvmInfo *value; uint64_t padding; }; struct KvmInfoList *next; } KvmInfoList; extern const char *RunState_lookup[]; typedef enum RunState { RUN_STATE_DEBUG = 0, RUN_STATE_INMIGRATE = 1, RUN_STATE_INTERNAL_ERROR = 2, RUN_STATE_IO_ERROR = 3, RUN_STATE_PAUSED = 4, RUN_STATE_POSTMIGRATE = 5, RUN_STATE_PRELAUNCH = 6, RUN_STATE_FINISH_MIGRATE = 7, RUN_STATE_RESTORE_VM = 8, RUN_STATE_RUNNING = 9, RUN_STATE_SAVE_VM = 10, RUN_STATE_SHUTDOWN = 11, RUN_STATE_SUSPENDED = 12, RUN_STATE_WATCHDOG = 13, RUN_STATE_GUEST_PANICKED = 14, RUN_STATE_MAX = 15, } RunState; typedef struct RunStateList { union { RunState value; uint64_t padding; }; struct RunStateList *next; } RunStateList; typedef struct SnapshotInfo SnapshotInfo; typedef struct SnapshotInfoList { union { SnapshotInfo *value; uint64_t padding; }; struct SnapshotInfoList *next; } SnapshotInfoList; typedef struct ImageInfoSpecificQCow2 ImageInfoSpecificQCow2; typedef struct ImageInfoSpecificQCow2List { union { ImageInfoSpecificQCow2 *value; uint64_t padding; }; struct ImageInfoSpecificQCow2List *next; } ImageInfoSpecificQCow2List; typedef struct ImageInfoSpecificVmdk ImageInfoSpecificVmdk; typedef struct ImageInfoSpecificVmdkList { union { ImageInfoSpecificVmdk *value; uint64_t padding; }; struct ImageInfoSpecificVmdkList *next; } ImageInfoSpecificVmdkList; typedef struct ImageInfoSpecific ImageInfoSpecific; typedef struct ImageInfoSpecificList { union { ImageInfoSpecific *value; uint64_t padding; }; struct ImageInfoSpecificList *next; } ImageInfoSpecificList; extern const char *ImageInfoSpecificKind_lookup[]; typedef enum ImageInfoSpecificKind { IMAGE_INFO_SPECIFIC_KIND_QCOW2 = 0, IMAGE_INFO_SPECIFIC_KIND_VMDK = 1, IMAGE_INFO_SPECIFIC_KIND_MAX = 2, } ImageInfoSpecificKind; typedef struct ImageInfo ImageInfo; typedef struct ImageInfoList { union { ImageInfo *value; uint64_t padding; }; struct ImageInfoList *next; } ImageInfoList; typedef struct ImageCheck ImageCheck; typedef struct ImageCheckList { union { ImageCheck *value; uint64_t padding; }; struct ImageCheckList *next; } ImageCheckList; typedef struct StatusInfo StatusInfo; typedef struct StatusInfoList { union { StatusInfo *value; uint64_t padding; }; struct StatusInfoList *next; } StatusInfoList; typedef struct UuidInfo UuidInfo; typedef struct UuidInfoList { union { UuidInfo *value; uint64_t padding; }; struct UuidInfoList *next; } UuidInfoList; typedef struct ChardevInfo ChardevInfo; typedef struct ChardevInfoList { union { ChardevInfo *value; uint64_t padding; }; struct ChardevInfoList *next; } ChardevInfoList; extern const char *DataFormat_lookup[]; typedef enum DataFormat { DATA_FORMAT_UTF8 = 0, DATA_FORMAT_BASE64 = 1, DATA_FORMAT_MAX = 2, } DataFormat; typedef struct DataFormatList { union { DataFormat value; uint64_t padding; }; struct DataFormatList *next; } DataFormatList; typedef struct CommandInfo CommandInfo; typedef struct CommandInfoList { union { CommandInfo *value; uint64_t padding; }; struct CommandInfoList *next; } CommandInfoList; typedef struct EventInfo EventInfo; typedef struct EventInfoList { union { EventInfo *value; uint64_t padding; }; struct EventInfoList *next; } EventInfoList; typedef struct MigrationStats MigrationStats; typedef struct MigrationStatsList { union { MigrationStats *value; uint64_t padding; }; struct MigrationStatsList *next; } MigrationStatsList; typedef struct XBZRLECacheStats XBZRLECacheStats; typedef struct XBZRLECacheStatsList { union { XBZRLECacheStats *value; uint64_t padding; }; struct XBZRLECacheStatsList *next; } XBZRLECacheStatsList; typedef struct MigrationInfo MigrationInfo; typedef struct MigrationInfoList { union { MigrationInfo *value; uint64_t padding; }; struct MigrationInfoList *next; } MigrationInfoList; extern const char *MigrationCapability_lookup[]; typedef enum MigrationCapability { MIGRATION_CAPABILITY_XBZRLE = 0, MIGRATION_CAPABILITY_X_RDMA_PIN_ALL = 1, MIGRATION_CAPABILITY_AUTO_CONVERGE = 2, MIGRATION_CAPABILITY_ZERO_BLOCKS = 3, MIGRATION_CAPABILITY_MAX = 4, } MigrationCapability; typedef struct MigrationCapabilityList { union { MigrationCapability value; uint64_t padding; }; struct MigrationCapabilityList *next; } MigrationCapabilityList; typedef struct MigrationCapabilityStatus MigrationCapabilityStatus; typedef struct MigrationCapabilityStatusList { union { MigrationCapabilityStatus *value; uint64_t padding; }; struct MigrationCapabilityStatusList *next; } MigrationCapabilityStatusList; typedef struct MouseInfo MouseInfo; typedef struct MouseInfoList { union { MouseInfo *value; uint64_t padding; }; struct MouseInfoList *next; } MouseInfoList; typedef struct CpuInfo CpuInfo; typedef struct CpuInfoList { union { CpuInfo *value; uint64_t padding; }; struct CpuInfoList *next; } CpuInfoList; typedef struct BlockDeviceInfo BlockDeviceInfo; typedef struct BlockDeviceInfoList { union { BlockDeviceInfo *value; uint64_t padding; }; struct BlockDeviceInfoList *next; } BlockDeviceInfoList; extern const char *BlockDeviceIoStatus_lookup[]; typedef enum BlockDeviceIoStatus { BLOCK_DEVICE_IO_STATUS_OK = 0, BLOCK_DEVICE_IO_STATUS_FAILED = 1, BLOCK_DEVICE_IO_STATUS_NOSPACE = 2, BLOCK_DEVICE_IO_STATUS_MAX = 3, } BlockDeviceIoStatus; typedef struct BlockDeviceIoStatusList { union { BlockDeviceIoStatus value; uint64_t padding; }; struct BlockDeviceIoStatusList *next; } BlockDeviceIoStatusList; typedef struct BlockDeviceMapEntry BlockDeviceMapEntry; typedef struct BlockDeviceMapEntryList { union { BlockDeviceMapEntry *value; uint64_t padding; }; struct BlockDeviceMapEntryList *next; } BlockDeviceMapEntryList; typedef struct BlockDirtyInfo BlockDirtyInfo; typedef struct BlockDirtyInfoList { union { BlockDirtyInfo *value; uint64_t padding; }; struct BlockDirtyInfoList *next; } BlockDirtyInfoList; typedef struct BlockInfo BlockInfo; typedef struct BlockInfoList { union { BlockInfo *value; uint64_t padding; }; struct BlockInfoList *next; } BlockInfoList; typedef struct BlockDeviceStats BlockDeviceStats; typedef struct BlockDeviceStatsList { union { BlockDeviceStats *value; uint64_t padding; }; struct BlockDeviceStatsList *next; } BlockDeviceStatsList; typedef struct BlockStats BlockStats; typedef struct BlockStatsList { union { BlockStats *value; uint64_t padding; }; struct BlockStatsList *next; } BlockStatsList; typedef struct VncClientInfo VncClientInfo; typedef struct VncClientInfoList { union { VncClientInfo *value; uint64_t padding; }; struct VncClientInfoList *next; } VncClientInfoList; typedef struct VncInfo VncInfo; typedef struct VncInfoList { union { VncInfo *value; uint64_t padding; }; struct VncInfoList *next; } VncInfoList; typedef struct SpiceChannel SpiceChannel; typedef struct SpiceChannelList { union { SpiceChannel *value; uint64_t padding; }; struct SpiceChannelList *next; } SpiceChannelList; extern const char *SpiceQueryMouseMode_lookup[]; typedef enum SpiceQueryMouseMode { SPICE_QUERY_MOUSE_MODE_CLIENT = 0, SPICE_QUERY_MOUSE_MODE_SERVER = 1, SPICE_QUERY_MOUSE_MODE_UNKNOWN = 2, SPICE_QUERY_MOUSE_MODE_MAX = 3, } SpiceQueryMouseMode; typedef struct SpiceQueryMouseModeList { union { SpiceQueryMouseMode value; uint64_t padding; }; struct SpiceQueryMouseModeList *next; } SpiceQueryMouseModeList; typedef struct SpiceInfo SpiceInfo; typedef struct SpiceInfoList { union { SpiceInfo *value; uint64_t padding; }; struct SpiceInfoList *next; } SpiceInfoList; typedef struct BalloonInfo BalloonInfo; typedef struct BalloonInfoList { union { BalloonInfo *value; uint64_t padding; }; struct BalloonInfoList *next; } BalloonInfoList; typedef struct PciMemoryRange PciMemoryRange; typedef struct PciMemoryRangeList { union { PciMemoryRange *value; uint64_t padding; }; struct PciMemoryRangeList *next; } PciMemoryRangeList; typedef struct PciMemoryRegion PciMemoryRegion; typedef struct PciMemoryRegionList { union { PciMemoryRegion *value; uint64_t padding; }; struct PciMemoryRegionList *next; } PciMemoryRegionList; typedef struct PciBridgeInfo PciBridgeInfo; typedef struct PciBridgeInfoList { union { PciBridgeInfo *value; uint64_t padding; }; struct PciBridgeInfoList *next; } PciBridgeInfoList; typedef struct PciDeviceInfo PciDeviceInfo; typedef struct PciDeviceInfoList { union { PciDeviceInfo *value; uint64_t padding; }; struct PciDeviceInfoList *next; } PciDeviceInfoList; typedef struct PciInfo PciInfo; typedef struct PciInfoList { union { PciInfo *value; uint64_t padding; }; struct PciInfoList *next; } PciInfoList; extern const char *BlockdevOnError_lookup[]; typedef enum BlockdevOnError { BLOCKDEV_ON_ERROR_REPORT = 0, BLOCKDEV_ON_ERROR_IGNORE = 1, BLOCKDEV_ON_ERROR_ENOSPC = 2, BLOCKDEV_ON_ERROR_STOP = 3, BLOCKDEV_ON_ERROR_MAX = 4, } BlockdevOnError; typedef struct BlockdevOnErrorList { union { BlockdevOnError value; uint64_t padding; }; struct BlockdevOnErrorList *next; } BlockdevOnErrorList; extern const char *MirrorSyncMode_lookup[]; typedef enum MirrorSyncMode { MIRROR_SYNC_MODE_TOP = 0, MIRROR_SYNC_MODE_FULL = 1, MIRROR_SYNC_MODE_NONE = 2, MIRROR_SYNC_MODE_MAX = 3, } MirrorSyncMode; typedef struct MirrorSyncModeList { union { MirrorSyncMode value; uint64_t padding; }; struct MirrorSyncModeList *next; } MirrorSyncModeList; extern const char *BlockJobType_lookup[]; typedef enum BlockJobType { BLOCK_JOB_TYPE_COMMIT = 0, BLOCK_JOB_TYPE_STREAM = 1, BLOCK_JOB_TYPE_MIRROR = 2, BLOCK_JOB_TYPE_BACKUP = 3, BLOCK_JOB_TYPE_MAX = 4, } BlockJobType; typedef struct BlockJobTypeList { union { BlockJobType value; uint64_t padding; }; struct BlockJobTypeList *next; } BlockJobTypeList; typedef struct BlockJobInfo BlockJobInfo; typedef struct BlockJobInfoList { union { BlockJobInfo *value; uint64_t padding; }; struct BlockJobInfoList *next; } BlockJobInfoList; extern const char *NewImageMode_lookup[]; typedef enum NewImageMode { NEW_IMAGE_MODE_EXISTING = 0, NEW_IMAGE_MODE_ABSOLUTE_PATHS = 1, NEW_IMAGE_MODE_MAX = 2, } NewImageMode; typedef struct NewImageModeList { union { NewImageMode value; uint64_t padding; }; struct NewImageModeList *next; } NewImageModeList; typedef struct BlockdevSnapshot BlockdevSnapshot; typedef struct BlockdevSnapshotList { union { BlockdevSnapshot *value; uint64_t padding; }; struct BlockdevSnapshotList *next; } BlockdevSnapshotList; typedef struct BlockdevSnapshotInternal BlockdevSnapshotInternal; typedef struct BlockdevSnapshotInternalList { union { BlockdevSnapshotInternal *value; uint64_t padding; }; struct BlockdevSnapshotInternalList *next; } BlockdevSnapshotInternalList; typedef struct DriveBackup DriveBackup; typedef struct DriveBackupList { union { DriveBackup *value; uint64_t padding; }; struct DriveBackupList *next; } DriveBackupList; typedef struct Abort Abort; typedef struct AbortList { union { Abort *value; uint64_t padding; }; struct AbortList *next; } AbortList; typedef struct TransactionAction TransactionAction; typedef struct TransactionActionList { union { TransactionAction *value; uint64_t padding; }; struct TransactionActionList *next; } TransactionActionList; extern const char *TransactionActionKind_lookup[]; typedef enum TransactionActionKind { TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_SYNC = 0, TRANSACTION_ACTION_KIND_DRIVE_BACKUP = 1, TRANSACTION_ACTION_KIND_ABORT = 2, TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_INTERNAL_SYNC = 3, TRANSACTION_ACTION_KIND_MAX = 4, } TransactionActionKind; typedef struct ObjectPropertyInfo ObjectPropertyInfo; typedef struct ObjectPropertyInfoList { union { ObjectPropertyInfo *value; uint64_t padding; }; struct ObjectPropertyInfoList *next; } ObjectPropertyInfoList; typedef struct ObjectTypeInfo ObjectTypeInfo; typedef struct ObjectTypeInfoList { union { ObjectTypeInfo *value; uint64_t padding; }; struct ObjectTypeInfoList *next; } ObjectTypeInfoList; typedef struct DevicePropertyInfo DevicePropertyInfo; typedef struct DevicePropertyInfoList { union { DevicePropertyInfo *value; uint64_t padding; }; struct DevicePropertyInfoList *next; } DevicePropertyInfoList; typedef struct NetdevNoneOptions NetdevNoneOptions; typedef struct NetdevNoneOptionsList { union { NetdevNoneOptions *value; uint64_t padding; }; struct NetdevNoneOptionsList *next; } NetdevNoneOptionsList; typedef struct NetLegacyNicOptions NetLegacyNicOptions; typedef struct NetLegacyNicOptionsList { union { NetLegacyNicOptions *value; uint64_t padding; }; struct NetLegacyNicOptionsList *next; } NetLegacyNicOptionsList; typedef struct String String; typedef struct StringList { union { String *value; uint64_t padding; }; struct StringList *next; } StringList; typedef struct NetdevUserOptions NetdevUserOptions; typedef struct NetdevUserOptionsList { union { NetdevUserOptions *value; uint64_t padding; }; struct NetdevUserOptionsList *next; } NetdevUserOptionsList; typedef struct NetdevTapOptions NetdevTapOptions; typedef struct NetdevTapOptionsList { union { NetdevTapOptions *value; uint64_t padding; }; struct NetdevTapOptionsList *next; } NetdevTapOptionsList; typedef struct NetdevSocketOptions NetdevSocketOptions; typedef struct NetdevSocketOptionsList { union { NetdevSocketOptions *value; uint64_t padding; }; struct NetdevSocketOptionsList *next; } NetdevSocketOptionsList; typedef struct NetdevVdeOptions NetdevVdeOptions; typedef struct NetdevVdeOptionsList { union { NetdevVdeOptions *value; uint64_t padding; }; struct NetdevVdeOptionsList *next; } NetdevVdeOptionsList; typedef struct NetdevDumpOptions NetdevDumpOptions; typedef struct NetdevDumpOptionsList { union { NetdevDumpOptions *value; uint64_t padding; }; struct NetdevDumpOptionsList *next; } NetdevDumpOptionsList; typedef struct NetdevBridgeOptions NetdevBridgeOptions; typedef struct NetdevBridgeOptionsList { union { NetdevBridgeOptions *value; uint64_t padding; }; struct NetdevBridgeOptionsList *next; } NetdevBridgeOptionsList; typedef struct NetdevHubPortOptions NetdevHubPortOptions; typedef struct NetdevHubPortOptionsList { union { NetdevHubPortOptions *value; uint64_t padding; }; struct NetdevHubPortOptionsList *next; } NetdevHubPortOptionsList; typedef struct NetdevNetmapOptions NetdevNetmapOptions; typedef struct NetdevNetmapOptionsList { union { NetdevNetmapOptions *value; uint64_t padding; }; struct NetdevNetmapOptionsList *next; } NetdevNetmapOptionsList; typedef struct NetClientOptions NetClientOptions; typedef struct NetClientOptionsList { union { NetClientOptions *value; uint64_t padding; }; struct NetClientOptionsList *next; } NetClientOptionsList; extern const char *NetClientOptionsKind_lookup[]; typedef enum NetClientOptionsKind { NET_CLIENT_OPTIONS_KIND_NONE = 0, NET_CLIENT_OPTIONS_KIND_NIC = 1, NET_CLIENT_OPTIONS_KIND_USER = 2, NET_CLIENT_OPTIONS_KIND_TAP = 3, NET_CLIENT_OPTIONS_KIND_SOCKET = 4, NET_CLIENT_OPTIONS_KIND_VDE = 5, NET_CLIENT_OPTIONS_KIND_DUMP = 6, NET_CLIENT_OPTIONS_KIND_BRIDGE = 7, NET_CLIENT_OPTIONS_KIND_HUBPORT = 8, NET_CLIENT_OPTIONS_KIND_NETMAP = 9, NET_CLIENT_OPTIONS_KIND_MAX = 10, } NetClientOptionsKind; typedef struct NetLegacy NetLegacy; typedef struct NetLegacyList { union { NetLegacy *value; uint64_t padding; }; struct NetLegacyList *next; } NetLegacyList; typedef struct Netdev Netdev; typedef struct NetdevList { union { Netdev *value; uint64_t padding; }; struct NetdevList *next; } NetdevList; typedef struct InetSocketAddress InetSocketAddress; typedef struct InetSocketAddressList { union { InetSocketAddress *value; uint64_t padding; }; struct InetSocketAddressList *next; } InetSocketAddressList; typedef struct UnixSocketAddress UnixSocketAddress; typedef struct UnixSocketAddressList { union { UnixSocketAddress *value; uint64_t padding; }; struct UnixSocketAddressList *next; } UnixSocketAddressList; typedef struct SocketAddress SocketAddress; typedef struct SocketAddressList { union { SocketAddress *value; uint64_t padding; }; struct SocketAddressList *next; } SocketAddressList; extern const char *SocketAddressKind_lookup[]; typedef enum SocketAddressKind { SOCKET_ADDRESS_KIND_INET = 0, SOCKET_ADDRESS_KIND_UNIX = 1, SOCKET_ADDRESS_KIND_FD = 2, SOCKET_ADDRESS_KIND_MAX = 3, } SocketAddressKind; typedef struct MachineInfo MachineInfo; typedef struct MachineInfoList { union { MachineInfo *value; uint64_t padding; }; struct MachineInfoList *next; } MachineInfoList; typedef struct CpuDefinitionInfo CpuDefinitionInfo; typedef struct CpuDefinitionInfoList { union { CpuDefinitionInfo *value; uint64_t padding; }; struct CpuDefinitionInfoList *next; } CpuDefinitionInfoList; typedef struct AddfdInfo AddfdInfo; typedef struct AddfdInfoList { union { AddfdInfo *value; uint64_t padding; }; struct AddfdInfoList *next; } AddfdInfoList; typedef struct FdsetFdInfo FdsetFdInfo; typedef struct FdsetFdInfoList { union { FdsetFdInfo *value; uint64_t padding; }; struct FdsetFdInfoList *next; } FdsetFdInfoList; typedef struct FdsetInfo FdsetInfo; typedef struct FdsetInfoList { union { FdsetInfo *value; uint64_t padding; }; struct FdsetInfoList *next; } FdsetInfoList; typedef struct TargetInfo TargetInfo; typedef struct TargetInfoList { union { TargetInfo *value; uint64_t padding; }; struct TargetInfoList *next; } TargetInfoList; extern const char *QKeyCode_lookup[]; typedef enum QKeyCode { Q_KEY_CODE_SHIFT = 0, Q_KEY_CODE_SHIFT_R = 1, Q_KEY_CODE_ALT = 2, Q_KEY_CODE_ALT_R = 3, Q_KEY_CODE_ALTGR = 4, Q_KEY_CODE_ALTGR_R = 5, Q_KEY_CODE_CTRL = 6, Q_KEY_CODE_CTRL_R = 7, Q_KEY_CODE_MENU = 8, Q_KEY_CODE_ESC = 9, Q_KEY_CODE_1 = 10, Q_KEY_CODE_2 = 11, Q_KEY_CODE_3 = 12, Q_KEY_CODE_4 = 13, Q_KEY_CODE_5 = 14, Q_KEY_CODE_6 = 15, Q_KEY_CODE_7 = 16, Q_KEY_CODE_8 = 17, Q_KEY_CODE_9 = 18, Q_KEY_CODE_0 = 19, Q_KEY_CODE_MINUS = 20, Q_KEY_CODE_EQUAL = 21, Q_KEY_CODE_BACKSPACE = 22, Q_KEY_CODE_TAB = 23, Q_KEY_CODE_Q = 24, Q_KEY_CODE_W = 25, Q_KEY_CODE_E = 26, Q_KEY_CODE_R = 27, Q_KEY_CODE_T = 28, Q_KEY_CODE_Y = 29, Q_KEY_CODE_U = 30, Q_KEY_CODE_I = 31, Q_KEY_CODE_O = 32, Q_KEY_CODE_P = 33, Q_KEY_CODE_BRACKET_LEFT = 34, Q_KEY_CODE_BRACKET_RIGHT = 35, Q_KEY_CODE_RET = 36, Q_KEY_CODE_A = 37, Q_KEY_CODE_S = 38, Q_KEY_CODE_D = 39, Q_KEY_CODE_F = 40, Q_KEY_CODE_G = 41, Q_KEY_CODE_H = 42, Q_KEY_CODE_J = 43, Q_KEY_CODE_K = 44, Q_KEY_CODE_L = 45, Q_KEY_CODE_SEMICOLON = 46, Q_KEY_CODE_APOSTROPHE = 47, Q_KEY_CODE_GRAVE_ACCENT = 48, Q_KEY_CODE_BACKSLASH = 49, Q_KEY_CODE_Z = 50, Q_KEY_CODE_X = 51, Q_KEY_CODE_C = 52, Q_KEY_CODE_V = 53, Q_KEY_CODE_B = 54, Q_KEY_CODE_N = 55, Q_KEY_CODE_M = 56, Q_KEY_CODE_COMMA = 57, Q_KEY_CODE_DOT = 58, Q_KEY_CODE_SLASH = 59, Q_KEY_CODE_ASTERISK = 60, Q_KEY_CODE_SPC = 61, Q_KEY_CODE_CAPS_LOCK = 62, Q_KEY_CODE_F1 = 63, Q_KEY_CODE_F2 = 64, Q_KEY_CODE_F3 = 65, Q_KEY_CODE_F4 = 66, Q_KEY_CODE_F5 = 67, Q_KEY_CODE_F6 = 68, Q_KEY_CODE_F7 = 69, Q_KEY_CODE_F8 = 70, Q_KEY_CODE_F9 = 71, Q_KEY_CODE_F10 = 72, Q_KEY_CODE_NUM_LOCK = 73, Q_KEY_CODE_SCROLL_LOCK = 74, Q_KEY_CODE_KP_DIVIDE = 75, Q_KEY_CODE_KP_MULTIPLY = 76, Q_KEY_CODE_KP_SUBTRACT = 77, Q_KEY_CODE_KP_ADD = 78, Q_KEY_CODE_KP_ENTER = 79, Q_KEY_CODE_KP_DECIMAL = 80, Q_KEY_CODE_SYSRQ = 81, Q_KEY_CODE_KP_0 = 82, Q_KEY_CODE_KP_1 = 83, Q_KEY_CODE_KP_2 = 84, Q_KEY_CODE_KP_3 = 85, Q_KEY_CODE_KP_4 = 86, Q_KEY_CODE_KP_5 = 87, Q_KEY_CODE_KP_6 = 88, Q_KEY_CODE_KP_7 = 89, Q_KEY_CODE_KP_8 = 90, Q_KEY_CODE_KP_9 = 91, Q_KEY_CODE_LESS = 92, Q_KEY_CODE_F11 = 93, Q_KEY_CODE_F12 = 94, Q_KEY_CODE_PRINT = 95, Q_KEY_CODE_HOME = 96, Q_KEY_CODE_PGUP = 97, Q_KEY_CODE_PGDN = 98, Q_KEY_CODE_END = 99, Q_KEY_CODE_LEFT = 100, Q_KEY_CODE_UP = 101, Q_KEY_CODE_DOWN = 102, Q_KEY_CODE_RIGHT = 103, Q_KEY_CODE_INSERT = 104, Q_KEY_CODE_DELETE = 105, Q_KEY_CODE_STOP = 106, Q_KEY_CODE_AGAIN = 107, Q_KEY_CODE_PROPS = 108, Q_KEY_CODE_UNDO = 109, Q_KEY_CODE_FRONT = 110, Q_KEY_CODE_COPY = 111, Q_KEY_CODE_OPEN = 112, Q_KEY_CODE_PASTE = 113, Q_KEY_CODE_FIND = 114, Q_KEY_CODE_CUT = 115, Q_KEY_CODE_LF = 116, Q_KEY_CODE_HELP = 117, Q_KEY_CODE_META_L = 118, Q_KEY_CODE_META_R = 119, Q_KEY_CODE_COMPOSE = 120, Q_KEY_CODE_MAX = 121, } QKeyCode; typedef struct QKeyCodeList { union { QKeyCode value; uint64_t padding; }; struct QKeyCodeList *next; } QKeyCodeList; typedef struct KeyValue KeyValue; typedef struct KeyValueList { union { KeyValue *value; uint64_t padding; }; struct KeyValueList *next; } KeyValueList; extern const char *KeyValueKind_lookup[]; typedef enum KeyValueKind { KEY_VALUE_KIND_NUMBER = 0, KEY_VALUE_KIND_QCODE = 1, KEY_VALUE_KIND_MAX = 2, } KeyValueKind; typedef struct ChardevFile ChardevFile; typedef struct ChardevFileList { union { ChardevFile *value; uint64_t padding; }; struct ChardevFileList *next; } ChardevFileList; typedef struct ChardevHostdev ChardevHostdev; typedef struct ChardevHostdevList { union { ChardevHostdev *value; uint64_t padding; }; struct ChardevHostdevList *next; } ChardevHostdevList; typedef struct ChardevSocket ChardevSocket; typedef struct ChardevSocketList { union { ChardevSocket *value; uint64_t padding; }; struct ChardevSocketList *next; } ChardevSocketList; typedef struct ChardevUdp ChardevUdp; typedef struct ChardevUdpList { union { ChardevUdp *value; uint64_t padding; }; struct ChardevUdpList *next; } ChardevUdpList; typedef struct ChardevMux ChardevMux; typedef struct ChardevMuxList { union { ChardevMux *value; uint64_t padding; }; struct ChardevMuxList *next; } ChardevMuxList; typedef struct ChardevStdio ChardevStdio; typedef struct ChardevStdioList { union { ChardevStdio *value; uint64_t padding; }; struct ChardevStdioList *next; } ChardevStdioList; typedef struct ChardevSpiceChannel ChardevSpiceChannel; typedef struct ChardevSpiceChannelList { union { ChardevSpiceChannel *value; uint64_t padding; }; struct ChardevSpiceChannelList *next; } ChardevSpiceChannelList; typedef struct ChardevSpicePort ChardevSpicePort; typedef struct ChardevSpicePortList { union { ChardevSpicePort *value; uint64_t padding; }; struct ChardevSpicePortList *next; } ChardevSpicePortList; typedef struct ChardevVC ChardevVC; typedef struct ChardevVCList { union { ChardevVC *value; uint64_t padding; }; struct ChardevVCList *next; } ChardevVCList; typedef struct ChardevRingbuf ChardevRingbuf; typedef struct ChardevRingbufList { union { ChardevRingbuf *value; uint64_t padding; }; struct ChardevRingbufList *next; } ChardevRingbufList; typedef struct ChardevDummy ChardevDummy; typedef struct ChardevDummyList { union { ChardevDummy *value; uint64_t padding; }; struct ChardevDummyList *next; } ChardevDummyList; typedef struct ChardevBackend ChardevBackend; typedef struct ChardevBackendList { union { ChardevBackend *value; uint64_t padding; }; struct ChardevBackendList *next; } ChardevBackendList; extern const char *ChardevBackendKind_lookup[]; typedef enum ChardevBackendKind { CHARDEV_BACKEND_KIND_FILE = 0, CHARDEV_BACKEND_KIND_SERIAL = 1, CHARDEV_BACKEND_KIND_PARALLEL = 2, CHARDEV_BACKEND_KIND_PIPE = 3, CHARDEV_BACKEND_KIND_SOCKET = 4, CHARDEV_BACKEND_KIND_UDP = 5, CHARDEV_BACKEND_KIND_PTY = 6, CHARDEV_BACKEND_KIND_NULL = 7, CHARDEV_BACKEND_KIND_MUX = 8, CHARDEV_BACKEND_KIND_MSMOUSE = 9, CHARDEV_BACKEND_KIND_BRAILLE = 10, CHARDEV_BACKEND_KIND_STDIO = 11, CHARDEV_BACKEND_KIND_CONSOLE = 12, CHARDEV_BACKEND_KIND_SPICEVMC = 13, CHARDEV_BACKEND_KIND_SPICEPORT = 14, CHARDEV_BACKEND_KIND_VC = 15, CHARDEV_BACKEND_KIND_RINGBUF = 16, CHARDEV_BACKEND_KIND_MEMORY = 17, CHARDEV_BACKEND_KIND_MAX = 18, } ChardevBackendKind; typedef struct ChardevReturn ChardevReturn; typedef struct ChardevReturnList { union { ChardevReturn *value; uint64_t padding; }; struct ChardevReturnList *next; } ChardevReturnList; extern const char *TpmModel_lookup[]; typedef enum TpmModel { TPM_MODEL_TPM_TIS = 0, TPM_MODEL_MAX = 1, } TpmModel; typedef struct TpmModelList { union { TpmModel value; uint64_t padding; }; struct TpmModelList *next; } TpmModelList; extern const char *TpmType_lookup[]; typedef enum TpmType { TPM_TYPE_PASSTHROUGH = 0, TPM_TYPE_MAX = 1, } TpmType; typedef struct TpmTypeList { union { TpmType value; uint64_t padding; }; struct TpmTypeList *next; } TpmTypeList; typedef struct TPMPassthroughOptions TPMPassthroughOptions; typedef struct TPMPassthroughOptionsList { union { TPMPassthroughOptions *value; uint64_t padding; }; struct TPMPassthroughOptionsList *next; } TPMPassthroughOptionsList; typedef struct TpmTypeOptions TpmTypeOptions; typedef struct TpmTypeOptionsList { union { TpmTypeOptions *value; uint64_t padding; }; struct TpmTypeOptionsList *next; } TpmTypeOptionsList; extern const char *TpmTypeOptionsKind_lookup[]; typedef enum TpmTypeOptionsKind { TPM_TYPE_OPTIONS_KIND_PASSTHROUGH = 0, TPM_TYPE_OPTIONS_KIND_MAX = 1, } TpmTypeOptionsKind; typedef struct TPMInfo TPMInfo; typedef struct TPMInfoList { union { TPMInfo *value; uint64_t padding; }; struct TPMInfoList *next; } TPMInfoList; typedef struct AcpiTableOptions AcpiTableOptions; typedef struct AcpiTableOptionsList { union { AcpiTableOptions *value; uint64_t padding; }; struct AcpiTableOptionsList *next; } AcpiTableOptionsList; extern const char *CommandLineParameterType_lookup[]; typedef enum CommandLineParameterType { COMMAND_LINE_PARAMETER_TYPE_STRING = 0, COMMAND_LINE_PARAMETER_TYPE_BOOLEAN = 1, COMMAND_LINE_PARAMETER_TYPE_NUMBER = 2, COMMAND_LINE_PARAMETER_TYPE_SIZE = 3, COMMAND_LINE_PARAMETER_TYPE_MAX = 4, } CommandLineParameterType; typedef struct CommandLineParameterTypeList { union { CommandLineParameterType value; uint64_t padding; }; struct CommandLineParameterTypeList *next; } CommandLineParameterTypeList; typedef struct CommandLineParameterInfo CommandLineParameterInfo; typedef struct CommandLineParameterInfoList { union { CommandLineParameterInfo *value; uint64_t padding; }; struct CommandLineParameterInfoList *next; } CommandLineParameterInfoList; typedef struct CommandLineOptionInfo CommandLineOptionInfo; typedef struct CommandLineOptionInfoList { union { CommandLineOptionInfo *value; uint64_t padding; }; struct CommandLineOptionInfoList *next; } CommandLineOptionInfoList; extern const char *X86CPURegister32_lookup[]; typedef enum X86CPURegister32 { X86_C_P_U_REGISTER32_EAX = 0, X86_C_P_U_REGISTER32_EBX = 1, X86_C_P_U_REGISTER32_ECX = 2, X86_C_P_U_REGISTER32_EDX = 3, X86_C_P_U_REGISTER32_ESP = 4, X86_C_P_U_REGISTER32_EBP = 5, X86_C_P_U_REGISTER32_ESI = 6, X86_C_P_U_REGISTER32_EDI = 7, X86_C_P_U_REGISTER32_MAX = 8, } X86CPURegister32; typedef struct X86CPURegister32List { union { X86CPURegister32 value; uint64_t padding; }; struct X86CPURegister32List *next; } X86CPURegister32List; typedef struct X86CPUFeatureWordInfo X86CPUFeatureWordInfo; typedef struct X86CPUFeatureWordInfoList { union { X86CPUFeatureWordInfo *value; uint64_t padding; }; struct X86CPUFeatureWordInfoList *next; } X86CPUFeatureWordInfoList; extern const char *RxState_lookup[]; typedef enum RxState { RX_STATE_NORMAL = 0, RX_STATE_NONE = 1, RX_STATE_ALL = 2, RX_STATE_MAX = 3, } RxState; typedef struct RxStateList { union { RxState value; uint64_t padding; }; struct RxStateList *next; } RxStateList; typedef struct RxFilterInfo RxFilterInfo; typedef struct RxFilterInfoList { union { RxFilterInfo *value; uint64_t padding; }; struct RxFilterInfoList *next; } RxFilterInfoList; extern const char *BlockdevDiscardOptions_lookup[]; typedef enum BlockdevDiscardOptions { BLOCKDEV_DISCARD_OPTIONS_IGNORE = 0, BLOCKDEV_DISCARD_OPTIONS_UNMAP = 1, BLOCKDEV_DISCARD_OPTIONS_MAX = 2, } BlockdevDiscardOptions; typedef struct BlockdevDiscardOptionsList { union { BlockdevDiscardOptions value; uint64_t padding; }; struct BlockdevDiscardOptionsList *next; } BlockdevDiscardOptionsList; extern const char *BlockdevAioOptions_lookup[]; typedef enum BlockdevAioOptions { BLOCKDEV_AIO_OPTIONS_THREADS = 0, BLOCKDEV_AIO_OPTIONS_NATIVE = 1, BLOCKDEV_AIO_OPTIONS_MAX = 2, } BlockdevAioOptions; typedef struct BlockdevAioOptionsList { union { BlockdevAioOptions value; uint64_t padding; }; struct BlockdevAioOptionsList *next; } BlockdevAioOptionsList; typedef struct BlockdevCacheOptions BlockdevCacheOptions; typedef struct BlockdevCacheOptionsList { union { BlockdevCacheOptions *value; uint64_t padding; }; struct BlockdevCacheOptionsList *next; } BlockdevCacheOptionsList; typedef struct BlockdevOptionsBase BlockdevOptionsBase; typedef struct BlockdevOptionsBaseList { union { BlockdevOptionsBase *value; uint64_t padding; }; struct BlockdevOptionsBaseList *next; } BlockdevOptionsBaseList; typedef struct BlockdevOptionsFile BlockdevOptionsFile; typedef struct BlockdevOptionsFileList { union { BlockdevOptionsFile *value; uint64_t padding; }; struct BlockdevOptionsFileList *next; } BlockdevOptionsFileList; typedef struct BlockdevOptionsVVFAT BlockdevOptionsVVFAT; typedef struct BlockdevOptionsVVFATList { union { BlockdevOptionsVVFAT *value; uint64_t padding; }; struct BlockdevOptionsVVFATList *next; } BlockdevOptionsVVFATList; typedef struct BlockdevOptionsGenericFormat BlockdevOptionsGenericFormat; typedef struct BlockdevOptionsGenericFormatList { union { BlockdevOptionsGenericFormat *value; uint64_t padding; }; struct BlockdevOptionsGenericFormatList *next; } BlockdevOptionsGenericFormatList; typedef struct BlockdevOptionsGenericCOWFormat BlockdevOptionsGenericCOWFormat; typedef struct BlockdevOptionsGenericCOWFormatList { union { BlockdevOptionsGenericCOWFormat *value; uint64_t padding; }; struct BlockdevOptionsGenericCOWFormatList *next; } BlockdevOptionsGenericCOWFormatList; typedef struct BlockdevOptionsQcow2 BlockdevOptionsQcow2; typedef struct BlockdevOptionsQcow2List { union { BlockdevOptionsQcow2 *value; uint64_t padding; }; struct BlockdevOptionsQcow2List *next; } BlockdevOptionsQcow2List; typedef struct BlockdevOptions BlockdevOptions; typedef struct BlockdevOptionsList { union { BlockdevOptions *value; uint64_t padding; }; struct BlockdevOptionsList *next; } BlockdevOptionsList; extern const char *BlockdevOptionsKind_lookup[]; typedef enum BlockdevOptionsKind { BLOCKDEV_OPTIONS_KIND_FILE = 0, BLOCKDEV_OPTIONS_KIND_HTTP = 1, BLOCKDEV_OPTIONS_KIND_HTTPS = 2, BLOCKDEV_OPTIONS_KIND_FTP = 3, BLOCKDEV_OPTIONS_KIND_FTPS = 4, BLOCKDEV_OPTIONS_KIND_TFTP = 5, BLOCKDEV_OPTIONS_KIND_VVFAT = 6, BLOCKDEV_OPTIONS_KIND_BOCHS = 7, BLOCKDEV_OPTIONS_KIND_CLOOP = 8, BLOCKDEV_OPTIONS_KIND_COW = 9, BLOCKDEV_OPTIONS_KIND_DMG = 10, BLOCKDEV_OPTIONS_KIND_PARALLELS = 11, BLOCKDEV_OPTIONS_KIND_QCOW = 12, BLOCKDEV_OPTIONS_KIND_QCOW2 = 13, BLOCKDEV_OPTIONS_KIND_QED = 14, BLOCKDEV_OPTIONS_KIND_RAW = 15, BLOCKDEV_OPTIONS_KIND_VDI = 16, BLOCKDEV_OPTIONS_KIND_VHDX = 17, BLOCKDEV_OPTIONS_KIND_VMDK = 18, BLOCKDEV_OPTIONS_KIND_VPC = 19, BLOCKDEV_OPTIONS_KIND_MAX = 20, } BlockdevOptionsKind; typedef struct BlockdevRef BlockdevRef; typedef struct BlockdevRefList { union { BlockdevRef *value; uint64_t padding; }; struct BlockdevRefList *next; } BlockdevRefList; extern const char *BlockdevRefKind_lookup[]; typedef enum BlockdevRefKind { BLOCKDEV_REF_KIND_DEFINITION = 0, BLOCKDEV_REF_KIND_REFERENCE = 1, BLOCKDEV_REF_KIND_MAX = 2, } BlockdevRefKind; #ifndef QAPI_TYPES_BUILTIN_CLEANUP_DECL_H #define QAPI_TYPES_BUILTIN_CLEANUP_DECL_H void qapi_free_strList(strList * obj); void qapi_free_intList(intList * obj); void qapi_free_numberList(numberList * obj); void qapi_free_boolList(boolList * obj); void qapi_free_int8List(int8List * obj); void qapi_free_int16List(int16List * obj); void qapi_free_int32List(int32List * obj); void qapi_free_int64List(int64List * obj); void qapi_free_uint8List(uint8List * obj); void qapi_free_uint16List(uint16List * obj); void qapi_free_uint32List(uint32List * obj); void qapi_free_uint64List(uint64List * obj); #endif /* QAPI_TYPES_BUILTIN_CLEANUP_DECL_H */ void qapi_free_ErrorClassList(ErrorClassList * obj); struct NameInfo { bool has_name; char * name; }; void qapi_free_NameInfoList(NameInfoList * obj); void qapi_free_NameInfo(NameInfo * obj); struct VersionInfo { struct { int64_t major; int64_t minor; int64_t micro; } qemu; char * package; }; void qapi_free_VersionInfoList(VersionInfoList * obj); void qapi_free_VersionInfo(VersionInfo * obj); struct KvmInfo { bool enabled; bool present; }; void qapi_free_KvmInfoList(KvmInfoList * obj); void qapi_free_KvmInfo(KvmInfo * obj); void qapi_free_RunStateList(RunStateList * obj); struct SnapshotInfo { char * id; char * name; int64_t vm_state_size; int64_t date_sec; int64_t date_nsec; int64_t vm_clock_sec; int64_t vm_clock_nsec; }; void qapi_free_SnapshotInfoList(SnapshotInfoList * obj); void qapi_free_SnapshotInfo(SnapshotInfo * obj); struct ImageInfoSpecificQCow2 { char * compat; bool has_lazy_refcounts; bool lazy_refcounts; }; void qapi_free_ImageInfoSpecificQCow2List(ImageInfoSpecificQCow2List * obj); void qapi_free_ImageInfoSpecificQCow2(ImageInfoSpecificQCow2 * obj); struct ImageInfoSpecificVmdk { char * create_type; int64_t cid; int64_t parent_cid; ImageInfoList * extents; }; void qapi_free_ImageInfoSpecificVmdkList(ImageInfoSpecificVmdkList * obj); void qapi_free_ImageInfoSpecificVmdk(ImageInfoSpecificVmdk * obj); struct ImageInfoSpecific { ImageInfoSpecificKind kind; union { void *data; ImageInfoSpecificQCow2 * qcow2; ImageInfoSpecificVmdk * vmdk; }; }; void qapi_free_ImageInfoSpecificList(ImageInfoSpecificList * obj); void qapi_free_ImageInfoSpecific(ImageInfoSpecific * obj); struct ImageInfo { char * filename; char * format; bool has_dirty_flag; bool dirty_flag; bool has_actual_size; int64_t actual_size; int64_t virtual_size; bool has_cluster_size; int64_t cluster_size; bool has_encrypted; bool encrypted; bool has_compressed; bool compressed; bool has_backing_filename; char * backing_filename; bool has_full_backing_filename; char * full_backing_filename; bool has_backing_filename_format; char * backing_filename_format; bool has_snapshots; SnapshotInfoList * snapshots; bool has_backing_image; ImageInfo * backing_image; bool has_format_specific; ImageInfoSpecific * format_specific; }; void qapi_free_ImageInfoList(ImageInfoList * obj); void qapi_free_ImageInfo(ImageInfo * obj); struct ImageCheck { char * filename; char * format; int64_t check_errors; bool has_image_end_offset; int64_t image_end_offset; bool has_corruptions; int64_t corruptions; bool has_leaks; int64_t leaks; bool has_corruptions_fixed; int64_t corruptions_fixed; bool has_leaks_fixed; int64_t leaks_fixed; bool has_total_clusters; int64_t total_clusters; bool has_allocated_clusters; int64_t allocated_clusters; bool has_fragmented_clusters; int64_t fragmented_clusters; bool has_compressed_clusters; int64_t compressed_clusters; }; void qapi_free_ImageCheckList(ImageCheckList * obj); void qapi_free_ImageCheck(ImageCheck * obj); struct StatusInfo { bool running; bool singlestep; RunState status; }; void qapi_free_StatusInfoList(StatusInfoList * obj); void qapi_free_StatusInfo(StatusInfo * obj); struct UuidInfo { char * UUID; }; void qapi_free_UuidInfoList(UuidInfoList * obj); void qapi_free_UuidInfo(UuidInfo * obj); struct ChardevInfo { char * label; char * filename; }; void qapi_free_ChardevInfoList(ChardevInfoList * obj); void qapi_free_ChardevInfo(ChardevInfo * obj); void qapi_free_DataFormatList(DataFormatList * obj); struct CommandInfo { char * name; }; void qapi_free_CommandInfoList(CommandInfoList * obj); void qapi_free_CommandInfo(CommandInfo * obj); struct EventInfo { char * name; }; void qapi_free_EventInfoList(EventInfoList * obj); void qapi_free_EventInfo(EventInfo * obj); struct MigrationStats { int64_t transferred; int64_t remaining; int64_t total; int64_t duplicate; int64_t skipped; int64_t normal; int64_t normal_bytes; int64_t dirty_pages_rate; double mbps; }; void qapi_free_MigrationStatsList(MigrationStatsList * obj); void qapi_free_MigrationStats(MigrationStats * obj); struct XBZRLECacheStats { int64_t cache_size; int64_t bytes; int64_t pages; int64_t cache_miss; int64_t overflow; }; void qapi_free_XBZRLECacheStatsList(XBZRLECacheStatsList * obj); void qapi_free_XBZRLECacheStats(XBZRLECacheStats * obj); struct MigrationInfo { bool has_status; char * status; bool has_ram; MigrationStats * ram; bool has_disk; MigrationStats * disk; bool has_xbzrle_cache; XBZRLECacheStats * xbzrle_cache; bool has_total_time; int64_t total_time; bool has_expected_downtime; int64_t expected_downtime; bool has_downtime; int64_t downtime; bool has_setup_time; int64_t setup_time; }; void qapi_free_MigrationInfoList(MigrationInfoList * obj); void qapi_free_MigrationInfo(MigrationInfo * obj); void qapi_free_MigrationCapabilityList(MigrationCapabilityList * obj); struct MigrationCapabilityStatus { MigrationCapability capability; bool state; }; void qapi_free_MigrationCapabilityStatusList(MigrationCapabilityStatusList * obj); void qapi_free_MigrationCapabilityStatus(MigrationCapabilityStatus * obj); struct MouseInfo { char * name; int64_t index; bool current; bool absolute; }; void qapi_free_MouseInfoList(MouseInfoList * obj); void qapi_free_MouseInfo(MouseInfo * obj); struct CpuInfo { int64_t CPU; bool current; bool halted; bool has_pc; int64_t pc; bool has_nip; int64_t nip; bool has_npc; int64_t npc; bool has_PC; int64_t PC; int64_t thread_id; }; void qapi_free_CpuInfoList(CpuInfoList * obj); void qapi_free_CpuInfo(CpuInfo * obj); struct BlockDeviceInfo { char * file; bool ro; char * drv; bool has_backing_file; char * backing_file; int64_t backing_file_depth; bool encrypted; bool encryption_key_missing; int64_t bps; int64_t bps_rd; int64_t bps_wr; int64_t iops; int64_t iops_rd; int64_t iops_wr; ImageInfo * image; bool has_bps_max; int64_t bps_max; bool has_bps_rd_max; int64_t bps_rd_max; bool has_bps_wr_max; int64_t bps_wr_max; bool has_iops_max; int64_t iops_max; bool has_iops_rd_max; int64_t iops_rd_max; bool has_iops_wr_max; int64_t iops_wr_max; bool has_iops_size; int64_t iops_size; }; void qapi_free_BlockDeviceInfoList(BlockDeviceInfoList * obj); void qapi_free_BlockDeviceInfo(BlockDeviceInfo * obj); void qapi_free_BlockDeviceIoStatusList(BlockDeviceIoStatusList * obj); struct BlockDeviceMapEntry { int64_t start; int64_t length; int64_t depth; bool zero; bool data; bool has_offset; int64_t offset; }; void qapi_free_BlockDeviceMapEntryList(BlockDeviceMapEntryList * obj); void qapi_free_BlockDeviceMapEntry(BlockDeviceMapEntry * obj); struct BlockDirtyInfo { int64_t count; int64_t granularity; }; void qapi_free_BlockDirtyInfoList(BlockDirtyInfoList * obj); void qapi_free_BlockDirtyInfo(BlockDirtyInfo * obj); struct BlockInfo { char * device; char * type; bool removable; bool locked; bool has_inserted; BlockDeviceInfo * inserted; bool has_tray_open; bool tray_open; bool has_io_status; BlockDeviceIoStatus io_status; bool has_dirty_bitmaps; BlockDirtyInfoList * dirty_bitmaps; }; void qapi_free_BlockInfoList(BlockInfoList * obj); void qapi_free_BlockInfo(BlockInfo * obj); struct BlockDeviceStats { int64_t rd_bytes; int64_t wr_bytes; int64_t rd_operations; int64_t wr_operations; int64_t flush_operations; int64_t flush_total_time_ns; int64_t wr_total_time_ns; int64_t rd_total_time_ns; int64_t wr_highest_offset; }; void qapi_free_BlockDeviceStatsList(BlockDeviceStatsList * obj); void qapi_free_BlockDeviceStats(BlockDeviceStats * obj); struct BlockStats { bool has_device; char * device; BlockDeviceStats * stats; bool has_parent; BlockStats * parent; }; void qapi_free_BlockStatsList(BlockStatsList * obj); void qapi_free_BlockStats(BlockStats * obj); struct VncClientInfo { char * host; char * family; char * service; bool has_x509_dname; char * x509_dname; bool has_sasl_username; char * sasl_username; }; void qapi_free_VncClientInfoList(VncClientInfoList * obj); void qapi_free_VncClientInfo(VncClientInfo * obj); struct VncInfo { bool enabled; bool has_host; char * host; bool has_family; char * family; bool has_service; char * service; bool has_auth; char * auth; bool has_clients; VncClientInfoList * clients; }; void qapi_free_VncInfoList(VncInfoList * obj); void qapi_free_VncInfo(VncInfo * obj); struct SpiceChannel { char * host; char * family; char * port; int64_t connection_id; int64_t channel_type; int64_t channel_id; bool tls; }; void qapi_free_SpiceChannelList(SpiceChannelList * obj); void qapi_free_SpiceChannel(SpiceChannel * obj); void qapi_free_SpiceQueryMouseModeList(SpiceQueryMouseModeList * obj); struct SpiceInfo { bool enabled; bool migrated; bool has_host; char * host; bool has_port; int64_t port; bool has_tls_port; int64_t tls_port; bool has_auth; char * auth; bool has_compiled_version; char * compiled_version; SpiceQueryMouseMode mouse_mode; bool has_channels; SpiceChannelList * channels; }; void qapi_free_SpiceInfoList(SpiceInfoList * obj); void qapi_free_SpiceInfo(SpiceInfo * obj); struct BalloonInfo { int64_t actual; }; void qapi_free_BalloonInfoList(BalloonInfoList * obj); void qapi_free_BalloonInfo(BalloonInfo * obj); struct PciMemoryRange { int64_t base; int64_t limit; }; void qapi_free_PciMemoryRangeList(PciMemoryRangeList * obj); void qapi_free_PciMemoryRange(PciMemoryRange * obj); struct PciMemoryRegion { int64_t bar; char * type; int64_t address; int64_t size; bool has_prefetch; bool prefetch; bool has_mem_type_64; bool mem_type_64; }; void qapi_free_PciMemoryRegionList(PciMemoryRegionList * obj); void qapi_free_PciMemoryRegion(PciMemoryRegion * obj); struct PciBridgeInfo { struct { int64_t number; int64_t secondary; int64_t subordinate; PciMemoryRange * io_range; PciMemoryRange * memory_range; PciMemoryRange * prefetchable_range; } bus; bool has_devices; PciDeviceInfoList * devices; }; void qapi_free_PciBridgeInfoList(PciBridgeInfoList * obj); void qapi_free_PciBridgeInfo(PciBridgeInfo * obj); struct PciDeviceInfo { int64_t bus; int64_t slot; int64_t function; struct { bool has_desc; char * desc; int64_t q_class; } class_info; struct { int64_t device; int64_t vendor; } id; bool has_irq; int64_t irq; char * qdev_id; bool has_pci_bridge; PciBridgeInfo * pci_bridge; PciMemoryRegionList * regions; }; void qapi_free_PciDeviceInfoList(PciDeviceInfoList * obj); void qapi_free_PciDeviceInfo(PciDeviceInfo * obj); struct PciInfo { int64_t bus; PciDeviceInfoList * devices; }; void qapi_free_PciInfoList(PciInfoList * obj); void qapi_free_PciInfo(PciInfo * obj); void qapi_free_BlockdevOnErrorList(BlockdevOnErrorList * obj); void qapi_free_MirrorSyncModeList(MirrorSyncModeList * obj); void qapi_free_BlockJobTypeList(BlockJobTypeList * obj); struct BlockJobInfo { char * type; char * device; int64_t len; int64_t offset; bool busy; bool paused; int64_t speed; BlockDeviceIoStatus io_status; }; void qapi_free_BlockJobInfoList(BlockJobInfoList * obj); void qapi_free_BlockJobInfo(BlockJobInfo * obj); void qapi_free_NewImageModeList(NewImageModeList * obj); struct BlockdevSnapshot { char * device; char * snapshot_file; bool has_format; char * format; bool has_mode; NewImageMode mode; }; void qapi_free_BlockdevSnapshotList(BlockdevSnapshotList * obj); void qapi_free_BlockdevSnapshot(BlockdevSnapshot * obj); struct BlockdevSnapshotInternal { char * device; char * name; }; void qapi_free_BlockdevSnapshotInternalList(BlockdevSnapshotInternalList * obj); void qapi_free_BlockdevSnapshotInternal(BlockdevSnapshotInternal * obj); struct DriveBackup { char * device; char * target; bool has_format; char * format; MirrorSyncMode sync; bool has_mode; NewImageMode mode; bool has_speed; int64_t speed; bool has_on_source_error; BlockdevOnError on_source_error; bool has_on_target_error; BlockdevOnError on_target_error; }; void qapi_free_DriveBackupList(DriveBackupList * obj); void qapi_free_DriveBackup(DriveBackup * obj); struct Abort { }; void qapi_free_AbortList(AbortList * obj); void qapi_free_Abort(Abort * obj); struct TransactionAction { TransactionActionKind kind; union { void *data; BlockdevSnapshot * blockdev_snapshot_sync; DriveBackup * drive_backup; Abort * abort; BlockdevSnapshotInternal * blockdev_snapshot_internal_sync; }; }; void qapi_free_TransactionActionList(TransactionActionList * obj); void qapi_free_TransactionAction(TransactionAction * obj); struct ObjectPropertyInfo { char * name; char * type; }; void qapi_free_ObjectPropertyInfoList(ObjectPropertyInfoList * obj); void qapi_free_ObjectPropertyInfo(ObjectPropertyInfo * obj); struct ObjectTypeInfo { char * name; }; void qapi_free_ObjectTypeInfoList(ObjectTypeInfoList * obj); void qapi_free_ObjectTypeInfo(ObjectTypeInfo * obj); struct DevicePropertyInfo { char * name; char * type; }; void qapi_free_DevicePropertyInfoList(DevicePropertyInfoList * obj); void qapi_free_DevicePropertyInfo(DevicePropertyInfo * obj); struct NetdevNoneOptions { }; void qapi_free_NetdevNoneOptionsList(NetdevNoneOptionsList * obj); void qapi_free_NetdevNoneOptions(NetdevNoneOptions * obj); struct NetLegacyNicOptions { bool has_netdev; char * netdev; bool has_macaddr; char * macaddr; bool has_model; char * model; bool has_addr; char * addr; bool has_vectors; uint32_t vectors; }; void qapi_free_NetLegacyNicOptionsList(NetLegacyNicOptionsList * obj); void qapi_free_NetLegacyNicOptions(NetLegacyNicOptions * obj); struct String { char * str; }; void qapi_free_StringList(StringList * obj); void qapi_free_String(String * obj); struct NetdevUserOptions { bool has_hostname; char * hostname; bool has_q_restrict; bool q_restrict; bool has_ip; char * ip; bool has_net; char * net; bool has_host; char * host; bool has_tftp; char * tftp; bool has_bootfile; char * bootfile; bool has_dhcpstart; char * dhcpstart; bool has_dns; char * dns; bool has_dnssearch; StringList * dnssearch; bool has_smb; char * smb; bool has_smbserver; char * smbserver; bool has_hostfwd; StringList * hostfwd; bool has_guestfwd; StringList * guestfwd; }; void qapi_free_NetdevUserOptionsList(NetdevUserOptionsList * obj); void qapi_free_NetdevUserOptions(NetdevUserOptions * obj); struct NetdevTapOptions { bool has_ifname; char * ifname; bool has_fd; char * fd; bool has_fds; char * fds; bool has_script; char * script; bool has_downscript; char * downscript; bool has_helper; char * helper; bool has_sndbuf; uint64_t sndbuf; bool has_vnet_hdr; bool vnet_hdr; bool has_vhost; bool vhost; bool has_vhostfd; char * vhostfd; bool has_vhostfds; char * vhostfds; bool has_vhostforce; bool vhostforce; bool has_queues; uint32_t queues; }; void qapi_free_NetdevTapOptionsList(NetdevTapOptionsList * obj); void qapi_free_NetdevTapOptions(NetdevTapOptions * obj); struct NetdevSocketOptions { bool has_fd; char * fd; bool has_listen; char * listen; bool has_connect; char * connect; bool has_mcast; char * mcast; bool has_localaddr; char * localaddr; bool has_udp; char * udp; }; void qapi_free_NetdevSocketOptionsList(NetdevSocketOptionsList * obj); void qapi_free_NetdevSocketOptions(NetdevSocketOptions * obj); struct NetdevVdeOptions { bool has_sock; char * sock; bool has_port; uint16_t port; bool has_group; char * group; bool has_mode; uint16_t mode; }; void qapi_free_NetdevVdeOptionsList(NetdevVdeOptionsList * obj); void qapi_free_NetdevVdeOptions(NetdevVdeOptions * obj); struct NetdevDumpOptions { bool has_len; uint64_t len; bool has_file; char * file; }; void qapi_free_NetdevDumpOptionsList(NetdevDumpOptionsList * obj); void qapi_free_NetdevDumpOptions(NetdevDumpOptions * obj); struct NetdevBridgeOptions { bool has_br; char * br; bool has_helper; char * helper; }; void qapi_free_NetdevBridgeOptionsList(NetdevBridgeOptionsList * obj); void qapi_free_NetdevBridgeOptions(NetdevBridgeOptions * obj); struct NetdevHubPortOptions { int32_t hubid; }; void qapi_free_NetdevHubPortOptionsList(NetdevHubPortOptionsList * obj); void qapi_free_NetdevHubPortOptions(NetdevHubPortOptions * obj); struct NetdevNetmapOptions { char * ifname; bool has_devname; char * devname; }; void qapi_free_NetdevNetmapOptionsList(NetdevNetmapOptionsList * obj); void qapi_free_NetdevNetmapOptions(NetdevNetmapOptions * obj); struct NetClientOptions { NetClientOptionsKind kind; union { void *data; NetdevNoneOptions * none; NetLegacyNicOptions * nic; NetdevUserOptions * user; NetdevTapOptions * tap; NetdevSocketOptions * socket; NetdevVdeOptions * vde; NetdevDumpOptions * dump; NetdevBridgeOptions * bridge; NetdevHubPortOptions * hubport; NetdevNetmapOptions * netmap; }; }; void qapi_free_NetClientOptionsList(NetClientOptionsList * obj); void qapi_free_NetClientOptions(NetClientOptions * obj); struct NetLegacy { bool has_vlan; int32_t vlan; bool has_id; char * id; bool has_name; char * name; NetClientOptions * opts; }; void qapi_free_NetLegacyList(NetLegacyList * obj); void qapi_free_NetLegacy(NetLegacy * obj); struct Netdev { char * id; NetClientOptions * opts; }; void qapi_free_NetdevList(NetdevList * obj); void qapi_free_Netdev(Netdev * obj); struct InetSocketAddress { char * host; char * port; bool has_to; uint16_t to; bool has_ipv4; bool ipv4; bool has_ipv6; bool ipv6; }; void qapi_free_InetSocketAddressList(InetSocketAddressList * obj); void qapi_free_InetSocketAddress(InetSocketAddress * obj); struct UnixSocketAddress { char * path; }; void qapi_free_UnixSocketAddressList(UnixSocketAddressList * obj); void qapi_free_UnixSocketAddress(UnixSocketAddress * obj); struct SocketAddress { SocketAddressKind kind; union { void *data; InetSocketAddress * inet; UnixSocketAddress * q_unix; String * fd; }; }; void qapi_free_SocketAddressList(SocketAddressList * obj); void qapi_free_SocketAddress(SocketAddress * obj); struct MachineInfo { char * name; bool has_alias; char * alias; bool has_is_default; bool is_default; int64_t cpu_max; }; void qapi_free_MachineInfoList(MachineInfoList * obj); void qapi_free_MachineInfo(MachineInfo * obj); struct CpuDefinitionInfo { char * name; }; void qapi_free_CpuDefinitionInfoList(CpuDefinitionInfoList * obj); void qapi_free_CpuDefinitionInfo(CpuDefinitionInfo * obj); struct AddfdInfo { int64_t fdset_id; int64_t fd; }; void qapi_free_AddfdInfoList(AddfdInfoList * obj); void qapi_free_AddfdInfo(AddfdInfo * obj); struct FdsetFdInfo { int64_t fd; bool has_opaque; char * opaque; }; void qapi_free_FdsetFdInfoList(FdsetFdInfoList * obj); void qapi_free_FdsetFdInfo(FdsetFdInfo * obj); struct FdsetInfo { int64_t fdset_id; FdsetFdInfoList * fds; }; void qapi_free_FdsetInfoList(FdsetInfoList * obj); void qapi_free_FdsetInfo(FdsetInfo * obj); struct TargetInfo { char * arch; }; void qapi_free_TargetInfoList(TargetInfoList * obj); void qapi_free_TargetInfo(TargetInfo * obj); void qapi_free_QKeyCodeList(QKeyCodeList * obj); struct KeyValue { KeyValueKind kind; union { void *data; int64_t number; QKeyCode qcode; }; }; void qapi_free_KeyValueList(KeyValueList * obj); void qapi_free_KeyValue(KeyValue * obj); struct ChardevFile { bool has_in; char * in; char * out; }; void qapi_free_ChardevFileList(ChardevFileList * obj); void qapi_free_ChardevFile(ChardevFile * obj); struct ChardevHostdev { char * device; }; void qapi_free_ChardevHostdevList(ChardevHostdevList * obj); void qapi_free_ChardevHostdev(ChardevHostdev * obj); struct ChardevSocket { SocketAddress * addr; bool has_server; bool server; bool has_wait; bool wait; bool has_nodelay; bool nodelay; bool has_telnet; bool telnet; }; void qapi_free_ChardevSocketList(ChardevSocketList * obj); void qapi_free_ChardevSocket(ChardevSocket * obj); struct ChardevUdp { SocketAddress * remote; bool has_local; SocketAddress * local; }; void qapi_free_ChardevUdpList(ChardevUdpList * obj); void qapi_free_ChardevUdp(ChardevUdp * obj); struct ChardevMux { char * chardev; }; void qapi_free_ChardevMuxList(ChardevMuxList * obj); void qapi_free_ChardevMux(ChardevMux * obj); struct ChardevStdio { bool has_signal; bool signal; }; void qapi_free_ChardevStdioList(ChardevStdioList * obj); void qapi_free_ChardevStdio(ChardevStdio * obj); struct ChardevSpiceChannel { char * type; }; void qapi_free_ChardevSpiceChannelList(ChardevSpiceChannelList * obj); void qapi_free_ChardevSpiceChannel(ChardevSpiceChannel * obj); struct ChardevSpicePort { char * fqdn; }; void qapi_free_ChardevSpicePortList(ChardevSpicePortList * obj); void qapi_free_ChardevSpicePort(ChardevSpicePort * obj); struct ChardevVC { bool has_width; int64_t width; bool has_height; int64_t height; bool has_cols; int64_t cols; bool has_rows; int64_t rows; }; void qapi_free_ChardevVCList(ChardevVCList * obj); void qapi_free_ChardevVC(ChardevVC * obj); struct ChardevRingbuf { bool has_size; int64_t size; }; void qapi_free_ChardevRingbufList(ChardevRingbufList * obj); void qapi_free_ChardevRingbuf(ChardevRingbuf * obj); struct ChardevDummy { }; void qapi_free_ChardevDummyList(ChardevDummyList * obj); void qapi_free_ChardevDummy(ChardevDummy * obj); struct ChardevBackend { ChardevBackendKind kind; union { void *data; ChardevFile * file; ChardevHostdev * serial; ChardevHostdev * parallel; ChardevHostdev * pipe; ChardevSocket * socket; ChardevUdp * udp; ChardevDummy * pty; ChardevDummy * null; ChardevMux * mux; ChardevDummy * msmouse; ChardevDummy * braille; ChardevStdio * stdio; ChardevDummy * console; ChardevSpiceChannel * spicevmc; ChardevSpicePort * spiceport; ChardevVC * vc; ChardevRingbuf * ringbuf; ChardevRingbuf * memory; }; }; void qapi_free_ChardevBackendList(ChardevBackendList * obj); void qapi_free_ChardevBackend(ChardevBackend * obj); struct ChardevReturn { bool has_pty; char * pty; }; void qapi_free_ChardevReturnList(ChardevReturnList * obj); void qapi_free_ChardevReturn(ChardevReturn * obj); void qapi_free_TpmModelList(TpmModelList * obj); void qapi_free_TpmTypeList(TpmTypeList * obj); struct TPMPassthroughOptions { bool has_path; char * path; bool has_cancel_path; char * cancel_path; }; void qapi_free_TPMPassthroughOptionsList(TPMPassthroughOptionsList * obj); void qapi_free_TPMPassthroughOptions(TPMPassthroughOptions * obj); struct TpmTypeOptions { TpmTypeOptionsKind kind; union { void *data; TPMPassthroughOptions * passthrough; }; }; void qapi_free_TpmTypeOptionsList(TpmTypeOptionsList * obj); void qapi_free_TpmTypeOptions(TpmTypeOptions * obj); struct TPMInfo { char * id; TpmModel model; TpmTypeOptions * options; }; void qapi_free_TPMInfoList(TPMInfoList * obj); void qapi_free_TPMInfo(TPMInfo * obj); struct AcpiTableOptions { bool has_sig; char * sig; bool has_rev; uint8_t rev; bool has_oem_id; char * oem_id; bool has_oem_table_id; char * oem_table_id; bool has_oem_rev; uint32_t oem_rev; bool has_asl_compiler_id; char * asl_compiler_id; bool has_asl_compiler_rev; uint32_t asl_compiler_rev; bool has_file; char * file; bool has_data; char * data; }; void qapi_free_AcpiTableOptionsList(AcpiTableOptionsList * obj); void qapi_free_AcpiTableOptions(AcpiTableOptions * obj); void qapi_free_CommandLineParameterTypeList(CommandLineParameterTypeList * obj); struct CommandLineParameterInfo { char * name; CommandLineParameterType type; bool has_help; char * help; }; void qapi_free_CommandLineParameterInfoList(CommandLineParameterInfoList * obj); void qapi_free_CommandLineParameterInfo(CommandLineParameterInfo * obj); struct CommandLineOptionInfo { char * option; CommandLineParameterInfoList * parameters; }; void qapi_free_CommandLineOptionInfoList(CommandLineOptionInfoList * obj); void qapi_free_CommandLineOptionInfo(CommandLineOptionInfo * obj); void qapi_free_X86CPURegister32List(X86CPURegister32List * obj); struct X86CPUFeatureWordInfo { int64_t cpuid_input_eax; bool has_cpuid_input_ecx; int64_t cpuid_input_ecx; X86CPURegister32 cpuid_register; int64_t features; }; void qapi_free_X86CPUFeatureWordInfoList(X86CPUFeatureWordInfoList * obj); void qapi_free_X86CPUFeatureWordInfo(X86CPUFeatureWordInfo * obj); void qapi_free_RxStateList(RxStateList * obj); struct RxFilterInfo { char * name; bool promiscuous; RxState multicast; RxState unicast; bool broadcast_allowed; bool multicast_overflow; bool unicast_overflow; char * main_mac; intList * vlan_table; strList * unicast_table; strList * multicast_table; }; void qapi_free_RxFilterInfoList(RxFilterInfoList * obj); void qapi_free_RxFilterInfo(RxFilterInfo * obj); void qapi_free_BlockdevDiscardOptionsList(BlockdevDiscardOptionsList * obj); void qapi_free_BlockdevAioOptionsList(BlockdevAioOptionsList * obj); struct BlockdevCacheOptions { bool has_writeback; bool writeback; bool has_direct; bool direct; bool has_no_flush; bool no_flush; }; void qapi_free_BlockdevCacheOptionsList(BlockdevCacheOptionsList * obj); void qapi_free_BlockdevCacheOptions(BlockdevCacheOptions * obj); struct BlockdevOptionsBase { char * driver; bool has_id; char * id; bool has_discard; BlockdevDiscardOptions discard; bool has_cache; BlockdevCacheOptions * cache; bool has_aio; BlockdevAioOptions aio; bool has_rerror; BlockdevOnError rerror; bool has_werror; BlockdevOnError werror; bool has_read_only; bool read_only; }; void qapi_free_BlockdevOptionsBaseList(BlockdevOptionsBaseList * obj); void qapi_free_BlockdevOptionsBase(BlockdevOptionsBase * obj); struct BlockdevOptionsFile { char * filename; }; void qapi_free_BlockdevOptionsFileList(BlockdevOptionsFileList * obj); void qapi_free_BlockdevOptionsFile(BlockdevOptionsFile * obj); struct BlockdevOptionsVVFAT { char * dir; bool has_fat_type; int64_t fat_type; bool has_floppy; bool floppy; bool has_rw; bool rw; }; void qapi_free_BlockdevOptionsVVFATList(BlockdevOptionsVVFATList * obj); void qapi_free_BlockdevOptionsVVFAT(BlockdevOptionsVVFAT * obj); struct BlockdevOptionsGenericFormat { BlockdevRef * file; }; void qapi_free_BlockdevOptionsGenericFormatList(BlockdevOptionsGenericFormatList * obj); void qapi_free_BlockdevOptionsGenericFormat(BlockdevOptionsGenericFormat * obj); struct BlockdevOptionsGenericCOWFormat { BlockdevOptionsGenericFormat * base; bool has_backing; BlockdevRef * backing; }; void qapi_free_BlockdevOptionsGenericCOWFormatList(BlockdevOptionsGenericCOWFormatList * obj); void qapi_free_BlockdevOptionsGenericCOWFormat(BlockdevOptionsGenericCOWFormat * obj); struct BlockdevOptionsQcow2 { BlockdevOptionsGenericCOWFormat * base; bool has_lazy_refcounts; bool lazy_refcounts; bool has_pass_discard_request; bool pass_discard_request; bool has_pass_discard_snapshot; bool pass_discard_snapshot; bool has_pass_discard_other; bool pass_discard_other; }; void qapi_free_BlockdevOptionsQcow2List(BlockdevOptionsQcow2List * obj); void qapi_free_BlockdevOptionsQcow2(BlockdevOptionsQcow2 * obj); struct BlockdevOptions { BlockdevOptionsKind kind; union { void *data; BlockdevOptionsFile * file; BlockdevOptionsFile * http; BlockdevOptionsFile * https; BlockdevOptionsFile * ftp; BlockdevOptionsFile * ftps; BlockdevOptionsFile * tftp; BlockdevOptionsVVFAT * vvfat; BlockdevOptionsGenericFormat * bochs; BlockdevOptionsGenericFormat * cloop; BlockdevOptionsGenericCOWFormat * cow; BlockdevOptionsGenericFormat * dmg; BlockdevOptionsGenericFormat * parallels; BlockdevOptionsGenericCOWFormat * qcow; BlockdevOptionsQcow2 * qcow2; BlockdevOptionsGenericCOWFormat * qed; BlockdevOptionsGenericFormat * raw; BlockdevOptionsGenericFormat * vdi; BlockdevOptionsGenericFormat * vhdx; BlockdevOptionsGenericCOWFormat * vmdk; BlockdevOptionsGenericFormat * vpc; }; bool has_id; char * id; bool has_discard; BlockdevDiscardOptions discard; bool has_cache; BlockdevCacheOptions * cache; bool has_aio; BlockdevAioOptions aio; bool has_rerror; BlockdevOnError rerror; bool has_werror; BlockdevOnError werror; bool has_read_only; bool read_only; }; void qapi_free_BlockdevOptionsList(BlockdevOptionsList * obj); void qapi_free_BlockdevOptions(BlockdevOptions * obj); struct BlockdevRef { BlockdevRefKind kind; union { void *data; BlockdevOptions * definition; char * reference; }; }; extern const int BlockdevRef_qtypes[]; void qapi_free_BlockdevRefList(BlockdevRefList * obj); void qapi_free_BlockdevRef(BlockdevRef * obj); #endif