On Fri, Jun 07, 2013 at 06:12:30PM +0800, Amos Kong wrote:
> Sent out a draft patch in the end of this week. It doesn't support:
> * output all stuffs in one shot.
> * introspect event
> * provide metadata date
>
> How can we define a dynamic dict in qmp-schema.json ?
>
> Currently I just output the raw json dict by a string, Libvirt needs
> parse two times, convert the string to json format.
>
> qmp-schema.h: auto generated head file by qapi script
>
> Attached some examples.
> * query-qmp-schema-no-param.txt
{'execute': 'query-qmp-schema'}
> * query-qmp-schema-filter-by-name.txt
{"execute": "query-qmp-schema", "arguments": { "name" : "query-name"}}
> * query-qmp-schema-filter-all-command.txt
{'execute': 'query-qmp-schema', 'arguments': {'type': 'command'}}
> * query-qmp-schema-filter-all-type.txt
{'execute': 'query-qmp-schema', 'arguments': {'type': 'type'}}
> * query-qmp-schema-filter-all-enum.txt
{'execute': 'query-qmp-schema', 'arguments': { 'type': 'enum'}}
{'execute': 'query-qmp-schema'}
{
"return": [
"{ 'enum': 'ErrorClass', 'data': [ 'GenericError', 'CommandNotFound',
'DeviceEncrypted', 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }",
"{ 'command': 'add_client', 'data': { 'protocol': 'str', 'fdname':
'str', '*skipauth': 'bool', '*tls': 'bool' } }",
"{ 'type': 'NameInfo', 'data': {'*name': 'str'} }",
"{ 'command': 'query-name', 'returns': 'NameInfo' }",
"{ 'type': 'VersionInfo', 'data': {'qemu': {'major': 'int', 'minor':
'int', 'micro': 'int'}, 'package': 'str'} }",
"{ 'command': 'query-version', 'returns': 'VersionInfo' }",
"{ 'type': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'}
}",
"{ 'command': 'query-kvm', 'returns': 'KvmInfo' }",
"{ 'enum': 'RunState', 'data': [ 'debug', 'inmigrate',
'internal-error', 'io-error', 'paused', 'postmigrate', 'prelaunch',
'finish-migrate', 'restore-vm', 'running', 'save-vm', 'shutdown', 'suspended',
'watchdog', 'guest-panicked' ] }",
"{ 'type': 'SnapshotInfo', 'data': { 'id': 'str', 'name': 'str',
'vm-state-size': 'int', 'date-sec': 'int', 'date-nsec': 'int',
'vm-clock-sec': 'int', 'vm-clock-nsec': 'int' } }",
"{ 'type': 'ImageInfo', 'data': {'filename': 'str', 'format': 'str',
'*dirty-flag': 'bool', '*actual-size': 'int', 'virtual-size': 'int',
'*cluster-size': 'int', '*encrypted': 'bool', '*backing-filename': 'str',
'*full-backing-filename': 'str', '*backing-filename-format': 'str',
'*snapshots': ['SnapshotInfo'] } }",
"{ 'type': 'ImageCheck', 'data': {'filename': 'str', 'format': 'str',
'check-errors': 'int', '*image-end-offset': 'int', '*corruptions': 'int',
'*leaks': 'int', '*corruptions-fixed': 'int', '*leaks-fixed': 'int',
'*total-clusters': 'int', '*allocated-clusters': 'int',
'*fragmented-clusters': 'int', '*compressed-clusters': 'int' } }",
"{ 'type': 'StatusInfo', 'data': {'running': 'bool', 'singlestep':
'bool', 'status': 'RunState'} }",
"{ 'command': 'query-status', 'returns': 'StatusInfo' }",
"{ 'type': 'UuidInfo', 'data': {'UUID': 'str'} }",
"{ 'command': 'query-uuid', 'returns': 'UuidInfo' }",
"{ 'type': 'ChardevInfo', 'data': {'label': 'str', 'filename': 'str'}
}",
"{ 'command': 'query-chardev', 'returns': ['ChardevInfo'] }",
"{ 'enum': 'DataFormat' 'data': [ 'utf8', 'base64' ] }",
"{ 'command': 'ringbuf-write', 'data': {'device': 'str', 'data':
'str', '*format': 'DataFormat'} }",
"{ 'command': 'ringbuf-read', 'data': {'device': 'str', 'size': 'int',
'*format': 'DataFormat'}, 'returns': 'str' }",
"{ 'type': 'CommandInfo', 'data': {'name': 'str'} }",
"{ 'command': 'query-commands', 'returns': ['CommandInfo'] }",
"{ 'type': 'EventInfo', 'data': {'name': 'str'} }",
"{ 'command': 'query-events', 'returns': ['EventInfo'] }",
"{ 'type': 'MigrationStats', 'data': {'transferred': 'int',
'remaining': 'int', 'total': 'int' , 'duplicate': 'int', 'skipped': 'int',
'normal': 'int', 'normal-bytes': 'int', 'dirty-pages-rate' : 'int' } }",
"{ 'type': 'XBZRLECacheStats', 'data': {'cache-size': 'int', 'bytes':
'int', 'pages': 'int', 'cache-miss': 'int', 'overflow': 'int' } }",
"{ 'type': 'MigrationInfo', 'data': {'*status': 'str', '*ram':
'MigrationStats', '*disk': 'MigrationStats', '*xbzrle-cache':
'XBZRLECacheStats', '*total-time': 'int', '*expected-downtime': 'int',
'*downtime': 'int'} }",
"{ 'command': 'query-migrate', 'returns': 'MigrationInfo' }",
"{ 'enum': 'MigrationCapability', 'data': ['xbzrle'] }",
"{ 'type': 'MigrationCapabilityStatus', 'data': { 'capability' :
'MigrationCapability', 'state' : 'bool' } }",
"{ 'command': 'migrate-set-capabilities', 'data': { 'capabilities':
['MigrationCapabilityStatus'] } }",
"{ 'command': 'query-migrate-capabilities', 'returns':
['MigrationCapabilityStatus']}",
"{ 'type': 'MouseInfo', 'data': {'name': 'str', 'index': 'int',
'current': 'bool', 'absolute': 'bool'} }",
"{ 'command': 'query-mice', 'returns': ['MouseInfo'] }",
"{ 'type': 'CpuInfo', 'data': {'CPU': 'int', 'current': 'bool',
'halted': 'bool', '*pc': 'int', '*nip': 'int', '*npc': 'int', '*PC': 'int',
'thread_id': 'int'} }",
"{ 'command': 'query-cpus', 'returns': ['CpuInfo'] }",
"{ 'type': 'BlockDeviceInfo', 'data': { 'file': 'str', 'ro': 'bool',
'drv': 'str', '*backing_file': 'str', 'backing_file_depth': 'int',
'encrypted': 'bool', 'encryption_key_missing': 'bool', 'bps': 'int', 'bps_rd':
'int', 'bps_wr': 'int', 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int'} }",
"{ 'enum': 'BlockDeviceIoStatus', 'data': [ 'ok', 'failed', 'nospace' ]
}",
"{ 'type': 'BlockDirtyInfo', 'data': {'count': 'int', 'granularity':
'int'} }",
"{ 'type': 'BlockInfo', 'data': {'device': 'str', 'type': 'str',
'removable': 'bool', 'locked': 'bool', '*inserted': 'BlockDeviceInfo',
'*tray_open': 'bool', '*io-status': 'BlockDeviceIoStatus', '*dirty':
'BlockDirtyInfo' } }",
"{ 'command': 'query-block', 'returns': ['BlockInfo'] }",
"{ 'type': 'BlockDeviceStats', 'data': {'rd_bytes': 'int', 'wr_bytes':
'int', 'rd_operations': 'int', 'wr_operations': 'int', 'flush_operations':
'int', 'flush_total_time_ns': 'int', 'wr_total_time_ns': 'int',
'rd_total_time_ns': 'int', 'wr_highest_offset': 'int' } }",
"{ 'type': 'BlockStats', 'data': {'*device': 'str', 'stats':
'BlockDeviceStats', '*parent': 'BlockStats'} }",
"{ 'command': 'query-blockstats', 'returns': ['BlockStats'] }",
"{ 'type': 'VncClientInfo', 'data': {'host': 'str', 'family': 'str',
'service': 'str', '*x509_dname': 'str', '*sasl_username': 'str'} }",
"{ 'type': 'VncInfo', 'data': {'enabled': 'bool', '*host': 'str',
'*family': 'str', '*service': 'str', '*auth': 'str', '*clients':
['VncClientInfo']} }",
"{ 'command': 'query-vnc', 'returns': 'VncInfo' }",
"{ 'type': 'SpiceChannel', 'data': {'host': 'str', 'family': 'str',
'port': 'str', 'connection-id': 'int', 'channel-type': 'int', 'channel-id':
'int', 'tls': 'bool'} }",
"{ 'enum': 'SpiceQueryMouseMode', 'data': [ 'client', 'server',
'unknown' ] }",
"{ 'type': 'SpiceInfo', 'data': {'enabled': 'bool', 'migrated':
'bool', '*host': 'str', '*port': 'int', '*tls-port': 'int', '*auth': 'str',
'*compiled-version': 'str', 'mouse-mode': 'SpiceQueryMouseMode', '*channels':
['SpiceChannel']} }",
"{ 'command': 'query-spice', 'returns': 'SpiceInfo' }",
"{ 'type': 'BalloonInfo', 'data': {'actual': 'int' } }",
"{ 'command': 'query-balloon', 'returns': 'BalloonInfo' }",
"{ 'type': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'}
}",
"{ 'type': 'PciMemoryRegion', 'data': {'bar': 'int', 'type': 'str',
'address': 'int', 'size': 'int', '*prefetch': 'bool', '*mem_type_64': 'bool' }
}",
"{ 'type': 'PciBridgeInfo', 'data': {'bus': { 'number': 'int',
'secondary': 'int', 'subordinate': 'int', 'io_range': 'PciMemoryRange',
'memory_range': 'PciMemoryRange', 'prefetchable_range': 'PciMemoryRange' },
'*devices': ['PciDeviceInfo']} }",
"{ 'type': 'PciDeviceInfo', 'data': {'bus': 'int', 'slot': 'int',
'function': 'int', 'class_info': {'*desc': 'str', 'class': 'int'}, 'id':
{'device': 'int', 'vendor': 'int'}, '*irq': 'int', 'qdev_id': 'str',
'*pci_bridge': 'PciBridgeInfo', 'regions': ['PciMemoryRegion']} }",
"{ 'type': 'PciInfo', 'data': {'bus': 'int', 'devices':
['PciDeviceInfo']} }",
"{ 'command': 'query-pci', 'returns': ['PciInfo'] }",
"{ 'enum': 'BlockdevOnError', 'data': ['report', 'ignore', 'enospc',
'stop'] }",
"{ 'enum': 'MirrorSyncMode', 'data': ['top', 'full', 'none'] }",
"{ 'type': 'BlockJobInfo', 'data': {'type': 'str', 'device': 'str',
'len': 'int', 'offset': 'int', 'busy': 'bool', 'paused': 'bool', 'speed':
'int', 'io-status': 'BlockDeviceIoStatus'} }",
"{ 'command': 'query-block-jobs', 'returns': ['BlockJobInfo'] }",
"{ 'command': 'quit' }",
"{ 'command': 'stop' }",
"{ 'command': 'system_reset' }",
"{ 'command': 'system_powerdown' }",
"{ 'command': 'cpu', 'data': {'index': 'int'} }",
"{ 'command': 'cpu-add', 'data': {'id': 'int'} }",
"{ 'command': 'memsave', 'data': {'val': 'int', 'size': 'int',
'filename': 'str', '*cpu-index': 'int'} }",
"{ 'command': 'pmemsave', 'data': {'val': 'int', 'size': 'int',
'filename': 'str'} }",
"{ 'command': 'cont' }",
"{ 'command': 'system_wakeup' }",
"{ 'command': 'inject-nmi' }",
"{ 'command': 'set_link', 'data': {'name': 'str', 'up': 'bool'} }",
"{ 'command': 'block_passwd', 'data': {'device': 'str', 'password':
'str'} }",
"{ 'command': 'balloon', 'data': {'value': 'int'} }",
"{ 'command': 'block_resize', 'data': { 'device': 'str', 'size': 'int'
}}",
"{ 'enum': 'NewImageMode' 'data': [ 'existing', 'absolute-paths' ] }",
"{ 'type': 'BlockdevSnapshot', 'data': { 'device': 'str',
'snapshot-file': 'str', '*format': 'str', '*mode': 'NewImageMode' } }",
"{ 'union': 'TransactionAction', 'data': { 'blockdev-snapshot-sync':
'BlockdevSnapshot' } }",
"{ 'command': 'transaction', 'data': { 'actions': [
'TransactionAction' ] } }",
"{ 'command': 'blockdev-snapshot-sync', 'data': { 'device': 'str',
'snapshot-file': 'str', '*format': 'str', '*mode': 'NewImageMode'} }",
"{ 'command': 'human-monitor-command', 'data': {'command-line': 'str',
'*cpu-index': 'int'}, 'returns': 'str' }",
"{ 'command': 'block-commit', 'data': { 'device': 'str', '*base':
'str', 'top': 'str', '*speed': 'int' } }",
"{ 'command': 'drive-mirror', 'data': { 'device': 'str', 'target':
'str', '*format': 'str', 'sync': 'MirrorSyncMode', '*mode': 'NewImageMode',
'*speed': 'int', '*granularity': 'uint32', '*buf-size': 'int',
'*on-source-error': 'BlockdevOnError', '*on-target-error': 'BlockdevOnError' }
}",
"{ 'command': 'migrate_cancel' }",
"{ 'command': 'migrate_set_downtime', 'data': {'value': 'number'} }",
"{ 'command': 'migrate_set_speed', 'data': {'value': 'int'} }",
"{ 'command': 'migrate-set-cache-size', 'data': {'value': 'int'} }",
"{ 'command': 'query-migrate-cache-size', 'returns': 'int' }",
"{ 'type': 'ObjectPropertyInfo', 'data': { 'name': 'str', 'type':
'str' } }",
"{ 'command': 'qom-list', 'data': { 'path': 'str' }, 'returns': [
'ObjectPropertyInfo' ] }",
"{ 'command': 'qom-get', 'data': { 'path': 'str', 'property': 'str' },
'returns': 'visitor', 'gen': 'no' }",
"{ 'command': 'qom-set', 'data': { 'path': 'str', 'property': 'str',
'value': 'visitor' }, 'gen': 'no' }",
"{ 'command': 'set_password', 'data': {'protocol': 'str', 'password':
'str', '*connected': 'str'} }",
"{ 'command': 'expire_password', 'data': {'protocol': 'str', 'time':
'str'} }",
"{ 'command': 'eject', 'data': {'device': 'str', '*force': 'bool'} }",
"{ 'command': 'change-vnc-password', 'data': {'password': 'str'} }",
"{ 'command': 'change', 'data': {'device': 'str', 'target': 'str',
'*arg': 'str'} }",
"{ 'command': 'block_set_io_throttle', 'data': { 'device': 'str',
'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int', 'iops': 'int', 'iops_rd':
'int', 'iops_wr': 'int' } }",
"{ 'command': 'block-stream', 'data': { 'device': 'str', '*base':
'str', '*speed': 'int', '*on-error': 'BlockdevOnError' } }",
"{ 'command': 'block-job-set-speed', 'data': { 'device': 'str',
'speed': 'int' } }",
"{ 'command': 'block-job-cancel', 'data': { 'device': 'str', '*force':
'bool' } }",
"{ 'command': 'block-job-pause', 'data': { 'device': 'str' } }",
"{ 'command': 'block-job-resume', 'data': { 'device': 'str' } }",
"{ 'command': 'block-job-complete', 'data': { 'device': 'str' } }",
"{ 'type': 'ObjectTypeInfo', 'data': { 'name': 'str' } }",
"{ 'command': 'qom-list-types', 'data': { '*implements': 'str',
'*abstract': 'bool' }, 'returns': [ 'ObjectTypeInfo' ] }",
"{ 'type': 'DevicePropertyInfo', 'data': { 'name': 'str', 'type':
'str' } }",
"{ 'command': 'device-list-properties', 'data': { 'typename': 'str'},
'returns': [ 'DevicePropertyInfo' ] }",
"{ 'command': 'migrate', 'data': {'uri': 'str', '*blk': 'bool',
'*inc': 'bool', '*detach': 'bool' } }",
"{ 'command': 'xen-save-devices-state', 'data': {'filename': 'str'} }",
"{ 'command': 'xen-set-global-dirty-log', 'data': { 'enable': 'bool' }
}",
"{ 'command': 'device_del', 'data': {'id': 'str'} }",
"{ 'command': 'dump-guest-memory', 'data': { 'paging': 'bool',
'protocol': 'str', '*begin': 'int', '*length': 'int' } }",
"{ 'command': 'netdev_add', 'data': {'type': 'str', 'id': 'str',
'*props': '**'}, 'gen': 'no' }",
"{ 'command': 'netdev_del', 'data': {'id': 'str'} }",
"{ 'type': 'NetdevNoneOptions', 'data': { } }",
"{ 'type': 'NetLegacyNicOptions', 'data': { '*netdev': 'str',
'*macaddr': 'str', '*model': 'str', '*addr': 'str', '*vectors': 'uint32' }
}",
"{ 'type': 'String', 'data': { 'str': 'str' } }",
"{ 'type': 'NetdevUserOptions', 'data': { '*hostname': 'str',
'*restrict': 'bool', '*ip': 'str', '*net': 'str', '*host': 'str', '*tftp':
'str', '*bootfile': 'str', '*dhcpstart': 'str', '*dns': 'str',
'*dnssearch': ['String'], '*smb': 'str', '*smbserver': 'str', '*hostfwd':
['String'], '*guestfwd': ['String'] } }",
"{ 'type': 'NetdevTapOptions', 'data': { '*ifname': 'str', '*fd':
'str', '*fds': 'str', '*script': 'str', '*downscript': 'str', '*helper':
'str', '*sndbuf': 'size', '*vnet_hdr': 'bool', '*vhost': 'bool',
'*vhostfd': 'str', '*vhostfds': 'str', '*vhostforce': 'bool', '*queues':
'uint32'} }",
"{ 'type': 'NetdevSocketOptions', 'data': { '*fd': 'str', '*listen':
'str', '*connect': 'str', '*mcast': 'str', '*localaddr': 'str', '*udp':
'str' } }",
"{ 'type': 'NetdevVdeOptions', 'data': { '*sock': 'str', '*port':
'uint16', '*group': 'str', '*mode': 'uint16' } }",
"{ 'type': 'NetdevDumpOptions', 'data': { '*len': 'size', '*file':
'str' } }",
"{ 'type': 'NetdevBridgeOptions', 'data': { '*br': 'str', '*helper':
'str' } }",
"{ 'type': 'NetdevHubPortOptions', 'data': { 'hubid': 'int32' } }",
"{ 'union': 'NetClientOptions', 'data': { 'none':
'NetdevNoneOptions', 'nic': 'NetLegacyNicOptions', 'user':
'NetdevUserOptions', 'tap': 'NetdevTapOptions', 'socket':
'NetdevSocketOptions', 'vde': 'NetdevVdeOptions', 'dump':
'NetdevDumpOptions', 'bridge': 'NetdevBridgeOptions', 'hubport':
'NetdevHubPortOptions' } }",
"{ 'type': 'NetLegacy', 'data': { '*vlan': 'int32', '*id': 'str',
'*name': 'str', 'opts': 'NetClientOptions' } }",
"{ 'type': 'Netdev', 'data': { 'id': 'str', 'opts':
'NetClientOptions' } }",
"{ 'type': 'InetSocketAddress', 'data': { 'host': 'str', 'port':
'str', '*to': 'uint16', '*ipv4': 'bool', '*ipv6': 'bool' } }",
"{ 'type': 'UnixSocketAddress', 'data': { 'path': 'str' } }",
"{ 'union': 'SocketAddress', 'data': { 'inet': 'InetSocketAddress',
'unix': 'UnixSocketAddress', 'fd': 'String' } }",
"{ 'command': 'getfd', 'data': {'fdname': 'str'} }",
"{ 'command': 'closefd', 'data': {'fdname': 'str'} }",
"{ 'command': 'query-machines', 'returns': ['MachineInfo'] }",
"{ 'type': 'CpuDefinitionInfo', 'data': { 'name': 'str' } }",
"{ 'command': 'query-cpu-definitions', 'returns': ['CpuDefinitionInfo']
}",
"{ 'type': 'AddfdInfo', 'data': {'fdset-id': 'int', 'fd': 'int'} }",
"{ 'command': 'add-fd', 'data': {'*fdset-id': 'int', '*opaque': 'str'},
'returns': 'AddfdInfo' }",
"{ 'command': 'remove-fd', 'data': {'fdset-id': 'int', '*fd': 'int'}
}",
"{ 'type': 'FdsetFdInfo', 'data': {'fd': 'int', '*opaque': 'str'} }",
"{ 'type': 'FdsetInfo', 'data': {'fdset-id': 'int', 'fds':
['FdsetFdInfo']} }",
"{ 'command': 'query-fdsets', 'returns': ['FdsetInfo'] }",
"{ 'enum': 'TargetType', 'data': [ 'alpha', 'arm', 'cris', 'i386',
'lm32', 'm68k', 'microblazeel', 'microblaze', 'mips64el', 'mips64', 'mipsel',
'mips', 'moxie', 'or32', 'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb', 'sh4',
'sparc64', 'sparc', 'unicore32', 'x86_64', 'xtensaeb', 'xtensa' ] }",
"{ 'type': 'TargetInfo', 'data': { 'arch': 'TargetType' } }",
"{ 'command': 'query-target', 'returns': 'TargetInfo' }",
"{ 'enum': 'QKeyCode', 'data': [ 'shift', 'shift_r', 'alt', 'alt_r',
'altgr', 'altgr_r', 'ctrl', 'ctrl_r', 'menu', 'esc', '1', '2', '3', '4', '5',
'6', '7', '8', '9', '0', 'minus', 'equal', 'backspace', 'tab', 'q', 'w', 'e',
'r', 't', 'y', 'u', 'i', 'o', 'p', 'bracket_left', 'bracket_right', 'ret',
'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'semicolon', 'apostrophe',
'grave_accent', 'backslash', 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'comma',
'dot', 'slash', 'asterisk', 'spc', 'caps_lock', 'f1', 'f2', 'f3', 'f4', 'f5',
'f6', 'f7', 'f8', 'f9', 'f10', 'num_lock', 'scroll_lock', 'kp_divide',
'kp_multiply', 'kp_subtract', 'kp_add', 'kp_enter', 'kp_decimal', 'sysrq',
'kp_0', 'kp_1', 'kp_2', 'kp_3', 'kp_4', 'kp_5', 'kp_6', 'kp_7', 'kp_8',
'kp_9', 'less', 'f11', 'f12', 'print', 'home', 'pgup', 'pgdn', 'end', 'left',
'up', 'down', 'right', 'insert', 'delete', 'stop', 'again', 'props', 'undo',
'front', 'copy', 'open', 'paste', 'find', 'cut', 'lf', 'help', 'meta_l',
'meta_r', 'compose' ] }",
"{ 'union': 'KeyValue', 'data': { 'number': 'int', 'qcode':
'QKeyCode' } }",
"{ 'command': 'send-key', 'data': { 'keys': ['KeyValue'],
'*hold-time': 'int' } }",
"{ 'command': 'screendump', 'data': {'filename': 'str'} }",
"{ 'command': 'nbd-server-start', 'data': { 'addr': 'SocketAddress' }
}",
"{ 'command': 'nbd-server-add', 'data': {'device': 'str', '*writable':
'bool'} }",
"{ 'command': 'nbd-server-stop' }",
"{ 'type': 'ChardevFile', 'data': { '*in' : 'str', 'out' : 'str' } }",
"{ 'type': 'ChardevHostdev', 'data': { 'device' : 'str' } }",
"{ 'type': 'ChardevSocket', 'data': { 'addr' : 'SocketAddress',
'*server' : 'bool', '*wait' : 'bool', '*nodelay' : 'bool', '*telnet' :
'bool' } }",
"{ 'type': 'ChardevUdp', 'data': { 'remote' : 'SocketAddress',
'*local' : 'SocketAddress' } }",
"{ 'type': 'ChardevMux', 'data': { 'chardev' : 'str' } }",
"{ 'type': 'ChardevStdio', 'data': { '*signal' : 'bool' } }",
"{ 'type': 'ChardevSpiceChannel', 'data': { 'type' : 'str' } }",
"{ 'type': 'ChardevSpicePort', 'data': { 'fqdn' : 'str' } }",
"{ 'type': 'ChardevVC', 'data': { '*width' : 'int', '*height' : 'int',
'*cols' : 'int', '*rows' : 'int' } }",
"{ 'type': 'ChardevMemory', 'data': { '*size' : 'int' } }",
"{ 'type': 'ChardevDummy', 'data': { } }",
"{ 'union': 'ChardevBackend', 'data': { 'file' : 'ChardevFile',
'serial' : 'ChardevHostdev', 'parallel': 'ChardevHostdev', 'pipe' :
'ChardevHostdev', 'socket' : 'ChardevSocket', 'udp' : 'ChardevUdp', 'pty' :
'ChardevDummy', 'null' : 'ChardevDummy', 'mux' : 'ChardevMux', 'msmouse':
'ChardevDummy', 'braille': 'ChardevDummy', 'stdio' : 'ChardevStdio',
'console': 'ChardevDummy', 'spicevmc' : 'ChardevSpiceChannel', 'spiceport' :
'ChardevSpicePort', 'vc' : 'ChardevVC', 'memory' : 'ChardevMemory' } }",
"{ 'type' : 'ChardevReturn', 'data': { '*pty' : 'str' } }",
"{ 'command': 'chardev-add', 'data': {'id' : 'str', 'backend' :
'ChardevBackend' }, 'returns': 'ChardevReturn' }",
"{ 'command': 'chardev-remove', 'data': {'id': 'str'} }",
"{ 'enum': 'TpmModel', 'data': [ 'tpm-tis' ] }",
"{ 'command': 'query-tpm-models', 'returns': ['TpmModel'] }",
"{ 'enum': 'TpmType', 'data': [ 'passthrough' ] }",
"{ 'command': 'query-tpm-types', 'returns': ['TpmType'] }",
"{ 'type': 'TPMPassthroughOptions', 'data': { '*path' : 'str',
'*cancel-path' : 'str'} }",
"{ 'union': 'TpmTypeOptions', 'data': { 'passthrough' :
'TPMPassthroughOptions' } }",
"{ 'type': 'TPMInfo', 'data': {'id': 'str', 'model': 'TpmModel',
'options': 'TpmTypeOptions' } }",
"{ 'command': 'query-tpm', 'returns': ['TPMInfo'] }",
"{ 'type': 'AcpiTableOptions', 'data': { '*sig': 'str', '*rev':
'uint8', '*oem_id': 'str', '*oem_table_id': 'str', '*oem_rev': 'uint32',
'*asl_compiler_id': 'str', '*asl_compiler_rev': 'uint32', '*file': 'str',
'*data': 'str' }}",
"{ 'enum': 'CommandLineParameterType', 'data': ['string', 'boolean',
'number', 'size'] }",
"{ 'type': 'CommandLineParameterInfo', 'data': { 'name': 'str',
'type': 'CommandLineParameterType', '*help': 'str' } }",
"{ 'type': 'CommandLineOptionInfo', 'data': { 'option': 'str',
'parameters': ['CommandLineParameterInfo'] } }",
"{'command': 'query-command-line-options', 'data': { '*option': 'str'
}, 'returns': ['CommandLineOptionInfo'] }",
"{ 'enum': 'X86CPURegister32', 'data': [ 'EAX', 'EBX', 'ECX', 'EDX',
'ESP', 'EBP', 'ESI', 'EDI' ] }",
"{ 'type': 'X86CPUFeatureWordInfo', 'data': { 'cpuid-input-eax':
'int', '*cpuid-input-ecx': 'int', 'cpuid-register': 'X86CPURegister32',
'features': 'int' } }",
"{ 'command': 'query-qmp-schema', 'data': { '*type': 'str', '*name':
'str' }, 'returns': ['str'] }"
]
}
{"execute": "query-qmp-schema", "arguments": { "name" : "query-name" }}
{
"return": [
"{ 'command': 'query-name', 'returns': 'NameInfo' }"
]
}
{'execute': 'query-qmp-schema', 'arguments': {'type': 'command'}}
{
"return": [
"{ 'command': 'add_client', 'data': { 'protocol': 'str', 'fdname':
'str', '*skipauth': 'bool', '*tls': 'bool' } }",
"{ 'command': 'query-name', 'returns': 'NameInfo' }",
"{ 'command': 'query-version', 'returns': 'VersionInfo' }",
"{ 'command': 'query-kvm', 'returns': 'KvmInfo' }",
"{ 'command': 'query-status', 'returns': 'StatusInfo' }",
"{ 'command': 'query-uuid', 'returns': 'UuidInfo' }",
"{ 'command': 'query-chardev', 'returns': ['ChardevInfo'] }",
"{ 'command': 'ringbuf-write', 'data': {'device': 'str', 'data':
'str', '*format': 'DataFormat'} }",
"{ 'command': 'ringbuf-read', 'data': {'device': 'str', 'size': 'int',
'*format': 'DataFormat'}, 'returns': 'str' }",
"{ 'command': 'query-commands', 'returns': ['CommandInfo'] }",
"{ 'command': 'query-events', 'returns': ['EventInfo'] }",
"{ 'command': 'query-migrate', 'returns': 'MigrationInfo' }",
"{ 'command': 'migrate-set-capabilities', 'data': { 'capabilities':
['MigrationCapabilityStatus'] } }",
"{ 'command': 'query-migrate-capabilities', 'returns':
['MigrationCapabilityStatus']}",
"{ 'command': 'query-mice', 'returns': ['MouseInfo'] }",
"{ 'command': 'query-cpus', 'returns': ['CpuInfo'] }",
"{ 'command': 'query-block', 'returns': ['BlockInfo'] }",
"{ 'command': 'query-blockstats', 'returns': ['BlockStats'] }",
"{ 'command': 'query-vnc', 'returns': 'VncInfo' }",
"{ 'command': 'query-spice', 'returns': 'SpiceInfo' }",
"{ 'command': 'query-balloon', 'returns': 'BalloonInfo' }",
"{ 'command': 'query-pci', 'returns': ['PciInfo'] }",
"{ 'command': 'query-block-jobs', 'returns': ['BlockJobInfo'] }",
"{ 'command': 'quit' }",
"{ 'command': 'stop' }",
"{ 'command': 'system_reset' }",
"{ 'command': 'system_powerdown' }",
"{ 'command': 'cpu', 'data': {'index': 'int'} }",
"{ 'command': 'cpu-add', 'data': {'id': 'int'} }",
"{ 'command': 'memsave', 'data': {'val': 'int', 'size': 'int',
'filename': 'str', '*cpu-index': 'int'} }",
"{ 'command': 'pmemsave', 'data': {'val': 'int', 'size': 'int',
'filename': 'str'} }",
"{ 'command': 'cont' }",
"{ 'command': 'system_wakeup' }",
"{ 'command': 'inject-nmi' }",
"{ 'command': 'block_passwd', 'data': {'device': 'str', 'password':
'str'} }",
"{ 'command': 'balloon', 'data': {'value': 'int'} }",
"{ 'command': 'block_resize', 'data': { 'device': 'str', 'size': 'int'
}}",
"{ 'command': 'transaction', 'data': { 'actions': [
'TransactionAction' ] } }",
"{ 'command': 'blockdev-snapshot-sync', 'data': { 'device': 'str',
'snapshot-file': 'str', '*format': 'str', '*mode': 'NewImageMode'} }",
"{ 'command': 'human-monitor-command', 'data': {'command-line': 'str',
'*cpu-index': 'int'}, 'returns': 'str' }",
"{ 'command': 'block-commit', 'data': { 'device': 'str', '*base':
'str', 'top': 'str', '*speed': 'int' } }",
"{ 'command': 'drive-mirror', 'data': { 'device': 'str', 'target':
'str', '*format': 'str', 'sync': 'MirrorSyncMode', '*mode': 'NewImageMode',
'*speed': 'int', '*granularity': 'uint32', '*buf-size': 'int',
'*on-source-error': 'BlockdevOnError', '*on-target-error': 'BlockdevOnError' }
}",
"{ 'command': 'migrate_cancel' }",
"{ 'command': 'migrate_set_downtime', 'data': {'value': 'number'} }",
"{ 'command': 'migrate_set_speed', 'data': {'value': 'int'} }",
"{ 'command': 'migrate-set-cache-size', 'data': {'value': 'int'} }",
"{ 'command': 'query-migrate-cache-size', 'returns': 'int' }",
"{ 'command': 'qom-list', 'data': { 'path': 'str' }, 'returns': [
'ObjectPropertyInfo' ] }",
"{ 'command': 'qom-get', 'data': { 'path': 'str', 'property': 'str' },
'returns': 'visitor', 'gen': 'no' }",
"{ 'command': 'qom-set', 'data': { 'path': 'str', 'property': 'str',
'value': 'visitor' }, 'gen': 'no' }",
"{ 'command': 'set_password', 'data': {'protocol': 'str', 'password':
'str', '*connected': 'str'} }",
"{ 'command': 'expire_password', 'data': {'protocol': 'str', 'time':
'str'} }",
"{ 'command': 'eject', 'data': {'device': 'str', '*force': 'bool'} }",
"{ 'command': 'change-vnc-password', 'data': {'password': 'str'} }",
"{ 'command': 'change', 'data': {'device': 'str', 'target': 'str',
'*arg': 'str'} }",
"{ 'command': 'block_set_io_throttle', 'data': { 'device': 'str',
'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int', 'iops': 'int', 'iops_rd':
'int', 'iops_wr': 'int' } }",
"{ 'command': 'block-stream', 'data': { 'device': 'str', '*base':
'str', '*speed': 'int', '*on-error': 'BlockdevOnError' } }",
"{ 'command': 'block-job-set-speed', 'data': { 'device': 'str',
'speed': 'int' } }",
"{ 'command': 'block-job-cancel', 'data': { 'device': 'str', '*force':
'bool' } }",
"{ 'command': 'block-job-pause', 'data': { 'device': 'str' } }",
"{ 'command': 'block-job-resume', 'data': { 'device': 'str' } }",
"{ 'command': 'block-job-complete', 'data': { 'device': 'str' } }",
"{ 'command': 'qom-list-types', 'data': { '*implements': 'str',
'*abstract': 'bool' }, 'returns': [ 'ObjectTypeInfo' ] }",
"{ 'command': 'device-list-properties', 'data': { 'typename': 'str'},
'returns': [ 'DevicePropertyInfo' ] }",
"{ 'command': 'migrate', 'data': {'uri': 'str', '*blk': 'bool',
'*inc': 'bool', '*detach': 'bool' } }",
"{ 'command': 'xen-save-devices-state', 'data': {'filename': 'str'} }",
"{ 'command': 'xen-set-global-dirty-log', 'data': { 'enable': 'bool' }
}",
"{ 'command': 'device_del', 'data': {'id': 'str'} }",
"{ 'command': 'dump-guest-memory', 'data': { 'paging': 'bool',
'protocol': 'str', '*begin': 'int', '*length': 'int' } }",
"{ 'command': 'netdev_add', 'data': {'type': 'str', 'id': 'str',
'*props': '**'}, 'gen': 'no' }",
"{ 'command': 'netdev_del', 'data': {'id': 'str'} }",
"{ 'command': 'getfd', 'data': {'fdname': 'str'} }",
"{ 'command': 'closefd', 'data': {'fdname': 'str'} }",
"{ 'command': 'query-machines', 'returns': ['MachineInfo'] }",
"{ 'command': 'query-cpu-definitions', 'returns': ['CpuDefinitionInfo']
}",
"{ 'command': 'add-fd', 'data': {'*fdset-id': 'int', '*opaque': 'str'},
'returns': 'AddfdInfo' }",
"{ 'command': 'remove-fd', 'data': {'fdset-id': 'int', '*fd': 'int'}
}",
"{ 'command': 'query-fdsets', 'returns': ['FdsetInfo'] }",
"{ 'command': 'query-target', 'returns': 'TargetInfo' }",
"{ 'command': 'send-key', 'data': { 'keys': ['KeyValue'],
'*hold-time': 'int' } }",
"{ 'command': 'screendump', 'data': {'filename': 'str'} }",
"{ 'command': 'nbd-server-start', 'data': { 'addr': 'SocketAddress' }
}",
"{ 'command': 'nbd-server-add', 'data': {'device': 'str', '*writable':
'bool'} }",
"{ 'command': 'nbd-server-stop' }",
"{ 'command': 'chardev-add', 'data': {'id' : 'str', 'backend' :
'ChardevBackend' }, 'returns': 'ChardevReturn' }",
"{ 'command': 'chardev-remove', 'data': {'id': 'str'} }",
"{ 'command': 'query-tpm-models', 'returns': ['TpmModel'] }",
"{ 'command': 'query-tpm-types', 'returns': ['TpmType'] }",
"{ 'command': 'query-tpm', 'returns': ['TPMInfo'] }",
"{'command': 'query-command-line-options', 'data': { '*option': 'str'
}, 'returns': ['CommandLineOptionInfo'] }",
"{ 'command': 'query-qmp-schema', 'data': { '*type': 'str', '*name':
'str' }, 'returns': ['str'] }"
]
}
{'execute': 'query-qmp-schema', 'arguments': { 'type': 'enum'}}
{
"return": [
"{ 'enum': 'ErrorClass', 'data': [ 'GenericError', 'CommandNotFound',
'DeviceEncrypted', 'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }",
"{ 'enum': 'RunState', 'data': [ 'debug', 'inmigrate',
'internal-error', 'io-error', 'paused', 'postmigrate', 'prelaunch',
'finish-migrate', 'restore-vm', 'running', 'save-vm', 'shutdown', 'suspended',
'watchdog', 'guest-panicked' ] }",
"{ 'enum': 'DataFormat' 'data': [ 'utf8', 'base64' ] }",
"{ 'enum': 'MigrationCapability', 'data': ['xbzrle'] }",
"{ 'enum': 'BlockDeviceIoStatus', 'data': [ 'ok', 'failed', 'nospace' ]
}",
"{ 'enum': 'SpiceQueryMouseMode', 'data': [ 'client', 'server',
'unknown' ] }",
"{ 'enum': 'BlockdevOnError', 'data': ['report', 'ignore', 'enospc',
'stop'] }",
"{ 'enum': 'MirrorSyncMode', 'data': ['top', 'full', 'none'] }",
"{ 'enum': 'NewImageMode' 'data': [ 'existing', 'absolute-paths' ] }",
"{ 'enum': 'TargetType', 'data': [ 'alpha', 'arm', 'cris', 'i386',
'lm32', 'm68k', 'microblazeel', 'microblaze', 'mips64el', 'mips64', 'mipsel',
'mips', 'moxie', 'or32', 'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb', 'sh4',
'sparc64', 'sparc', 'unicore32', 'x86_64', 'xtensaeb', 'xtensa' ] }",
"{ 'enum': 'QKeyCode', 'data': [ 'shift', 'shift_r', 'alt', 'alt_r',
'altgr', 'altgr_r', 'ctrl', 'ctrl_r', 'menu', 'esc', '1', '2', '3', '4', '5',
'6', '7', '8', '9', '0', 'minus', 'equal', 'backspace', 'tab', 'q', 'w', 'e',
'r', 't', 'y', 'u', 'i', 'o', 'p', 'bracket_left', 'bracket_right', 'ret',
'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'semicolon', 'apostrophe',
'grave_accent', 'backslash', 'z', 'x', 'c', 'v', 'b', 'n', 'm', 'comma',
'dot', 'slash', 'asterisk', 'spc', 'caps_lock', 'f1', 'f2', 'f3', 'f4', 'f5',
'f6', 'f7', 'f8', 'f9', 'f10', 'num_lock', 'scroll_lock', 'kp_divide',
'kp_multiply', 'kp_subtract', 'kp_add', 'kp_enter', 'kp_decimal', 'sysrq',
'kp_0', 'kp_1', 'kp_2', 'kp_3', 'kp_4', 'kp_5', 'kp_6', 'kp_7', 'kp_8',
'kp_9', 'less', 'f11', 'f12', 'print', 'home', 'pgup', 'pgdn', 'end', 'left',
'up', 'down', 'right', 'insert', 'delete', 'stop', 'again', 'props', 'undo',
'front', 'copy', 'open', 'paste', 'find', 'cut', 'lf', 'help', 'meta_l',
'meta_r', 'compose' ] }",
"{ 'enum': 'TpmModel', 'data': [ 'tpm-tis' ] }",
"{ 'enum': 'TpmType', 'data': [ 'passthrough' ] }",
"{ 'enum': 'CommandLineParameterType', 'data': ['string', 'boolean',
'number', 'size'] }",
"{ 'enum': 'X86CPURegister32', 'data': [ 'EAX', 'EBX', 'ECX', 'EDX',
'ESP', 'EBP', 'ESI', 'EDI' ] }"
]
}
{'execute': 'query-qmp-schema', 'arguments': {'type': 'type'}}
{
"return": [
"{ 'type': 'NameInfo', 'data': {'*name': 'str'} }",
"{ 'type': 'VersionInfo', 'data': {'qemu': {'major': 'int', 'minor':
'int', 'micro': 'int'}, 'package': 'str'} }",
"{ 'type': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'}
}",
"{ 'type': 'SnapshotInfo', 'data': { 'id': 'str', 'name': 'str',
'vm-state-size': 'int', 'date-sec': 'int', 'date-nsec': 'int',
'vm-clock-sec': 'int', 'vm-clock-nsec': 'int' } }",
"{ 'type': 'ImageInfo', 'data': {'filename': 'str', 'format': 'str',
'*dirty-flag': 'bool', '*actual-size': 'int', 'virtual-size': 'int',
'*cluster-size': 'int', '*encrypted': 'bool', '*backing-filename': 'str',
'*full-backing-filename': 'str', '*backing-filename-format': 'str',
'*snapshots': ['SnapshotInfo'] } }",
"{ 'type': 'ImageCheck', 'data': {'filename': 'str', 'format': 'str',
'check-errors': 'int', '*image-end-offset': 'int', '*corruptions': 'int',
'*leaks': 'int', '*corruptions-fixed': 'int', '*leaks-fixed': 'int',
'*total-clusters': 'int', '*allocated-clusters': 'int',
'*fragmented-clusters': 'int', '*compressed-clusters': 'int' } }",
"{ 'type': 'StatusInfo', 'data': {'running': 'bool', 'singlestep':
'bool', 'status': 'RunState'} }",
"{ 'type': 'UuidInfo', 'data': {'UUID': 'str'} }",
"{ 'type': 'ChardevInfo', 'data': {'label': 'str', 'filename': 'str'}
}",
"{ 'type': 'CommandInfo', 'data': {'name': 'str'} }",
"{ 'type': 'EventInfo', 'data': {'name': 'str'} }",
"{ 'type': 'MigrationStats', 'data': {'transferred': 'int',
'remaining': 'int', 'total': 'int' , 'duplicate': 'int', 'skipped': 'int',
'normal': 'int', 'normal-bytes': 'int', 'dirty-pages-rate' : 'int' } }",
"{ 'type': 'XBZRLECacheStats', 'data': {'cache-size': 'int', 'bytes':
'int', 'pages': 'int', 'cache-miss': 'int', 'overflow': 'int' } }",
"{ 'type': 'MigrationInfo', 'data': {'*status': 'str', '*ram':
'MigrationStats', '*disk': 'MigrationStats', '*xbzrle-cache':
'XBZRLECacheStats', '*total-time': 'int', '*expected-downtime': 'int',
'*downtime': 'int'} }",
"{ 'type': 'MigrationCapabilityStatus', 'data': { 'capability' :
'MigrationCapability', 'state' : 'bool' } }",
"{ 'type': 'MouseInfo', 'data': {'name': 'str', 'index': 'int',
'current': 'bool', 'absolute': 'bool'} }",
"{ 'type': 'CpuInfo', 'data': {'CPU': 'int', 'current': 'bool',
'halted': 'bool', '*pc': 'int', '*nip': 'int', '*npc': 'int', '*PC': 'int',
'thread_id': 'int'} }",
"{ 'type': 'BlockDeviceInfo', 'data': { 'file': 'str', 'ro': 'bool',
'drv': 'str', '*backing_file': 'str', 'backing_file_depth': 'int',
'encrypted': 'bool', 'encryption_key_missing': 'bool', 'bps': 'int', 'bps_rd':
'int', 'bps_wr': 'int', 'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int'} }",
"{ 'type': 'BlockDirtyInfo', 'data': {'count': 'int', 'granularity':
'int'} }",
"{ 'type': 'BlockInfo', 'data': {'device': 'str', 'type': 'str',
'removable': 'bool', 'locked': 'bool', '*inserted': 'BlockDeviceInfo',
'*tray_open': 'bool', '*io-status': 'BlockDeviceIoStatus', '*dirty':
'BlockDirtyInfo' } }",
"{ 'type': 'BlockDeviceStats', 'data': {'rd_bytes': 'int', 'wr_bytes':
'int', 'rd_operations': 'int', 'wr_operations': 'int', 'flush_operations':
'int', 'flush_total_time_ns': 'int', 'wr_total_time_ns': 'int',
'rd_total_time_ns': 'int', 'wr_highest_offset': 'int' } }",
"{ 'type': 'BlockStats', 'data': {'*device': 'str', 'stats':
'BlockDeviceStats', '*parent': 'BlockStats'} }",
"{ 'type': 'VncClientInfo', 'data': {'host': 'str', 'family': 'str',
'service': 'str', '*x509_dname': 'str', '*sasl_username': 'str'} }",
"{ 'type': 'SpiceChannel', 'data': {'host': 'str', 'family': 'str',
'port': 'str', 'connection-id': 'int', 'channel-type': 'int', 'channel-id':
'int', 'tls': 'bool'} }",
"{ 'type': 'SpiceInfo', 'data': {'enabled': 'bool', 'migrated':
'bool', '*host': 'str', '*port': 'int', '*tls-port': 'int', '*auth': 'str',
'*compiled-version': 'str', 'mouse-mode': 'SpiceQueryMouseMode', '*channels':
['SpiceChannel']} }",
"{ 'type': 'BalloonInfo', 'data': {'actual': 'int' } }",
"{ 'type': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'}
}",
"{ 'type': 'PciMemoryRegion', 'data': {'bar': 'int', 'type': 'str',
'address': 'int', 'size': 'int', '*prefetch': 'bool', '*mem_type_64': 'bool' }
}",
"{ 'type': 'PciBridgeInfo', 'data': {'bus': { 'number': 'int',
'secondary': 'int', 'subordinate': 'int', 'io_range': 'PciMemoryRange',
'memory_range': 'PciMemoryRange', 'prefetchable_range': 'PciMemoryRange' },
'*devices': ['PciDeviceInfo']} }",
"{ 'type': 'PciDeviceInfo', 'data': {'bus': 'int', 'slot': 'int',
'function': 'int', 'class_info': {'*desc': 'str', 'class': 'int'}, 'id':
{'device': 'int', 'vendor': 'int'}, '*irq': 'int', 'qdev_id': 'str',
'*pci_bridge': 'PciBridgeInfo', 'regions': ['PciMemoryRegion']} }",
"{ 'type': 'PciInfo', 'data': {'bus': 'int', 'devices':
['PciDeviceInfo']} }",
"{ 'type': 'BlockJobInfo', 'data': {'type': 'str', 'device': 'str',
'len': 'int', 'offset': 'int', 'busy': 'bool', 'paused': 'bool', 'speed':
'int', 'io-status': 'BlockDeviceIoStatus'} }",
"{ 'type': 'BlockdevSnapshot', 'data': { 'device': 'str',
'snapshot-file': 'str', '*format': 'str', '*mode': 'NewImageMode' } }",
"{ 'type': 'ObjectPropertyInfo', 'data': { 'name': 'str', 'type':
'str' } }",
"{ 'type': 'ObjectTypeInfo', 'data': { 'name': 'str' } }",
"{ 'type': 'DevicePropertyInfo', 'data': { 'name': 'str', 'type':
'str' } }",
"{ 'type': 'NetdevNoneOptions', 'data': { } }",
"{ 'type': 'NetLegacyNicOptions', 'data': { '*netdev': 'str',
'*macaddr': 'str', '*model': 'str', '*addr': 'str', '*vectors': 'uint32' }
}",
"{ 'type': 'String', 'data': { 'str': 'str' } }",
"{ 'type': 'NetdevUserOptions', 'data': { '*hostname': 'str',
'*restrict': 'bool', '*ip': 'str', '*net': 'str', '*host': 'str', '*tftp':
'str', '*bootfile': 'str', '*dhcpstart': 'str', '*dns': 'str',
'*dnssearch': ['String'], '*smb': 'str', '*smbserver': 'str', '*hostfwd':
['String'], '*guestfwd': ['String'] } }",
"{ 'type': 'NetdevTapOptions', 'data': { '*ifname': 'str', '*fd':
'str', '*fds': 'str', '*script': 'str', '*downscript': 'str', '*helper':
'str', '*sndbuf': 'size', '*vnet_hdr': 'bool', '*vhost': 'bool',
'*vhostfd': 'str', '*vhostfds': 'str', '*vhostforce': 'bool', '*queues':
'uint32'} }",
"{ 'type': 'NetdevSocketOptions', 'data': { '*fd': 'str', '*listen':
'str', '*connect': 'str', '*mcast': 'str', '*localaddr': 'str', '*udp':
'str' } }",
"{ 'type': 'NetdevVdeOptions', 'data': { '*sock': 'str', '*port':
'uint16', '*group': 'str', '*mode': 'uint16' } }",
"{ 'type': 'NetdevDumpOptions', 'data': { '*len': 'size', '*file':
'str' } }",
"{ 'type': 'NetdevBridgeOptions', 'data': { '*br': 'str', '*helper':
'str' } }",
"{ 'type': 'NetdevHubPortOptions', 'data': { 'hubid': 'int32' } }",
"{ 'type': 'NetLegacy', 'data': { '*vlan': 'int32', '*id': 'str',
'*name': 'str', 'opts': 'NetClientOptions' } }",
"{ 'type': 'Netdev', 'data': { 'id': 'str', 'opts':
'NetClientOptions' } }",
"{ 'type': 'InetSocketAddress', 'data': { 'host': 'str', 'port':
'str', '*to': 'uint16', '*ipv4': 'bool', '*ipv6': 'bool' } }",
"{ 'type': 'UnixSocketAddress', 'data': { 'path': 'str' } }",
"{ 'type': 'MachineInfo', 'data': { 'name': 'str', '*alias': 'str',
'*is-default': 'bool', 'cpu-max': 'int' } }",
"{ 'type': 'CpuDefinitionInfo', 'data': { 'name': 'str' } }",
"{ 'type': 'AddfdInfo', 'data': {'fdset-id': 'int', 'fd': 'int'} }",
"{ 'type': 'FdsetFdInfo', 'data': {'fd': 'int', '*opaque': 'str'} }",
"{ 'type': 'FdsetInfo', 'data': {'fdset-id': 'int', 'fds':
['FdsetFdInfo']} }",
"{ 'type': 'TargetInfo', 'data': { 'arch': 'TargetType' } }",
"{ 'type': 'ChardevFile', 'data': { '*in' : 'str', 'out' : 'str' } }",
"{ 'type': 'ChardevHostdev', 'data': { 'device' : 'str' } }",
"{ 'type': 'ChardevSocket', 'data': { 'addr' : 'SocketAddress',
'*server' : 'bool', '*wait' : 'bool', '*nodelay' : 'bool', '*telnet' :
'bool' } }",
"{ 'type': 'ChardevUdp', 'data': { 'remote' : 'SocketAddress',
'*local' : 'SocketAddress' } }",
"{ 'type': 'ChardevMux', 'data': { 'chardev' : 'str' } }",
"{ 'type': 'ChardevStdio', 'data': { '*signal' : 'bool' } }",
"{ 'type': 'ChardevSpiceChannel', 'data': { 'type' : 'str' } }",
"{ 'type': 'ChardevSpicePort', 'data': { 'fqdn' : 'str' } }",
"{ 'type': 'ChardevVC', 'data': { '*width' : 'int', '*height' : 'int',
'*cols' : 'int', '*rows' : 'int' } }",
"{ 'type': 'ChardevMemory', 'data': { '*size' : 'int' } }",
"{ 'type': 'ChardevDummy', 'data': { } }",
"{ 'type' : 'ChardevReturn', 'data': { '*pty' : 'str' } }",
"{ 'type': 'TPMPassthroughOptions', 'data': { '*path' : 'str',
'*cancel-path' : 'str'} }",
"{ 'type': 'TPMInfo', 'data': {'id': 'str', 'model': 'TpmModel',
'options': 'TpmTypeOptions' } }",
"{ 'type': 'AcpiTableOptions', 'data': { '*sig': 'str', '*rev':
'uint8', '*oem_id': 'str', '*oem_table_id': 'str', '*oem_rev': 'uint32',
'*asl_compiler_id': 'str', '*asl_compiler_rev': 'uint32', '*file': 'str',
'*data': 'str' }}",
"{ 'type': 'CommandLineParameterInfo', 'data': { 'name': 'str',
'type': 'CommandLineParameterType', '*help': 'str' } }",
"{ 'type': 'CommandLineOptionInfo', 'data': { 'option': 'str',
'parameters': ['CommandLineParameterInfo'] } }",
"{ 'type': 'X86CPUFeatureWordInfo', 'data': { 'cpuid-input-eax':
'int', '*cpuid-input-ecx': 'int', 'cpuid-register': 'X86CPURegister32',
'features': 'int' } }"
]
}