mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 01:43:39 +00:00
qapi-schema: Collect sockets stuff in qapi/sockets.json
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>
This commit is contained in:
parent
c7a4e0c40d
commit
a2ff5a48c4
|
@ -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>
|
||||
|
|
4
Makefile
4
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 :\
|
||||
|
|
152
qapi-schema.json
152
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' }
|
||||
|
@ -1615,26 +1616,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:
|
||||
#
|
||||
|
@ -3695,17 +3676,6 @@
|
|||
'*addr': 'str',
|
||||
'*vectors': 'uint32' } }
|
||||
|
||||
##
|
||||
# @String:
|
||||
#
|
||||
# A fat type wrapping 'str', to be embedded in lists.
|
||||
#
|
||||
# Since: 1.2
|
||||
##
|
||||
{ 'struct': 'String',
|
||||
'data': {
|
||||
'str': 'str' } }
|
||||
|
||||
##
|
||||
# @NetdevUserOptions:
|
||||
#
|
||||
|
@ -4156,126 +4126,6 @@
|
|||
{ 'enum': 'NetFilterDirection',
|
||||
'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:
|
||||
#
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
# == QAPI block core definitions (vm unrelated)
|
||||
##
|
||||
|
||||
# QAPI common definitions
|
||||
{ 'include': 'common.json' }
|
||||
{ 'include': 'sockets.json' }
|
||||
|
||||
##
|
||||
# @SnapshotInfo:
|
||||
|
|
|
@ -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' } }
|
||||
|
|
147
qapi/sockets.json
Normal file
147
qapi/sockets.json
Normal file
|
@ -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' } }
|
Loading…
Reference in a new issue