2 * swift data structures
4 * swift struct sockaddr is dubbed struct sockaddr_sw.
5 * swhdr is swift packet header (as delivered on the network).
7 * 2011, Razvan Deaconescu, razvan.deaconescu@cs.pub.ro
11 #define SWIFT_TYPES_ 1
13 #include <sys/types.h>
14 #include <sys/socket.h>
15 #include <netinet/in.h>
23 * - IP address (Network Layer)
24 * - file hash (or hash for part of a file)
25 * - a seeder (sender) publishes that hash
26 * - a leecher (receiver) requests that hash
27 * - stands as port number both for sender and receiver
30 #define SWIFT_HASH_SIZE 8
33 unsigned char h_array[SWIFT_HASH_SIZE];
37 __SOCKADDR_COMMON(sin_);
38 struct in_addr sin_addr;
39 struct sw_hash sw_hash;
41 /* Pad to size of `struct sockaddr'. */
42 unsigned char sw_zero[sizeof(struct sockaddr) -
43 __SOCKADDR_COMMON_SIZE -
45 sizeof(struct in_addr)];
49 * swift header (work in progress)
53 /* file hash (to be seeded or requested) */
54 u_int8_t base_hash[SWIFT_HASH_SIZE];
62 #endif /* SWIFT_TYPES_ */