#ifndef TRANSFER_H #define TRANSFER_H #include #include typedef struct { char *file_name; char *dl_name; char *nick; time_t start; int tot; int count; int offset; SOCKET sock; int mp3_fd; } DOWNLOAD; typedef struct ul_rec { char *file_name; char *nick; int tot; int count; SOCKET sock; int mp3_fd; struct ul_rec *next; } UPLOAD; extern DOWNLOAD *downloads; extern UPLOAD *uploads; extern int dest_ip, dest_port; void end_dl(DOWNLOAD *rec, int dl_stat, int aborted); void abort_dl(DOWNLOAD *rec, int dl_stat, char *err); void download(int n, int mode); void end_ul(UPLOAD *rec, int ul_stat); void fw_upload(char *data); void set_data_port(int port, int manual); #endif .