f7160f3218
The various schemas included in QEMU use a JSON-based format which is, however, strictly speaking not valid JSON. As a consequence, when vim tries to apply syntax highlight rules for JSON (as guessed from the file name), the result is an unreadable mess which mostly consist of red markers pointing out supposed errors in, well, pretty much everything. Using Python syntax highlighting produces much better results, and in fact these files already start with specially-formatted comments that instruct Emacs to process them as if they were Python files. This commit adds the equivalent special comments for vim. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Message-Id: <20200729185024.121766-1-abologna@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
166 lines
3.8 KiB
Python
166 lines
3.8 KiB
Python
# -*- Mode: Python -*-
|
|
# vim: filetype=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
|
|
#
|
|
# @keep-alive: enable keep-alive when connecting to this socket. Not supported
|
|
# for passive sockets. (Since 4.2)
|
|
#
|
|
# Since: 1.3
|
|
##
|
|
{ 'struct': 'InetSocketAddress',
|
|
'base': 'InetSocketAddressBase',
|
|
'data': {
|
|
'*numeric': 'bool',
|
|
'*to': 'uint16',
|
|
'*ipv4': 'bool',
|
|
'*ipv6': 'bool',
|
|
'*keep-alive': 'bool' } }
|
|
|
|
##
|
|
# @UnixSocketAddress:
|
|
#
|
|
# Captures a socket address in the local ("Unix socket") namespace.
|
|
#
|
|
# @path: filesystem path to use
|
|
# @tight: pass a socket address length confined to the minimum length of the
|
|
# abstract string, rather than the full sockaddr_un record length
|
|
# (only matters for abstract sockets, default true). (Since 5.1)
|
|
# @abstract: whether this is an abstract address, default false. (Since 5.1)
|
|
#
|
|
# Since: 1.3
|
|
##
|
|
{ 'struct': 'UnixSocketAddress',
|
|
'data': {
|
|
'path': 'str',
|
|
'*tight': 'bool',
|
|
'*abstract': 'bool' } }
|
|
|
|
##
|
|
# @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
|
|
#
|
|
# @vsock: VMCI address
|
|
#
|
|
# @fd: decimal is for file descriptor number, otherwise a file descriptor name.
|
|
# Named file descriptors are permitted in monitor commands, in combination
|
|
# with the 'getfd' command. Decimal file descriptors are permitted at
|
|
# startup or other contexts where no monitor context is active.
|
|
#
|
|
# 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' } }
|