implements first function (recv, bind, socket, close)
[swifty.git] / src / lib_swift.h
1 #ifndef _LIB_SWIFT_
2 #define _LIB_SWIFT_
3
4 #define SWIFT_PORT              8080
5 #define PACKET_SIZE             4*1024
6
7 #define DIE(s) \
8         do { \
9                 printf("%s:%d: ", __func__, __LINE__); \
10                 perror(s); \
11                 exit(EXIT_FAILURE); \
12         } while (0) \
13
14 #define CHECK(x) \
15         do { \
16                 if (!(x)) { \
17                         printf("%s:%d: ", __func__, __LINE__); \
18                         perror(#x); \
19                         exit(EXIT_FAILURE); \
20                 } \
21         } while (0) \
22
23 #ifdef DEBUG
24 #define Dprintf(msg,...) printf("[%s]:%d" msg, __FILE__, __LINE__, ##__VA_ARGS__)
25 #else
26 #define Dprintf(msg,...)                /* do nothing */
27 #endif
28
29 typedef struct swift {
30         int socketListener;
31         struct sockaddr_in socketListenerAddr;
32 } *Swift;
33
34 Swift socketSwift();
35 void closeSwift(Swift);
36
37
38 int recvfromSwift (Swift, void *, size_t, int, struct sockaddr *, socklen_t *);
39 int bindSwift(Swift, const struct sockaddr *, socklen_t);
40
41 #endif