1 /**
2  @file  unix.h
3  @brief ENet Unix header
4 */
5 #ifndef __ENET_UNIX_H__
6 #define __ENET_UNIX_H__
7 
8 #include <stdlib.h>
9 #include <sys/time.h>
10 #include <sys/types.h>
11 #include <sys/socket.h>
12 #include <netinet/in.h>
13 #include <unistd.h>
14 
15 #ifdef MSG_MAXIOVLEN
16 #define ENET_BUFFER_MAXIMUM MSG_MAXIOVLEN
17 #endif
18 
19 typedef int ENetSocket;
20 
21 #define ENET_SOCKET_NULL -1
22 
23 #define ENET_HOST_TO_NET_16(value) (htons (value)) /**< macro that converts host to net byte-order of a 16-bit value */
24 #define ENET_HOST_TO_NET_32(value) (htonl (value)) /**< macro that converts host to net byte-order of a 32-bit value */
25 
26 #define ENET_NET_TO_HOST_16(value) (ntohs (value)) /**< macro that converts net to host byte-order of a 16-bit value */
27 #define ENET_NET_TO_HOST_32(value) (ntohl (value)) /**< macro that converts net to host byte-order of a 32-bit value */
28 
29 typedef struct
30 {
31     void * data;
32     size_t dataLength;
33 } ENetBuffer;
34 
35 #define ENET_CALLBACK
36 
37 #define ENET_API extern
38 
39 typedef fd_set ENetSocketSet;
40 
41 #define ENET_SOCKETSET_EMPTY(sockset)          FD_ZERO (& (sockset))
42 #define ENET_SOCKETSET_ADD(sockset, socket)    FD_SET (socket, & (sockset))
43 #define ENET_SOCKETSET_REMOVE(sockset, socket) FD_CLR (socket, & (sockset))
44 #define ENET_SOCKETSET_CHECK(sockset, socket)  FD_ISSET (socket, & (sockset))
45 
46 #endif /* __ENET_UNIX_H__ */
47 
48