diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2010-05-31 14:43:31 -0300 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-06-01 13:48:43 -0500 |
commit | b40292e7115da8814da3d8acd33267202d27d678 (patch) | |
tree | 2e123a9a07e8ba2e41f05d2feec31c3d9de91177 /hxtool | |
parent | 33572ece26744889b14b7d72ac81870d076725ac (diff) |
QMP: Introduce commands documentation
One of the most important missing feature in QMP today is its
supported commands documentation.
The plan is to make it part of self-description support, however
self-description is a big task we have been postponing for a
long time now and still don't know when it's going to be done.
In order not to compromise QMP adoption and make users' life easier,
this commit adds a simple text documentation which fully describes
all QMP supported commands.
This is not ideal for a number of reasons (harder to maintain,
text-only, etc) but does improve the current situation. To avoid at
least divering from the user monitor help and texi snippets, QMP bits
are also maintained inside qemu-monitor.hx, and hxtool is extended to
generate a single text file from them.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hxtool')
-rw-r--r-- | hxtool | 44 |
1 files changed, 43 insertions, 1 deletions
@@ -7,7 +7,7 @@ hxtoh() case $str in HXCOMM*) ;; - STEXI*|ETEXI*) flag=$(($flag^1)) + STEXI*|ETEXI*|SQMP*|EQMP*) flag=$(($flag^1)) ;; *) test $flag -eq 1 && printf "%s\n" "$str" @@ -38,6 +38,12 @@ hxtotexi() fi flag=0 ;; + SQMP*|EQMP*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected ETEXI, found $str" >&2 + exit 1 + fi + ;; DEFHEADING*) echo "$(expr "$str" : "DEFHEADING(\(.*\))")" ;; @@ -49,9 +55,45 @@ hxtotexi() done } +hxtoqmp() +{ + IFS= + flag=0 + while read -r str; do + case "$str" in + HXCOMM*) + ;; + SQMP*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected EQMP, found $str" >&2 + exit 1 + fi + flag=1 + ;; + EQMP*) + if test $flag -ne 1 ; then + echo "line $line: syntax error: expected SQMP, found $str" >&2 + exit 1 + fi + flag=0 + ;; + STEXI*|ETEXI*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected EQMP, found $str" >&2 + exit 1 + fi + ;; + *) + test $flag -eq 1 && echo "$str" + ;; + esac + done +} + case "$1" in "-h") hxtoh ;; "-t") hxtotexi ;; +"-q") hxtoqmp ;; *) exit 1 ;; esac |