summaryrefslogtreecommitdiffstats
path: root/include/qemu
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2015-02-27 16:19:33 +0000
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 19:28:20 -0600
commitdccd927a7bbb4167eebd609d067064a5ea0f7bff (patch)
treeba8e8c5eac411a56a49296b38db24dda4b153325 /include/qemu
parent475398e17331f4ba45895457593179ac5cd19265 (diff)
downloadhqemu-dccd927a7bbb4167eebd609d067064a5ea0f7bff.zip
hqemu-dccd927a7bbb4167eebd609d067064a5ea0f7bff.tar.gz
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')
-rw-r--r--include/qemu/sockets.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h
index 5a183c5..74c692d 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
OpenPOWER on IntegriCloud