1/* AUTOMATICALLY GENERATED, DO NOT MODIFY */ 2 3/* 4 * schema-defined QAPI types 5 * 6 * Copyright IBM, Corp. 2011 7 * 8 * Authors: 9 * Anthony Liguori <aliguori@us.ibm.com> 10 * 11 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. 12 * See the COPYING.LIB file in the top-level directory. 13 * 14 */ 15 16#ifndef QAPI_TYPES_H 17#define QAPI_TYPES_H 18 19#include <stdbool.h> 20#include <stdint.h> 21 22 23#ifndef QAPI_TYPES_BUILTIN_STRUCT_DECL_H 24#define QAPI_TYPES_BUILTIN_STRUCT_DECL_H 25 26 27typedef struct strList 28{ 29 union { 30 char * value; 31 uint64_t padding; 32 }; 33 struct strList *next; 34} strList; 35 36typedef struct intList 37{ 38 union { 39 int64_t value; 40 uint64_t padding; 41 }; 42 struct intList *next; 43} intList; 44 45typedef struct numberList 46{ 47 union { 48 double value; 49 uint64_t padding; 50 }; 51 struct numberList *next; 52} numberList; 53 54typedef struct boolList 55{ 56 union { 57 bool value; 58 uint64_t padding; 59 }; 60 struct boolList *next; 61} boolList; 62 63typedef struct int8List 64{ 65 union { 66 int8_t value; 67 uint64_t padding; 68 }; 69 struct int8List *next; 70} int8List; 71 72typedef struct int16List 73{ 74 union { 75 int16_t value; 76 uint64_t padding; 77 }; 78 struct int16List *next; 79} int16List; 80 81typedef struct int32List 82{ 83 union { 84 int32_t value; 85 uint64_t padding; 86 }; 87 struct int32List *next; 88} int32List; 89 90typedef struct int64List 91{ 92 union { 93 int64_t value; 94 uint64_t padding; 95 }; 96 struct int64List *next; 97} int64List; 98 99typedef struct uint8List 100{ 101 union { 102 uint8_t value; 103 uint64_t padding; 104 }; 105 struct uint8List *next; 106} uint8List; 107 108typedef struct uint16List 109{ 110 union { 111 uint16_t value; 112 uint64_t padding; 113 }; 114 struct uint16List *next; 115} uint16List; 116 117typedef struct uint32List 118{ 119 union { 120 uint32_t value; 121 uint64_t padding; 122 }; 123 struct uint32List *next; 124} uint32List; 125 126typedef struct uint64List 127{ 128 union { 129 uint64_t value; 130 uint64_t padding; 131 }; 132 struct uint64List *next; 133} uint64List; 134 135#endif /* QAPI_TYPES_BUILTIN_STRUCT_DECL_H */ 136 137 138extern const char *ErrorClass_lookup[]; 139typedef enum ErrorClass 140{ 141 ERROR_CLASS_GENERIC_ERROR = 0, 142 ERROR_CLASS_COMMAND_NOT_FOUND = 1, 143 ERROR_CLASS_DEVICE_ENCRYPTED = 2, 144 ERROR_CLASS_DEVICE_NOT_ACTIVE = 3, 145 ERROR_CLASS_DEVICE_NOT_FOUND = 4, 146 ERROR_CLASS_K_V_M_MISSING_CAP = 5, 147 ERROR_CLASS_MAX = 6, 148} ErrorClass; 149 150typedef struct ErrorClassList 151{ 152 union { 153 ErrorClass value; 154 uint64_t padding; 155 }; 156 struct ErrorClassList *next; 157} ErrorClassList; 158 159 160typedef struct NameInfo NameInfo; 161 162typedef struct NameInfoList 163{ 164 union { 165 NameInfo *value; 166 uint64_t padding; 167 }; 168 struct NameInfoList *next; 169} NameInfoList; 170 171 172typedef struct VersionInfo VersionInfo; 173 174typedef struct VersionInfoList 175{ 176 union { 177 VersionInfo *value; 178 uint64_t padding; 179 }; 180 struct VersionInfoList *next; 181} VersionInfoList; 182 183 184typedef struct KvmInfo KvmInfo; 185 186typedef struct KvmInfoList 187{ 188 union { 189 KvmInfo *value; 190 uint64_t padding; 191 }; 192 struct KvmInfoList *next; 193} KvmInfoList; 194 195extern const char *RunState_lookup[]; 196typedef enum RunState 197{ 198 RUN_STATE_DEBUG = 0, 199 RUN_STATE_INMIGRATE = 1, 200 RUN_STATE_INTERNAL_ERROR = 2, 201 RUN_STATE_IO_ERROR = 3, 202 RUN_STATE_PAUSED = 4, 203 RUN_STATE_POSTMIGRATE = 5, 204 RUN_STATE_PRELAUNCH = 6, 205 RUN_STATE_FINISH_MIGRATE = 7, 206 RUN_STATE_RESTORE_VM = 8, 207 RUN_STATE_RUNNING = 9, 208 RUN_STATE_SAVE_VM = 10, 209 RUN_STATE_SHUTDOWN = 11, 210 RUN_STATE_SUSPENDED = 12, 211 RUN_STATE_WATCHDOG = 13, 212 RUN_STATE_GUEST_PANICKED = 14, 213 RUN_STATE_MAX = 15, 214} RunState; 215 216typedef struct RunStateList 217{ 218 union { 219 RunState value; 220 uint64_t padding; 221 }; 222 struct RunStateList *next; 223} RunStateList; 224 225 226typedef struct SnapshotInfo SnapshotInfo; 227 228typedef struct SnapshotInfoList 229{ 230 union { 231 SnapshotInfo *value; 232 uint64_t padding; 233 }; 234 struct SnapshotInfoList *next; 235} SnapshotInfoList; 236 237 238typedef struct ImageInfoSpecificQCow2 ImageInfoSpecificQCow2; 239 240typedef struct ImageInfoSpecificQCow2List 241{ 242 union { 243 ImageInfoSpecificQCow2 *value; 244 uint64_t padding; 245 }; 246 struct ImageInfoSpecificQCow2List *next; 247} ImageInfoSpecificQCow2List; 248 249 250typedef struct ImageInfoSpecificVmdk ImageInfoSpecificVmdk; 251 252typedef struct ImageInfoSpecificVmdkList 253{ 254 union { 255 ImageInfoSpecificVmdk *value; 256 uint64_t padding; 257 }; 258 struct ImageInfoSpecificVmdkList *next; 259} ImageInfoSpecificVmdkList; 260 261 262typedef struct ImageInfoSpecific ImageInfoSpecific; 263 264typedef struct ImageInfoSpecificList 265{ 266 union { 267 ImageInfoSpecific *value; 268 uint64_t padding; 269 }; 270 struct ImageInfoSpecificList *next; 271} ImageInfoSpecificList; 272 273extern const char *ImageInfoSpecificKind_lookup[]; 274typedef enum ImageInfoSpecificKind 275{ 276 IMAGE_INFO_SPECIFIC_KIND_QCOW2 = 0, 277 IMAGE_INFO_SPECIFIC_KIND_VMDK = 1, 278 IMAGE_INFO_SPECIFIC_KIND_MAX = 2, 279} ImageInfoSpecificKind; 280 281 282typedef struct ImageInfo ImageInfo; 283 284typedef struct ImageInfoList 285{ 286 union { 287 ImageInfo *value; 288 uint64_t padding; 289 }; 290 struct ImageInfoList *next; 291} ImageInfoList; 292 293 294typedef struct ImageCheck ImageCheck; 295 296typedef struct ImageCheckList 297{ 298 union { 299 ImageCheck *value; 300 uint64_t padding; 301 }; 302 struct ImageCheckList *next; 303} ImageCheckList; 304 305 306typedef struct StatusInfo StatusInfo; 307 308typedef struct StatusInfoList 309{ 310 union { 311 StatusInfo *value; 312 uint64_t padding; 313 }; 314 struct StatusInfoList *next; 315} StatusInfoList; 316 317 318typedef struct UuidInfo UuidInfo; 319 320typedef struct UuidInfoList 321{ 322 union { 323 UuidInfo *value; 324 uint64_t padding; 325 }; 326 struct UuidInfoList *next; 327} UuidInfoList; 328 329 330typedef struct ChardevInfo ChardevInfo; 331 332typedef struct ChardevInfoList 333{ 334 union { 335 ChardevInfo *value; 336 uint64_t padding; 337 }; 338 struct ChardevInfoList *next; 339} ChardevInfoList; 340 341extern const char *DataFormat_lookup[]; 342typedef enum DataFormat 343{ 344 DATA_FORMAT_UTF8 = 0, 345 DATA_FORMAT_BASE64 = 1, 346 DATA_FORMAT_MAX = 2, 347} DataFormat; 348 349typedef struct DataFormatList 350{ 351 union { 352 DataFormat value; 353 uint64_t padding; 354 }; 355 struct DataFormatList *next; 356} DataFormatList; 357 358 359typedef struct CommandInfo CommandInfo; 360 361typedef struct CommandInfoList 362{ 363 union { 364 CommandInfo *value; 365 uint64_t padding; 366 }; 367 struct CommandInfoList *next; 368} CommandInfoList; 369 370 371typedef struct EventInfo EventInfo; 372 373typedef struct EventInfoList 374{ 375 union { 376 EventInfo *value; 377 uint64_t padding; 378 }; 379 struct EventInfoList *next; 380} EventInfoList; 381 382 383typedef struct MigrationStats MigrationStats; 384 385typedef struct MigrationStatsList 386{ 387 union { 388 MigrationStats *value; 389 uint64_t padding; 390 }; 391 struct MigrationStatsList *next; 392} MigrationStatsList; 393 394 395typedef struct XBZRLECacheStats XBZRLECacheStats; 396 397typedef struct XBZRLECacheStatsList 398{ 399 union { 400 XBZRLECacheStats *value; 401 uint64_t padding; 402 }; 403 struct XBZRLECacheStatsList *next; 404} XBZRLECacheStatsList; 405 406 407typedef struct MigrationInfo MigrationInfo; 408 409typedef struct MigrationInfoList 410{ 411 union { 412 MigrationInfo *value; 413 uint64_t padding; 414 }; 415 struct MigrationInfoList *next; 416} MigrationInfoList; 417 418extern const char *MigrationCapability_lookup[]; 419typedef enum MigrationCapability 420{ 421 MIGRATION_CAPABILITY_XBZRLE = 0, 422 MIGRATION_CAPABILITY_X_RDMA_PIN_ALL = 1, 423 MIGRATION_CAPABILITY_AUTO_CONVERGE = 2, 424 MIGRATION_CAPABILITY_ZERO_BLOCKS = 3, 425 MIGRATION_CAPABILITY_MAX = 4, 426} MigrationCapability; 427 428typedef struct MigrationCapabilityList 429{ 430 union { 431 MigrationCapability value; 432 uint64_t padding; 433 }; 434 struct MigrationCapabilityList *next; 435} MigrationCapabilityList; 436 437 438typedef struct MigrationCapabilityStatus MigrationCapabilityStatus; 439 440typedef struct MigrationCapabilityStatusList 441{ 442 union { 443 MigrationCapabilityStatus *value; 444 uint64_t padding; 445 }; 446 struct MigrationCapabilityStatusList *next; 447} MigrationCapabilityStatusList; 448 449 450typedef struct MouseInfo MouseInfo; 451 452typedef struct MouseInfoList 453{ 454 union { 455 MouseInfo *value; 456 uint64_t padding; 457 }; 458 struct MouseInfoList *next; 459} MouseInfoList; 460 461 462typedef struct CpuInfo CpuInfo; 463 464typedef struct CpuInfoList 465{ 466 union { 467 CpuInfo *value; 468 uint64_t padding; 469 }; 470 struct CpuInfoList *next; 471} CpuInfoList; 472 473 474typedef struct BlockDeviceInfo BlockDeviceInfo; 475 476typedef struct BlockDeviceInfoList 477{ 478 union { 479 BlockDeviceInfo *value; 480 uint64_t padding; 481 }; 482 struct BlockDeviceInfoList *next; 483} BlockDeviceInfoList; 484 485extern const char *BlockDeviceIoStatus_lookup[]; 486typedef enum BlockDeviceIoStatus 487{ 488 BLOCK_DEVICE_IO_STATUS_OK = 0, 489 BLOCK_DEVICE_IO_STATUS_FAILED = 1, 490 BLOCK_DEVICE_IO_STATUS_NOSPACE = 2, 491 BLOCK_DEVICE_IO_STATUS_MAX = 3, 492} BlockDeviceIoStatus; 493 494typedef struct BlockDeviceIoStatusList 495{ 496 union { 497 BlockDeviceIoStatus value; 498 uint64_t padding; 499 }; 500 struct BlockDeviceIoStatusList *next; 501} BlockDeviceIoStatusList; 502 503 504typedef struct BlockDeviceMapEntry BlockDeviceMapEntry; 505 506typedef struct BlockDeviceMapEntryList 507{ 508 union { 509 BlockDeviceMapEntry *value; 510 uint64_t padding; 511 }; 512 struct BlockDeviceMapEntryList *next; 513} BlockDeviceMapEntryList; 514 515 516typedef struct BlockDirtyInfo BlockDirtyInfo; 517 518typedef struct BlockDirtyInfoList 519{ 520 union { 521 BlockDirtyInfo *value; 522 uint64_t padding; 523 }; 524 struct BlockDirtyInfoList *next; 525} BlockDirtyInfoList; 526 527 528typedef struct BlockInfo BlockInfo; 529 530typedef struct BlockInfoList 531{ 532 union { 533 BlockInfo *value; 534 uint64_t padding; 535 }; 536 struct BlockInfoList *next; 537} BlockInfoList; 538 539 540typedef struct BlockDeviceStats BlockDeviceStats; 541 542typedef struct BlockDeviceStatsList 543{ 544 union { 545 BlockDeviceStats *value; 546 uint64_t padding; 547 }; 548 struct BlockDeviceStatsList *next; 549} BlockDeviceStatsList; 550 551 552typedef struct BlockStats BlockStats; 553 554typedef struct BlockStatsList 555{ 556 union { 557 BlockStats *value; 558 uint64_t padding; 559 }; 560 struct BlockStatsList *next; 561} BlockStatsList; 562 563 564typedef struct VncClientInfo VncClientInfo; 565 566typedef struct VncClientInfoList 567{ 568 union { 569 VncClientInfo *value; 570 uint64_t padding; 571 }; 572 struct VncClientInfoList *next; 573} VncClientInfoList; 574 575 576typedef struct VncInfo VncInfo; 577 578typedef struct VncInfoList 579{ 580 union { 581 VncInfo *value; 582 uint64_t padding; 583 }; 584 struct VncInfoList *next; 585} VncInfoList; 586 587 588typedef struct SpiceChannel SpiceChannel; 589 590typedef struct SpiceChannelList 591{ 592 union { 593 SpiceChannel *value; 594 uint64_t padding; 595 }; 596 struct SpiceChannelList *next; 597} SpiceChannelList; 598 599extern const char *SpiceQueryMouseMode_lookup[]; 600typedef enum SpiceQueryMouseMode 601{ 602 SPICE_QUERY_MOUSE_MODE_CLIENT = 0, 603 SPICE_QUERY_MOUSE_MODE_SERVER = 1, 604 SPICE_QUERY_MOUSE_MODE_UNKNOWN = 2, 605 SPICE_QUERY_MOUSE_MODE_MAX = 3, 606} SpiceQueryMouseMode; 607 608typedef struct SpiceQueryMouseModeList 609{ 610 union { 611 SpiceQueryMouseMode value; 612 uint64_t padding; 613 }; 614 struct SpiceQueryMouseModeList *next; 615} SpiceQueryMouseModeList; 616 617 618typedef struct SpiceInfo SpiceInfo; 619 620typedef struct SpiceInfoList 621{ 622 union { 623 SpiceInfo *value; 624 uint64_t padding; 625 }; 626 struct SpiceInfoList *next; 627} SpiceInfoList; 628 629 630typedef struct BalloonInfo BalloonInfo; 631 632typedef struct BalloonInfoList 633{ 634 union { 635 BalloonInfo *value; 636 uint64_t padding; 637 }; 638 struct BalloonInfoList *next; 639} BalloonInfoList; 640 641 642typedef struct PciMemoryRange PciMemoryRange; 643 644typedef struct PciMemoryRangeList 645{ 646 union { 647 PciMemoryRange *value; 648 uint64_t padding; 649 }; 650 struct PciMemoryRangeList *next; 651} PciMemoryRangeList; 652 653 654typedef struct PciMemoryRegion PciMemoryRegion; 655 656typedef struct PciMemoryRegionList 657{ 658 union { 659 PciMemoryRegion *value; 660 uint64_t padding; 661 }; 662 struct PciMemoryRegionList *next; 663} PciMemoryRegionList; 664 665 666typedef struct PciBridgeInfo PciBridgeInfo; 667 668typedef struct PciBridgeInfoList 669{ 670 union { 671 PciBridgeInfo *value; 672 uint64_t padding; 673 }; 674 struct PciBridgeInfoList *next; 675} PciBridgeInfoList; 676 677 678typedef struct PciDeviceInfo PciDeviceInfo; 679 680typedef struct PciDeviceInfoList 681{ 682 union { 683 PciDeviceInfo *value; 684 uint64_t padding; 685 }; 686 struct PciDeviceInfoList *next; 687} PciDeviceInfoList; 688 689 690typedef struct PciInfo PciInfo; 691 692typedef struct PciInfoList 693{ 694 union { 695 PciInfo *value; 696 uint64_t padding; 697 }; 698 struct PciInfoList *next; 699} PciInfoList; 700 701extern const char *BlockdevOnError_lookup[]; 702typedef enum BlockdevOnError 703{ 704 BLOCKDEV_ON_ERROR_REPORT = 0, 705 BLOCKDEV_ON_ERROR_IGNORE = 1, 706 BLOCKDEV_ON_ERROR_ENOSPC = 2, 707 BLOCKDEV_ON_ERROR_STOP = 3, 708 BLOCKDEV_ON_ERROR_MAX = 4, 709} BlockdevOnError; 710 711typedef struct BlockdevOnErrorList 712{ 713 union { 714 BlockdevOnError value; 715 uint64_t padding; 716 }; 717 struct BlockdevOnErrorList *next; 718} BlockdevOnErrorList; 719 720extern const char *MirrorSyncMode_lookup[]; 721typedef enum MirrorSyncMode 722{ 723 MIRROR_SYNC_MODE_TOP = 0, 724 MIRROR_SYNC_MODE_FULL = 1, 725 MIRROR_SYNC_MODE_NONE = 2, 726 MIRROR_SYNC_MODE_MAX = 3, 727} MirrorSyncMode; 728 729typedef struct MirrorSyncModeList 730{ 731 union { 732 MirrorSyncMode value; 733 uint64_t padding; 734 }; 735 struct MirrorSyncModeList *next; 736} MirrorSyncModeList; 737 738extern const char *BlockJobType_lookup[]; 739typedef enum BlockJobType 740{ 741 BLOCK_JOB_TYPE_COMMIT = 0, 742 BLOCK_JOB_TYPE_STREAM = 1, 743 BLOCK_JOB_TYPE_MIRROR = 2, 744 BLOCK_JOB_TYPE_BACKUP = 3, 745 BLOCK_JOB_TYPE_MAX = 4, 746} BlockJobType; 747 748typedef struct BlockJobTypeList 749{ 750 union { 751 BlockJobType value; 752 uint64_t padding; 753 }; 754 struct BlockJobTypeList *next; 755} BlockJobTypeList; 756 757 758typedef struct BlockJobInfo BlockJobInfo; 759 760typedef struct BlockJobInfoList 761{ 762 union { 763 BlockJobInfo *value; 764 uint64_t padding; 765 }; 766 struct BlockJobInfoList *next; 767} BlockJobInfoList; 768 769extern const char *NewImageMode_lookup[]; 770typedef enum NewImageMode 771{ 772 NEW_IMAGE_MODE_EXISTING = 0, 773 NEW_IMAGE_MODE_ABSOLUTE_PATHS = 1, 774 NEW_IMAGE_MODE_MAX = 2, 775} NewImageMode; 776 777typedef struct NewImageModeList 778{ 779 union { 780 NewImageMode value; 781 uint64_t padding; 782 }; 783 struct NewImageModeList *next; 784} NewImageModeList; 785 786 787typedef struct BlockdevSnapshot BlockdevSnapshot; 788 789typedef struct BlockdevSnapshotList 790{ 791 union { 792 BlockdevSnapshot *value; 793 uint64_t padding; 794 }; 795 struct BlockdevSnapshotList *next; 796} BlockdevSnapshotList; 797 798 799typedef struct BlockdevSnapshotInternal BlockdevSnapshotInternal; 800 801typedef struct BlockdevSnapshotInternalList 802{ 803 union { 804 BlockdevSnapshotInternal *value; 805 uint64_t padding; 806 }; 807 struct BlockdevSnapshotInternalList *next; 808} BlockdevSnapshotInternalList; 809 810 811typedef struct DriveBackup DriveBackup; 812 813typedef struct DriveBackupList 814{ 815 union { 816 DriveBackup *value; 817 uint64_t padding; 818 }; 819 struct DriveBackupList *next; 820} DriveBackupList; 821 822 823typedef struct Abort Abort; 824 825typedef struct AbortList 826{ 827 union { 828 Abort *value; 829 uint64_t padding; 830 }; 831 struct AbortList *next; 832} AbortList; 833 834 835typedef struct TransactionAction TransactionAction; 836 837typedef struct TransactionActionList 838{ 839 union { 840 TransactionAction *value; 841 uint64_t padding; 842 }; 843 struct TransactionActionList *next; 844} TransactionActionList; 845 846extern const char *TransactionActionKind_lookup[]; 847typedef enum TransactionActionKind 848{ 849 TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_SYNC = 0, 850 TRANSACTION_ACTION_KIND_DRIVE_BACKUP = 1, 851 TRANSACTION_ACTION_KIND_ABORT = 2, 852 TRANSACTION_ACTION_KIND_BLOCKDEV_SNAPSHOT_INTERNAL_SYNC = 3, 853 TRANSACTION_ACTION_KIND_MAX = 4, 854} TransactionActionKind; 855 856 857typedef struct ObjectPropertyInfo ObjectPropertyInfo; 858 859typedef struct ObjectPropertyInfoList 860{ 861 union { 862 ObjectPropertyInfo *value; 863 uint64_t padding; 864 }; 865 struct ObjectPropertyInfoList *next; 866} ObjectPropertyInfoList; 867 868 869typedef struct ObjectTypeInfo ObjectTypeInfo; 870 871typedef struct ObjectTypeInfoList 872{ 873 union { 874 ObjectTypeInfo *value; 875 uint64_t padding; 876 }; 877 struct ObjectTypeInfoList *next; 878} ObjectTypeInfoList; 879 880 881typedef struct DevicePropertyInfo DevicePropertyInfo; 882 883typedef struct DevicePropertyInfoList 884{ 885 union { 886 DevicePropertyInfo *value; 887 uint64_t padding; 888 }; 889 struct DevicePropertyInfoList *next; 890} DevicePropertyInfoList; 891 892 893typedef struct NetdevNoneOptions NetdevNoneOptions; 894 895typedef struct NetdevNoneOptionsList 896{ 897 union { 898 NetdevNoneOptions *value; 899 uint64_t padding; 900 }; 901 struct NetdevNoneOptionsList *next; 902} NetdevNoneOptionsList; 903 904 905typedef struct NetLegacyNicOptions NetLegacyNicOptions; 906 907typedef struct NetLegacyNicOptionsList 908{ 909 union { 910 NetLegacyNicOptions *value; 911 uint64_t padding; 912 }; 913 struct NetLegacyNicOptionsList *next; 914} NetLegacyNicOptionsList; 915 916 917typedef struct String String; 918 919typedef struct StringList 920{ 921 union { 922 String *value; 923 uint64_t padding; 924 }; 925 struct StringList *next; 926} StringList; 927 928 929typedef struct NetdevUserOptions NetdevUserOptions; 930 931typedef struct NetdevUserOptionsList 932{ 933 union { 934 NetdevUserOptions *value; 935 uint64_t padding; 936 }; 937 struct NetdevUserOptionsList *next; 938} NetdevUserOptionsList; 939 940 941typedef struct NetdevTapOptions NetdevTapOptions; 942 943typedef struct NetdevTapOptionsList 944{ 945 union { 946 NetdevTapOptions *value; 947 uint64_t padding; 948 }; 949 struct NetdevTapOptionsList *next; 950} NetdevTapOptionsList; 951 952 953typedef struct NetdevSocketOptions NetdevSocketOptions; 954 955typedef struct NetdevSocketOptionsList 956{ 957 union { 958 NetdevSocketOptions *value; 959 uint64_t padding; 960 }; 961 struct NetdevSocketOptionsList *next; 962} NetdevSocketOptionsList; 963 964 965typedef struct NetdevVdeOptions NetdevVdeOptions; 966 967typedef struct NetdevVdeOptionsList 968{ 969 union { 970 NetdevVdeOptions *value; 971 uint64_t padding; 972 }; 973 struct NetdevVdeOptionsList *next; 974} NetdevVdeOptionsList; 975 976 977typedef struct NetdevDumpOptions NetdevDumpOptions; 978 979typedef struct NetdevDumpOptionsList 980{ 981 union { 982 NetdevDumpOptions *value; 983 uint64_t padding; 984 }; 985 struct NetdevDumpOptionsList *next; 986} NetdevDumpOptionsList; 987 988 989typedef struct NetdevBridgeOptions NetdevBridgeOptions; 990 991typedef struct NetdevBridgeOptionsList 992{ 993 union { 994 NetdevBridgeOptions *value; 995 uint64_t padding; 996 }; 997 struct NetdevBridgeOptionsList *next; 998} NetdevBridgeOptionsList; 999 1000 1001typedef struct NetdevHubPortOptions NetdevHubPortOptions; 1002 1003typedef struct NetdevHubPortOptionsList 1004{ 1005 union { 1006 NetdevHubPortOptions *value; 1007 uint64_t padding; 1008 }; 1009 struct NetdevHubPortOptionsList *next; 1010} NetdevHubPortOptionsList; 1011 1012 1013typedef struct NetdevNetmapOptions NetdevNetmapOptions; 1014 1015typedef struct NetdevNetmapOptionsList 1016{ 1017 union { 1018 NetdevNetmapOptions *value; 1019 uint64_t padding; 1020 }; 1021 struct NetdevNetmapOptionsList *next; 1022} NetdevNetmapOptionsList; 1023 1024 1025typedef struct NetClientOptions NetClientOptions; 1026 1027typedef struct NetClientOptionsList 1028{ 1029 union { 1030 NetClientOptions *value; 1031 uint64_t padding; 1032 }; 1033 struct NetClientOptionsList *next; 1034} NetClientOptionsList; 1035 1036extern const char *NetClientOptionsKind_lookup[]; 1037typedef enum NetClientOptionsKind 1038{ 1039 NET_CLIENT_OPTIONS_KIND_NONE = 0, 1040 NET_CLIENT_OPTIONS_KIND_NIC = 1, 1041 NET_CLIENT_OPTIONS_KIND_USER = 2, 1042 NET_CLIENT_OPTIONS_KIND_TAP = 3, 1043 NET_CLIENT_OPTIONS_KIND_SOCKET = 4, 1044 NET_CLIENT_OPTIONS_KIND_VDE = 5, 1045 NET_CLIENT_OPTIONS_KIND_DUMP = 6, 1046 NET_CLIENT_OPTIONS_KIND_BRIDGE = 7, 1047 NET_CLIENT_OPTIONS_KIND_HUBPORT = 8, 1048 NET_CLIENT_OPTIONS_KIND_NETMAP = 9, 1049 NET_CLIENT_OPTIONS_KIND_MAX = 10, 1050} NetClientOptionsKind; 1051 1052 1053typedef struct NetLegacy NetLegacy; 1054 1055typedef struct NetLegacyList 1056{ 1057 union { 1058 NetLegacy *value; 1059 uint64_t padding; 1060 }; 1061 struct NetLegacyList *next; 1062} NetLegacyList; 1063 1064 1065typedef struct Netdev Netdev; 1066 1067typedef struct NetdevList 1068{ 1069 union { 1070 Netdev *value; 1071 uint64_t padding; 1072 }; 1073 struct NetdevList *next; 1074} NetdevList; 1075 1076 1077typedef struct InetSocketAddress InetSocketAddress; 1078 1079typedef struct InetSocketAddressList 1080{ 1081 union { 1082 InetSocketAddress *value; 1083 uint64_t padding; 1084 }; 1085 struct InetSocketAddressList *next; 1086} InetSocketAddressList; 1087 1088 1089typedef struct UnixSocketAddress UnixSocketAddress; 1090 1091typedef struct UnixSocketAddressList 1092{ 1093 union { 1094 UnixSocketAddress *value; 1095 uint64_t padding; 1096 }; 1097 struct UnixSocketAddressList *next; 1098} UnixSocketAddressList; 1099 1100 1101typedef struct SocketAddress SocketAddress; 1102 1103typedef struct SocketAddressList 1104{ 1105 union { 1106 SocketAddress *value; 1107 uint64_t padding; 1108 }; 1109 struct SocketAddressList *next; 1110} SocketAddressList; 1111 1112extern const char *SocketAddressKind_lookup[]; 1113typedef enum SocketAddressKind 1114{ 1115 SOCKET_ADDRESS_KIND_INET = 0, 1116 SOCKET_ADDRESS_KIND_UNIX = 1, 1117 SOCKET_ADDRESS_KIND_FD = 2, 1118 SOCKET_ADDRESS_KIND_MAX = 3, 1119} SocketAddressKind; 1120 1121 1122typedef struct MachineInfo MachineInfo; 1123 1124typedef struct MachineInfoList 1125{ 1126 union { 1127 MachineInfo *value; 1128 uint64_t padding; 1129 }; 1130 struct MachineInfoList *next; 1131} MachineInfoList; 1132 1133 1134typedef struct CpuDefinitionInfo CpuDefinitionInfo; 1135 1136typedef struct CpuDefinitionInfoList 1137{ 1138 union { 1139 CpuDefinitionInfo *value; 1140 uint64_t padding; 1141 }; 1142 struct CpuDefinitionInfoList *next; 1143} CpuDefinitionInfoList; 1144 1145 1146typedef struct AddfdInfo AddfdInfo; 1147 1148typedef struct AddfdInfoList 1149{ 1150 union { 1151 AddfdInfo *value; 1152 uint64_t padding; 1153 }; 1154 struct AddfdInfoList *next; 1155} AddfdInfoList; 1156 1157 1158typedef struct FdsetFdInfo FdsetFdInfo; 1159 1160typedef struct FdsetFdInfoList 1161{ 1162 union { 1163 FdsetFdInfo *value; 1164 uint64_t padding; 1165 }; 1166 struct FdsetFdInfoList *next; 1167} FdsetFdInfoList; 1168 1169 1170typedef struct FdsetInfo FdsetInfo; 1171 1172typedef struct FdsetInfoList 1173{ 1174 union { 1175 FdsetInfo *value; 1176 uint64_t padding; 1177 }; 1178 struct FdsetInfoList *next; 1179} FdsetInfoList; 1180 1181 1182typedef struct TargetInfo TargetInfo; 1183 1184typedef struct TargetInfoList 1185{ 1186 union { 1187 TargetInfo *value; 1188 uint64_t padding; 1189 }; 1190 struct TargetInfoList *next; 1191} TargetInfoList; 1192 1193extern const char *QKeyCode_lookup[]; 1194typedef enum QKeyCode 1195{ 1196 Q_KEY_CODE_SHIFT = 0, 1197 Q_KEY_CODE_SHIFT_R = 1, 1198 Q_KEY_CODE_ALT = 2, 1199 Q_KEY_CODE_ALT_R = 3, 1200 Q_KEY_CODE_ALTGR = 4, 1201 Q_KEY_CODE_ALTGR_R = 5, 1202 Q_KEY_CODE_CTRL = 6, 1203 Q_KEY_CODE_CTRL_R = 7, 1204 Q_KEY_CODE_MENU = 8, 1205 Q_KEY_CODE_ESC = 9, 1206 Q_KEY_CODE_1 = 10, 1207 Q_KEY_CODE_2 = 11, 1208 Q_KEY_CODE_3 = 12, 1209 Q_KEY_CODE_4 = 13, 1210 Q_KEY_CODE_5 = 14, 1211 Q_KEY_CODE_6 = 15, 1212 Q_KEY_CODE_7 = 16, 1213 Q_KEY_CODE_8 = 17, 1214 Q_KEY_CODE_9 = 18, 1215 Q_KEY_CODE_0 = 19, 1216 Q_KEY_CODE_MINUS = 20, 1217 Q_KEY_CODE_EQUAL = 21, 1218 Q_KEY_CODE_BACKSPACE = 22, 1219 Q_KEY_CODE_TAB = 23, 1220 Q_KEY_CODE_Q = 24, 1221 Q_KEY_CODE_W = 25, 1222 Q_KEY_CODE_E = 26, 1223 Q_KEY_CODE_R = 27, 1224 Q_KEY_CODE_T = 28, 1225 Q_KEY_CODE_Y = 29, 1226 Q_KEY_CODE_U = 30, 1227 Q_KEY_CODE_I = 31, 1228 Q_KEY_CODE_O = 32, 1229 Q_KEY_CODE_P = 33, 1230 Q_KEY_CODE_BRACKET_LEFT = 34, 1231 Q_KEY_CODE_BRACKET_RIGHT = 35, 1232 Q_KEY_CODE_RET = 36, 1233 Q_KEY_CODE_A = 37, 1234 Q_KEY_CODE_S = 38, 1235 Q_KEY_CODE_D = 39, 1236 Q_KEY_CODE_F = 40, 1237 Q_KEY_CODE_G = 41, 1238 Q_KEY_CODE_H = 42, 1239 Q_KEY_CODE_J = 43, 1240 Q_KEY_CODE_K = 44, 1241 Q_KEY_CODE_L = 45, 1242 Q_KEY_CODE_SEMICOLON = 46, 1243 Q_KEY_CODE_APOSTROPHE = 47, 1244 Q_KEY_CODE_GRAVE_ACCENT = 48, 1245 Q_KEY_CODE_BACKSLASH = 49, 1246 Q_KEY_CODE_Z = 50, 1247 Q_KEY_CODE_X = 51, 1248 Q_KEY_CODE_C = 52, 1249 Q_KEY_CODE_V = 53, 1250 Q_KEY_CODE_B = 54, 1251 Q_KEY_CODE_N = 55, 1252 Q_KEY_CODE_M = 56, 1253 Q_KEY_CODE_COMMA = 57, 1254 Q_KEY_CODE_DOT = 58, 1255 Q_KEY_CODE_SLASH = 59, 1256 Q_KEY_CODE_ASTERISK = 60, 1257 Q_KEY_CODE_SPC = 61, 1258 Q_KEY_CODE_CAPS_LOCK = 62, 1259 Q_KEY_CODE_F1 = 63, 1260 Q_KEY_CODE_F2 = 64, 1261 Q_KEY_CODE_F3 = 65, 1262 Q_KEY_CODE_F4 = 66, 1263 Q_KEY_CODE_F5 = 67, 1264 Q_KEY_CODE_F6 = 68, 1265 Q_KEY_CODE_F7 = 69, 1266 Q_KEY_CODE_F8 = 70, 1267 Q_KEY_CODE_F9 = 71, 1268 Q_KEY_CODE_F10 = 72, 1269 Q_KEY_CODE_NUM_LOCK = 73, 1270 Q_KEY_CODE_SCROLL_LOCK = 74, 1271 Q_KEY_CODE_KP_DIVIDE = 75, 1272 Q_KEY_CODE_KP_MULTIPLY = 76, 1273 Q_KEY_CODE_KP_SUBTRACT = 77, 1274 Q_KEY_CODE_KP_ADD = 78, 1275 Q_KEY_CODE_KP_ENTER = 79, 1276 Q_KEY_CODE_KP_DECIMAL = 80, 1277 Q_KEY_CODE_SYSRQ = 81, 1278 Q_KEY_CODE_KP_0 = 82, 1279 Q_KEY_CODE_KP_1 = 83, 1280 Q_KEY_CODE_KP_2 = 84, 1281 Q_KEY_CODE_KP_3 = 85, 1282 Q_KEY_CODE_KP_4 = 86, 1283 Q_KEY_CODE_KP_5 = 87, 1284 Q_KEY_CODE_KP_6 = 88, 1285 Q_KEY_CODE_KP_7 = 89, 1286 Q_KEY_CODE_KP_8 = 90, 1287 Q_KEY_CODE_KP_9 = 91, 1288 Q_KEY_CODE_LESS = 92, 1289 Q_KEY_CODE_F11 = 93, 1290 Q_KEY_CODE_F12 = 94, 1291 Q_KEY_CODE_PRINT = 95, 1292 Q_KEY_CODE_HOME = 96, 1293 Q_KEY_CODE_PGUP = 97, 1294 Q_KEY_CODE_PGDN = 98, 1295 Q_KEY_CODE_END = 99, 1296 Q_KEY_CODE_LEFT = 100, 1297 Q_KEY_CODE_UP = 101, 1298 Q_KEY_CODE_DOWN = 102, 1299 Q_KEY_CODE_RIGHT = 103, 1300 Q_KEY_CODE_INSERT = 104, 1301 Q_KEY_CODE_DELETE = 105, 1302 Q_KEY_CODE_STOP = 106, 1303 Q_KEY_CODE_AGAIN = 107, 1304 Q_KEY_CODE_PROPS = 108, 1305 Q_KEY_CODE_UNDO = 109, 1306 Q_KEY_CODE_FRONT = 110, 1307 Q_KEY_CODE_COPY = 111, 1308 Q_KEY_CODE_OPEN = 112, 1309 Q_KEY_CODE_PASTE = 113, 1310 Q_KEY_CODE_FIND = 114, 1311 Q_KEY_CODE_CUT = 115, 1312 Q_KEY_CODE_LF = 116, 1313 Q_KEY_CODE_HELP = 117, 1314 Q_KEY_CODE_META_L = 118, 1315 Q_KEY_CODE_META_R = 119, 1316 Q_KEY_CODE_COMPOSE = 120, 1317 Q_KEY_CODE_MAX = 121, 1318} QKeyCode; 1319 1320typedef struct QKeyCodeList 1321{ 1322 union { 1323 QKeyCode value; 1324 uint64_t padding; 1325 }; 1326 struct QKeyCodeList *next; 1327} QKeyCodeList; 1328 1329 1330typedef struct KeyValue KeyValue; 1331 1332typedef struct KeyValueList 1333{ 1334 union { 1335 KeyValue *value; 1336 uint64_t padding; 1337 }; 1338 struct KeyValueList *next; 1339} KeyValueList; 1340 1341extern const char *KeyValueKind_lookup[]; 1342typedef enum KeyValueKind 1343{ 1344 KEY_VALUE_KIND_NUMBER = 0, 1345 KEY_VALUE_KIND_QCODE = 1, 1346 KEY_VALUE_KIND_MAX = 2, 1347} KeyValueKind; 1348 1349 1350typedef struct ChardevFile ChardevFile; 1351 1352typedef struct ChardevFileList 1353{ 1354 union { 1355 ChardevFile *value; 1356 uint64_t padding; 1357 }; 1358 struct ChardevFileList *next; 1359} ChardevFileList; 1360 1361 1362typedef struct ChardevHostdev ChardevHostdev; 1363 1364typedef struct ChardevHostdevList 1365{ 1366 union { 1367 ChardevHostdev *value; 1368 uint64_t padding; 1369 }; 1370 struct ChardevHostdevList *next; 1371} ChardevHostdevList; 1372 1373 1374typedef struct ChardevSocket ChardevSocket; 1375 1376typedef struct ChardevSocketList 1377{ 1378 union { 1379 ChardevSocket *value; 1380 uint64_t padding; 1381 }; 1382 struct ChardevSocketList *next; 1383} ChardevSocketList; 1384 1385 1386typedef struct ChardevUdp ChardevUdp; 1387 1388typedef struct ChardevUdpList 1389{ 1390 union { 1391 ChardevUdp *value; 1392 uint64_t padding; 1393 }; 1394 struct ChardevUdpList *next; 1395} ChardevUdpList; 1396 1397 1398typedef struct ChardevMux ChardevMux; 1399 1400typedef struct ChardevMuxList 1401{ 1402 union { 1403 ChardevMux *value; 1404 uint64_t padding; 1405 }; 1406 struct ChardevMuxList *next; 1407} ChardevMuxList; 1408 1409 1410typedef struct ChardevStdio ChardevStdio; 1411 1412typedef struct ChardevStdioList 1413{ 1414 union { 1415 ChardevStdio *value; 1416 uint64_t padding; 1417 }; 1418 struct ChardevStdioList *next; 1419} ChardevStdioList; 1420 1421 1422typedef struct ChardevSpiceChannel ChardevSpiceChannel; 1423 1424typedef struct ChardevSpiceChannelList 1425{ 1426 union { 1427 ChardevSpiceChannel *value; 1428 uint64_t padding; 1429 }; 1430 struct ChardevSpiceChannelList *next; 1431} ChardevSpiceChannelList; 1432 1433 1434typedef struct ChardevSpicePort ChardevSpicePort; 1435 1436typedef struct ChardevSpicePortList 1437{ 1438 union { 1439 ChardevSpicePort *value; 1440 uint64_t padding; 1441 }; 1442 struct ChardevSpicePortList *next; 1443} ChardevSpicePortList; 1444 1445 1446typedef struct ChardevVC ChardevVC; 1447 1448typedef struct ChardevVCList 1449{ 1450 union { 1451 ChardevVC *value; 1452 uint64_t padding; 1453 }; 1454 struct ChardevVCList *next; 1455} ChardevVCList; 1456 1457 1458typedef struct ChardevRingbuf ChardevRingbuf; 1459 1460typedef struct ChardevRingbufList 1461{ 1462 union { 1463 ChardevRingbuf *value; 1464 uint64_t padding; 1465 }; 1466 struct ChardevRingbufList *next; 1467} ChardevRingbufList; 1468 1469 1470typedef struct ChardevDummy ChardevDummy; 1471 1472typedef struct ChardevDummyList 1473{ 1474 union { 1475 ChardevDummy *value; 1476 uint64_t padding; 1477 }; 1478 struct ChardevDummyList *next; 1479} ChardevDummyList; 1480 1481 1482typedef struct ChardevBackend ChardevBackend; 1483 1484typedef struct ChardevBackendList 1485{ 1486 union { 1487 ChardevBackend *value; 1488 uint64_t padding; 1489 }; 1490 struct ChardevBackendList *next; 1491} ChardevBackendList; 1492 1493extern const char *ChardevBackendKind_lookup[]; 1494typedef enum ChardevBackendKind 1495{ 1496 CHARDEV_BACKEND_KIND_FILE = 0, 1497 CHARDEV_BACKEND_KIND_SERIAL = 1, 1498 CHARDEV_BACKEND_KIND_PARALLEL = 2, 1499 CHARDEV_BACKEND_KIND_PIPE = 3, 1500 CHARDEV_BACKEND_KIND_SOCKET = 4, 1501 CHARDEV_BACKEND_KIND_UDP = 5, 1502 CHARDEV_BACKEND_KIND_PTY = 6, 1503 CHARDEV_BACKEND_KIND_NULL = 7, 1504 CHARDEV_BACKEND_KIND_MUX = 8, 1505 CHARDEV_BACKEND_KIND_MSMOUSE = 9, 1506 CHARDEV_BACKEND_KIND_BRAILLE = 10, 1507 CHARDEV_BACKEND_KIND_STDIO = 11, 1508 CHARDEV_BACKEND_KIND_CONSOLE = 12, 1509 CHARDEV_BACKEND_KIND_SPICEVMC = 13, 1510 CHARDEV_BACKEND_KIND_SPICEPORT = 14, 1511 CHARDEV_BACKEND_KIND_VC = 15, 1512 CHARDEV_BACKEND_KIND_RINGBUF = 16, 1513 CHARDEV_BACKEND_KIND_MEMORY = 17, 1514 CHARDEV_BACKEND_KIND_MAX = 18, 1515} ChardevBackendKind; 1516 1517 1518typedef struct ChardevReturn ChardevReturn; 1519 1520typedef struct ChardevReturnList 1521{ 1522 union { 1523 ChardevReturn *value; 1524 uint64_t padding; 1525 }; 1526 struct ChardevReturnList *next; 1527} ChardevReturnList; 1528 1529extern const char *TpmModel_lookup[]; 1530typedef enum TpmModel 1531{ 1532 TPM_MODEL_TPM_TIS = 0, 1533 TPM_MODEL_MAX = 1, 1534} TpmModel; 1535 1536typedef struct TpmModelList 1537{ 1538 union { 1539 TpmModel value; 1540 uint64_t padding; 1541 }; 1542 struct TpmModelList *next; 1543} TpmModelList; 1544 1545extern const char *TpmType_lookup[]; 1546typedef enum TpmType 1547{ 1548 TPM_TYPE_PASSTHROUGH = 0, 1549 TPM_TYPE_MAX = 1, 1550} TpmType; 1551 1552typedef struct TpmTypeList 1553{ 1554 union { 1555 TpmType value; 1556 uint64_t padding; 1557 }; 1558 struct TpmTypeList *next; 1559} TpmTypeList; 1560 1561 1562typedef struct TPMPassthroughOptions TPMPassthroughOptions; 1563 1564typedef struct TPMPassthroughOptionsList 1565{ 1566 union { 1567 TPMPassthroughOptions *value; 1568 uint64_t padding; 1569 }; 1570 struct TPMPassthroughOptionsList *next; 1571} TPMPassthroughOptionsList; 1572 1573 1574typedef struct TpmTypeOptions TpmTypeOptions; 1575 1576typedef struct TpmTypeOptionsList 1577{ 1578 union { 1579 TpmTypeOptions *value; 1580 uint64_t padding; 1581 }; 1582 struct TpmTypeOptionsList *next; 1583} TpmTypeOptionsList; 1584 1585extern const char *TpmTypeOptionsKind_lookup[]; 1586typedef enum TpmTypeOptionsKind 1587{ 1588 TPM_TYPE_OPTIONS_KIND_PASSTHROUGH = 0, 1589 TPM_TYPE_OPTIONS_KIND_MAX = 1, 1590} TpmTypeOptionsKind; 1591 1592 1593typedef struct TPMInfo TPMInfo; 1594 1595typedef struct TPMInfoList 1596{ 1597 union { 1598 TPMInfo *value; 1599 uint64_t padding; 1600 }; 1601 struct TPMInfoList *next; 1602} TPMInfoList; 1603 1604 1605typedef struct AcpiTableOptions AcpiTableOptions; 1606 1607typedef struct AcpiTableOptionsList 1608{ 1609 union { 1610 AcpiTableOptions *value; 1611 uint64_t padding; 1612 }; 1613 struct AcpiTableOptionsList *next; 1614} AcpiTableOptionsList; 1615 1616extern const char *CommandLineParameterType_lookup[]; 1617typedef enum CommandLineParameterType 1618{ 1619 COMMAND_LINE_PARAMETER_TYPE_STRING = 0, 1620 COMMAND_LINE_PARAMETER_TYPE_BOOLEAN = 1, 1621 COMMAND_LINE_PARAMETER_TYPE_NUMBER = 2, 1622 COMMAND_LINE_PARAMETER_TYPE_SIZE = 3, 1623 COMMAND_LINE_PARAMETER_TYPE_MAX = 4, 1624} CommandLineParameterType; 1625 1626typedef struct CommandLineParameterTypeList 1627{ 1628 union { 1629 CommandLineParameterType value; 1630 uint64_t padding; 1631 }; 1632 struct CommandLineParameterTypeList *next; 1633} CommandLineParameterTypeList; 1634 1635 1636typedef struct CommandLineParameterInfo CommandLineParameterInfo; 1637 1638typedef struct CommandLineParameterInfoList 1639{ 1640 union { 1641 CommandLineParameterInfo *value; 1642 uint64_t padding; 1643 }; 1644 struct CommandLineParameterInfoList *next; 1645} CommandLineParameterInfoList; 1646 1647 1648typedef struct CommandLineOptionInfo CommandLineOptionInfo; 1649 1650typedef struct CommandLineOptionInfoList 1651{ 1652 union { 1653 CommandLineOptionInfo *value; 1654 uint64_t padding; 1655 }; 1656 struct CommandLineOptionInfoList *next; 1657} CommandLineOptionInfoList; 1658 1659extern const char *X86CPURegister32_lookup[]; 1660typedef enum X86CPURegister32 1661{ 1662 X86_C_P_U_REGISTER32_EAX = 0, 1663 X86_C_P_U_REGISTER32_EBX = 1, 1664 X86_C_P_U_REGISTER32_ECX = 2, 1665 X86_C_P_U_REGISTER32_EDX = 3, 1666 X86_C_P_U_REGISTER32_ESP = 4, 1667 X86_C_P_U_REGISTER32_EBP = 5, 1668 X86_C_P_U_REGISTER32_ESI = 6, 1669 X86_C_P_U_REGISTER32_EDI = 7, 1670 X86_C_P_U_REGISTER32_MAX = 8, 1671} X86CPURegister32; 1672 1673typedef struct X86CPURegister32List 1674{ 1675 union { 1676 X86CPURegister32 value; 1677 uint64_t padding; 1678 }; 1679 struct X86CPURegister32List *next; 1680} X86CPURegister32List; 1681 1682 1683typedef struct X86CPUFeatureWordInfo X86CPUFeatureWordInfo; 1684 1685typedef struct X86CPUFeatureWordInfoList 1686{ 1687 union { 1688 X86CPUFeatureWordInfo *value; 1689 uint64_t padding; 1690 }; 1691 struct X86CPUFeatureWordInfoList *next; 1692} X86CPUFeatureWordInfoList; 1693 1694extern const char *RxState_lookup[]; 1695typedef enum RxState 1696{ 1697 RX_STATE_NORMAL = 0, 1698 RX_STATE_NONE = 1, 1699 RX_STATE_ALL = 2, 1700 RX_STATE_MAX = 3, 1701} RxState; 1702 1703typedef struct RxStateList 1704{ 1705 union { 1706 RxState value; 1707 uint64_t padding; 1708 }; 1709 struct RxStateList *next; 1710} RxStateList; 1711 1712 1713typedef struct RxFilterInfo RxFilterInfo; 1714 1715typedef struct RxFilterInfoList 1716{ 1717 union { 1718 RxFilterInfo *value; 1719 uint64_t padding; 1720 }; 1721 struct RxFilterInfoList *next; 1722} RxFilterInfoList; 1723 1724extern const char *BlockdevDiscardOptions_lookup[]; 1725typedef enum BlockdevDiscardOptions 1726{ 1727 BLOCKDEV_DISCARD_OPTIONS_IGNORE = 0, 1728 BLOCKDEV_DISCARD_OPTIONS_UNMAP = 1, 1729 BLOCKDEV_DISCARD_OPTIONS_MAX = 2, 1730} BlockdevDiscardOptions; 1731 1732typedef struct BlockdevDiscardOptionsList 1733{ 1734 union { 1735 BlockdevDiscardOptions value; 1736 uint64_t padding; 1737 }; 1738 struct BlockdevDiscardOptionsList *next; 1739} BlockdevDiscardOptionsList; 1740 1741extern const char *BlockdevAioOptions_lookup[]; 1742typedef enum BlockdevAioOptions 1743{ 1744 BLOCKDEV_AIO_OPTIONS_THREADS = 0, 1745 BLOCKDEV_AIO_OPTIONS_NATIVE = 1, 1746 BLOCKDEV_AIO_OPTIONS_MAX = 2, 1747} BlockdevAioOptions; 1748 1749typedef struct BlockdevAioOptionsList 1750{ 1751 union { 1752 BlockdevAioOptions value; 1753 uint64_t padding; 1754 }; 1755 struct BlockdevAioOptionsList *next; 1756} BlockdevAioOptionsList; 1757 1758 1759typedef struct BlockdevCacheOptions BlockdevCacheOptions; 1760 1761typedef struct BlockdevCacheOptionsList 1762{ 1763 union { 1764 BlockdevCacheOptions *value; 1765 uint64_t padding; 1766 }; 1767 struct BlockdevCacheOptionsList *next; 1768} BlockdevCacheOptionsList; 1769 1770 1771typedef struct BlockdevOptionsBase BlockdevOptionsBase; 1772 1773typedef struct BlockdevOptionsBaseList 1774{ 1775 union { 1776 BlockdevOptionsBase *value; 1777 uint64_t padding; 1778 }; 1779 struct BlockdevOptionsBaseList *next; 1780} BlockdevOptionsBaseList; 1781 1782 1783typedef struct BlockdevOptionsFile BlockdevOptionsFile; 1784 1785typedef struct BlockdevOptionsFileList 1786{ 1787 union { 1788 BlockdevOptionsFile *value; 1789 uint64_t padding; 1790 }; 1791 struct BlockdevOptionsFileList *next; 1792} BlockdevOptionsFileList; 1793 1794 1795typedef struct BlockdevOptionsVVFAT BlockdevOptionsVVFAT; 1796 1797typedef struct BlockdevOptionsVVFATList 1798{ 1799 union { 1800 BlockdevOptionsVVFAT *value; 1801 uint64_t padding; 1802 }; 1803 struct BlockdevOptionsVVFATList *next; 1804} BlockdevOptionsVVFATList; 1805 1806 1807typedef struct BlockdevOptionsGenericFormat BlockdevOptionsGenericFormat; 1808 1809typedef struct BlockdevOptionsGenericFormatList 1810{ 1811 union { 1812 BlockdevOptionsGenericFormat *value; 1813 uint64_t padding; 1814 }; 1815 struct BlockdevOptionsGenericFormatList *next; 1816} BlockdevOptionsGenericFormatList; 1817 1818 1819typedef struct BlockdevOptionsGenericCOWFormat BlockdevOptionsGenericCOWFormat; 1820 1821typedef struct BlockdevOptionsGenericCOWFormatList 1822{ 1823 union { 1824 BlockdevOptionsGenericCOWFormat *value; 1825 uint64_t padding; 1826 }; 1827 struct BlockdevOptionsGenericCOWFormatList *next; 1828} BlockdevOptionsGenericCOWFormatList; 1829 1830 1831typedef struct BlockdevOptionsQcow2 BlockdevOptionsQcow2; 1832 1833typedef struct BlockdevOptionsQcow2List 1834{ 1835 union { 1836 BlockdevOptionsQcow2 *value; 1837 uint64_t padding; 1838 }; 1839 struct BlockdevOptionsQcow2List *next; 1840} BlockdevOptionsQcow2List; 1841 1842 1843typedef struct BlockdevOptions BlockdevOptions; 1844 1845typedef struct BlockdevOptionsList 1846{ 1847 union { 1848 BlockdevOptions *value; 1849 uint64_t padding; 1850 }; 1851 struct BlockdevOptionsList *next; 1852} BlockdevOptionsList; 1853 1854extern const char *BlockdevOptionsKind_lookup[]; 1855typedef enum BlockdevOptionsKind 1856{ 1857 BLOCKDEV_OPTIONS_KIND_FILE = 0, 1858 BLOCKDEV_OPTIONS_KIND_HTTP = 1, 1859 BLOCKDEV_OPTIONS_KIND_HTTPS = 2, 1860 BLOCKDEV_OPTIONS_KIND_FTP = 3, 1861 BLOCKDEV_OPTIONS_KIND_FTPS = 4, 1862 BLOCKDEV_OPTIONS_KIND_TFTP = 5, 1863 BLOCKDEV_OPTIONS_KIND_VVFAT = 6, 1864 BLOCKDEV_OPTIONS_KIND_BOCHS = 7, 1865 BLOCKDEV_OPTIONS_KIND_CLOOP = 8, 1866 BLOCKDEV_OPTIONS_KIND_COW = 9, 1867 BLOCKDEV_OPTIONS_KIND_DMG = 10, 1868 BLOCKDEV_OPTIONS_KIND_PARALLELS = 11, 1869 BLOCKDEV_OPTIONS_KIND_QCOW = 12, 1870 BLOCKDEV_OPTIONS_KIND_QCOW2 = 13, 1871 BLOCKDEV_OPTIONS_KIND_QED = 14, 1872 BLOCKDEV_OPTIONS_KIND_RAW = 15, 1873 BLOCKDEV_OPTIONS_KIND_VDI = 16, 1874 BLOCKDEV_OPTIONS_KIND_VHDX = 17, 1875 BLOCKDEV_OPTIONS_KIND_VMDK = 18, 1876 BLOCKDEV_OPTIONS_KIND_VPC = 19, 1877 BLOCKDEV_OPTIONS_KIND_MAX = 20, 1878} BlockdevOptionsKind; 1879 1880 1881typedef struct BlockdevRef BlockdevRef; 1882 1883typedef struct BlockdevRefList 1884{ 1885 union { 1886 BlockdevRef *value; 1887 uint64_t padding; 1888 }; 1889 struct BlockdevRefList *next; 1890} BlockdevRefList; 1891 1892extern const char *BlockdevRefKind_lookup[]; 1893typedef enum BlockdevRefKind 1894{ 1895 BLOCKDEV_REF_KIND_DEFINITION = 0, 1896 BLOCKDEV_REF_KIND_REFERENCE = 1, 1897 BLOCKDEV_REF_KIND_MAX = 2, 1898} BlockdevRefKind; 1899 1900#ifndef QAPI_TYPES_BUILTIN_CLEANUP_DECL_H 1901#define QAPI_TYPES_BUILTIN_CLEANUP_DECL_H 1902 1903void qapi_free_strList(strList * obj); 1904void qapi_free_intList(intList * obj); 1905void qapi_free_numberList(numberList * obj); 1906void qapi_free_boolList(boolList * obj); 1907void qapi_free_int8List(int8List * obj); 1908void qapi_free_int16List(int16List * obj); 1909void qapi_free_int32List(int32List * obj); 1910void qapi_free_int64List(int64List * obj); 1911void qapi_free_uint8List(uint8List * obj); 1912void qapi_free_uint16List(uint16List * obj); 1913void qapi_free_uint32List(uint32List * obj); 1914void qapi_free_uint64List(uint64List * obj); 1915 1916#endif /* QAPI_TYPES_BUILTIN_CLEANUP_DECL_H */ 1917 1918 1919void qapi_free_ErrorClassList(ErrorClassList * obj); 1920 1921struct NameInfo 1922{ 1923 bool has_name; 1924 char * name; 1925}; 1926 1927void qapi_free_NameInfoList(NameInfoList * obj); 1928void qapi_free_NameInfo(NameInfo * obj); 1929 1930struct VersionInfo 1931{ 1932 struct 1933 { 1934 int64_t major; 1935 int64_t minor; 1936 int64_t micro; 1937 } qemu; 1938 char * package; 1939}; 1940 1941void qapi_free_VersionInfoList(VersionInfoList * obj); 1942void qapi_free_VersionInfo(VersionInfo * obj); 1943 1944struct KvmInfo 1945{ 1946 bool enabled; 1947 bool present; 1948}; 1949 1950void qapi_free_KvmInfoList(KvmInfoList * obj); 1951void qapi_free_KvmInfo(KvmInfo * obj); 1952 1953void qapi_free_RunStateList(RunStateList * obj); 1954 1955struct SnapshotInfo 1956{ 1957 char * id; 1958 char * name; 1959 int64_t vm_state_size; 1960 int64_t date_sec; 1961 int64_t date_nsec; 1962 int64_t vm_clock_sec; 1963 int64_t vm_clock_nsec; 1964}; 1965 1966void qapi_free_SnapshotInfoList(SnapshotInfoList * obj); 1967void qapi_free_SnapshotInfo(SnapshotInfo * obj); 1968 1969struct ImageInfoSpecificQCow2 1970{ 1971 char * compat; 1972 bool has_lazy_refcounts; 1973 bool lazy_refcounts; 1974}; 1975 1976void qapi_free_ImageInfoSpecificQCow2List(ImageInfoSpecificQCow2List * obj); 1977void qapi_free_ImageInfoSpecificQCow2(ImageInfoSpecificQCow2 * obj); 1978 1979struct ImageInfoSpecificVmdk 1980{ 1981 char * create_type; 1982 int64_t cid; 1983 int64_t parent_cid; 1984 ImageInfoList * extents; 1985}; 1986 1987void qapi_free_ImageInfoSpecificVmdkList(ImageInfoSpecificVmdkList * obj); 1988void qapi_free_ImageInfoSpecificVmdk(ImageInfoSpecificVmdk * obj); 1989 1990struct ImageInfoSpecific 1991{ 1992 ImageInfoSpecificKind kind; 1993 union { 1994 void *data; 1995 ImageInfoSpecificQCow2 * qcow2; 1996 ImageInfoSpecificVmdk * vmdk; 1997 }; 1998}; 1999void qapi_free_ImageInfoSpecificList(ImageInfoSpecificList * obj); 2000void qapi_free_ImageInfoSpecific(ImageInfoSpecific * obj); 2001 2002struct ImageInfo 2003{ 2004 char * filename; 2005 char * format; 2006 bool has_dirty_flag; 2007 bool dirty_flag; 2008 bool has_actual_size; 2009 int64_t actual_size; 2010 int64_t virtual_size; 2011 bool has_cluster_size; 2012 int64_t cluster_size; 2013 bool has_encrypted; 2014 bool encrypted; 2015 bool has_compressed; 2016 bool compressed; 2017 bool has_backing_filename; 2018 char * backing_filename; 2019 bool has_full_backing_filename; 2020 char * full_backing_filename; 2021 bool has_backing_filename_format; 2022 char * backing_filename_format; 2023 bool has_snapshots; 2024 SnapshotInfoList * snapshots; 2025 bool has_backing_image; 2026 ImageInfo * backing_image; 2027 bool has_format_specific; 2028 ImageInfoSpecific * format_specific; 2029}; 2030 2031void qapi_free_ImageInfoList(ImageInfoList * obj); 2032void qapi_free_ImageInfo(ImageInfo * obj); 2033 2034struct ImageCheck 2035{ 2036 char * filename; 2037 char * format; 2038 int64_t check_errors; 2039 bool has_image_end_offset; 2040 int64_t image_end_offset; 2041 bool has_corruptions; 2042 int64_t corruptions; 2043 bool has_leaks; 2044 int64_t leaks; 2045 bool has_corruptions_fixed; 2046 int64_t corruptions_fixed; 2047 bool has_leaks_fixed; 2048 int64_t leaks_fixed; 2049 bool has_total_clusters; 2050 int64_t total_clusters; 2051 bool has_allocated_clusters; 2052 int64_t allocated_clusters; 2053 bool has_fragmented_clusters; 2054 int64_t fragmented_clusters; 2055 bool has_compressed_clusters; 2056 int64_t compressed_clusters; 2057}; 2058 2059void qapi_free_ImageCheckList(ImageCheckList * obj); 2060void qapi_free_ImageCheck(ImageCheck * obj); 2061 2062struct StatusInfo 2063{ 2064 bool running; 2065 bool singlestep; 2066 RunState status; 2067}; 2068 2069void qapi_free_StatusInfoList(StatusInfoList * obj); 2070void qapi_free_StatusInfo(StatusInfo * obj); 2071 2072struct UuidInfo 2073{ 2074 char * UUID; 2075}; 2076 2077void qapi_free_UuidInfoList(UuidInfoList * obj); 2078void qapi_free_UuidInfo(UuidInfo * obj); 2079 2080struct ChardevInfo 2081{ 2082 char * label; 2083 char * filename; 2084}; 2085 2086void qapi_free_ChardevInfoList(ChardevInfoList * obj); 2087void qapi_free_ChardevInfo(ChardevInfo * obj); 2088 2089void qapi_free_DataFormatList(DataFormatList * obj); 2090 2091struct CommandInfo 2092{ 2093 char * name; 2094}; 2095 2096void qapi_free_CommandInfoList(CommandInfoList * obj); 2097void qapi_free_CommandInfo(CommandInfo * obj); 2098 2099struct EventInfo 2100{ 2101 char * name; 2102}; 2103 2104void qapi_free_EventInfoList(EventInfoList * obj); 2105void qapi_free_EventInfo(EventInfo * obj); 2106 2107struct MigrationStats 2108{ 2109 int64_t transferred; 2110 int64_t remaining; 2111 int64_t total; 2112 int64_t duplicate; 2113 int64_t skipped; 2114 int64_t normal; 2115 int64_t normal_bytes; 2116 int64_t dirty_pages_rate; 2117 double mbps; 2118}; 2119 2120void qapi_free_MigrationStatsList(MigrationStatsList * obj); 2121void qapi_free_MigrationStats(MigrationStats * obj); 2122 2123struct XBZRLECacheStats 2124{ 2125 int64_t cache_size; 2126 int64_t bytes; 2127 int64_t pages; 2128 int64_t cache_miss; 2129 int64_t overflow; 2130}; 2131 2132void qapi_free_XBZRLECacheStatsList(XBZRLECacheStatsList * obj); 2133void qapi_free_XBZRLECacheStats(XBZRLECacheStats * obj); 2134 2135struct MigrationInfo 2136{ 2137 bool has_status; 2138 char * status; 2139 bool has_ram; 2140 MigrationStats * ram; 2141 bool has_disk; 2142 MigrationStats * disk; 2143 bool has_xbzrle_cache; 2144 XBZRLECacheStats * xbzrle_cache; 2145 bool has_total_time; 2146 int64_t total_time; 2147 bool has_expected_downtime; 2148 int64_t expected_downtime; 2149 bool has_downtime; 2150 int64_t downtime; 2151 bool has_setup_time; 2152 int64_t setup_time; 2153}; 2154 2155void qapi_free_MigrationInfoList(MigrationInfoList * obj); 2156void qapi_free_MigrationInfo(MigrationInfo * obj); 2157 2158void qapi_free_MigrationCapabilityList(MigrationCapabilityList * obj); 2159 2160struct MigrationCapabilityStatus 2161{ 2162 MigrationCapability capability; 2163 bool state; 2164}; 2165 2166void qapi_free_MigrationCapabilityStatusList(MigrationCapabilityStatusList * obj); 2167void qapi_free_MigrationCapabilityStatus(MigrationCapabilityStatus * obj); 2168 2169struct MouseInfo 2170{ 2171 char * name; 2172 int64_t index; 2173 bool current; 2174 bool absolute; 2175}; 2176 2177void qapi_free_MouseInfoList(MouseInfoList * obj); 2178void qapi_free_MouseInfo(MouseInfo * obj); 2179 2180struct CpuInfo 2181{ 2182 int64_t CPU; 2183 bool current; 2184 bool halted; 2185 bool has_pc; 2186 int64_t pc; 2187 bool has_nip; 2188 int64_t nip; 2189 bool has_npc; 2190 int64_t npc; 2191 bool has_PC; 2192 int64_t PC; 2193 int64_t thread_id; 2194}; 2195 2196void qapi_free_CpuInfoList(CpuInfoList * obj); 2197void qapi_free_CpuInfo(CpuInfo * obj); 2198 2199struct BlockDeviceInfo 2200{ 2201 char * file; 2202 bool ro; 2203 char * drv; 2204 bool has_backing_file; 2205 char * backing_file; 2206 int64_t backing_file_depth; 2207 bool encrypted; 2208 bool encryption_key_missing; 2209 int64_t bps; 2210 int64_t bps_rd; 2211 int64_t bps_wr; 2212 int64_t iops; 2213 int64_t iops_rd; 2214 int64_t iops_wr; 2215 ImageInfo * image; 2216 bool has_bps_max; 2217 int64_t bps_max; 2218 bool has_bps_rd_max; 2219 int64_t bps_rd_max; 2220 bool has_bps_wr_max; 2221 int64_t bps_wr_max; 2222 bool has_iops_max; 2223 int64_t iops_max; 2224 bool has_iops_rd_max; 2225 int64_t iops_rd_max; 2226 bool has_iops_wr_max; 2227 int64_t iops_wr_max; 2228 bool has_iops_size; 2229 int64_t iops_size; 2230}; 2231 2232void qapi_free_BlockDeviceInfoList(BlockDeviceInfoList * obj); 2233void qapi_free_BlockDeviceInfo(BlockDeviceInfo * obj); 2234 2235void qapi_free_BlockDeviceIoStatusList(BlockDeviceIoStatusList * obj); 2236 2237struct BlockDeviceMapEntry 2238{ 2239 int64_t start; 2240 int64_t length; 2241 int64_t depth; 2242 bool zero; 2243 bool data; 2244 bool has_offset; 2245 int64_t offset; 2246}; 2247 2248void qapi_free_BlockDeviceMapEntryList(BlockDeviceMapEntryList * obj); 2249void qapi_free_BlockDeviceMapEntry(BlockDeviceMapEntry * obj); 2250 2251struct BlockDirtyInfo 2252{ 2253 int64_t count; 2254 int64_t granularity; 2255}; 2256 2257void qapi_free_BlockDirtyInfoList(BlockDirtyInfoList * obj); 2258void qapi_free_BlockDirtyInfo(BlockDirtyInfo * obj); 2259 2260struct BlockInfo 2261{ 2262 char * device; 2263 char * type; 2264 bool removable; 2265 bool locked; 2266 bool has_inserted; 2267 BlockDeviceInfo * inserted; 2268 bool has_tray_open; 2269 bool tray_open; 2270 bool has_io_status; 2271 BlockDeviceIoStatus io_status; 2272 bool has_dirty_bitmaps; 2273 BlockDirtyInfoList * dirty_bitmaps; 2274}; 2275 2276void qapi_free_BlockInfoList(BlockInfoList * obj); 2277void qapi_free_BlockInfo(BlockInfo * obj); 2278 2279struct BlockDeviceStats 2280{ 2281 int64_t rd_bytes; 2282 int64_t wr_bytes; 2283 int64_t rd_operations; 2284 int64_t wr_operations; 2285 int64_t flush_operations; 2286 int64_t flush_total_time_ns; 2287 int64_t wr_total_time_ns; 2288 int64_t rd_total_time_ns; 2289 int64_t wr_highest_offset; 2290}; 2291 2292void qapi_free_BlockDeviceStatsList(BlockDeviceStatsList * obj); 2293void qapi_free_BlockDeviceStats(BlockDeviceStats * obj); 2294 2295struct BlockStats 2296{ 2297 bool has_device; 2298 char * device; 2299 BlockDeviceStats * stats; 2300 bool has_parent; 2301 BlockStats * parent; 2302}; 2303 2304void qapi_free_BlockStatsList(BlockStatsList * obj); 2305void qapi_free_BlockStats(BlockStats * obj); 2306 2307struct VncClientInfo 2308{ 2309 char * host; 2310 char * family; 2311 char * service; 2312 bool has_x509_dname; 2313 char * x509_dname; 2314 bool has_sasl_username; 2315 char * sasl_username; 2316}; 2317 2318void qapi_free_VncClientInfoList(VncClientInfoList * obj); 2319void qapi_free_VncClientInfo(VncClientInfo * obj); 2320 2321struct VncInfo 2322{ 2323 bool enabled; 2324 bool has_host; 2325 char * host; 2326 bool has_family; 2327 char * family; 2328 bool has_service; 2329 char * service; 2330 bool has_auth; 2331 char * auth; 2332 bool has_clients; 2333 VncClientInfoList * clients; 2334}; 2335 2336void qapi_free_VncInfoList(VncInfoList * obj); 2337void qapi_free_VncInfo(VncInfo * obj); 2338 2339struct SpiceChannel 2340{ 2341 char * host; 2342 char * family; 2343 char * port; 2344 int64_t connection_id; 2345 int64_t channel_type; 2346 int64_t channel_id; 2347 bool tls; 2348}; 2349 2350void qapi_free_SpiceChannelList(SpiceChannelList * obj); 2351void qapi_free_SpiceChannel(SpiceChannel * obj); 2352 2353void qapi_free_SpiceQueryMouseModeList(SpiceQueryMouseModeList * obj); 2354 2355struct SpiceInfo 2356{ 2357 bool enabled; 2358 bool migrated; 2359 bool has_host; 2360 char * host; 2361 bool has_port; 2362 int64_t port; 2363 bool has_tls_port; 2364 int64_t tls_port; 2365 bool has_auth; 2366 char * auth; 2367 bool has_compiled_version; 2368 char * compiled_version; 2369 SpiceQueryMouseMode mouse_mode; 2370 bool has_channels; 2371 SpiceChannelList * channels; 2372}; 2373 2374void qapi_free_SpiceInfoList(SpiceInfoList * obj); 2375void qapi_free_SpiceInfo(SpiceInfo * obj); 2376 2377struct BalloonInfo 2378{ 2379 int64_t actual; 2380}; 2381 2382void qapi_free_BalloonInfoList(BalloonInfoList * obj); 2383void qapi_free_BalloonInfo(BalloonInfo * obj); 2384 2385struct PciMemoryRange 2386{ 2387 int64_t base; 2388 int64_t limit; 2389}; 2390 2391void qapi_free_PciMemoryRangeList(PciMemoryRangeList * obj); 2392void qapi_free_PciMemoryRange(PciMemoryRange * obj); 2393 2394struct PciMemoryRegion 2395{ 2396 int64_t bar; 2397 char * type; 2398 int64_t address; 2399 int64_t size; 2400 bool has_prefetch; 2401 bool prefetch; 2402 bool has_mem_type_64; 2403 bool mem_type_64; 2404}; 2405 2406void qapi_free_PciMemoryRegionList(PciMemoryRegionList * obj); 2407void qapi_free_PciMemoryRegion(PciMemoryRegion * obj); 2408 2409struct PciBridgeInfo 2410{ 2411 struct 2412 { 2413 int64_t number; 2414 int64_t secondary; 2415 int64_t subordinate; 2416 PciMemoryRange * io_range; 2417 PciMemoryRange * memory_range; 2418 PciMemoryRange * prefetchable_range; 2419 } bus; 2420 bool has_devices; 2421 PciDeviceInfoList * devices; 2422}; 2423 2424void qapi_free_PciBridgeInfoList(PciBridgeInfoList * obj); 2425void qapi_free_PciBridgeInfo(PciBridgeInfo * obj); 2426 2427struct PciDeviceInfo 2428{ 2429 int64_t bus; 2430 int64_t slot; 2431 int64_t function; 2432 struct 2433 { 2434 bool has_desc; 2435 char * desc; 2436 int64_t q_class; 2437 } class_info; 2438 struct 2439 { 2440 int64_t device; 2441 int64_t vendor; 2442 } id; 2443 bool has_irq; 2444 int64_t irq; 2445 char * qdev_id; 2446 bool has_pci_bridge; 2447 PciBridgeInfo * pci_bridge; 2448 PciMemoryRegionList * regions; 2449}; 2450 2451void qapi_free_PciDeviceInfoList(PciDeviceInfoList * obj); 2452void qapi_free_PciDeviceInfo(PciDeviceInfo * obj); 2453 2454struct PciInfo 2455{ 2456 int64_t bus; 2457 PciDeviceInfoList * devices; 2458}; 2459 2460void qapi_free_PciInfoList(PciInfoList * obj); 2461void qapi_free_PciInfo(PciInfo * obj); 2462 2463void qapi_free_BlockdevOnErrorList(BlockdevOnErrorList * obj); 2464 2465void qapi_free_MirrorSyncModeList(MirrorSyncModeList * obj); 2466 2467void qapi_free_BlockJobTypeList(BlockJobTypeList * obj); 2468 2469struct BlockJobInfo 2470{ 2471 char * type; 2472 char * device; 2473 int64_t len; 2474 int64_t offset; 2475 bool busy; 2476 bool paused; 2477 int64_t speed; 2478 BlockDeviceIoStatus io_status; 2479}; 2480 2481void qapi_free_BlockJobInfoList(BlockJobInfoList * obj); 2482void qapi_free_BlockJobInfo(BlockJobInfo * obj); 2483 2484void qapi_free_NewImageModeList(NewImageModeList * obj); 2485 2486struct BlockdevSnapshot 2487{ 2488 char * device; 2489 char * snapshot_file; 2490 bool has_format; 2491 char * format; 2492 bool has_mode; 2493 NewImageMode mode; 2494}; 2495 2496void qapi_free_BlockdevSnapshotList(BlockdevSnapshotList * obj); 2497void qapi_free_BlockdevSnapshot(BlockdevSnapshot * obj); 2498 2499struct BlockdevSnapshotInternal 2500{ 2501 char * device; 2502 char * name; 2503}; 2504 2505void qapi_free_BlockdevSnapshotInternalList(BlockdevSnapshotInternalList * obj); 2506void qapi_free_BlockdevSnapshotInternal(BlockdevSnapshotInternal * obj); 2507 2508struct DriveBackup 2509{ 2510 char * device; 2511 char * target; 2512 bool has_format; 2513 char * format; 2514 MirrorSyncMode sync; 2515 bool has_mode; 2516 NewImageMode mode; 2517 bool has_speed; 2518 int64_t speed; 2519 bool has_on_source_error; 2520 BlockdevOnError on_source_error; 2521 bool has_on_target_error; 2522 BlockdevOnError on_target_error; 2523}; 2524 2525void qapi_free_DriveBackupList(DriveBackupList * obj); 2526void qapi_free_DriveBackup(DriveBackup * obj); 2527 2528struct Abort 2529{ 2530}; 2531 2532void qapi_free_AbortList(AbortList * obj); 2533void qapi_free_Abort(Abort * obj); 2534 2535struct TransactionAction 2536{ 2537 TransactionActionKind kind; 2538 union { 2539 void *data; 2540 BlockdevSnapshot * blockdev_snapshot_sync; 2541 DriveBackup * drive_backup; 2542 Abort * abort; 2543 BlockdevSnapshotInternal * blockdev_snapshot_internal_sync; 2544 }; 2545}; 2546void qapi_free_TransactionActionList(TransactionActionList * obj); 2547void qapi_free_TransactionAction(TransactionAction * obj); 2548 2549struct ObjectPropertyInfo 2550{ 2551 char * name; 2552 char * type; 2553}; 2554 2555void qapi_free_ObjectPropertyInfoList(ObjectPropertyInfoList * obj); 2556void qapi_free_ObjectPropertyInfo(ObjectPropertyInfo * obj); 2557 2558struct ObjectTypeInfo 2559{ 2560 char * name; 2561}; 2562 2563void qapi_free_ObjectTypeInfoList(ObjectTypeInfoList * obj); 2564void qapi_free_ObjectTypeInfo(ObjectTypeInfo * obj); 2565 2566struct DevicePropertyInfo 2567{ 2568 char * name; 2569 char * type; 2570}; 2571 2572void qapi_free_DevicePropertyInfoList(DevicePropertyInfoList * obj); 2573void qapi_free_DevicePropertyInfo(DevicePropertyInfo * obj); 2574 2575struct NetdevNoneOptions 2576{ 2577}; 2578 2579void qapi_free_NetdevNoneOptionsList(NetdevNoneOptionsList * obj); 2580void qapi_free_NetdevNoneOptions(NetdevNoneOptions * obj); 2581 2582struct NetLegacyNicOptions 2583{ 2584 bool has_netdev; 2585 char * netdev; 2586 bool has_macaddr; 2587 char * macaddr; 2588 bool has_model; 2589 char * model; 2590 bool has_addr; 2591 char * addr; 2592 bool has_vectors; 2593 uint32_t vectors; 2594}; 2595 2596void qapi_free_NetLegacyNicOptionsList(NetLegacyNicOptionsList * obj); 2597void qapi_free_NetLegacyNicOptions(NetLegacyNicOptions * obj); 2598 2599struct String 2600{ 2601 char * str; 2602}; 2603 2604void qapi_free_StringList(StringList * obj); 2605void qapi_free_String(String * obj); 2606 2607struct NetdevUserOptions 2608{ 2609 bool has_hostname; 2610 char * hostname; 2611 bool has_q_restrict; 2612 bool q_restrict; 2613 bool has_ip; 2614 char * ip; 2615 bool has_net; 2616 char * net; 2617 bool has_host; 2618 char * host; 2619 bool has_tftp; 2620 char * tftp; 2621 bool has_bootfile; 2622 char * bootfile; 2623 bool has_dhcpstart; 2624 char * dhcpstart; 2625 bool has_dns; 2626 char * dns; 2627 bool has_dnssearch; 2628 StringList * dnssearch; 2629 bool has_smb; 2630 char * smb; 2631 bool has_smbserver; 2632 char * smbserver; 2633 bool has_hostfwd; 2634 StringList * hostfwd; 2635 bool has_guestfwd; 2636 StringList * guestfwd; 2637}; 2638 2639void qapi_free_NetdevUserOptionsList(NetdevUserOptionsList * obj); 2640void qapi_free_NetdevUserOptions(NetdevUserOptions * obj); 2641 2642struct NetdevTapOptions 2643{ 2644 bool has_ifname; 2645 char * ifname; 2646 bool has_fd; 2647 char * fd; 2648 bool has_fds; 2649 char * fds; 2650 bool has_script; 2651 char * script; 2652 bool has_downscript; 2653 char * downscript; 2654 bool has_helper; 2655 char * helper; 2656 bool has_sndbuf; 2657 uint64_t sndbuf; 2658 bool has_vnet_hdr; 2659 bool vnet_hdr; 2660 bool has_vhost; 2661 bool vhost; 2662 bool has_vhostfd; 2663 char * vhostfd; 2664 bool has_vhostfds; 2665 char * vhostfds; 2666 bool has_vhostforce; 2667 bool vhostforce; 2668 bool has_queues; 2669 uint32_t queues; 2670}; 2671 2672void qapi_free_NetdevTapOptionsList(NetdevTapOptionsList * obj); 2673void qapi_free_NetdevTapOptions(NetdevTapOptions * obj); 2674 2675struct NetdevSocketOptions 2676{ 2677 bool has_fd; 2678 char * fd; 2679 bool has_listen; 2680 char * listen; 2681 bool has_connect; 2682 char * connect; 2683 bool has_mcast; 2684 char * mcast; 2685 bool has_localaddr; 2686 char * localaddr; 2687 bool has_udp; 2688 char * udp; 2689}; 2690 2691void qapi_free_NetdevSocketOptionsList(NetdevSocketOptionsList * obj); 2692void qapi_free_NetdevSocketOptions(NetdevSocketOptions * obj); 2693 2694struct NetdevVdeOptions 2695{ 2696 bool has_sock; 2697 char * sock; 2698 bool has_port; 2699 uint16_t port; 2700 bool has_group; 2701 char * group; 2702 bool has_mode; 2703 uint16_t mode; 2704}; 2705 2706void qapi_free_NetdevVdeOptionsList(NetdevVdeOptionsList * obj); 2707void qapi_free_NetdevVdeOptions(NetdevVdeOptions * obj); 2708 2709struct NetdevDumpOptions 2710{ 2711 bool has_len; 2712 uint64_t len; 2713 bool has_file; 2714 char * file; 2715}; 2716 2717void qapi_free_NetdevDumpOptionsList(NetdevDumpOptionsList * obj); 2718void qapi_free_NetdevDumpOptions(NetdevDumpOptions * obj); 2719 2720struct NetdevBridgeOptions 2721{ 2722 bool has_br; 2723 char * br; 2724 bool has_helper; 2725 char * helper; 2726}; 2727 2728void qapi_free_NetdevBridgeOptionsList(NetdevBridgeOptionsList * obj); 2729void qapi_free_NetdevBridgeOptions(NetdevBridgeOptions * obj); 2730 2731struct NetdevHubPortOptions 2732{ 2733 int32_t hubid; 2734}; 2735 2736void qapi_free_NetdevHubPortOptionsList(NetdevHubPortOptionsList * obj); 2737void qapi_free_NetdevHubPortOptions(NetdevHubPortOptions * obj); 2738 2739struct NetdevNetmapOptions 2740{ 2741 char * ifname; 2742 bool has_devname; 2743 char * devname; 2744}; 2745 2746void qapi_free_NetdevNetmapOptionsList(NetdevNetmapOptionsList * obj); 2747void qapi_free_NetdevNetmapOptions(NetdevNetmapOptions * obj); 2748 2749struct NetClientOptions 2750{ 2751 NetClientOptionsKind kind; 2752 union { 2753 void *data; 2754 NetdevNoneOptions * none; 2755 NetLegacyNicOptions * nic; 2756 NetdevUserOptions * user; 2757 NetdevTapOptions * tap; 2758 NetdevSocketOptions * socket; 2759 NetdevVdeOptions * vde; 2760 NetdevDumpOptions * dump; 2761 NetdevBridgeOptions * bridge; 2762 NetdevHubPortOptions * hubport; 2763 NetdevNetmapOptions * netmap; 2764 }; 2765}; 2766void qapi_free_NetClientOptionsList(NetClientOptionsList * obj); 2767void qapi_free_NetClientOptions(NetClientOptions * obj); 2768 2769struct NetLegacy 2770{ 2771 bool has_vlan; 2772 int32_t vlan; 2773 bool has_id; 2774 char * id; 2775 bool has_name; 2776 char * name; 2777 NetClientOptions * opts; 2778}; 2779 2780void qapi_free_NetLegacyList(NetLegacyList * obj); 2781void qapi_free_NetLegacy(NetLegacy * obj); 2782 2783struct Netdev 2784{ 2785 char * id; 2786 NetClientOptions * opts; 2787}; 2788 2789void qapi_free_NetdevList(NetdevList * obj); 2790void qapi_free_Netdev(Netdev * obj); 2791 2792struct InetSocketAddress 2793{ 2794 char * host; 2795 char * port; 2796 bool has_to; 2797 uint16_t to; 2798 bool has_ipv4; 2799 bool ipv4; 2800 bool has_ipv6; 2801 bool ipv6; 2802}; 2803 2804void qapi_free_InetSocketAddressList(InetSocketAddressList * obj); 2805void qapi_free_InetSocketAddress(InetSocketAddress * obj); 2806 2807struct UnixSocketAddress 2808{ 2809 char * path; 2810}; 2811 2812void qapi_free_UnixSocketAddressList(UnixSocketAddressList * obj); 2813void qapi_free_UnixSocketAddress(UnixSocketAddress * obj); 2814 2815struct SocketAddress 2816{ 2817 SocketAddressKind kind; 2818 union { 2819 void *data; 2820 InetSocketAddress * inet; 2821 UnixSocketAddress * q_unix; 2822 String * fd; 2823 }; 2824}; 2825void qapi_free_SocketAddressList(SocketAddressList * obj); 2826void qapi_free_SocketAddress(SocketAddress * obj); 2827 2828struct MachineInfo 2829{ 2830 char * name; 2831 bool has_alias; 2832 char * alias; 2833 bool has_is_default; 2834 bool is_default; 2835 int64_t cpu_max; 2836}; 2837 2838void qapi_free_MachineInfoList(MachineInfoList * obj); 2839void qapi_free_MachineInfo(MachineInfo * obj); 2840 2841struct CpuDefinitionInfo 2842{ 2843 char * name; 2844}; 2845 2846void qapi_free_CpuDefinitionInfoList(CpuDefinitionInfoList * obj); 2847void qapi_free_CpuDefinitionInfo(CpuDefinitionInfo * obj); 2848 2849struct AddfdInfo 2850{ 2851 int64_t fdset_id; 2852 int64_t fd; 2853}; 2854 2855void qapi_free_AddfdInfoList(AddfdInfoList * obj); 2856void qapi_free_AddfdInfo(AddfdInfo * obj); 2857 2858struct FdsetFdInfo 2859{ 2860 int64_t fd; 2861 bool has_opaque; 2862 char * opaque; 2863}; 2864 2865void qapi_free_FdsetFdInfoList(FdsetFdInfoList * obj); 2866void qapi_free_FdsetFdInfo(FdsetFdInfo * obj); 2867 2868struct FdsetInfo 2869{ 2870 int64_t fdset_id; 2871 FdsetFdInfoList * fds; 2872}; 2873 2874void qapi_free_FdsetInfoList(FdsetInfoList * obj); 2875void qapi_free_FdsetInfo(FdsetInfo * obj); 2876 2877struct TargetInfo 2878{ 2879 char * arch; 2880}; 2881 2882void qapi_free_TargetInfoList(TargetInfoList * obj); 2883void qapi_free_TargetInfo(TargetInfo * obj); 2884 2885void qapi_free_QKeyCodeList(QKeyCodeList * obj); 2886 2887struct KeyValue 2888{ 2889 KeyValueKind kind; 2890 union { 2891 void *data; 2892 int64_t number; 2893 QKeyCode qcode; 2894 }; 2895}; 2896void qapi_free_KeyValueList(KeyValueList * obj); 2897void qapi_free_KeyValue(KeyValue * obj); 2898 2899struct ChardevFile 2900{ 2901 bool has_in; 2902 char * in; 2903 char * out; 2904}; 2905 2906void qapi_free_ChardevFileList(ChardevFileList * obj); 2907void qapi_free_ChardevFile(ChardevFile * obj); 2908 2909struct ChardevHostdev 2910{ 2911 char * device; 2912}; 2913 2914void qapi_free_ChardevHostdevList(ChardevHostdevList * obj); 2915void qapi_free_ChardevHostdev(ChardevHostdev * obj); 2916 2917struct ChardevSocket 2918{ 2919 SocketAddress * addr; 2920 bool has_server; 2921 bool server; 2922 bool has_wait; 2923 bool wait; 2924 bool has_nodelay; 2925 bool nodelay; 2926 bool has_telnet; 2927 bool telnet; 2928}; 2929 2930void qapi_free_ChardevSocketList(ChardevSocketList * obj); 2931void qapi_free_ChardevSocket(ChardevSocket * obj); 2932 2933struct ChardevUdp 2934{ 2935 SocketAddress * remote; 2936 bool has_local; 2937 SocketAddress * local; 2938}; 2939 2940void qapi_free_ChardevUdpList(ChardevUdpList * obj); 2941void qapi_free_ChardevUdp(ChardevUdp * obj); 2942 2943struct ChardevMux 2944{ 2945 char * chardev; 2946}; 2947 2948void qapi_free_ChardevMuxList(ChardevMuxList * obj); 2949void qapi_free_ChardevMux(ChardevMux * obj); 2950 2951struct ChardevStdio 2952{ 2953 bool has_signal; 2954 bool signal; 2955}; 2956 2957void qapi_free_ChardevStdioList(ChardevStdioList * obj); 2958void qapi_free_ChardevStdio(ChardevStdio * obj); 2959 2960struct ChardevSpiceChannel 2961{ 2962 char * type; 2963}; 2964 2965void qapi_free_ChardevSpiceChannelList(ChardevSpiceChannelList * obj); 2966void qapi_free_ChardevSpiceChannel(ChardevSpiceChannel * obj); 2967 2968struct ChardevSpicePort 2969{ 2970 char * fqdn; 2971}; 2972 2973void qapi_free_ChardevSpicePortList(ChardevSpicePortList * obj); 2974void qapi_free_ChardevSpicePort(ChardevSpicePort * obj); 2975 2976struct ChardevVC 2977{ 2978 bool has_width; 2979 int64_t width; 2980 bool has_height; 2981 int64_t height; 2982 bool has_cols; 2983 int64_t cols; 2984 bool has_rows; 2985 int64_t rows; 2986}; 2987 2988void qapi_free_ChardevVCList(ChardevVCList * obj); 2989void qapi_free_ChardevVC(ChardevVC * obj); 2990 2991struct ChardevRingbuf 2992{ 2993 bool has_size; 2994 int64_t size; 2995}; 2996 2997void qapi_free_ChardevRingbufList(ChardevRingbufList * obj); 2998void qapi_free_ChardevRingbuf(ChardevRingbuf * obj); 2999 3000struct ChardevDummy 3001{ 3002}; 3003 3004void qapi_free_ChardevDummyList(ChardevDummyList * obj); 3005void qapi_free_ChardevDummy(ChardevDummy * obj); 3006 3007struct ChardevBackend 3008{ 3009 ChardevBackendKind kind; 3010 union { 3011 void *data; 3012 ChardevFile * file; 3013 ChardevHostdev * serial; 3014 ChardevHostdev * parallel; 3015 ChardevHostdev * pipe; 3016 ChardevSocket * socket; 3017 ChardevUdp * udp; 3018 ChardevDummy * pty; 3019 ChardevDummy * null; 3020 ChardevMux * mux; 3021 ChardevDummy * msmouse; 3022 ChardevDummy * braille; 3023 ChardevStdio * stdio; 3024 ChardevDummy * console; 3025 ChardevSpiceChannel * spicevmc; 3026 ChardevSpicePort * spiceport; 3027 ChardevVC * vc; 3028 ChardevRingbuf * ringbuf; 3029 ChardevRingbuf * memory; 3030 }; 3031}; 3032void qapi_free_ChardevBackendList(ChardevBackendList * obj); 3033void qapi_free_ChardevBackend(ChardevBackend * obj); 3034 3035struct ChardevReturn 3036{ 3037 bool has_pty; 3038 char * pty; 3039}; 3040 3041void qapi_free_ChardevReturnList(ChardevReturnList * obj); 3042void qapi_free_ChardevReturn(ChardevReturn * obj); 3043 3044void qapi_free_TpmModelList(TpmModelList * obj); 3045 3046void qapi_free_TpmTypeList(TpmTypeList * obj); 3047 3048struct TPMPassthroughOptions 3049{ 3050 bool has_path; 3051 char * path; 3052 bool has_cancel_path; 3053 char * cancel_path; 3054}; 3055 3056void qapi_free_TPMPassthroughOptionsList(TPMPassthroughOptionsList * obj); 3057void qapi_free_TPMPassthroughOptions(TPMPassthroughOptions * obj); 3058 3059struct TpmTypeOptions 3060{ 3061 TpmTypeOptionsKind kind; 3062 union { 3063 void *data; 3064 TPMPassthroughOptions * passthrough; 3065 }; 3066}; 3067void qapi_free_TpmTypeOptionsList(TpmTypeOptionsList * obj); 3068void qapi_free_TpmTypeOptions(TpmTypeOptions * obj); 3069 3070struct TPMInfo 3071{ 3072 char * id; 3073 TpmModel model; 3074 TpmTypeOptions * options; 3075}; 3076 3077void qapi_free_TPMInfoList(TPMInfoList * obj); 3078void qapi_free_TPMInfo(TPMInfo * obj); 3079 3080struct AcpiTableOptions 3081{ 3082 bool has_sig; 3083 char * sig; 3084 bool has_rev; 3085 uint8_t rev; 3086 bool has_oem_id; 3087 char * oem_id; 3088 bool has_oem_table_id; 3089 char * oem_table_id; 3090 bool has_oem_rev; 3091 uint32_t oem_rev; 3092 bool has_asl_compiler_id; 3093 char * asl_compiler_id; 3094 bool has_asl_compiler_rev; 3095 uint32_t asl_compiler_rev; 3096 bool has_file; 3097 char * file; 3098 bool has_data; 3099 char * data; 3100}; 3101 3102void qapi_free_AcpiTableOptionsList(AcpiTableOptionsList * obj); 3103void qapi_free_AcpiTableOptions(AcpiTableOptions * obj); 3104 3105void qapi_free_CommandLineParameterTypeList(CommandLineParameterTypeList * obj); 3106 3107struct CommandLineParameterInfo 3108{ 3109 char * name; 3110 CommandLineParameterType type; 3111 bool has_help; 3112 char * help; 3113}; 3114 3115void qapi_free_CommandLineParameterInfoList(CommandLineParameterInfoList * obj); 3116void qapi_free_CommandLineParameterInfo(CommandLineParameterInfo * obj); 3117 3118struct CommandLineOptionInfo 3119{ 3120 char * option; 3121 CommandLineParameterInfoList * parameters; 3122}; 3123 3124void qapi_free_CommandLineOptionInfoList(CommandLineOptionInfoList * obj); 3125void qapi_free_CommandLineOptionInfo(CommandLineOptionInfo * obj); 3126 3127void qapi_free_X86CPURegister32List(X86CPURegister32List * obj); 3128 3129struct X86CPUFeatureWordInfo 3130{ 3131 int64_t cpuid_input_eax; 3132 bool has_cpuid_input_ecx; 3133 int64_t cpuid_input_ecx; 3134 X86CPURegister32 cpuid_register; 3135 int64_t features; 3136}; 3137 3138void qapi_free_X86CPUFeatureWordInfoList(X86CPUFeatureWordInfoList * obj); 3139void qapi_free_X86CPUFeatureWordInfo(X86CPUFeatureWordInfo * obj); 3140 3141void qapi_free_RxStateList(RxStateList * obj); 3142 3143struct RxFilterInfo 3144{ 3145 char * name; 3146 bool promiscuous; 3147 RxState multicast; 3148 RxState unicast; 3149 bool broadcast_allowed; 3150 bool multicast_overflow; 3151 bool unicast_overflow; 3152 char * main_mac; 3153 intList * vlan_table; 3154 strList * unicast_table; 3155 strList * multicast_table; 3156}; 3157 3158void qapi_free_RxFilterInfoList(RxFilterInfoList * obj); 3159void qapi_free_RxFilterInfo(RxFilterInfo * obj); 3160 3161void qapi_free_BlockdevDiscardOptionsList(BlockdevDiscardOptionsList * obj); 3162 3163void qapi_free_BlockdevAioOptionsList(BlockdevAioOptionsList * obj); 3164 3165struct BlockdevCacheOptions 3166{ 3167 bool has_writeback; 3168 bool writeback; 3169 bool has_direct; 3170 bool direct; 3171 bool has_no_flush; 3172 bool no_flush; 3173}; 3174 3175void qapi_free_BlockdevCacheOptionsList(BlockdevCacheOptionsList * obj); 3176void qapi_free_BlockdevCacheOptions(BlockdevCacheOptions * obj); 3177 3178struct BlockdevOptionsBase 3179{ 3180 char * driver; 3181 bool has_id; 3182 char * id; 3183 bool has_discard; 3184 BlockdevDiscardOptions discard; 3185 bool has_cache; 3186 BlockdevCacheOptions * cache; 3187 bool has_aio; 3188 BlockdevAioOptions aio; 3189 bool has_rerror; 3190 BlockdevOnError rerror; 3191 bool has_werror; 3192 BlockdevOnError werror; 3193 bool has_read_only; 3194 bool read_only; 3195}; 3196 3197void qapi_free_BlockdevOptionsBaseList(BlockdevOptionsBaseList * obj); 3198void qapi_free_BlockdevOptionsBase(BlockdevOptionsBase * obj); 3199 3200struct BlockdevOptionsFile 3201{ 3202 char * filename; 3203}; 3204 3205void qapi_free_BlockdevOptionsFileList(BlockdevOptionsFileList * obj); 3206void qapi_free_BlockdevOptionsFile(BlockdevOptionsFile * obj); 3207 3208struct BlockdevOptionsVVFAT 3209{ 3210 char * dir; 3211 bool has_fat_type; 3212 int64_t fat_type; 3213 bool has_floppy; 3214 bool floppy; 3215 bool has_rw; 3216 bool rw; 3217}; 3218 3219void qapi_free_BlockdevOptionsVVFATList(BlockdevOptionsVVFATList * obj); 3220void qapi_free_BlockdevOptionsVVFAT(BlockdevOptionsVVFAT * obj); 3221 3222struct BlockdevOptionsGenericFormat 3223{ 3224 BlockdevRef * file; 3225}; 3226 3227void qapi_free_BlockdevOptionsGenericFormatList(BlockdevOptionsGenericFormatList * obj); 3228void qapi_free_BlockdevOptionsGenericFormat(BlockdevOptionsGenericFormat * obj); 3229 3230struct BlockdevOptionsGenericCOWFormat 3231{ 3232 BlockdevOptionsGenericFormat * base; 3233 bool has_backing; 3234 BlockdevRef * backing; 3235}; 3236 3237void qapi_free_BlockdevOptionsGenericCOWFormatList(BlockdevOptionsGenericCOWFormatList * obj); 3238void qapi_free_BlockdevOptionsGenericCOWFormat(BlockdevOptionsGenericCOWFormat * obj); 3239 3240struct BlockdevOptionsQcow2 3241{ 3242 BlockdevOptionsGenericCOWFormat * base; 3243 bool has_lazy_refcounts; 3244 bool lazy_refcounts; 3245 bool has_pass_discard_request; 3246 bool pass_discard_request; 3247 bool has_pass_discard_snapshot; 3248 bool pass_discard_snapshot; 3249 bool has_pass_discard_other; 3250 bool pass_discard_other; 3251}; 3252 3253void qapi_free_BlockdevOptionsQcow2List(BlockdevOptionsQcow2List * obj); 3254void qapi_free_BlockdevOptionsQcow2(BlockdevOptionsQcow2 * obj); 3255 3256struct BlockdevOptions 3257{ 3258 BlockdevOptionsKind kind; 3259 union { 3260 void *data; 3261 BlockdevOptionsFile * file; 3262 BlockdevOptionsFile * http; 3263 BlockdevOptionsFile * https; 3264 BlockdevOptionsFile * ftp; 3265 BlockdevOptionsFile * ftps; 3266 BlockdevOptionsFile * tftp; 3267 BlockdevOptionsVVFAT * vvfat; 3268 BlockdevOptionsGenericFormat * bochs; 3269 BlockdevOptionsGenericFormat * cloop; 3270 BlockdevOptionsGenericCOWFormat * cow; 3271 BlockdevOptionsGenericFormat * dmg; 3272 BlockdevOptionsGenericFormat * parallels; 3273 BlockdevOptionsGenericCOWFormat * qcow; 3274 BlockdevOptionsQcow2 * qcow2; 3275 BlockdevOptionsGenericCOWFormat * qed; 3276 BlockdevOptionsGenericFormat * raw; 3277 BlockdevOptionsGenericFormat * vdi; 3278 BlockdevOptionsGenericFormat * vhdx; 3279 BlockdevOptionsGenericCOWFormat * vmdk; 3280 BlockdevOptionsGenericFormat * vpc; 3281 }; 3282 bool has_id; 3283 char * id; 3284 bool has_discard; 3285 BlockdevDiscardOptions discard; 3286 bool has_cache; 3287 BlockdevCacheOptions * cache; 3288 bool has_aio; 3289 BlockdevAioOptions aio; 3290 bool has_rerror; 3291 BlockdevOnError rerror; 3292 bool has_werror; 3293 BlockdevOnError werror; 3294 bool has_read_only; 3295 bool read_only; 3296}; 3297void qapi_free_BlockdevOptionsList(BlockdevOptionsList * obj); 3298void qapi_free_BlockdevOptions(BlockdevOptions * obj); 3299 3300struct BlockdevRef 3301{ 3302 BlockdevRefKind kind; 3303 union { 3304 void *data; 3305 BlockdevOptions * definition; 3306 char * reference; 3307 }; 3308}; 3309extern const int BlockdevRef_qtypes[]; 3310void qapi_free_BlockdevRefList(BlockdevRefList * obj); 3311void qapi_free_BlockdevRef(BlockdevRef * obj); 3312 3313#endif 3314