/* Copyright (c) 1998 Alexander Yukhimets. All rights reserved. */
#ifndef FTP_H
#define FTP_H
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
typedef struct _connect_data {
/* control connection */
struct sockaddr_in saddr; /* server */
struct sockaddr_in laddr; /* local */
int ctrl;
/* data connection */
int passive; /* flag whether passive supported */
struct sockaddr_in daddr;
int data;
/* last response */
char* lastline;
} connect_data;
typedef int (*ftp_check_proc)();
struct in_addr* ftp_gethosts(char*,ftp_check_proc);
int ftp_syst(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_rename(char*,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_site(char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_mkdir(char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_delete(char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_rmdir(char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_chdir(char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_command(char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_read_response(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_disconnect(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_connect(char*,int,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_login(char*,char*,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_pwd(char**,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_size(long*,char,char*,connect_data*,FILE*,ftp_check_proc);
int ftp_passive_init(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_sendport_init(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_data_init(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_passive_connect(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_sendport_connect(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_data_connect(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_list(char*,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_get(char,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_resume(char,long,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_put(char,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_close_data(struct _connect_data*,FILE*,ftp_check_proc);
int ftp_abort_data(struct _connect_data*,FILE*,ftp_check_proc);
#endif /* FTP_H */
syntax highlighted by Code2HTML, v. 0.9.1