implements first function (recv, bind, socket, close)
[swifty.git] / src / lib_swift.h
index e3ce6ee..47967ad 100644 (file)
@@ -1,7 +1,41 @@
 #ifndef _LIB_SWIFT_
 #define _LIB_SWIFT_
 
-void f();
+#define SWIFT_PORT             8080
+#define PACKET_SIZE            4*1024
 
+#define DIE(s) \
+       do { \
+               printf("%s:%d: ", __func__, __LINE__); \
+               perror(s); \
+               exit(EXIT_FAILURE); \
+       } while (0) \
+
+#define CHECK(x) \
+       do { \
+               if (!(x)) { \
+                       printf("%s:%d: ", __func__, __LINE__); \
+                       perror(#x); \
+                       exit(EXIT_FAILURE); \
+               } \
+       } while (0) \
+
+#ifdef DEBUG
+#define Dprintf(msg,...) printf("[%s]:%d" msg, __FILE__, __LINE__, ##__VA_ARGS__)
+#else
+#define Dprintf(msg,...)                /* do nothing */
+#endif
+
+typedef struct swift {
+       int socketListener;
+       struct sockaddr_in socketListenerAddr;
+} *Swift;
+
+Swift socketSwift();
+void closeSwift(Swift);
+
+
+int recvfromSwift (Swift, void *, size_t, int, struct sockaddr *, socklen_t *);
+int bindSwift(Swift, const struct sockaddr *, socklen_t);
 
 #endif