#include #include #include #include #include #include #define MaxLine 80 #define NAME_SIZE 30 #define Max_number_servers 10 /* Using a maximum of 10 main sites */ #define Max_number_mirrors 10 /* Using a maximum of 10 mirrors for each main server*/ #define command_size 10 #define Full_command 50 #define Result_length 15 #define FAILURE -1 #define TRUE 1 #define FALSE 0 /*typedef int FOUND;*/ struct mirror_servers{ char *server_name; char *IPaddress; float delay; float b_Result; float c_Result; struct mirror_servers *next; } *ms ; struct mirror_servers *PTR_FOUND; /*PTR_FOUND = malloc(sizeof(struct mirror_servers));*/ /*PTR_FOUND = NULL;*/ char myhost[30]; FILE *rptr; struct mirror_servers *Servers[Max_number_servers]; struct mirror_servers *MainPtr[Max_number_servers]; void fix_names(struct mirror_servers *); void Initialize_Servers(struct mirror_servers *); void Initialize_MainPtr(void); char *remove_newline_char(char *); void Configure_Servers(char *my_input_file) ; void Get_IP_address(void); char *ConvertAddress(char **, int); void print_all_servers(void); void Calculate_weights(void); void pr_inet(char **listptr, int length); int search_name(char *); void prompt_user_for_hostname(void); char *erase_string(char s[]); int Read_Probe_FD_Into_Socket(u_short ); void Get_Probe_Result( struct mirror_servers * ) ; void Run_Probe( char *); char *printsockaddr(struct sockaddr_in *);