The fd_is_socket() helper method is useful in a few places, so put it in
the common sockets code.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
include/qemu/sockets.h | 1 +
io/channel-util.c | 13 -------------
util/qemu-sockets.c | 13 +++++++++++++
3 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h
index 4f7311b52a..5680880f5a 100644
--- a/include/qemu/sockets.h
+++ b/include/qemu/sockets.h
@@ -12,6 +12,7 @@ int inet_aton(const char *cp, struct in_addr *ia);
#include "qapi-types.h"
/* misc helpers */
+bool fd_is_socket(int fd);
int qemu_socket(int domain, int type, int protocol);
int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
int socket_set_cork(int fd, int v);
diff --git a/io/channel-util.c b/io/channel-util.c
index 0fb4bd0837..423d79845a 100644
--- a/io/channel-util.c
+++ b/io/channel-util.c
@@ -24,19 +24,6 @@
#include "io/channel-socket.h"
-static bool fd_is_socket(int fd)
-{
- int optval;
- socklen_t optlen;
- optlen = sizeof(optval);
- return qemu_getsockopt(fd,
- SOL_SOCKET,
- SO_TYPE,
- (char *)&optval,
- &optlen) == 0;
-}
-
-
QIOChannel *qio_channel_new_fd(int fd,
Error **errp)
{
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index af4f01211a..1d23f0b742 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -91,6 +91,19 @@ NetworkAddressFamily inet_netfamily(int family)
return NETWORK_ADDRESS_FAMILY_UNKNOWN;
}
+bool fd_is_socket(int fd)
+{
+ int optval;
+ socklen_t optlen;
+ optlen = sizeof(optval);
+ return qemu_getsockopt(fd,
+ SOL_SOCKET,
+ SO_TYPE,
+ (char *)&optval,
+ &optlen) == 0;
+}
+
+
/*
* Matrix we're trying to apply
*
--
2.14.3
Hi
On Thu, Dec 21, 2017 at 2:27 PM, Daniel P. Berrange <berrange@redhat.com> wrote:
> The fd_is_socket() helper method is useful in a few places, so put it in
> the common sockets code.
>
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> include/qemu/sockets.h | 1 +
> io/channel-util.c | 13 -------------
> util/qemu-sockets.c | 13 +++++++++++++
> 3 files changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h
> index 4f7311b52a..5680880f5a 100644
> --- a/include/qemu/sockets.h
> +++ b/include/qemu/sockets.h
> @@ -12,6 +12,7 @@ int inet_aton(const char *cp, struct in_addr *ia);
> #include "qapi-types.h"
>
> /* misc helpers */
> +bool fd_is_socket(int fd);
> int qemu_socket(int domain, int type, int protocol);
> int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
> int socket_set_cork(int fd, int v);
> diff --git a/io/channel-util.c b/io/channel-util.c
> index 0fb4bd0837..423d79845a 100644
> --- a/io/channel-util.c
> +++ b/io/channel-util.c
> @@ -24,19 +24,6 @@
> #include "io/channel-socket.h"
>
>
> -static bool fd_is_socket(int fd)
> -{
> - int optval;
> - socklen_t optlen;
> - optlen = sizeof(optval);
> - return qemu_getsockopt(fd,
> - SOL_SOCKET,
> - SO_TYPE,
> - (char *)&optval,
> - &optlen) == 0;
> -}
> -
> -
> QIOChannel *qio_channel_new_fd(int fd,
> Error **errp)
> {
> diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
> index af4f01211a..1d23f0b742 100644
> --- a/util/qemu-sockets.c
> +++ b/util/qemu-sockets.c
> @@ -91,6 +91,19 @@ NetworkAddressFamily inet_netfamily(int family)
> return NETWORK_ADDRESS_FAMILY_UNKNOWN;
> }
>
> +bool fd_is_socket(int fd)
> +{
> + int optval;
> + socklen_t optlen;
> + optlen = sizeof(optval);
> + return qemu_getsockopt(fd,
> + SOL_SOCKET,
> + SO_TYPE,
> + (char *)&optval,
> + &optlen) == 0;
> +}
> +
> +
> /*
> * Matrix we're trying to apply
> *
> --
> 2.14.3
>
>
--
Marc-André Lureau
© 2016 - 2026 Red Hat, Inc.