summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/reds_stream.c10
-rw-r--r--server/reds_stream.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/server/reds_stream.c b/server/reds_stream.c
index 4b61e316..1a595b27 100644
--- a/server/reds_stream.c
+++ b/server/reds_stream.c
@@ -226,6 +226,16 @@ ssize_t reds_stream_write(RedsStream *s, const void *buf, size_t nbyte)
return ret;
}
+int reds_stream_get_family(RedsStream *s)
+{
+ spice_return_val_if_fail(s != NULL, -1);
+
+ if (s->socket == -1)
+ return -1;
+
+ return s->priv->info->laddr_ext.ss_family;
+}
+
ssize_t reds_stream_writev(RedsStream *s, const struct iovec *iov, int iovcnt)
{
int i;
diff --git a/server/reds_stream.h b/server/reds_stream.h
index 6cbbbbbe..b5889e3c 100644
--- a/server/reds_stream.h
+++ b/server/reds_stream.h
@@ -72,6 +72,7 @@ bool reds_stream_is_ssl(RedsStream *stream);
RedsStreamSslStatus reds_stream_ssl_accept(RedsStream *stream);
int reds_stream_enable_ssl(RedsStream *stream, SSL_CTX *ctx);
void reds_stream_set_info_flag(RedsStream *stream, unsigned int flag);
+int reds_stream_get_family(RedsStream *stream);
typedef enum {
REDS_SASL_ERROR_OK,