qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com, eblake@redhat.com,
	"Daniel P. Berrange" <berrange@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] [PATCH v2 04/16] qapi-schema: Collect sockets stuff in qapi/sockets.json
Date: Thu, 24 Aug 2017 21:13:56 +0200	[thread overview]
Message-ID: <1503602048-12268-5-git-send-email-armbru@redhat.com> (raw)
In-Reply-To: <1503602048-12268-1-git-send-email-armbru@redhat.com>

Cc: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 MAINTAINERS          |   1 +
 Makefile             |   4 +-
 qapi-schema.json     | 152 +--------------------------------------------------
 qapi/block-core.json |   2 +-
 qapi/common.json     |  11 ++++
 qapi/sockets.json    | 147 +++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 164 insertions(+), 153 deletions(-)
 create mode 100644 qapi/sockets.json

diff --git a/MAINTAINERS b/MAINTAINERS
index ccee28b..fb90a19 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1535,6 +1535,7 @@ M: Paolo Bonzini <pbonzini@redhat.com>
 S: Maintained
 F: include/qemu/sockets.h
 F: util/qemu-sockets.c
+F: qapi/sockets.json
 
 Throttling infrastructure
 M: Alberto Garcia <berto@igalia.com>
diff --git a/Makefile b/Makefile
index 81447b1..ca4a03c 100644
--- a/Makefile
+++ b/Makefile
@@ -410,8 +410,10 @@ $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
 
 qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
                $(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \
+               $(SRC_PATH)/qapi/crypto.json \
                $(SRC_PATH)/qapi/event.json $(SRC_PATH)/qapi/introspect.json \
-               $(SRC_PATH)/qapi/crypto.json $(SRC_PATH)/qapi/rocker.json \
+               $(SRC_PATH)/qapi/rocker.json \
+               $(SRC_PATH)/qapi/sockets.json \
                $(SRC_PATH)/qapi/trace.json
 
 qapi-types.c qapi-types.h :\
diff --git a/qapi-schema.json b/qapi-schema.json
index add4777..d69b6da 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -79,6 +79,7 @@
 # include it first in qapi-schema.json.
 
 { 'include': 'qapi/common.json' }
+{ 'include': 'qapi/sockets.json' }
 { 'include': 'qapi/crypto.json' }
 { 'include': 'qapi/block.json' }
 { 'include': 'qapi/rocker.json' }
@@ -1616,26 +1617,6 @@
 { 'command': 'query-iothreads', 'returns': ['IOThreadInfo'] }
 
 ##
-# @NetworkAddressFamily:
-#
-# The network address family
-#
-# @ipv4: IPV4 family
-#
-# @ipv6: IPV6 family
-#
-# @unix: unix socket
-#
-# @vsock: vsock family (since 2.8)
-#
-# @unknown: otherwise
-#
-# Since: 2.1
-##
-{ 'enum': 'NetworkAddressFamily',
-  'data': [ 'ipv4', 'ipv6', 'unix', 'vsock', 'unknown' ] }
-
-##
 # @VncBasicInfo:
 #
 # The basic information for vnc network connection
@@ -3696,17 +3677,6 @@
     '*vectors': 'uint32' } }
 
 ##
-# @String:
-#
-# A fat type wrapping 'str', to be embedded in lists.
-#
-# Since: 1.2
-##
-{ 'struct': 'String',
-  'data': {
-    'str': 'str' } }
-
-##
 # @NetdevUserOptions:
 #
 # Use the user mode network stack which requires no administrator privilege to
@@ -4157,126 +4127,6 @@
   'data': [ 'all', 'rx', 'tx' ] }
 
 ##
-# @InetSocketAddressBase:
-#
-# @host: host part of the address
-# @port: port part of the address
-##
-{ 'struct': 'InetSocketAddressBase',
-  'data': {
-    'host': 'str',
-    'port': 'str' } }
-
-##
-# @InetSocketAddress:
-#
-# Captures a socket address or address range in the Internet namespace.
-#
-# @numeric: true if the host/port are guaranteed to be numeric,
-#           false if name resolution should be attempted. Defaults to false.
-#           (Since 2.9)
-#
-# @to: If present, this is range of possible addresses, with port
-#      between @port and @to.
-#
-# @ipv4: whether to accept IPv4 addresses, default try both IPv4 and IPv6
-#
-# @ipv6: whether to accept IPv6 addresses, default try both IPv4 and IPv6
-#
-# Since: 1.3
-##
-{ 'struct': 'InetSocketAddress',
-  'base': 'InetSocketAddressBase',
-  'data': {
-    '*numeric':  'bool',
-    '*to': 'uint16',
-    '*ipv4': 'bool',
-    '*ipv6': 'bool' } }
-
-##
-# @UnixSocketAddress:
-#
-# Captures a socket address in the local ("Unix socket") namespace.
-#
-# @path: filesystem path to use
-#
-# Since: 1.3
-##
-{ 'struct': 'UnixSocketAddress',
-  'data': {
-    'path': 'str' } }
-
-##
-# @VsockSocketAddress:
-#
-# Captures a socket address in the vsock namespace.
-#
-# @cid: unique host identifier
-# @port: port
-#
-# Note: string types are used to allow for possible future hostname or
-# service resolution support.
-#
-# Since: 2.8
-##
-{ 'struct': 'VsockSocketAddress',
-  'data': {
-    'cid': 'str',
-    'port': 'str' } }
-
-##
-# @SocketAddressLegacy:
-#
-# Captures the address of a socket, which could also be a named file descriptor
-#
-# Note: This type is deprecated in favor of SocketAddress.  The
-# difference between SocketAddressLegacy and SocketAddress is that the
-# latter is a flat union rather than a simple union. Flat is nicer
-# because it avoids nesting on the wire, i.e. that form has fewer {}.
-
-#
-# Since: 1.3
-##
-{ 'union': 'SocketAddressLegacy',
-  'data': {
-    'inet': 'InetSocketAddress',
-    'unix': 'UnixSocketAddress',
-    'vsock': 'VsockSocketAddress',
-    'fd': 'String' } }
-
-##
-# @SocketAddressType:
-#
-# Available SocketAddress types
-#
-# @inet:  Internet address
-#
-# @unix:  Unix domain socket
-#
-# Since: 2.9
-##
-{ 'enum': 'SocketAddressType',
-  'data': [ 'inet', 'unix', 'vsock', 'fd' ] }
-
-##
-# @SocketAddress:
-#
-# Captures the address of a socket, which could also be a named file
-# descriptor
-#
-# @type:       Transport type
-#
-# Since: 2.9
-##
-{ 'union': 'SocketAddress',
-  'base': { 'type': 'SocketAddressType' },
-  'discriminator': 'type',
-  'data': { 'inet': 'InetSocketAddress',
-            'unix': 'UnixSocketAddress',
-            'vsock': 'VsockSocketAddress',
-            'fd': 'String' } }
-
-##
 # @getfd:
 #
 # Receive a file descriptor via SCM rights and assign it a name
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 833c602..5379674 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -4,8 +4,8 @@
 # == QAPI block core definitions (vm unrelated)
 ##
 
-# QAPI common definitions
 { 'include': 'common.json' }
+{ 'include': 'sockets.json' }
 
 ##
 # @SnapshotInfo:
diff --git a/qapi/common.json b/qapi/common.json
index 8355d5a..862e73f 100644
--- a/qapi/common.json
+++ b/qapi/common.json
@@ -162,3 +162,14 @@
 ##
 { 'enum': 'OnOffSplit',
   'data': [ 'on', 'off', 'split' ] }
+
+##
+# @String:
+#
+# A fat type wrapping 'str', to be embedded in lists.
+#
+# Since: 1.2
+##
+{ 'struct': 'String',
+  'data': {
+    'str': 'str' } }
diff --git a/qapi/sockets.json b/qapi/sockets.json
new file mode 100644
index 0000000..ac022c6
--- /dev/null
+++ b/qapi/sockets.json
@@ -0,0 +1,147 @@
+# -*- Mode: Python -*-
+
+##
+# = Socket data types
+##
+
+{ 'include': 'common.json' }
+
+##
+# @NetworkAddressFamily:
+#
+# The network address family
+#
+# @ipv4: IPV4 family
+#
+# @ipv6: IPV6 family
+#
+# @unix: unix socket
+#
+# @vsock: vsock family (since 2.8)
+#
+# @unknown: otherwise
+#
+# Since: 2.1
+##
+{ 'enum': 'NetworkAddressFamily',
+  'data': [ 'ipv4', 'ipv6', 'unix', 'vsock', 'unknown' ] }
+
+##
+# @InetSocketAddressBase:
+#
+# @host: host part of the address
+# @port: port part of the address
+##
+{ 'struct': 'InetSocketAddressBase',
+  'data': {
+    'host': 'str',
+    'port': 'str' } }
+
+##
+# @InetSocketAddress:
+#
+# Captures a socket address or address range in the Internet namespace.
+#
+# @numeric: true if the host/port are guaranteed to be numeric,
+#           false if name resolution should be attempted. Defaults to false.
+#           (Since 2.9)
+#
+# @to: If present, this is range of possible addresses, with port
+#      between @port and @to.
+#
+# @ipv4: whether to accept IPv4 addresses, default try both IPv4 and IPv6
+#
+# @ipv6: whether to accept IPv6 addresses, default try both IPv4 and IPv6
+#
+# Since: 1.3
+##
+{ 'struct': 'InetSocketAddress',
+  'base': 'InetSocketAddressBase',
+  'data': {
+    '*numeric':  'bool',
+    '*to': 'uint16',
+    '*ipv4': 'bool',
+    '*ipv6': 'bool' } }
+
+##
+# @UnixSocketAddress:
+#
+# Captures a socket address in the local ("Unix socket") namespace.
+#
+# @path: filesystem path to use
+#
+# Since: 1.3
+##
+{ 'struct': 'UnixSocketAddress',
+  'data': {
+    'path': 'str' } }
+
+##
+# @VsockSocketAddress:
+#
+# Captures a socket address in the vsock namespace.
+#
+# @cid: unique host identifier
+# @port: port
+#
+# Note: string types are used to allow for possible future hostname or
+# service resolution support.
+#
+# Since: 2.8
+##
+{ 'struct': 'VsockSocketAddress',
+  'data': {
+    'cid': 'str',
+    'port': 'str' } }
+
+##
+# @SocketAddressLegacy:
+#
+# Captures the address of a socket, which could also be a named file descriptor
+#
+# Note: This type is deprecated in favor of SocketAddress.  The
+# difference between SocketAddressLegacy and SocketAddress is that the
+# latter is a flat union rather than a simple union. Flat is nicer
+# because it avoids nesting on the wire, i.e. that form has fewer {}.
+
+#
+# Since: 1.3
+##
+{ 'union': 'SocketAddressLegacy',
+  'data': {
+    'inet': 'InetSocketAddress',
+    'unix': 'UnixSocketAddress',
+    'vsock': 'VsockSocketAddress',
+    'fd': 'String' } }
+
+##
+# @SocketAddressType:
+#
+# Available SocketAddress types
+#
+# @inet:  Internet address
+#
+# @unix:  Unix domain socket
+#
+# Since: 2.9
+##
+{ 'enum': 'SocketAddressType',
+  'data': [ 'inet', 'unix', 'vsock', 'fd' ] }
+
+##
+# @SocketAddress:
+#
+# Captures the address of a socket, which could also be a named file
+# descriptor
+#
+# @type:       Transport type
+#
+# Since: 2.9
+##
+{ 'union': 'SocketAddress',
+  'base': { 'type': 'SocketAddressType' },
+  'discriminator': 'type',
+  'data': { 'inet': 'InetSocketAddress',
+            'unix': 'UnixSocketAddress',
+            'vsock': 'VsockSocketAddress',
+            'fd': 'String' } }
-- 
2.7.5

  parent reply	other threads:[~2017-08-24 19:14 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-24 19:13 [Qemu-devel] [PATCH v2 00/16] qapi-schema: Reorganize along maintenance boundaries Markus Armbruster
2017-08-24 19:13 ` [Qemu-devel] [PATCH v2 01/16] qapi-schema: Document how generated documentation is ordered Markus Armbruster
2017-08-24 19:13 ` [Qemu-devel] [PATCH v2 02/16] qapi-schema: Introspection doc is in the wrong section, fix Markus Armbruster
2017-08-24 19:13 ` [Qemu-devel] [PATCH v2 03/16] qapi-schema: Rocker doc section contains unrelated stuff, fix Markus Armbruster
2017-08-24 19:13 ` Markus Armbruster [this message]
2017-08-25 11:05   ` [Qemu-devel] [PATCH v2 04/16] qapi-schema: Collect sockets stuff in qapi/sockets.json Marc-André Lureau
2017-08-24 19:13 ` [Qemu-devel] [PATCH v2 05/16] qapi-schema: Collect run state stuff in qapi/run-state.json Markus Armbruster
2017-08-25 11:07   ` Marc-André Lureau
2017-08-24 19:13 ` [Qemu-devel] [PATCH v2 06/16] qapi-schema: Collect char device stuff in qapi/char.json Markus Armbruster
2017-08-25 11:11   ` Marc-André Lureau
2017-08-28 11:20     ` Markus Armbruster
2017-08-24 19:13 ` [Qemu-devel] [PATCH v2 07/16] qapi-schema: Collect net device stuff in qapi/net.json Markus Armbruster
2017-08-25 11:14   ` Marc-André Lureau
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 08/16] qapi-schema: Collect UI stuff in qapi/ui.json Markus Armbruster
2017-08-25 11:15   ` Marc-André Lureau
2017-08-25 11:16   ` Gerd Hoffmann
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 09/16] qapi-schema: Collect migration stuff in qapi/migration.json Markus Armbruster
2017-08-25 11:15   ` Marc-André Lureau
2017-08-25 16:08   ` Dr. David Alan Gilbert
2017-08-28 11:22     ` Markus Armbruster
2017-09-01 12:14       ` Markus Armbruster
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 10/16] qapi-schema: Collect transaction stuff in qapi/transaction.json Markus Armbruster
2017-08-25 11:16   ` Marc-André Lureau
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 11/16] qapi-schema: Collect TPM stuff in qapi/tpm.json Markus Armbruster
2017-08-25 11:20   ` Marc-André Lureau
2017-08-28 11:29     ` Markus Armbruster
2017-09-07 15:05       ` Stefan Berger
2017-09-07 15:55         ` Markus Armbruster
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 12/16] qapi-schema: Move block events from event.json to block.json Markus Armbruster
2017-08-25  9:31   ` Alberto Garcia
2017-08-25 11:20   ` Marc-André Lureau
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 13/16] qapi-schema: Fold event.json back into qapi-schema.json Markus Armbruster
2017-08-25 11:22   ` Marc-André Lureau
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 14/16] qapi-schema: Make block-core.json self-contained Markus Armbruster
2017-08-25 11:24   ` Marc-André Lureau
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 15/16] qapi-schema: Move queries from common.json to qapi-schema.json Markus Armbruster
2017-08-25 11:27   ` Marc-André Lureau
2017-08-28 11:31     ` Markus Armbruster
2017-08-24 19:14 ` [Qemu-devel] [PATCH v2 16/16] qapi-schema: Improve section headings Markus Armbruster
2017-08-25 11:28   ` Marc-André Lureau
2017-08-24 19:41 ` [Qemu-devel] [PATCH v2 00/16] qapi-schema: Reorganize along maintenance boundaries Eric Blake
2017-08-25  4:50   ` Markus Armbruster
2017-09-01 12:26 ` Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1503602048-12268-5-git-send-email-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).