X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=src%2Flib_swift.h;h=666cc3b73176b142b9fd7a5d32cb8c63f385689f;hb=fe4b7cc3cb2055c7c372bb6079a5d01de28f1e44;hp=c7357529de794e70c899571a5d66ebca0a7812a4;hpb=fddea12d1d54da0c36797074923833a88491479c;p=swifty.git diff --git a/src/lib_swift.h b/src/lib_swift.h index c735752..666cc3b 100644 --- a/src/lib_swift.h +++ b/src/lib_swift.h @@ -22,18 +22,28 @@ } 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