monitor: introduce query-command-line-options

Libvirt has no way to probe if an option or property is supported,
This patch introduces a new qmp command to query command line
option information. hmp command isn't added because it's not needed.

Signed-off-by: Amos Kong <akong@redhat.com>
CC: Luiz Capitulino <lcapitulino@redhat.com>
CC: Osier Yang <jyang@redhat.com>
CC: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Amos Kong 2013-04-25 17:50:35 +08:00 committed by Luiz Capitulino
parent 9953f8822c
commit 1f8f987d34
3 changed files with 180 additions and 0 deletions

View file

@ -2415,6 +2415,53 @@ EQMP
.mhandler.cmd_new = qmp_marshal_input_query_uuid,
},
SQMP
query-command-line-options
--------------------------
Show command line option schema.
Return a json-array of command line option schema for all options (or for
the given option), returning an error if the given option doesn't exist.
Each array entry contains the following:
- "option": option name (json-string)
- "parameters": a json-array describes all parameters of the option:
- "name": parameter name (json-string)
- "type": parameter type (one of 'string', 'boolean', 'number',
or 'size')
- "help": human readable description of the parameter
(json-string, optional)
Example:
-> { "execute": "query-command-line-options", "arguments": { "option": "option-rom" } }
<- { "return": [
{
"parameters": [
{
"name": "romfile",
"type": "string"
},
{
"name": "bootindex",
"type": "number"
}
],
"option": "option-rom"
}
]
}
EQMP
{
.name = "query-command-line-options",
.args_type = "option:s?",
.mhandler.cmd_new = qmp_marshal_input_query_command_line_options,
},
SQMP
query-migrate
-------------