summary refs log tree commit diff stats
path: root/docs/devel/qapi-domain.rst
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2025-03-13 00:43:06 -0400
committerMarkus Armbruster <armbru@redhat.com>2025-03-14 07:31:57 +0100
commit7c7247b252dd8b3911b96451c0eaaebbc6ac0af0 (patch)
tree0800a368d80a6ca2b3d003286147aa4f3042ac43 /docs/devel/qapi-domain.rst
parent9ca404f0043d63043bfed3af8da3adedc062cb13 (diff)
downloadfocaccia-qemu-7c7247b252dd8b3911b96451c0eaaebbc6ac0af0.tar.gz
focaccia-qemu-7c7247b252dd8b3911b96451c0eaaebbc6ac0af0.zip
docs/qapi-domain: add qapi:namespace directive
Add a new directive that marks the beginning of a QAPI "namespace", for
example; "QMP", "QGA" or "QSD". This directive will associate all
subsequent QAPI directives in a document with the specified
namespace. This does not change the visual display of any of the
definitions or index entries, but does change the "Fully Qualified Name"
inside the QAPI domain's object table. This allows for two different
"namespaces" to define entities with otherwise identical names -- which
will come in handy for documenting both QEMU QMP and the QEMU Storage
Daemon.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250313044312.189276-6-jsnow@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'docs/devel/qapi-domain.rst')
-rw-r--r--docs/devel/qapi-domain.rst20
1 files changed, 19 insertions, 1 deletions
diff --git a/docs/devel/qapi-domain.rst b/docs/devel/qapi-domain.rst
index 51b283277e..73e13ab45c 100644
--- a/docs/devel/qapi-domain.rst
+++ b/docs/devel/qapi-domain.rst
@@ -464,7 +464,8 @@ removed in a future version.
 QAPI standard options
 ---------------------
 
-All QAPI directives -- *except* for module -- support these common options.
+All QAPI directives -- *except* for namespace and module -- support
+these common options.
 
 * ``:namespace: name`` -- This option allows you to override the
   namespace association of a given definition.
@@ -482,6 +483,23 @@ All QAPI directives -- *except* for module -- support these common options.
   production code.
 
 
+qapi:namespace
+--------------
+
+The ``qapi:namespace`` directive marks the start of a QAPI namespace. It
+does not take a content body, nor any options. All subsequent QAPI
+directives are associated with the most recent namespace. This affects
+the definition's "fully qualified name", allowing two different
+namespaces to create an otherwise identically named definition.
+
+Example::
+
+   .. qapi:namespace:: QMP
+
+
+This directive has no visible effect.
+
+
 qapi:module
 -----------