raw: Add file declarations in source test files.
[swifty.git] / src / lib_swift.h
index c735752..666cc3b 100644 (file)
        } while (0) \
 
 #ifdef DEBUG
-#define Dprintf(msg,...) printf("[%s]:%d" msg, __FILE__, __LINE__, ##__VA_ARGS__)
+#define Dprintf(msg,...) printf("[%s]:%d " msg, __FILE__, __LINE__, ##__VA_ARGS__)
 #else
 #define Dprintf(msg,...)                /* do nothing */
 #endif
 
+typedef int SOCKET;
+
 // swift interface
 typedef struct swift {
-       int socketListener, socketData;
-       struct sockaddr_in socketListenerAddr;
+       SOCKET socketListener;
+       SOCKET sendChannel;
+       SOCKET *recvChannel;
+       
+       int usedChannels;
+       int maxChannels;
 } *Swift;
 
-// swift_addr structure similar with in_addr 
+/*
+ * TODO: uniform structure names
+ */
+
+// swift_addr structure similar with in_addr
 struct swift_addr {
        unsigned short N;                                       // e.g. number of s_addr
        unsigned long s_addr[MAX_IPs];          // i.p. ip list
@@ -42,18 +52,18 @@ struct swift_addr {
 // swift struct similar with sock_addr
 typedef struct sockSwiftaddr {
        short                           sin_family;             // e.g. AF_INET
-    unsigned short             sin_port;               // e.g. htons(3490)
-    struct swift_addr   sin_addr;              // see struct swift_addr, below
+       unsigned short          sin_port;               // e.g. htons(3490)
+       struct swift_addr   sin_addr;           // see struct swift_addr, below
 } *SockSwiftaddr;
 
 // list of swift_addr
 struct listsockaddr {
        unsigned short N;
        struct sockaddr_in sa[MAX_IPs];
-};     
+};
 
 // Function to create a Swift socket
-Swift socketSwift();
+Swift socketSwift(int maxChannels);
 
 // Function to close a Swift socket
 void closeSwift(Swift);
@@ -66,11 +76,16 @@ int listenfromSwift (Swift s, void *buf, size_t len, int flags,
 int bindSwift(Swift s, const struct sockSwiftaddr *my_addr, socklen_t addrlen);
 
 // Function to receive a message
-ssize_t recvfrom(Swift s, void *buf, size_t len, int flags,
-                 struct sockSwiftaddr *from, socklen_t *fromlen);
-                 
+ssize_t recvfromSwift(Swift s, void *buf, size_t len, int flags,
+                 struct sockSwiftaddr *from, socklen_t fromlen);
+
 // Function to send a message
-ssize_t sendto(Swift s, const void *buf, size_t len, int flags, 
-                               const struct sockSwiftaddr *to, socklen_t tolen);
+ssize_t sendToSwift(Swift s, const void *buf, size_t len, int flags,
+               const struct sockSwiftaddr *to, socklen_t tolen);
+
+
+// test function -- don't commit
+void transformFromAddrToSwift(struct sockSwiftaddr *ssa, struct listsockaddr lsa);
+void transformFromSwiftToAddr(struct listsockaddr *lsa, struct sockSwiftaddr ssa);
 
 #endif