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