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' } }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 New Issue