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 27 typedef struct strList 28 { 29 union { 30 char * value; 31 uint64_t padding; 32 }; 33 struct strList *next; 34 } strList; 35 36 typedef struct intList 37 { 38 union { 39 int64_t value; 40 uint64_t padding; 41 }; 42 struct intList *next; 43 } intList; 44 45 typedef struct numberList 46 { 47 union { 48 double value; 49 uint64_t padding; 50 }; 51 struct numberList *next; 52 } numberList; 53 54 typedef struct boolList 55 { 56 union { 57 bool value; 58 uint64_t padding; 59 }; 60 struct boolList *next; 61 } boolList; 62 63 typedef struct int8List 64 { 65 union { 66 int8_t value; 67 uint64_t padding; 68 }; 69 struct int8List *next; 70 } int8List; 71 72 typedef struct int16List 73 { 74 union { 75 int16_t value; 76 uint64_t padding; 77 }; 78 struct int16List *next; 79 } int16List; 80 81 typedef struct int32List 82 { 83 union { 84 int32_t value; 85 uint64_t padding; 86 }; 87 struct int32List *next; 88 } int32List; 89 90 typedef struct int64List 91 { 92 union { 93 int64_t value; 94 uint64_t padding; 95 }; 96 struct int64List *next; 97 } int64List; 98 99 typedef struct uint8List 100 { 101 union { 102 uint8_t value; 103 uint64_t padding; 104 }; 105 struct uint8List *next; 106 } uint8List; 107 108 typedef struct uint16List 109 { 110 union { 111 uint16_t value; 112 uint64_t padding; 113 }; 114 struct uint16List *next; 115 } uint16List; 116 117 typedef struct uint32List 118 { 119 union { 120 uint32_t value; 121 uint64_t padding; 122 }; 123 struct uint32List *next; 124 } uint32List; 125 126 typedef 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 138 extern const char *ErrorClass_lookup[]; 139 typedef 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 150 typedef struct ErrorClassList 151 { 152 union { 153 ErrorClass value; 154 uint64_t padding; 155 }; 156 struct ErrorClassList *next; 157 } ErrorClassList; 158 159 160 typedef struct NameInfo NameInfo; 161 162 typedef struct NameInfoList 163 { 164 union { 165 NameInfo *value; 166 uint64_t padding; 167 }; 168 struct NameInfoList *next; 169 } NameInfoList; 170 171 172 typedef struct VersionInfo VersionInfo; 173 174 typedef struct VersionInfoList 175 { 176 union { 177 VersionInfo *value; 178 uint64_t padding; 179 }; 180 struct VersionInfoList *next; 181 } VersionInfoList; 182 183 184 typedef struct KvmInfo KvmInfo; 185 186 typedef struct KvmInfoList 187 { 188 union { 189 KvmInfo *value; 190 uint64_t padding; 191 }; 192 struct KvmInfoList *next; 193 } KvmInfoList; 194 195 extern const char *RunState_lookup[]; 196 typedef 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 216 typedef struct RunStateList 217 { 218 union { 219 RunState value; 220 uint64_t padding; 221 }; 222 struct RunStateList *next; 223 } RunStateList; 224 225 226 typedef struct SnapshotInfo SnapshotInfo; 227 228 typedef struct SnapshotInfoList 229 { 230 union { 231 SnapshotInfo *value; 232 uint64_t padding; 233 }; 234 struct SnapshotInfoList *next; 235 } SnapshotInfoList; 236 237 238 typedef struct ImageInfoSpecificQCow2 ImageInfoSpecificQCow2; 239 240 typedef struct ImageInfoSpecificQCow2List 241 { 242 union { 243 ImageInfoSpecificQCow2 *value; 244 uint64_t padding; 245 }; 246 struct ImageInfoSpecificQCow2List *next; 247 } ImageInfoSpecificQCow2List; 248 249 250 typedef struct ImageInfoSpecificVmdk ImageInfoSpecificVmdk; 251 252 typedef struct ImageInfoSpecificVmdkList 253 { 254 union { 255 ImageInfoSpecificVmdk *value; 256 uint64_t padding; 257 }; 258 struct ImageInfoSpecificVmdkList *next; 259 } ImageInfoSpecificVmdkList; 260 261 262 typedef struct ImageInfoSpecific ImageInfoSpecific; 263 264 typedef struct ImageInfoSpecificList 265 { 266 union { 267 ImageInfoSpecific *value; 268 uint64_t padding; 269 }; 270 struct ImageInfoSpecificList *next; 271 } ImageInfoSpecificList; 272 273 extern const char *ImageInfoSpecificKind_lookup[]; 274 typedef 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 282 typedef struct ImageInfo ImageInfo; 283 284 typedef struct ImageInfoList 285 { 286 union { 287 ImageInfo *value; 288 uint64_t padding; 289 }; 290 struct ImageInfoList *next; 291 } ImageInfoList; 292 293 294 typedef struct ImageCheck ImageCheck; 295 296 typedef struct ImageCheckList 297 { 298 union { 299 ImageCheck *value; 300 uint64_t padding; 301 }; 302 struct ImageCheckList *next; 303 } ImageCheckList; 304 305 306 typedef struct StatusInfo StatusInfo; 307 308 typedef struct StatusInfoList 309 { 310 union { 311 StatusInfo *value; 312 uint64_t padding; 313 }; 314 struct StatusInfoList *next; 315 } StatusInfoList; 316 317 318 typedef struct UuidInfo UuidInfo; 319 320 typedef struct UuidInfoList 321 { 322 union { 323 UuidInfo *value; 324 uint64_t padding; 325 }; 326 struct UuidInfoList *next; 327 } UuidInfoList; 328 329 330 typedef struct ChardevInfo ChardevInfo; 331 332 typedef struct ChardevInfoList 333 { 334 union { 335 ChardevInfo *value; 336 uint64_t padding; 337 }; 338 struct ChardevInfoList *next; 339 } ChardevInfoList; 340 341 extern const char *DataFormat_lookup[]; 342 typedef enum DataFormat 343 { 344 DATA_FORMAT_UTF8 = 0, 345 DATA_FORMAT_BASE64 = 1, 346 DATA_FORMAT_MAX = 2, 347 } DataFormat; 348 349 typedef struct DataFormatList 350 { 351 union { 352 DataFormat value; 353 uint64_t padding; 354 }; 355 struct DataFormatList *next; 356 } DataFormatList; 357 358 359 typedef struct CommandInfo CommandInfo; 360 361 typedef struct CommandInfoList 362 { 363 union { 364 CommandInfo *value; 365 uint64_t padding; 366 }; 367 struct CommandInfoList *next; 368 } CommandInfoList; 369 370 371 typedef struct EventInfo EventInfo; 372 373 typedef struct EventInfoList 374 { 375 union { 376 EventInfo *value; 377 uint64_t padding; 378 }; 379 struct EventInfoList *next; 380 } EventInfoList; 381 382 383 typedef struct MigrationStats MigrationStats; 384 385 typedef struct MigrationStatsList 386 { 387 union { 388 MigrationStats *value; 389 uint64_t padding; 390 }; 391 struct MigrationStatsList *next; 392 } MigrationStatsList; 393 394 395 typedef struct XBZRLECacheStats XBZRLECacheStats; 396 397 typedef struct XBZRLECacheStatsList 398 { 399 union { 400 XBZRLECacheStats *value; 401 uint64_t padding; 402 }; 403 struct XBZRLECacheStatsList *next; 404 } XBZRLECacheStatsList; 405 406 407 typedef struct MigrationInfo MigrationInfo; 408 409 typedef struct MigrationInfoList 410 { 411 union { 412 MigrationInfo *value; 413 uint64_t padding; 414 }; 415 struct MigrationInfoList *next; 416 } MigrationInfoList; 417 418 extern const char *MigrationCapability_lookup[]; 419 typedef 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 428 typedef struct MigrationCapabilityList 429 { 430 union { 431 MigrationCapability value; 432 uint64_t padding; 433 }; 434 struct MigrationCapabilityList *next; 435 } MigrationCapabilityList; 436 437 438 typedef struct MigrationCapabilityStatus MigrationCapabilityStatus; 439 440 typedef struct MigrationCapabilityStatusList 441 { 442 union { 443 MigrationCapabilityStatus *value; 444 uint64_t padding; 445 }; 446 struct MigrationCapabilityStatusList *next; 447 } MigrationCapabilityStatusList; 448 449 450 typedef struct MouseInfo MouseInfo; 451 452 typedef struct MouseInfoList 453 { 454 union { 455 MouseInfo *value; 456 uint64_t padding; 457 }; 458 struct MouseInfoList *next; 459 } MouseInfoList; 460 461 462 typedef struct CpuInfo CpuInfo; 463 464 typedef struct CpuInfoList 465 { 466 union { 467 CpuInfo *value; 468 uint64_t padding; 469 }; 470 struct CpuInfoList *next; 471 } CpuInfoList; 472 473 474 typedef struct BlockDeviceInfo BlockDeviceInfo; 475 476 typedef struct BlockDeviceInfoList 477 { 478 union { 479 BlockDeviceInfo *value; 480 uint64_t padding; 481 }; 482 struct BlockDeviceInfoList *next; 483 } BlockDeviceInfoList; 484 485 extern const char *BlockDeviceIoStatus_lookup[]; 486 typedef 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 494 typedef struct BlockDeviceIoStatusList 495 { 496 union { 497 BlockDeviceIoStatus value; 498 uint64_t padding; 499 }; 500 struct BlockDeviceIoStatusList *next; 501 } BlockDeviceIoStatusList; 502 503 504 typedef struct BlockDeviceMapEntry BlockDeviceMapEntry; 505 506 typedef struct BlockDeviceMapEntryList 507 { 508 union { 509 BlockDeviceMapEntry *value; 510 uint64_t padding; 511 }; 512 struct BlockDeviceMapEntryList *next; 513 } BlockDeviceMapEntryList; 514 515 516 typedef struct BlockDirtyInfo BlockDirtyInfo; 517 518 typedef struct BlockDirtyInfoList 519 { 520 union { 521 BlockDirtyInfo *value; 522 uint64_t padding; 523 }; 524 struct BlockDirtyInfoList *next; 525 } BlockDirtyInfoList; 526 527 528 typedef struct BlockInfo BlockInfo; 529 530 typedef struct BlockInfoList 531 { 532 union { 533 BlockInfo *value; 534 uint64_t padding; 535 }; 536 struct BlockInfoList *next; 537 } BlockInfoList; 538 539 540 typedef struct BlockDeviceStats BlockDeviceStats; 541 542 typedef struct BlockDeviceStatsList 543 { 544 union { 545 BlockDeviceStats *value; 546 uint64_t padding; 547 }; 548 struct BlockDeviceStatsList *next; 549 } BlockDeviceStatsList; 550 551 552 typedef struct BlockStats BlockStats; 553 554 typedef struct BlockStatsList 555 { 556 union { 557 BlockStats *value; 558 uint64_t padding; 559 }; 560 struct BlockStatsList *next; 561 } BlockStatsList; 562 563 564 typedef struct VncClientInfo VncClientInfo; 565 566 typedef struct VncClientInfoList 567 { 568 union { 569 VncClientInfo *value; 570 uint64_t padding; 571 }; 572 struct VncClientInfoList *next; 573 } VncClientInfoList; 574 575 576 typedef struct VncInfo VncInfo; 577 578 typedef struct VncInfoList 579 { 580 union { 581 VncInfo *value; 582 uint64_t padding; 583 }; 584 struct VncInfoList *next; 585 } VncInfoList; 586 587 588 typedef struct SpiceChannel SpiceChannel; 589 590 typedef struct SpiceChannelList 591 { 592 union { 593 SpiceChannel *value; 594 uint64_t padding; 595 }; 596 struct SpiceChannelList *next; 597 } SpiceChannelList; 598 599 extern const char *SpiceQueryMouseMode_lookup[]; 600 typedef 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 608 typedef struct SpiceQueryMouseModeList 609 { 610 union { 611 SpiceQueryMouseMode value; 612 uint64_t padding; 613 }; 614 struct SpiceQueryMouseModeList *next; 615 } SpiceQueryMouseModeList; 616 617 618 typedef struct SpiceInfo SpiceInfo; 619 620 typedef struct SpiceInfoList 621 { 622 union { 623 SpiceInfo *value; 624 uint64_t padding; 625 }; 626 struct SpiceInfoList *next; 627 } SpiceInfoList; 628 629 630 typedef struct BalloonInfo BalloonInfo; 631 632 typedef struct BalloonInfoList 633 { 634 union { 635 BalloonInfo *value; 636 uint64_t padding; 637 }; 638 struct BalloonInfoList *next; 639 } BalloonInfoList; 640 641 642 typedef struct PciMemoryRange PciMemoryRange; 643 644 typedef struct PciMemoryRangeList 645 { 646 union { 647 PciMemoryRange *value; 648 uint64_t padding; 649 }; 650 struct PciMemoryRangeList *next; 651 } PciMemoryRangeList; 652 653 654 typedef struct PciMemoryRegion PciMemoryRegion; 655 656 typedef struct PciMemoryRegionList 657 { 658 union { 659 PciMemoryRegion *value; 660 uint64_t padding; 661 }; 662 struct PciMemoryRegionList *next; 663 } PciMemoryRegionList; 664 665 666 typedef struct PciBridgeInfo PciBridgeInfo; 667 668 typedef struct PciBridgeInfoList 669 { 670 union { 671 PciBridgeInfo *value; 672 uint64_t padding; 673 }; 674 struct PciBridgeInfoList *next; 675 } PciBridgeInfoList; 676 677 678 typedef struct PciDeviceInfo PciDeviceInfo; 679 680 typedef struct PciDeviceInfoList 681 { 682 union { 683 PciDeviceInfo *value; 684 uint64_t padding; 685 }; 686 struct PciDeviceInfoList *next; 687 } PciDeviceInfoList; 688 689 690 typedef struct PciInfo PciInfo; 691 692 typedef struct PciInfoList 693 { 694 union { 695 PciInfo *value; 696 uint64_t padding; 697 }; 698 struct PciInfoList *next; 699 } PciInfoList; 700 701 extern const char *BlockdevOnError_lookup[]; 702 typedef 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 711 typedef struct BlockdevOnErrorList 712 { 713 union { 714 BlockdevOnError value; 715 uint64_t padding; 716 }; 717 struct BlockdevOnErrorList *next; 718 } BlockdevOnErrorList; 719 720 extern const char *MirrorSyncMode_lookup[]; 721 typedef 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 729 typedef struct MirrorSyncModeList 730 { 731 union { 732 MirrorSyncMode value; 733 uint64_t padding; 734 }; 735 struct MirrorSyncModeList *next; 736 } MirrorSyncModeList; 737 738 extern const char *BlockJobType_lookup[]; 739 typedef 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 748 typedef struct BlockJobTypeList 749 { 750 union { 751 BlockJobType value; 752 uint64_t padding; 753 }; 754 struct BlockJobTypeList *next; 755 } BlockJobTypeList; 756 757 758 typedef struct BlockJobInfo BlockJobInfo; 759 760 typedef struct BlockJobInfoList 761 { 762 union { 763 BlockJobInfo *value; 764 uint64_t padding; 765 }; 766 struct BlockJobInfoList *next; 767 } BlockJobInfoList; 768 769 extern const char *NewImageMode_lookup[]; 770 typedef 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 777 typedef struct NewImageModeList 778 { 779 union { 780 NewImageMode value; 781 uint64_t padding; 782 }; 783 struct NewImageModeList *next; 784 } NewImageModeList; 785 786 787 typedef struct BlockdevSnapshot BlockdevSnapshot; 788 789 typedef struct BlockdevSnapshotList 790 { 791 union { 792 BlockdevSnapshot *value; 793 uint64_t padding; 794 }; 795 struct BlockdevSnapshotList *next; 796 } BlockdevSnapshotList; 797 798 799 typedef struct BlockdevSnapshotInternal BlockdevSnapshotInternal; 800 801 typedef struct BlockdevSnapshotInternalList 802 { 803 union { 804 BlockdevSnapshotInternal *value; 805 uint64_t padding; 806 }; 807 struct BlockdevSnapshotInternalList *next; 808 } BlockdevSnapshotInternalList; 809 810 811 typedef struct DriveBackup DriveBackup; 812 813 typedef struct DriveBackupList 814 { 815 union { 816 DriveBackup *value; 817 uint64_t padding; 818 }; 819 struct DriveBackupList *next; 820 } DriveBackupList; 821 822 823 typedef struct Abort Abort; 824 825 typedef struct AbortList 826 { 827 union { 828 Abort *value; 829 uint64_t padding; 830 }; 831 struct AbortList *next; 832 } AbortList; 833 834 835 typedef struct TransactionAction TransactionAction; 836 837 typedef struct TransactionActionList 838 { 839 union { 840 TransactionAction *value; 841 uint64_t padding; 842 }; 843 struct TransactionActionList *next; 844 } TransactionActionList; 845 846 extern const char *TransactionActionKind_lookup[]; 847 typedef 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 857 typedef struct ObjectPropertyInfo ObjectPropertyInfo; 858 859 typedef struct ObjectPropertyInfoList 860 { 861 union { 862 ObjectPropertyInfo *value; 863 uint64_t padding; 864 }; 865 struct ObjectPropertyInfoList *next; 866 } ObjectPropertyInfoList; 867 868 869 typedef struct ObjectTypeInfo ObjectTypeInfo; 870 871 typedef struct ObjectTypeInfoList 872 { 873 union { 874 ObjectTypeInfo *value; 875 uint64_t padding; 876 }; 877 struct ObjectTypeInfoList *next; 878 } ObjectTypeInfoList; 879 880 881 typedef struct DevicePropertyInfo DevicePropertyInfo; 882 883 typedef struct DevicePropertyInfoList 884 { 885 union { 886 DevicePropertyInfo *value; 887 uint64_t padding; 888 }; 889 struct DevicePropertyInfoList *next; 890 } DevicePropertyInfoList; 891 892 893 typedef struct NetdevNoneOptions NetdevNoneOptions; 894 895 typedef struct NetdevNoneOptionsList 896 { 897 union { 898 NetdevNoneOptions *value; 899 uint64_t padding; 900 }; 901 struct NetdevNoneOptionsList *next; 902 } NetdevNoneOptionsList; 903 904 905 typedef struct NetLegacyNicOptions NetLegacyNicOptions; 906 907 typedef struct NetLegacyNicOptionsList 908 { 909 union { 910 NetLegacyNicOptions *value; 911 uint64_t padding; 912 }; 913 struct NetLegacyNicOptionsList *next; 914 } NetLegacyNicOptionsList; 915 916 917 typedef struct String String; 918 919 typedef struct StringList 920 { 921 union { 922 String *value; 923 uint64_t padding; 924 }; 925 struct StringList *next; 926 } StringList; 927 928 929 typedef struct NetdevUserOptions NetdevUserOptions; 930 931 typedef struct NetdevUserOptionsList 932 { 933 union { 934 NetdevUserOptions *value; 935 uint64_t padding; 936 }; 937 struct NetdevUserOptionsList *next; 938 } NetdevUserOptionsList; 939 940 941 typedef struct NetdevTapOptions NetdevTapOptions; 942 943 typedef struct NetdevTapOptionsList 944 { 945 union { 946 NetdevTapOptions *value; 947 uint64_t padding; 948 }; 949 struct NetdevTapOptionsList *next; 950 } NetdevTapOptionsList; 951 952 953 typedef struct NetdevSocketOptions NetdevSocketOptions; 954 955 typedef struct NetdevSocketOptionsList 956 { 957 union { 958 NetdevSocketOptions *value; 959 uint64_t padding; 960 }; 961 struct NetdevSocketOptionsList *next; 962 } NetdevSocketOptionsList; 963 964 965 typedef struct NetdevVdeOptions NetdevVdeOptions; 966 967 typedef struct NetdevVdeOptionsList 968 { 969 union { 970 NetdevVdeOptions *value; 971 uint64_t padding; 972 }; 973 struct NetdevVdeOptionsList *next; 974 } NetdevVdeOptionsList; 975 976 977 typedef struct NetdevDumpOptions NetdevDumpOptions; 978 979 typedef struct NetdevDumpOptionsList 980 { 981 union { 982 NetdevDumpOptions *value; 983 uint64_t padding; 984 }; 985 struct NetdevDumpOptionsList *next; 986 } NetdevDumpOptionsList; 987 988 989 typedef struct NetdevBridgeOptions NetdevBridgeOptions; 990 991 typedef struct NetdevBridgeOptionsList 992 { 993 union { 994 NetdevBridgeOptions *value; 995 uint64_t padding; 996 }; 997 struct NetdevBridgeOptionsList *next; 998 } NetdevBridgeOptionsList; 999 1000 1001 typedef struct NetdevHubPortOptions NetdevHubPortOptions; 1002 1003 typedef struct NetdevHubPortOptionsList 1004 { 1005 union { 1006 NetdevHubPortOptions *value; 1007 uint64_t padding; 1008 }; 1009 struct NetdevHubPortOptionsList *next; 1010 } NetdevHubPortOptionsList; 1011 1012 1013 typedef struct NetdevNetmapOptions NetdevNetmapOptions; 1014 1015 typedef struct NetdevNetmapOptionsList 1016 { 1017 union { 1018 NetdevNetmapOptions *value; 1019 uint64_t padding; 1020 }; 1021 struct NetdevNetmapOptionsList *next; 1022 } NetdevNetmapOptionsList; 1023 1024 1025 typedef struct NetClientOptions NetClientOptions; 1026 1027 typedef struct NetClientOptionsList 1028 { 1029 union { 1030 NetClientOptions *value; 1031 uint64_t padding; 1032 }; 1033 struct NetClientOptionsList *next; 1034 } NetClientOptionsList; 1035 1036 extern const char *NetClientOptionsKind_lookup[]; 1037 typedef 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 1053 typedef struct NetLegacy NetLegacy; 1054 1055 typedef struct NetLegacyList 1056 { 1057 union { 1058 NetLegacy *value; 1059 uint64_t padding; 1060 }; 1061 struct NetLegacyList *next; 1062 } NetLegacyList; 1063 1064 1065 typedef struct Netdev Netdev; 1066 1067 typedef struct NetdevList 1068 { 1069 union { 1070 Netdev *value; 1071 uint64_t padding; 1072 }; 1073 struct NetdevList *next; 1074 } NetdevList; 1075 1076 1077 typedef struct InetSocketAddress InetSocketAddress; 1078 1079 typedef struct InetSocketAddressList 1080 { 1081 union { 1082 InetSocketAddress *value; 1083 uint64_t padding; 1084 }; 1085 struct InetSocketAddressList *next; 1086 } InetSocketAddressList; 1087 1088 1089 typedef struct UnixSocketAddress UnixSocketAddress; 1090 1091 typedef struct UnixSocketAddressList 1092 { 1093 union { 1094 UnixSocketAddress *value; 1095 uint64_t padding; 1096 }; 1097 struct UnixSocketAddressList *next; 1098 } UnixSocketAddressList; 1099 1100 1101 typedef struct SocketAddress SocketAddress; 1102 1103 typedef struct SocketAddressList 1104 { 1105 union { 1106 SocketAddress *value; 1107 uint64_t padding; 1108 }; 1109 struct SocketAddressList *next; 1110 } SocketAddressList; 1111 1112 extern const char *SocketAddressKind_lookup[]; 1113 typedef 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 1122 typedef struct MachineInfo MachineInfo; 1123 1124 typedef struct MachineInfoList 1125 { 1126 union { 1127 MachineInfo *value; 1128 uint64_t padding; 1129 }; 1130 struct MachineInfoList *next; 1131 } MachineInfoList; 1132 1133 1134 typedef struct CpuDefinitionInfo CpuDefinitionInfo; 1135 1136 typedef struct CpuDefinitionInfoList 1137 { 1138 union { 1139 CpuDefinitionInfo *value; 1140 uint64_t padding; 1141 }; 1142 struct CpuDefinitionInfoList *next; 1143 } CpuDefinitionInfoList; 1144 1145 1146 typedef struct AddfdInfo AddfdInfo; 1147 1148 typedef struct AddfdInfoList 1149 { 1150 union { 1151 AddfdInfo *value; 1152 uint64_t padding; 1153 }; 1154 struct AddfdInfoList *next; 1155 } AddfdInfoList; 1156 1157 1158 typedef struct FdsetFdInfo FdsetFdInfo; 1159 1160 typedef struct FdsetFdInfoList 1161 { 1162 union { 1163 FdsetFdInfo *value; 1164 uint64_t padding; 1165 }; 1166 struct FdsetFdInfoList *next; 1167 } FdsetFdInfoList; 1168 1169 1170 typedef struct FdsetInfo FdsetInfo; 1171 1172 typedef struct FdsetInfoList 1173 { 1174 union { 1175 FdsetInfo *value; 1176 uint64_t padding; 1177 }; 1178 struct FdsetInfoList *next; 1179 } FdsetInfoList; 1180 1181 1182 typedef struct TargetInfo TargetInfo; 1183 1184 typedef struct TargetInfoList 1185 { 1186 union { 1187 TargetInfo *value; 1188 uint64_t padding; 1189 }; 1190 struct TargetInfoList *next; 1191 } TargetInfoList; 1192 1193 extern const char *QKeyCode_lookup[]; 1194 typedef 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 1320 typedef struct QKeyCodeList 1321 { 1322 union { 1323 QKeyCode value; 1324 uint64_t padding; 1325 }; 1326 struct QKeyCodeList *next; 1327 } QKeyCodeList; 1328 1329 1330 typedef struct KeyValue KeyValue; 1331 1332 typedef struct KeyValueList 1333 { 1334 union { 1335 KeyValue *value; 1336 uint64_t padding; 1337 }; 1338 struct KeyValueList *next; 1339 } KeyValueList; 1340 1341 extern const char *KeyValueKind_lookup[]; 1342 typedef 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 1350 typedef struct ChardevFile ChardevFile; 1351 1352 typedef struct ChardevFileList 1353 { 1354 union { 1355 ChardevFile *value; 1356 uint64_t padding; 1357 }; 1358 struct ChardevFileList *next; 1359 } ChardevFileList; 1360 1361 1362 typedef struct ChardevHostdev ChardevHostdev; 1363 1364 typedef struct ChardevHostdevList 1365 { 1366 union { 1367 ChardevHostdev *value; 1368 uint64_t padding; 1369 }; 1370 struct ChardevHostdevList *next; 1371 } ChardevHostdevList; 1372 1373 1374 typedef struct ChardevSocket ChardevSocket; 1375 1376 typedef struct ChardevSocketList 1377 { 1378 union { 1379 ChardevSocket *value; 1380 uint64_t padding; 1381 }; 1382 struct ChardevSocketList *next; 1383 } ChardevSocketList; 1384 1385 1386 typedef struct ChardevUdp ChardevUdp; 1387 1388 typedef struct ChardevUdpList 1389 { 1390 union { 1391 ChardevUdp *value; 1392 uint64_t padding; 1393 }; 1394 struct ChardevUdpList *next; 1395 } ChardevUdpList; 1396 1397 1398 typedef struct ChardevMux ChardevMux; 1399 1400 typedef struct ChardevMuxList 1401 { 1402 union { 1403 ChardevMux *value; 1404 uint64_t padding; 1405 }; 1406 struct ChardevMuxList *next; 1407 } ChardevMuxList; 1408 1409 1410 typedef struct ChardevStdio ChardevStdio; 1411 1412 typedef struct ChardevStdioList 1413 { 1414 union { 1415 ChardevStdio *value; 1416 uint64_t padding; 1417 }; 1418 struct ChardevStdioList *next; 1419 } ChardevStdioList; 1420 1421 1422 typedef struct ChardevSpiceChannel ChardevSpiceChannel; 1423 1424 typedef struct ChardevSpiceChannelList 1425 { 1426 union { 1427 ChardevSpiceChannel *value; 1428 uint64_t padding; 1429 }; 1430 struct ChardevSpiceChannelList *next; 1431 } ChardevSpiceChannelList; 1432 1433 1434 typedef struct ChardevSpicePort ChardevSpicePort; 1435 1436 typedef struct ChardevSpicePortList 1437 { 1438 union { 1439 ChardevSpicePort *value; 1440 uint64_t padding; 1441 }; 1442 struct ChardevSpicePortList *next; 1443 } ChardevSpicePortList; 1444 1445 1446 typedef struct ChardevVC ChardevVC; 1447 1448 typedef struct ChardevVCList 1449 { 1450 union { 1451 ChardevVC *value; 1452 uint64_t padding; 1453 }; 1454 struct ChardevVCList *next; 1455 } ChardevVCList; 1456 1457 1458 typedef struct ChardevRingbuf ChardevRingbuf; 1459 1460 typedef struct ChardevRingbufList 1461 { 1462 union { 1463 ChardevRingbuf *value; 1464 uint64_t padding; 1465 }; 1466 struct ChardevRingbufList *next; 1467 } ChardevRingbufList; 1468 1469 1470 typedef struct ChardevDummy ChardevDummy; 1471 1472 typedef struct ChardevDummyList 1473 { 1474 union { 1475 ChardevDummy *value; 1476 uint64_t padding; 1477 }; 1478 struct ChardevDummyList *next; 1479 } ChardevDummyList; 1480 1481 1482 typedef struct ChardevBackend ChardevBackend; 1483 1484 typedef struct ChardevBackendList 1485 { 1486 union { 1487 ChardevBackend *value; 1488 uint64_t padding; 1489 }; 1490 struct ChardevBackendList *next; 1491 } ChardevBackendList; 1492 1493 extern const char *ChardevBackendKind_lookup[]; 1494 typedef 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 1518 typedef struct ChardevReturn ChardevReturn; 1519 1520 typedef struct ChardevReturnList 1521 { 1522 union { 1523 ChardevReturn *value; 1524 uint64_t padding; 1525 }; 1526 struct ChardevReturnList *next; 1527 } ChardevReturnList; 1528 1529 extern const char *TpmModel_lookup[]; 1530 typedef enum TpmModel 1531 { 1532 TPM_MODEL_TPM_TIS = 0, 1533 TPM_MODEL_MAX = 1, 1534 } TpmModel; 1535 1536 typedef struct TpmModelList 1537 { 1538 union { 1539 TpmModel value; 1540 uint64_t padding; 1541 }; 1542 struct TpmModelList *next; 1543 } TpmModelList; 1544 1545 extern const char *TpmType_lookup[]; 1546 typedef enum TpmType 1547 { 1548 TPM_TYPE_PASSTHROUGH = 0, 1549 TPM_TYPE_MAX = 1, 1550 } TpmType; 1551 1552 typedef struct TpmTypeList 1553 { 1554 union { 1555 TpmType value; 1556 uint64_t padding; 1557 }; 1558 struct TpmTypeList *next; 1559 } TpmTypeList; 1560 1561 1562 typedef struct TPMPassthroughOptions TPMPassthroughOptions; 1563 1564 typedef struct TPMPassthroughOptionsList 1565 { 1566 union { 1567 TPMPassthroughOptions *value; 1568 uint64_t padding; 1569 }; 1570 struct TPMPassthroughOptionsList *next; 1571 } TPMPassthroughOptionsList; 1572 1573 1574 typedef struct TpmTypeOptions TpmTypeOptions; 1575 1576 typedef struct TpmTypeOptionsList 1577 { 1578 union { 1579 TpmTypeOptions *value; 1580 uint64_t padding; 1581 }; 1582 struct TpmTypeOptionsList *next; 1583 } TpmTypeOptionsList; 1584 1585 extern const char *TpmTypeOptionsKind_lookup[]; 1586 typedef enum TpmTypeOptionsKind 1587 { 1588 TPM_TYPE_OPTIONS_KIND_PASSTHROUGH = 0, 1589 TPM_TYPE_OPTIONS_KIND_MAX = 1, 1590 } TpmTypeOptionsKind; 1591 1592 1593 typedef struct TPMInfo TPMInfo; 1594 1595 typedef struct TPMInfoList 1596 { 1597 union { 1598 TPMInfo *value; 1599 uint64_t padding; 1600 }; 1601 struct TPMInfoList *next; 1602 } TPMInfoList; 1603 1604 1605 typedef struct AcpiTableOptions AcpiTableOptions; 1606 1607 typedef struct AcpiTableOptionsList 1608 { 1609 union { 1610 AcpiTableOptions *value; 1611 uint64_t padding; 1612 }; 1613 struct AcpiTableOptionsList *next; 1614 } AcpiTableOptionsList; 1615 1616 extern const char *CommandLineParameterType_lookup[]; 1617 typedef 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 1626 typedef struct CommandLineParameterTypeList 1627 { 1628 union { 1629 CommandLineParameterType value; 1630 uint64_t padding; 1631 }; 1632 struct CommandLineParameterTypeList *next; 1633 } CommandLineParameterTypeList; 1634 1635 1636 typedef struct CommandLineParameterInfo CommandLineParameterInfo; 1637 1638 typedef struct CommandLineParameterInfoList 1639 { 1640 union { 1641 CommandLineParameterInfo *value; 1642 uint64_t padding; 1643 }; 1644 struct CommandLineParameterInfoList *next; 1645 } CommandLineParameterInfoList; 1646 1647 1648 typedef struct CommandLineOptionInfo CommandLineOptionInfo; 1649 1650 typedef struct CommandLineOptionInfoList 1651 { 1652 union { 1653 CommandLineOptionInfo *value; 1654 uint64_t padding; 1655 }; 1656 struct CommandLineOptionInfoList *next; 1657 } CommandLineOptionInfoList; 1658 1659 extern const char *X86CPURegister32_lookup[]; 1660 typedef 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 1673 typedef struct X86CPURegister32List 1674 { 1675 union { 1676 X86CPURegister32 value; 1677 uint64_t padding; 1678 }; 1679 struct X86CPURegister32List *next; 1680 } X86CPURegister32List; 1681 1682 1683 typedef struct X86CPUFeatureWordInfo X86CPUFeatureWordInfo; 1684 1685 typedef struct X86CPUFeatureWordInfoList 1686 { 1687 union { 1688 X86CPUFeatureWordInfo *value; 1689 uint64_t padding; 1690 }; 1691 struct X86CPUFeatureWordInfoList *next; 1692 } X86CPUFeatureWordInfoList; 1693 1694 extern const char *RxState_lookup[]; 1695 typedef 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 1703 typedef struct RxStateList 1704 { 1705 union { 1706 RxState value; 1707 uint64_t padding; 1708 }; 1709 struct RxStateList *next; 1710 } RxStateList; 1711 1712 1713 typedef struct RxFilterInfo RxFilterInfo; 1714 1715 typedef struct RxFilterInfoList 1716 { 1717 union { 1718 RxFilterInfo *value; 1719 uint64_t padding; 1720 }; 1721 struct RxFilterInfoList *next; 1722 } RxFilterInfoList; 1723 1724 extern const char *BlockdevDiscardOptions_lookup[]; 1725 typedef enum BlockdevDiscardOptions 1726 { 1727 BLOCKDEV_DISCARD_OPTIONS_IGNORE = 0, 1728 BLOCKDEV_DISCARD_OPTIONS_UNMAP = 1, 1729 BLOCKDEV_DISCARD_OPTIONS_MAX = 2, 1730 } BlockdevDiscardOptions; 1731 1732 typedef struct BlockdevDiscardOptionsList 1733 { 1734 union { 1735 BlockdevDiscardOptions value; 1736 uint64_t padding; 1737 }; 1738 struct BlockdevDiscardOptionsList *next; 1739 } BlockdevDiscardOptionsList; 1740 1741 extern const char *BlockdevAioOptions_lookup[]; 1742 typedef enum BlockdevAioOptions 1743 { 1744 BLOCKDEV_AIO_OPTIONS_THREADS = 0, 1745 BLOCKDEV_AIO_OPTIONS_NATIVE = 1, 1746 BLOCKDEV_AIO_OPTIONS_MAX = 2, 1747 } BlockdevAioOptions; 1748 1749 typedef struct BlockdevAioOptionsList 1750 { 1751 union { 1752 BlockdevAioOptions value; 1753 uint64_t padding; 1754 }; 1755 struct BlockdevAioOptionsList *next; 1756 } BlockdevAioOptionsList; 1757 1758 1759 typedef struct BlockdevCacheOptions BlockdevCacheOptions; 1760 1761 typedef struct BlockdevCacheOptionsList 1762 { 1763 union { 1764 BlockdevCacheOptions *value; 1765 uint64_t padding; 1766 }; 1767 struct BlockdevCacheOptionsList *next; 1768 } BlockdevCacheOptionsList; 1769 1770 1771 typedef struct BlockdevOptionsBase BlockdevOptionsBase; 1772 1773 typedef struct BlockdevOptionsBaseList 1774 { 1775 union { 1776 BlockdevOptionsBase *value; 1777 uint64_t padding; 1778 }; 1779 struct BlockdevOptionsBaseList *next; 1780 } BlockdevOptionsBaseList; 1781 1782 1783 typedef struct BlockdevOptionsFile BlockdevOptionsFile; 1784 1785 typedef struct BlockdevOptionsFileList 1786 { 1787 union { 1788 BlockdevOptionsFile *value; 1789 uint64_t padding; 1790 }; 1791 struct BlockdevOptionsFileList *next; 1792 } BlockdevOptionsFileList; 1793 1794 1795 typedef struct BlockdevOptionsVVFAT BlockdevOptionsVVFAT; 1796 1797 typedef struct BlockdevOptionsVVFATList 1798 { 1799 union { 1800 BlockdevOptionsVVFAT *value; 1801 uint64_t padding; 1802 }; 1803 struct BlockdevOptionsVVFATList *next; 1804 } BlockdevOptionsVVFATList; 1805 1806 1807 typedef struct BlockdevOptionsGenericFormat BlockdevOptionsGenericFormat; 1808 1809 typedef struct BlockdevOptionsGenericFormatList 1810 { 1811 union { 1812 BlockdevOptionsGenericFormat *value; 1813 uint64_t padding; 1814 }; 1815 struct BlockdevOptionsGenericFormatList *next; 1816 } BlockdevOptionsGenericFormatList; 1817 1818 1819 typedef struct BlockdevOptionsGenericCOWFormat BlockdevOptionsGenericCOWFormat; 1820 1821 typedef struct BlockdevOptionsGenericCOWFormatList 1822 { 1823 union { 1824 BlockdevOptionsGenericCOWFormat *value; 1825 uint64_t padding; 1826 }; 1827 struct BlockdevOptionsGenericCOWFormatList *next; 1828 } BlockdevOptionsGenericCOWFormatList; 1829 1830 1831 typedef struct BlockdevOptionsQcow2 BlockdevOptionsQcow2; 1832 1833 typedef struct BlockdevOptionsQcow2List 1834 { 1835 union { 1836 BlockdevOptionsQcow2 *value; 1837 uint64_t padding; 1838 }; 1839 struct BlockdevOptionsQcow2List *next; 1840 } BlockdevOptionsQcow2List; 1841 1842 1843 typedef struct BlockdevOptions BlockdevOptions; 1844 1845 typedef struct BlockdevOptionsList 1846 { 1847 union { 1848 BlockdevOptions *value; 1849 uint64_t padding; 1850 }; 1851 struct BlockdevOptionsList *next; 1852 } BlockdevOptionsList; 1853 1854 extern const char *BlockdevOptionsKind_lookup[]; 1855 typedef 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 1881 typedef struct BlockdevRef BlockdevRef; 1882 1883 typedef struct BlockdevRefList 1884 { 1885 union { 1886 BlockdevRef *value; 1887 uint64_t padding; 1888 }; 1889 struct BlockdevRefList *next; 1890 } BlockdevRefList; 1891 1892 extern const char *BlockdevRefKind_lookup[]; 1893 typedef 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 1903 void qapi_free_strList(strList * obj); 1904 void qapi_free_intList(intList * obj); 1905 void qapi_free_numberList(numberList * obj); 1906 void qapi_free_boolList(boolList * obj); 1907 void qapi_free_int8List(int8List * obj); 1908 void qapi_free_int16List(int16List * obj); 1909 void qapi_free_int32List(int32List * obj); 1910 void qapi_free_int64List(int64List * obj); 1911 void qapi_free_uint8List(uint8List * obj); 1912 void qapi_free_uint16List(uint16List * obj); 1913 void qapi_free_uint32List(uint32List * obj); 1914 void qapi_free_uint64List(uint64List * obj); 1915 1916 #endif /* QAPI_TYPES_BUILTIN_CLEANUP_DECL_H */ 1917 1918 1919 void qapi_free_ErrorClassList(ErrorClassList * obj); 1920 1921 struct NameInfo 1922 { 1923 bool has_name; 1924 char * name; 1925 }; 1926 1927 void qapi_free_NameInfoList(NameInfoList * obj); 1928 void qapi_free_NameInfo(NameInfo * obj); 1929 1930 struct VersionInfo 1931 { 1932 struct 1933 { 1934 int64_t major; 1935 int64_t minor; 1936 int64_t micro; 1937 } qemu; 1938 char * package; 1939 }; 1940 1941 void qapi_free_VersionInfoList(VersionInfoList * obj); 1942 void qapi_free_VersionInfo(VersionInfo * obj); 1943 1944 struct KvmInfo 1945 { 1946 bool enabled; 1947 bool present; 1948 }; 1949 1950 void qapi_free_KvmInfoList(KvmInfoList * obj); 1951 void qapi_free_KvmInfo(KvmInfo * obj); 1952 1953 void qapi_free_RunStateList(RunStateList * obj); 1954 1955 struct 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 1966 void qapi_free_SnapshotInfoList(SnapshotInfoList * obj); 1967 void qapi_free_SnapshotInfo(SnapshotInfo * obj); 1968 1969 struct ImageInfoSpecificQCow2 1970 { 1971 char * compat; 1972 bool has_lazy_refcounts; 1973 bool lazy_refcounts; 1974 }; 1975 1976 void qapi_free_ImageInfoSpecificQCow2List(ImageInfoSpecificQCow2List * obj); 1977 void qapi_free_ImageInfoSpecificQCow2(ImageInfoSpecificQCow2 * obj); 1978 1979 struct ImageInfoSpecificVmdk 1980 { 1981 char * create_type; 1982 int64_t cid; 1983 int64_t parent_cid; 1984 ImageInfoList * extents; 1985 }; 1986 1987 void qapi_free_ImageInfoSpecificVmdkList(ImageInfoSpecificVmdkList * obj); 1988 void qapi_free_ImageInfoSpecificVmdk(ImageInfoSpecificVmdk * obj); 1989 1990 struct ImageInfoSpecific 1991 { 1992 ImageInfoSpecificKind kind; 1993 union { 1994 void *data; 1995 ImageInfoSpecificQCow2 * qcow2; 1996 ImageInfoSpecificVmdk * vmdk; 1997 }; 1998 }; 1999 void qapi_free_ImageInfoSpecificList(ImageInfoSpecificList * obj); 2000 void qapi_free_ImageInfoSpecific(ImageInfoSpecific * obj); 2001 2002 struct 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 2031 void qapi_free_ImageInfoList(ImageInfoList * obj); 2032 void qapi_free_ImageInfo(ImageInfo * obj); 2033 2034 struct 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 2059 void qapi_free_ImageCheckList(ImageCheckList * obj); 2060 void qapi_free_ImageCheck(ImageCheck * obj); 2061 2062 struct StatusInfo 2063 { 2064 bool running; 2065 bool singlestep; 2066 RunState status; 2067 }; 2068 2069 void qapi_free_StatusInfoList(StatusInfoList * obj); 2070 void qapi_free_StatusInfo(StatusInfo * obj); 2071 2072 struct UuidInfo 2073 { 2074 char * UUID; 2075 }; 2076 2077 void qapi_free_UuidInfoList(UuidInfoList * obj); 2078 void qapi_free_UuidInfo(UuidInfo * obj); 2079 2080 struct ChardevInfo 2081 { 2082 char * label; 2083 char * filename; 2084 }; 2085 2086 void qapi_free_ChardevInfoList(ChardevInfoList * obj); 2087 void qapi_free_ChardevInfo(ChardevInfo * obj); 2088 2089 void qapi_free_DataFormatList(DataFormatList * obj); 2090 2091 struct CommandInfo 2092 { 2093 char * name; 2094 }; 2095 2096 void qapi_free_CommandInfoList(CommandInfoList * obj); 2097 void qapi_free_CommandInfo(CommandInfo * obj); 2098 2099 struct EventInfo 2100 { 2101 char * name; 2102 }; 2103 2104 void qapi_free_EventInfoList(EventInfoList * obj); 2105 void qapi_free_EventInfo(EventInfo * obj); 2106 2107 struct 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 2120 void qapi_free_MigrationStatsList(MigrationStatsList * obj); 2121 void qapi_free_MigrationStats(MigrationStats * obj); 2122 2123 struct 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 2132 void qapi_free_XBZRLECacheStatsList(XBZRLECacheStatsList * obj); 2133 void qapi_free_XBZRLECacheStats(XBZRLECacheStats * obj); 2134 2135 struct 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 2155 void qapi_free_MigrationInfoList(MigrationInfoList * obj); 2156 void qapi_free_MigrationInfo(MigrationInfo * obj); 2157 2158 void qapi_free_MigrationCapabilityList(MigrationCapabilityList * obj); 2159 2160 struct MigrationCapabilityStatus 2161 { 2162 MigrationCapability capability; 2163 bool state; 2164 }; 2165 2166 void qapi_free_MigrationCapabilityStatusList(MigrationCapabilityStatusList * obj); 2167 void qapi_free_MigrationCapabilityStatus(MigrationCapabilityStatus * obj); 2168 2169 struct MouseInfo 2170 { 2171 char * name; 2172 int64_t index; 2173 bool current; 2174 bool absolute; 2175 }; 2176 2177 void qapi_free_MouseInfoList(MouseInfoList * obj); 2178 void qapi_free_MouseInfo(MouseInfo * obj); 2179 2180 struct 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 2196 void qapi_free_CpuInfoList(CpuInfoList * obj); 2197 void qapi_free_CpuInfo(CpuInfo * obj); 2198 2199 struct 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 2232 void qapi_free_BlockDeviceInfoList(BlockDeviceInfoList * obj); 2233 void qapi_free_BlockDeviceInfo(BlockDeviceInfo * obj); 2234 2235 void qapi_free_BlockDeviceIoStatusList(BlockDeviceIoStatusList * obj); 2236 2237 struct 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 2248 void qapi_free_BlockDeviceMapEntryList(BlockDeviceMapEntryList * obj); 2249 void qapi_free_BlockDeviceMapEntry(BlockDeviceMapEntry * obj); 2250 2251 struct BlockDirtyInfo 2252 { 2253 int64_t count; 2254 int64_t granularity; 2255 }; 2256 2257 void qapi_free_BlockDirtyInfoList(BlockDirtyInfoList * obj); 2258 void qapi_free_BlockDirtyInfo(BlockDirtyInfo * obj); 2259 2260 struct 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 2276 void qapi_free_BlockInfoList(BlockInfoList * obj); 2277 void qapi_free_BlockInfo(BlockInfo * obj); 2278 2279 struct 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 2292 void qapi_free_BlockDeviceStatsList(BlockDeviceStatsList * obj); 2293 void qapi_free_BlockDeviceStats(BlockDeviceStats * obj); 2294 2295 struct BlockStats 2296 { 2297 bool has_device; 2298 char * device; 2299 BlockDeviceStats * stats; 2300 bool has_parent; 2301 BlockStats * parent; 2302 }; 2303 2304 void qapi_free_BlockStatsList(BlockStatsList * obj); 2305 void qapi_free_BlockStats(BlockStats * obj); 2306 2307 struct 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 2318 void qapi_free_VncClientInfoList(VncClientInfoList * obj); 2319 void qapi_free_VncClientInfo(VncClientInfo * obj); 2320 2321 struct 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 2336 void qapi_free_VncInfoList(VncInfoList * obj); 2337 void qapi_free_VncInfo(VncInfo * obj); 2338 2339 struct 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 2350 void qapi_free_SpiceChannelList(SpiceChannelList * obj); 2351 void qapi_free_SpiceChannel(SpiceChannel * obj); 2352 2353 void qapi_free_SpiceQueryMouseModeList(SpiceQueryMouseModeList * obj); 2354 2355 struct 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 2374 void qapi_free_SpiceInfoList(SpiceInfoList * obj); 2375 void qapi_free_SpiceInfo(SpiceInfo * obj); 2376 2377 struct BalloonInfo 2378 { 2379 int64_t actual; 2380 }; 2381 2382 void qapi_free_BalloonInfoList(BalloonInfoList * obj); 2383 void qapi_free_BalloonInfo(BalloonInfo * obj); 2384 2385 struct PciMemoryRange 2386 { 2387 int64_t base; 2388 int64_t limit; 2389 }; 2390 2391 void qapi_free_PciMemoryRangeList(PciMemoryRangeList * obj); 2392 void qapi_free_PciMemoryRange(PciMemoryRange * obj); 2393 2394 struct 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 2406 void qapi_free_PciMemoryRegionList(PciMemoryRegionList * obj); 2407 void qapi_free_PciMemoryRegion(PciMemoryRegion * obj); 2408 2409 struct 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 2424 void qapi_free_PciBridgeInfoList(PciBridgeInfoList * obj); 2425 void qapi_free_PciBridgeInfo(PciBridgeInfo * obj); 2426 2427 struct 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 2451 void qapi_free_PciDeviceInfoList(PciDeviceInfoList * obj); 2452 void qapi_free_PciDeviceInfo(PciDeviceInfo * obj); 2453 2454 struct PciInfo 2455 { 2456 int64_t bus; 2457 PciDeviceInfoList * devices; 2458 }; 2459 2460 void qapi_free_PciInfoList(PciInfoList * obj); 2461 void qapi_free_PciInfo(PciInfo * obj); 2462 2463 void qapi_free_BlockdevOnErrorList(BlockdevOnErrorList * obj); 2464 2465 void qapi_free_MirrorSyncModeList(MirrorSyncModeList * obj); 2466 2467 void qapi_free_BlockJobTypeList(BlockJobTypeList * obj); 2468 2469 struct 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 2481 void qapi_free_BlockJobInfoList(BlockJobInfoList * obj); 2482 void qapi_free_BlockJobInfo(BlockJobInfo * obj); 2483 2484 void qapi_free_NewImageModeList(NewImageModeList * obj); 2485 2486 struct 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 2496 void qapi_free_BlockdevSnapshotList(BlockdevSnapshotList * obj); 2497 void qapi_free_BlockdevSnapshot(BlockdevSnapshot * obj); 2498 2499 struct BlockdevSnapshotInternal 2500 { 2501 char * device; 2502 char * name; 2503 }; 2504 2505 void qapi_free_BlockdevSnapshotInternalList(BlockdevSnapshotInternalList * obj); 2506 void qapi_free_BlockdevSnapshotInternal(BlockdevSnapshotInternal * obj); 2507 2508 struct 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 2525 void qapi_free_DriveBackupList(DriveBackupList * obj); 2526 void qapi_free_DriveBackup(DriveBackup * obj); 2527 2528 struct Abort 2529 { 2530 }; 2531 2532 void qapi_free_AbortList(AbortList * obj); 2533 void qapi_free_Abort(Abort * obj); 2534 2535 struct 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 }; 2546 void qapi_free_TransactionActionList(TransactionActionList * obj); 2547 void qapi_free_TransactionAction(TransactionAction * obj); 2548 2549 struct ObjectPropertyInfo 2550 { 2551 char * name; 2552 char * type; 2553 }; 2554 2555 void qapi_free_ObjectPropertyInfoList(ObjectPropertyInfoList * obj); 2556 void qapi_free_ObjectPropertyInfo(ObjectPropertyInfo * obj); 2557 2558 struct ObjectTypeInfo 2559 { 2560 char * name; 2561 }; 2562 2563 void qapi_free_ObjectTypeInfoList(ObjectTypeInfoList * obj); 2564 void qapi_free_ObjectTypeInfo(ObjectTypeInfo * obj); 2565 2566 struct DevicePropertyInfo 2567 { 2568 char * name; 2569 char * type; 2570 }; 2571 2572 void qapi_free_DevicePropertyInfoList(DevicePropertyInfoList * obj); 2573 void qapi_free_DevicePropertyInfo(DevicePropertyInfo * obj); 2574 2575 struct NetdevNoneOptions 2576 { 2577 }; 2578 2579 void qapi_free_NetdevNoneOptionsList(NetdevNoneOptionsList * obj); 2580 void qapi_free_NetdevNoneOptions(NetdevNoneOptions * obj); 2581 2582 struct 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 2596 void qapi_free_NetLegacyNicOptionsList(NetLegacyNicOptionsList * obj); 2597 void qapi_free_NetLegacyNicOptions(NetLegacyNicOptions * obj); 2598 2599 struct String 2600 { 2601 char * str; 2602 }; 2603 2604 void qapi_free_StringList(StringList * obj); 2605 void qapi_free_String(String * obj); 2606 2607 struct 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 2639 void qapi_free_NetdevUserOptionsList(NetdevUserOptionsList * obj); 2640 void qapi_free_NetdevUserOptions(NetdevUserOptions * obj); 2641 2642 struct 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 2672 void qapi_free_NetdevTapOptionsList(NetdevTapOptionsList * obj); 2673 void qapi_free_NetdevTapOptions(NetdevTapOptions * obj); 2674 2675 struct 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 2691 void qapi_free_NetdevSocketOptionsList(NetdevSocketOptionsList * obj); 2692 void qapi_free_NetdevSocketOptions(NetdevSocketOptions * obj); 2693 2694 struct 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 2706 void qapi_free_NetdevVdeOptionsList(NetdevVdeOptionsList * obj); 2707 void qapi_free_NetdevVdeOptions(NetdevVdeOptions * obj); 2708 2709 struct NetdevDumpOptions 2710 { 2711 bool has_len; 2712 uint64_t len; 2713 bool has_file; 2714 char * file; 2715 }; 2716 2717 void qapi_free_NetdevDumpOptionsList(NetdevDumpOptionsList * obj); 2718 void qapi_free_NetdevDumpOptions(NetdevDumpOptions * obj); 2719 2720 struct NetdevBridgeOptions 2721 { 2722 bool has_br; 2723 char * br; 2724 bool has_helper; 2725 char * helper; 2726 }; 2727 2728 void qapi_free_NetdevBridgeOptionsList(NetdevBridgeOptionsList * obj); 2729 void qapi_free_NetdevBridgeOptions(NetdevBridgeOptions * obj); 2730 2731 struct NetdevHubPortOptions 2732 { 2733 int32_t hubid; 2734 }; 2735 2736 void qapi_free_NetdevHubPortOptionsList(NetdevHubPortOptionsList * obj); 2737 void qapi_free_NetdevHubPortOptions(NetdevHubPortOptions * obj); 2738 2739 struct NetdevNetmapOptions 2740 { 2741 char * ifname; 2742 bool has_devname; 2743 char * devname; 2744 }; 2745 2746 void qapi_free_NetdevNetmapOptionsList(NetdevNetmapOptionsList * obj); 2747 void qapi_free_NetdevNetmapOptions(NetdevNetmapOptions * obj); 2748 2749 struct 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 }; 2766 void qapi_free_NetClientOptionsList(NetClientOptionsList * obj); 2767 void qapi_free_NetClientOptions(NetClientOptions * obj); 2768 2769 struct 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 2780 void qapi_free_NetLegacyList(NetLegacyList * obj); 2781 void qapi_free_NetLegacy(NetLegacy * obj); 2782 2783 struct Netdev 2784 { 2785 char * id; 2786 NetClientOptions * opts; 2787 }; 2788 2789 void qapi_free_NetdevList(NetdevList * obj); 2790 void qapi_free_Netdev(Netdev * obj); 2791 2792 struct 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 2804 void qapi_free_InetSocketAddressList(InetSocketAddressList * obj); 2805 void qapi_free_InetSocketAddress(InetSocketAddress * obj); 2806 2807 struct UnixSocketAddress 2808 { 2809 char * path; 2810 }; 2811 2812 void qapi_free_UnixSocketAddressList(UnixSocketAddressList * obj); 2813 void qapi_free_UnixSocketAddress(UnixSocketAddress * obj); 2814 2815 struct SocketAddress 2816 { 2817 SocketAddressKind kind; 2818 union { 2819 void *data; 2820 InetSocketAddress * inet; 2821 UnixSocketAddress * q_unix; 2822 String * fd; 2823 }; 2824 }; 2825 void qapi_free_SocketAddressList(SocketAddressList * obj); 2826 void qapi_free_SocketAddress(SocketAddress * obj); 2827 2828 struct 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 2838 void qapi_free_MachineInfoList(MachineInfoList * obj); 2839 void qapi_free_MachineInfo(MachineInfo * obj); 2840 2841 struct CpuDefinitionInfo 2842 { 2843 char * name; 2844 }; 2845 2846 void qapi_free_CpuDefinitionInfoList(CpuDefinitionInfoList * obj); 2847 void qapi_free_CpuDefinitionInfo(CpuDefinitionInfo * obj); 2848 2849 struct AddfdInfo 2850 { 2851 int64_t fdset_id; 2852 int64_t fd; 2853 }; 2854 2855 void qapi_free_AddfdInfoList(AddfdInfoList * obj); 2856 void qapi_free_AddfdInfo(AddfdInfo * obj); 2857 2858 struct FdsetFdInfo 2859 { 2860 int64_t fd; 2861 bool has_opaque; 2862 char * opaque; 2863 }; 2864 2865 void qapi_free_FdsetFdInfoList(FdsetFdInfoList * obj); 2866 void qapi_free_FdsetFdInfo(FdsetFdInfo * obj); 2867 2868 struct FdsetInfo 2869 { 2870 int64_t fdset_id; 2871 FdsetFdInfoList * fds; 2872 }; 2873 2874 void qapi_free_FdsetInfoList(FdsetInfoList * obj); 2875 void qapi_free_FdsetInfo(FdsetInfo * obj); 2876 2877 struct TargetInfo 2878 { 2879 char * arch; 2880 }; 2881 2882 void qapi_free_TargetInfoList(TargetInfoList * obj); 2883 void qapi_free_TargetInfo(TargetInfo * obj); 2884 2885 void qapi_free_QKeyCodeList(QKeyCodeList * obj); 2886 2887 struct KeyValue 2888 { 2889 KeyValueKind kind; 2890 union { 2891 void *data; 2892 int64_t number; 2893 QKeyCode qcode; 2894 }; 2895 }; 2896 void qapi_free_KeyValueList(KeyValueList * obj); 2897 void qapi_free_KeyValue(KeyValue * obj); 2898 2899 struct ChardevFile 2900 { 2901 bool has_in; 2902 char * in; 2903 char * out; 2904 }; 2905 2906 void qapi_free_ChardevFileList(ChardevFileList * obj); 2907 void qapi_free_ChardevFile(ChardevFile * obj); 2908 2909 struct ChardevHostdev 2910 { 2911 char * device; 2912 }; 2913 2914 void qapi_free_ChardevHostdevList(ChardevHostdevList * obj); 2915 void qapi_free_ChardevHostdev(ChardevHostdev * obj); 2916 2917 struct 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 2930 void qapi_free_ChardevSocketList(ChardevSocketList * obj); 2931 void qapi_free_ChardevSocket(ChardevSocket * obj); 2932 2933 struct ChardevUdp 2934 { 2935 SocketAddress * remote; 2936 bool has_local; 2937 SocketAddress * local; 2938 }; 2939 2940 void qapi_free_ChardevUdpList(ChardevUdpList * obj); 2941 void qapi_free_ChardevUdp(ChardevUdp * obj); 2942 2943 struct ChardevMux 2944 { 2945 char * chardev; 2946 }; 2947 2948 void qapi_free_ChardevMuxList(ChardevMuxList * obj); 2949 void qapi_free_ChardevMux(ChardevMux * obj); 2950 2951 struct ChardevStdio 2952 { 2953 bool has_signal; 2954 bool signal; 2955 }; 2956 2957 void qapi_free_ChardevStdioList(ChardevStdioList * obj); 2958 void qapi_free_ChardevStdio(ChardevStdio * obj); 2959 2960 struct ChardevSpiceChannel 2961 { 2962 char * type; 2963 }; 2964 2965 void qapi_free_ChardevSpiceChannelList(ChardevSpiceChannelList * obj); 2966 void qapi_free_ChardevSpiceChannel(ChardevSpiceChannel * obj); 2967 2968 struct ChardevSpicePort 2969 { 2970 char * fqdn; 2971 }; 2972 2973 void qapi_free_ChardevSpicePortList(ChardevSpicePortList * obj); 2974 void qapi_free_ChardevSpicePort(ChardevSpicePort * obj); 2975 2976 struct 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 2988 void qapi_free_ChardevVCList(ChardevVCList * obj); 2989 void qapi_free_ChardevVC(ChardevVC * obj); 2990 2991 struct ChardevRingbuf 2992 { 2993 bool has_size; 2994 int64_t size; 2995 }; 2996 2997 void qapi_free_ChardevRingbufList(ChardevRingbufList * obj); 2998 void qapi_free_ChardevRingbuf(ChardevRingbuf * obj); 2999 3000 struct ChardevDummy 3001 { 3002 }; 3003 3004 void qapi_free_ChardevDummyList(ChardevDummyList * obj); 3005 void qapi_free_ChardevDummy(ChardevDummy * obj); 3006 3007 struct 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 }; 3032 void qapi_free_ChardevBackendList(ChardevBackendList * obj); 3033 void qapi_free_ChardevBackend(ChardevBackend * obj); 3034 3035 struct ChardevReturn 3036 { 3037 bool has_pty; 3038 char * pty; 3039 }; 3040 3041 void qapi_free_ChardevReturnList(ChardevReturnList * obj); 3042 void qapi_free_ChardevReturn(ChardevReturn * obj); 3043 3044 void qapi_free_TpmModelList(TpmModelList * obj); 3045 3046 void qapi_free_TpmTypeList(TpmTypeList * obj); 3047 3048 struct TPMPassthroughOptions 3049 { 3050 bool has_path; 3051 char * path; 3052 bool has_cancel_path; 3053 char * cancel_path; 3054 }; 3055 3056 void qapi_free_TPMPassthroughOptionsList(TPMPassthroughOptionsList * obj); 3057 void qapi_free_TPMPassthroughOptions(TPMPassthroughOptions * obj); 3058 3059 struct TpmTypeOptions 3060 { 3061 TpmTypeOptionsKind kind; 3062 union { 3063 void *data; 3064 TPMPassthroughOptions * passthrough; 3065 }; 3066 }; 3067 void qapi_free_TpmTypeOptionsList(TpmTypeOptionsList * obj); 3068 void qapi_free_TpmTypeOptions(TpmTypeOptions * obj); 3069 3070 struct TPMInfo 3071 { 3072 char * id; 3073 TpmModel model; 3074 TpmTypeOptions * options; 3075 }; 3076 3077 void qapi_free_TPMInfoList(TPMInfoList * obj); 3078 void qapi_free_TPMInfo(TPMInfo * obj); 3079 3080 struct 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 3102 void qapi_free_AcpiTableOptionsList(AcpiTableOptionsList * obj); 3103 void qapi_free_AcpiTableOptions(AcpiTableOptions * obj); 3104 3105 void qapi_free_CommandLineParameterTypeList(CommandLineParameterTypeList * obj); 3106 3107 struct CommandLineParameterInfo 3108 { 3109 char * name; 3110 CommandLineParameterType type; 3111 bool has_help; 3112 char * help; 3113 }; 3114 3115 void qapi_free_CommandLineParameterInfoList(CommandLineParameterInfoList * obj); 3116 void qapi_free_CommandLineParameterInfo(CommandLineParameterInfo * obj); 3117 3118 struct CommandLineOptionInfo 3119 { 3120 char * option; 3121 CommandLineParameterInfoList * parameters; 3122 }; 3123 3124 void qapi_free_CommandLineOptionInfoList(CommandLineOptionInfoList * obj); 3125 void qapi_free_CommandLineOptionInfo(CommandLineOptionInfo * obj); 3126 3127 void qapi_free_X86CPURegister32List(X86CPURegister32List * obj); 3128 3129 struct 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 3138 void qapi_free_X86CPUFeatureWordInfoList(X86CPUFeatureWordInfoList * obj); 3139 void qapi_free_X86CPUFeatureWordInfo(X86CPUFeatureWordInfo * obj); 3140 3141 void qapi_free_RxStateList(RxStateList * obj); 3142 3143 struct 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 3158 void qapi_free_RxFilterInfoList(RxFilterInfoList * obj); 3159 void qapi_free_RxFilterInfo(RxFilterInfo * obj); 3160 3161 void qapi_free_BlockdevDiscardOptionsList(BlockdevDiscardOptionsList * obj); 3162 3163 void qapi_free_BlockdevAioOptionsList(BlockdevAioOptionsList * obj); 3164 3165 struct 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 3175 void qapi_free_BlockdevCacheOptionsList(BlockdevCacheOptionsList * obj); 3176 void qapi_free_BlockdevCacheOptions(BlockdevCacheOptions * obj); 3177 3178 struct 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 3197 void qapi_free_BlockdevOptionsBaseList(BlockdevOptionsBaseList * obj); 3198 void qapi_free_BlockdevOptionsBase(BlockdevOptionsBase * obj); 3199 3200 struct BlockdevOptionsFile 3201 { 3202 char * filename; 3203 }; 3204 3205 void qapi_free_BlockdevOptionsFileList(BlockdevOptionsFileList * obj); 3206 void qapi_free_BlockdevOptionsFile(BlockdevOptionsFile * obj); 3207 3208 struct 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 3219 void qapi_free_BlockdevOptionsVVFATList(BlockdevOptionsVVFATList * obj); 3220 void qapi_free_BlockdevOptionsVVFAT(BlockdevOptionsVVFAT * obj); 3221 3222 struct BlockdevOptionsGenericFormat 3223 { 3224 BlockdevRef * file; 3225 }; 3226 3227 void qapi_free_BlockdevOptionsGenericFormatList(BlockdevOptionsGenericFormatList * obj); 3228 void qapi_free_BlockdevOptionsGenericFormat(BlockdevOptionsGenericFormat * obj); 3229 3230 struct BlockdevOptionsGenericCOWFormat 3231 { 3232 BlockdevOptionsGenericFormat * base; 3233 bool has_backing; 3234 BlockdevRef * backing; 3235 }; 3236 3237 void qapi_free_BlockdevOptionsGenericCOWFormatList(BlockdevOptionsGenericCOWFormatList * obj); 3238 void qapi_free_BlockdevOptionsGenericCOWFormat(BlockdevOptionsGenericCOWFormat * obj); 3239 3240 struct 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 3253 void qapi_free_BlockdevOptionsQcow2List(BlockdevOptionsQcow2List * obj); 3254 void qapi_free_BlockdevOptionsQcow2(BlockdevOptionsQcow2 * obj); 3255 3256 struct 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 }; 3297 void qapi_free_BlockdevOptionsList(BlockdevOptionsList * obj); 3298 void qapi_free_BlockdevOptions(BlockdevOptions * obj); 3299 3300 struct BlockdevRef 3301 { 3302 BlockdevRefKind kind; 3303 union { 3304 void *data; 3305 BlockdevOptions * definition; 3306 char * reference; 3307 }; 3308 }; 3309 extern const int BlockdevRef_qtypes[]; 3310 void qapi_free_BlockdevRefList(BlockdevRefList * obj); 3311 void qapi_free_BlockdevRef(BlockdevRef * obj); 3312 3313 #endif 3314