summaryrefslogtreecommitdiff
path: root/src/lib/sockets.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/sockets.c')
-rw-r--r--src/lib/sockets.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/sockets.c b/src/lib/sockets.c
index 6e7d4ad5..b148b7ca 100644
--- a/src/lib/sockets.c
+++ b/src/lib/sockets.c
@@ -33,12 +33,19 @@
#include <stdbool.h>
#include <sys/time.h>
+/* Apple doesn't support SEQPACKET. */
+#ifdef __APPLE__
+#define SOCK_TYPE SOCK_STREAM
+#else
+#define SOCK_TYPE SOCK_SEQPACKET
+#endif
+
int client_socket_open(char * file_name)
{
int sockfd;
struct sockaddr_un serv_addr;
- sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
+ sockfd = socket(AF_UNIX, SOCK_TYPE, 0);
if (sockfd < 0)
return -1;
@@ -66,7 +73,7 @@ int server_socket_open(char * file_name)
return -1;
}
- sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
+ sockfd = socket(AF_UNIX, SOCK_TYPE, 0);
if (sockfd < 0)
return -1;
@@ -96,7 +103,7 @@ static void close_ptr(void * o)
irm_msg_t * send_recv_irm_msg(irm_msg_t * msg)
{
int sockfd;
- uint8_t buf[IRM_MSG_BUF_SIZE];
+ uint8_t buf[SOCK_BUF_SIZE];
ssize_t len;
irm_msg_t * recv_msg = NULL;
@@ -115,7 +122,7 @@ irm_msg_t * send_recv_irm_msg(irm_msg_t * msg)
irm_msg__pack(msg, buf);
if (write(sockfd, buf, len) != -1)
- len = read(sockfd, buf, IRM_MSG_BUF_SIZE);
+ len = read(sockfd, buf, SOCK_BUF_SIZE);
if (len > 0)
recv_msg = irm_msg__unpack(NULL, len, buf);