1 #ifndef BTCONFIG_H
2 #define BTCONFIG_H
3 
4 #include <time.h>
5 
6 extern size_t cfg_req_slice_size;
7 
8 #define MAX_METAINFO_FILESIZ	(4*1024*1024)
9 #define DEFAULT_SLICE_SIZE (16*1024)
10 // According to specs the max slice size is 128K.  While most clients now do
11 // not accept a value that large, we want max compatibility.
12 #define cfg_max_slice_size (128*1024)
13 extern size_t cfg_req_queue_length;
14 #define MAX_PF_LEN 8
15 #define PEER_ID_LEN 20
16 #define PEER_PFX "-CD0303-"
17 
18 extern char *cfg_user_agent;	// HTTP header
19 
20 extern size_t cfg_cache_size;
21 
22 extern size_t cfg_max_peers;
23 extern size_t cfg_min_peers;
24 
25 extern unsigned long cfg_listen_ip;
26 extern int cfg_listen_port;
27 extern int cfg_max_listen_port;
28 extern int cfg_min_listen_port;
29 extern char *cfg_public_ip;
30 
31 extern time_t cfg_seed_hours;
32 extern double cfg_seed_ratio;
33 
34 extern int cfg_max_bandwidth_down;
35 extern int cfg_max_bandwidth_up;
36 
37 // arguments global value
38 extern char *arg_metainfo_file;
39 extern char *arg_bitfield_file;
40 extern char *arg_save_as;
41 extern char *arg_user_agent;	// BT peer ID, not HTTP header
42 
43 extern unsigned char arg_flg_force_seed_mode;
44 extern unsigned char arg_flg_check_only;
45 extern unsigned char arg_flg_exam_only;
46 extern unsigned char arg_flg_make_torrent;
47 extern unsigned char arg_flg_private;
48 extern unsigned char arg_flg_convert_filenames;
49 extern char *arg_file_to_download;
50 extern unsigned char arg_verbose;
51 extern unsigned char arg_allocate;
52 extern unsigned char arg_daemon;
53 
54 extern size_t arg_piece_length;
55 extern char *arg_announce;
56 extern char *arg_comment;
57 
58 extern char *arg_ctcs;
59 extern char *arg_completion_exit;
60 #endif
61