]> git.lizzy.rs Git - dragonnet.git/blob - dragonnet/recv.c
ffad3968476bae19e74b132512d7673d5c52f493
[dragonnet.git] / dragonnet / recv.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <unistd.h>
5 #include "recv.h"
6 #include "sock.h"
7
8 bool dragonnet_recv_raw(DragonnetPeer *p, void *buf, size_t n)
9 {
10         if (n == 0)
11                 return true;
12
13         ssize_t len = recv(p->sock, buf, n, MSG_WAITALL);
14         if (len < 0) {
15                 perror("recv");
16                 abort();
17         }
18
19         return len != 0;
20 }