http://prdownloads.sourceforge.net/lufs/lufs-0.9.6.tar.gz?download
[lufs.git] / filesystems / gnetfs / gnet.h
1 #ifndef _GNET_H_
2 #define _GNET_H_
3
4 struct gnet;
5
6 struct gnet_config {
7     int                 shared_files;
8     int                 shared_kb;
9     unsigned short      listen_port;
10     unsigned short      query_ttl;
11     unsigned            query_wait;
12     unsigned            min_speed;
13     unsigned            min_hosts;
14     unsigned            max_hosts;
15     unsigned            keep_peers;
16     unsigned            keep_connecting;
17     unsigned            connect_to;
18     unsigned            rw_to;
19     unsigned            check_to;    
20 };
21
22
23 struct gnet_xfer;
24 struct gnet_locator {
25     char                *name;
26     char                ip[4];
27     char                guid[16];
28     unsigned short      port;
29     unsigned long       index;
30     unsigned long       size;
31     unsigned long       bwidth;
32     struct list_head    list;
33     struct gnet_xfer    *xfer;
34     int                 firewalled;
35 };
36
37 struct gnet *gnet_init(struct gnet_config*);
38 void gnet_shutdown(struct gnet*);
39 void gnet_set_defaults(struct gnet_config*);
40 void gnet_stop_search(struct gnet*, unsigned long);
41 void gnet_xfer_shutdown(struct gnet_locator*);
42 int gnet_start_search(struct gnet*, char*, void(*)(void*, struct gnet_locator*, unsigned long), void*, unsigned, unsigned long*);
43 int gnet_add_peer(struct gnet*, char*, unsigned short);
44 int gnet_xfer_read(struct gnet*, struct gnet_locator*, unsigned long, unsigned long, char*);
45
46 #endif