summaryrefslogtreecommitdiff
path: root/netio.h
blob: 849733048da187748b99b0549a17ddc9523f8167 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef _NETIO_H_
#define _NETIO_H_

#include <stdbool.h> /* for bool */
#include <stdint.h>  /* for size_t, ssize_t, uint16_t */

/** Return socket-fd on success, -errno on error.  */
int netio_listen(uint16_t port);
/** Return connection-fd on success, -errno on error.  */
int netio_accept(int sock);
/** Return bytes-read on success, 0 on EOF, -errno on error; a short read is *not* an error.  */
ssize_t netio_read(int conn, void *buf, size_t count);
/** Return `count` on success, -errno on error; a short write *is* an error.  */
ssize_t netio_write(int conn, void *buf, size_t count);
/** Return 0 on success, -errno on error.  */
int netio_close(int conn, bool rd, bool wr);

#endif /* _NETIO_H_ */