Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Markus Armbruster
committed
Sep 4, 2017
1 parent
c7a4e0c
commit a2ff5a4
Showing
6 changed files
with
164 additions
and
153 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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' } } |