summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2006-01-05 18:43:10 +0000
committerPierre Ossman <ossman@cendio.se>2006-01-05 18:43:10 +0000
commit13496bb73ecd2a76a83bf528d9a180084c8c006d (patch)
tree7e54b8b798ede6c2ac803673ebe44833b02b8d46
parent3a3b4aff37397b786782d5a7e1f106b83d272abd (diff)
Handle when the platform doesn't have UNIX sockets.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/ossman@377 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--polyp/socket-client.c16
-rw-r--r--polyp/socket-server.c15
-rw-r--r--polyp/socket-util.c19
3 files changed, 47 insertions, 3 deletions
diff --git a/polyp/socket-client.c b/polyp/socket-client.c
index 2eecc347..a55fd4ba 100644
--- a/polyp/socket-client.c
+++ b/polyp/socket-client.c
@@ -31,10 +31,14 @@
#include <string.h>
#include <assert.h>
#include <stdlib.h>
-#include <sys/un.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
+
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+
#ifdef HAVE_LIBASYNCNS
#include <asyncns.h>
#endif
@@ -198,6 +202,8 @@ struct pa_socket_client* pa_socket_client_new_ipv4(struct pa_mainloop_api *m, ui
return pa_socket_client_new_sockaddr(m, (struct sockaddr*) &sa, sizeof(sa));
}
+#ifdef HAVE_SYS_UN_H
+
struct pa_socket_client* pa_socket_client_new_unix(struct pa_mainloop_api *m, const char *filename) {
struct sockaddr_un sa;
assert(m && filename);
@@ -210,6 +216,14 @@ struct pa_socket_client* pa_socket_client_new_unix(struct pa_mainloop_api *m, co
return pa_socket_client_new_sockaddr(m, (struct sockaddr*) &sa, sizeof(sa));
}
+#else /* HAVE_SYS_UN_H */
+
+struct pa_socket_client* pa_socket_client_new_unix(struct pa_mainloop_api *m, const char *filename) {
+ return NULL;
+}
+
+#endif /* HAVE_SYS_UN_H */
+
static int sockaddr_prepare(struct pa_socket_client *c, const struct sockaddr *sa, size_t salen) {
assert(c);
assert(sa);
diff --git a/polyp/socket-server.c b/polyp/socket-server.c
index 7d6035c9..d46db6c8 100644
--- a/polyp/socket-server.c
+++ b/polyp/socket-server.c
@@ -31,10 +31,13 @@
#include <sys/socket.h>
#include <stdio.h>
#include <unistd.h>
-#include <sys/un.h>
#include <netinet/in.h>
#include <arpa/inet.h>
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+
#ifdef HAVE_LIBWRAP
#include <tcpd.h>
#endif
@@ -137,6 +140,8 @@ struct pa_socket_server* pa_socket_server_ref(struct pa_socket_server *s) {
return s;
}
+#ifdef HAVE_SYS_UN_H
+
struct pa_socket_server* pa_socket_server_new_unix(struct pa_mainloop_api *m, const char *filename) {
int fd = -1;
struct sockaddr_un sa;
@@ -182,6 +187,14 @@ fail:
return NULL;
}
+#else /* HAVE_SYS_UN_H */
+
+struct pa_socket_server* pa_socket_server_new_unix(struct pa_mainloop_api *m, const char *filename) {
+ return NULL;
+}
+
+#endif /* HAVE_SYS_UN_H */
+
struct pa_socket_server* pa_socket_server_new_ipv4(struct pa_mainloop_api *m, uint32_t address, uint16_t port, const char *tcpwrap_service) {
struct pa_socket_server *ss;
int fd = -1;
diff --git a/polyp/socket-util.c b/polyp/socket-util.c
index cd132d7d..4204ec95 100644
--- a/polyp/socket-util.c
+++ b/polyp/socket-util.c
@@ -31,7 +31,6 @@
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
-#include <sys/un.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <unistd.h>
@@ -42,6 +41,10 @@
#include <sys/stat.h>
#include <netdb.h>
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+
#include "socket-util.h"
#include "util.h"
#include "xmalloc.h"
@@ -161,6 +164,8 @@ int pa_socket_set_sndbuf(int fd, size_t l) {
return 0;
}
+#ifdef HAVE_SYS_UN_H
+
int pa_unix_socket_is_stale(const char *fn) {
struct sockaddr_un sa;
int fd = -1, ret = -1;
@@ -202,3 +207,15 @@ int pa_unix_socket_remove_stale(const char *fn) {
return 0;
}
+
+#else /* HAVE_SYS_UN_H */
+
+int pa_unix_socket_is_stale(const char *fn) {
+ return -1;
+}
+
+int pa_unix_socket_remove_stale(const char *fn) {
+ return -1;
+}
+
+#endif /* HAVE_SYS_UN_H */