qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Daniel P. Berrange" <berrange@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] [PULL 19/47] qapi-schema: Collect sockets stuff in qapi/sockets.json
Date: Fri,  1 Sep 2017 14:55:43 +0200	[thread overview]
Message-ID: <20170901125611.29295-20-armbru@redhat.com> (raw)
In-Reply-To: <20170901125611.29295-1-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>
Message-Id: <1503602048-12268-5-git-send-email-armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@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 ccee28b12d..fb90a19b3d 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 81447b1f08..ca4a03c376 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 add4777e9a..d69b6da5ec 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 833c602150..5379674292 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 8355d5a2f3..862e73f982 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 0000000000..ac022c6ad0
--- /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.13.5

  parent reply	other threads:[~2017-09-01 12:56 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-01 12:55 [Qemu-devel] [PULL 00/47] QAPI patches for 2017-09-01 Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 01/47] qapi: Fix error handling code on alternate conflict Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 02/47] tests/qmp-test: Add generic, basic test of query commands Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 03/47] qobject: Explain how QNum works, and why Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 04/47] qdict: Add qdict_put_null() helper, and put it to use Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 05/47] qlit: move qlit from check-qjson to qobject/ Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 06/47] qlit: use QLit prefix consistently Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 07/47] qlit: Change compound literals to initializers Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 08/47] qlit: rename compare_litqobj_to_qobj() to qlit_equal_qobject() Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 09/47] qlit: make qlit_equal_qobject return a bool Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 10/47] qlit: make qlit_equal_qobject() take const arguments Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 11/47] qlit: add QLIT_QNULL and QLIT_BOOL Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 12/47] qlit: Replace open-coded qnum_get_int() by call Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 13/47] tests/check-qlit: New, covering qobject/qlit.c Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 14/47] qlit: Tighten QLit dict vs QDict comparison Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 15/47] qlit: Tighten QLit list vs QList comparison Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 16/47] qapi-schema: Document how generated documentation is ordered Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 17/47] qapi-schema: Introspection doc is in the wrong section, fix Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 18/47] qapi-schema: Rocker doc section contains unrelated stuff, fix Markus Armbruster
2017-09-01 12:55 ` Markus Armbruster [this message]
2017-09-01 12:55 ` [Qemu-devel] [PULL 20/47] qapi-schema: Collect run state stuff in qapi/run-state.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 21/47] qapi-schema: Collect char device stuff in qapi/char.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 22/47] qapi-schema: Collect net device stuff in qapi/net.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 23/47] qapi-schema: Collect UI stuff in qapi/ui.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 24/47] qapi-schema: Collect migration stuff in qapi/migration.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 25/47] qapi-schema: Collect transaction stuff in qapi/transaction.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 26/47] qapi-schema: Collect TPM stuff in qapi/tpm.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 27/47] qapi-schema: Move block events from event.json to block.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 28/47] qapi-schema: Fold event.json back into qapi-schema.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 29/47] qapi-schema: Make block-core.json self-contained Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 30/47] qapi-schema: Move queries from common.json to qapi-schema.json Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 31/47] qapi-schema: Improve section headings Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 32/47] qapi: Update qapi-code-gen.txt examples to match current code Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 33/47] qapi: Drop superfluous qapi_enum_parse() parameter max Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 34/47] tpm: Clean up driver registration & lookup Markus Armbruster
2017-09-01 12:55 ` [Qemu-devel] [PULL 35/47] tpm: Clean up model " Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 36/47] hmp: Use qapi_enum_parse() in hmp_migrate_set_capability() Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 37/47] hmp: Use qapi_enum_parse() in hmp_migrate_set_parameter() Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 38/47] block: Use qemu_enum_parse() in blkdebug_debug_breakpoint() Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 39/47] quorum: Use qapi_enum_parse() in quorum_open() Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 40/47] crypto: Use qapi_enum_parse() in qcrypto_block_luks_name_lookup() Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 41/47] qapi: Use qapi_enum_parse() in input_type_enum() Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 42/47] qapi: Avoid unnecessary use of enum lookup table's sentinel Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 43/47] qapi: Generate FOO_str() macro for QAPI enum FOO Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 44/47] qapi: Mechanically convert FOO_lookup[...] to FOO_str(...) Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 45/47] qapi: Convert indirect uses of FOO_lookup[...] to qapi_enum_lookup() Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 46/47] qapi: Change data type of the FOO_lookup generated for enum FOO Markus Armbruster
2017-09-01 12:56 ` [Qemu-devel] [PULL 47/47] qapi: drop the sentinel in enum array Markus Armbruster
2017-09-01 13:58 ` [Qemu-devel] [PULL 00/47] QAPI patches for 2017-09-01 no-reply
2017-09-01 14:34   ` 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=20170901125611.29295-20-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=kraxel@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).