linuxFTP客户端详解-头文件

来源:互联网 发布:mac 终端 输入密码 编辑:程序博客网 时间:2024/06/05 16:50
#define BUFSIZE512     //缓存长度#define CMDSIZE64      //命令长度#defineARGSIZE64      //命令参数长度#definePASSIVE_ON  0x1//被动模式标志struct ftpcmd{char *alias;        //ftp交互命令char *name;//ftp协议命令字char *args;//ftp协议命令参数int(*handler)(int fd,char *cmd,char *args);//处理函数};                                                                                                                                                                                                                                                              typedef struct ftpcmd FTPCMD;static void bail(const char *);                       //错误输出int send_ftpcmd(int,const char *,const char *);       //通过socket发送FTP协议命令到服务器char *get_localip(int,struct sockaddr_in *);          //获得客户端本机ipint active_listen();                                  //创建用于主动模式下进行数据传输的本地socket,并在此socket上进行监听int get_active_port(int);                             //主动模式下获得用于数据传输所使用的socket正在监听的端口portint list_files(int);                                  //读取并显示服务器发挥的目录文件数据int input_cmd(char*,int)                              //用于获得用户输入的FTP命令字符串,其可能参数int having_args(char*);                               //判断FTP命令是否携带了必要的参数char *trim_right(char*);                              //去掉字符串右边的空格int make_port_args(int,struct sockaddr_in*);          //构造port命令所需要的客户端IP字符串int download_file(char*,int);                         //下载文件int upload_file(FILE*,int);                           //上传文件void report(struct timeval*,struct timeval*,int);     //显示文件下载或上传的用时int get_ftpcmd_status(char*,char*);                     int make_conn_active(int);                            //主动模式下接受服务器的连接int make_conn_passive(int);                           //被动模式下发起想服务器的连接int passive_notify(int);                              //用于被动模式下,客户端想服务器发出PASV命令int active_notify(int);                               //主动模式下通知服务器,客户端将在哪个端口上等待连接void replace_delim(char*,char,char);                  //将字符串中的指定字符替换成另一个字符int parse_port(char*,int);                            //解析服务器对PASV命令的应答消息,计算port值void init();char *get_usrname();void terminal_echo_off(int);                          //隐藏输入字符void terminal_echo_on(int);                           //显示输入字符void ignore_sigtstp();void unignore_sigtstp();int do_commom_cmd(int,char*,char*);                   //处理FTP客户端的普通命令?int do_user(int,char*,char*);                         //处理FTP客户端发出的USER命令?int do_pasv(int,char*,char*);                         int do_list_pasv(int,char*,char*);int do_list_active(int,char*,char*);int do_get_pasv(int,char*,char*);int do_get_active(int,char*,char*);int do_put_pasv(int,char*,char*);int do_put_active(int,char*,char*);int do_lchdir(int,char*,char*);void abort_transfer(int);void login(struct hostent*,int);int print_final_msg(int,char*);


 

0 0
原创粉丝点击