diff options
| author | Daniel P. Berrange <berrange@redhat.com> | 2015-02-27 16:19:33 +0000 |
|---|---|---|
| committer | Daniel P. Berrange <berrange@redhat.com> | 2015-12-18 12:18:31 +0000 |
| commit | 559607ea173a0003efda7f884bec73b242f923fb (patch) | |
| tree | 63e923e55537ea0add19a0a8bb7c1a238d6cb3e9 /include/qemu/sockets.h | |
| parent | b02db2d9203ccfd1c26e55f7d975f0c05caee0ce (diff) | |
| download | focaccia-qemu-559607ea173a0003efda7f884bec73b242f923fb.tar.gz focaccia-qemu-559607ea173a0003efda7f884bec73b242f923fb.zip | |
io: add QIOChannelSocket class
Implement a QIOChannel subclass that supports sockets I/O. The implementation is able to manage a single socket file descriptor, whether a TCP/UNIX listener, TCP/UNIX connection, or a UDP datagram. It provides APIs which can listen and connect either asynchronously or synchronously. Since there is no asynchronous DNS lookup API available, it uses the QIOTask helper for spawning a background thread to ensure non-blocking operation. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'include/qemu/sockets.h')
| -rw-r--r-- | include/qemu/sockets.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h index 5a183c570d..74c692d432 100644 --- a/include/qemu/sockets.h +++ b/include/qemu/sockets.h @@ -89,6 +89,25 @@ int parse_host_port(struct sockaddr_in *saddr, const char *str); int socket_init(void); /** + * socket_sockaddr_to_address: + * @sa: socket address struct + * @salen: size of @sa struct + * @errp: pointer to uninitialized error object + * + * Get the string representation of the socket + * address. A pointer to the allocated address information + * struct will be returned, which the caller is required to + * release with a call qapi_free_SocketAddress when no + * longer required. + * + * Returns: the socket address struct, or NULL on error + */ +SocketAddress * +socket_sockaddr_to_address(struct sockaddr_storage *sa, + socklen_t salen, + Error **errp); + +/** * socket_local_address: * @fd: the socket file handle * @errp: pointer to uninitialized error object |