qapi: Improve documentation of file descriptor socket addresses
SocketAddress branch @fd is documented in enum SocketAddressType, unlike the other branches. That's because the branch's type is String from common.json. Use a local copy of String, so we can put the documentation in the usual place. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-ID: <20240205074709.3613229-14-armbru@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
2fecccbc84
commit
4edb196e20
@ -1504,7 +1504,7 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
|
|||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
addr->type = SOCKET_ADDRESS_TYPE_FD;
|
addr->type = SOCKET_ADDRESS_TYPE_FD;
|
||||||
addr->u.fd.data = g_new(String, 1);
|
addr->u.fd.data = g_new(FdSocketAddress, 1);
|
||||||
addr->u.fd.data->str = g_strdup(fd);
|
addr->u.fd.data->str = g_strdup(fd);
|
||||||
}
|
}
|
||||||
sock->addr = addr;
|
sock->addr = addr;
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#ifndef QEMU_VHOST_VSOCK_COMMON_H
|
#ifndef QEMU_VHOST_VSOCK_COMMON_H
|
||||||
#define QEMU_VHOST_VSOCK_COMMON_H
|
#define QEMU_VHOST_VSOCK_COMMON_H
|
||||||
|
|
||||||
|
#include "qapi/qapi-types-common.h"
|
||||||
#include "hw/virtio/virtio.h"
|
#include "hw/virtio/virtio.h"
|
||||||
#include "hw/virtio/vhost.h"
|
#include "hw/virtio/vhost.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
# = Socket data types
|
# = Socket data types
|
||||||
##
|
##
|
||||||
|
|
||||||
{ 'include': 'common.json' }
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# @NetworkAddressFamily:
|
# @NetworkAddressFamily:
|
||||||
#
|
#
|
||||||
@ -116,6 +114,24 @@
|
|||||||
'cid': 'str',
|
'cid': 'str',
|
||||||
'port': 'str' } }
|
'port': 'str' } }
|
||||||
|
|
||||||
|
##
|
||||||
|
# @FdSocketAddress:
|
||||||
|
#
|
||||||
|
# A file descriptor name or number.
|
||||||
|
#
|
||||||
|
# @str: decimal is for file descriptor number, otherwise it's 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: 1.2
|
||||||
|
##
|
||||||
|
{ 'struct': 'FdSocketAddress',
|
||||||
|
'data': {
|
||||||
|
'str': 'str' } }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @InetSocketAddressWrapper:
|
# @InetSocketAddressWrapper:
|
||||||
#
|
#
|
||||||
@ -147,12 +163,14 @@
|
|||||||
'data': { 'data': 'VsockSocketAddress' } }
|
'data': { 'data': 'VsockSocketAddress' } }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @StringWrapper:
|
# @FdSocketAddressWrapper:
|
||||||
|
#
|
||||||
|
# @data: file descriptor name or number
|
||||||
#
|
#
|
||||||
# Since: 1.3
|
# Since: 1.3
|
||||||
##
|
##
|
||||||
{ 'struct': 'StringWrapper',
|
{ 'struct': 'FdSocketAddressWrapper',
|
||||||
'data': { 'data': 'String' } }
|
'data': { 'data': 'FdSocketAddress' } }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @SocketAddressLegacy:
|
# @SocketAddressLegacy:
|
||||||
@ -173,7 +191,7 @@
|
|||||||
'inet': 'InetSocketAddressWrapper',
|
'inet': 'InetSocketAddressWrapper',
|
||||||
'unix': 'UnixSocketAddressWrapper',
|
'unix': 'UnixSocketAddressWrapper',
|
||||||
'vsock': 'VsockSocketAddressWrapper',
|
'vsock': 'VsockSocketAddressWrapper',
|
||||||
'fd': 'StringWrapper' } }
|
'fd': 'FdSocketAddressWrapper' } }
|
||||||
|
|
||||||
##
|
##
|
||||||
# @SocketAddressType:
|
# @SocketAddressType:
|
||||||
@ -186,11 +204,7 @@
|
|||||||
#
|
#
|
||||||
# @vsock: VMCI address
|
# @vsock: VMCI address
|
||||||
#
|
#
|
||||||
# @fd: decimal is for file descriptor number, otherwise a file
|
# @fd: Socket file descriptor
|
||||||
# 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
|
# Since: 2.9
|
||||||
##
|
##
|
||||||
@ -200,7 +214,7 @@
|
|||||||
##
|
##
|
||||||
# @SocketAddress:
|
# @SocketAddress:
|
||||||
#
|
#
|
||||||
# Captures the address of a socket, which could also be a named file
|
# Captures the address of a socket, which could also be a socket file
|
||||||
# descriptor
|
# descriptor
|
||||||
#
|
#
|
||||||
# @type: Transport type
|
# @type: Transport type
|
||||||
@ -213,4 +227,4 @@
|
|||||||
'data': { 'inet': 'InetSocketAddress',
|
'data': { 'inet': 'InetSocketAddress',
|
||||||
'unix': 'UnixSocketAddress',
|
'unix': 'UnixSocketAddress',
|
||||||
'vsock': 'VsockSocketAddress',
|
'vsock': 'VsockSocketAddress',
|
||||||
'fd': 'String' } }
|
'fd': 'FdSocketAddress' } }
|
||||||
|
@ -1464,7 +1464,8 @@ SocketAddress *socket_address_flatten(SocketAddressLegacy *addr_legacy)
|
|||||||
break;
|
break;
|
||||||
case SOCKET_ADDRESS_TYPE_FD:
|
case SOCKET_ADDRESS_TYPE_FD:
|
||||||
addr->type = SOCKET_ADDRESS_TYPE_FD;
|
addr->type = SOCKET_ADDRESS_TYPE_FD;
|
||||||
QAPI_CLONE_MEMBERS(String, &addr->u.fd, addr_legacy->u.fd.data);
|
QAPI_CLONE_MEMBERS(FdSocketAddress, &addr->u.fd,
|
||||||
|
addr_legacy->u.fd.data);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
|
Loading…
Reference in New Issue
Block a user