summaryrefslogtreecommitdiffstats
path: root/lib/libftp/FtpLibrary.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libftp/FtpLibrary.h')
-rw-r--r--lib/libftp/FtpLibrary.h268
1 files changed, 0 insertions, 268 deletions
diff --git a/lib/libftp/FtpLibrary.h b/lib/libftp/FtpLibrary.h
deleted file mode 100644
index 754e5a1..0000000
--- a/lib/libftp/FtpLibrary.h
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- Library for ftpd clients.(libftp)
- Copyright by Oleg Orel
- All rights reserved.
-
-This library is desined for free, non-commercial software creation.
-It is changeable and can be improved. The author would greatly appreciate
-any advises, new components and patches of the existing programs.
-Commercial usage is also possible with participation of it's author.
-
-
-*/
-
-
-#ifndef __FTPLIBRARY_H
-#define __FTPLIBRARY_H
-
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/timeb.h>
-#include <sys/socket.h>
-#include <arpa/ftp.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <arpa/telnet.h>
-#include <sys/stat.h>
-
-
-#ifndef __FreeBSD__
-extern char *sys_errlist[];
-extern int errno;
-#else
-#include <errno.h>
-#endif
-
-
- /* Standard Macros & Definitions */
-
-
-
-#define EXIT(con,e) \
- ( con -> errno = e, \
- ((e==QUIT||e==LQUIT)&&(con->IO != NULL))?(*(con->IO))(con,e,sys_errlist[errno]):0,\
- ((con->error != NULL) && (e < 0) )?(*(con->error))(con,e,FtpMessage(e)):0,\
- e)
-
-
-#define MAX_ANSWERS 10 /* Number of known goodest answers for reqest */
-#define NFDS 64
-#define FTPBUFSIZ BUFSIZ
-#define LQUIT (-6)
-#define QUIT (-5) /* Few time ago QUIT character been
- equivalence to zero, changed for clear
- conflicts with reading functions */
-#define Ctrl(x) ((x) - '@')
-#define FREE(x) memset ( &(x) , '\0' , sizeof (x) )
-#define CUT(x) ((x)&0xff)
-#define FtpError(x) ((x)<0)
-#define FtpAssert(ftp,x) if (FtpError(x)) return EXIT((ftp),(ftp)->errno);
-
-typedef int STATUS;
-typedef char String[256];
-
-#ifdef __GNUC__
-#define INLINE inline
-#else
-#define INLINE
-#endif
-
-
-
- /* Common Information Structure */
-
-typedef struct/* All structure initialize from edited struct FtpInit */
-{
- FILE *sock; /* Command stream to server */
-
-#define FTPDATA(x) ((x)->data)
-#define FTPCMD(x) ((x)->sock)
-
-
- FILE *data; /* Data stream to server */
- char mode; /* Binary, Ascii, ......... */
- int errno; /* Last error code */
- int ch; /* Help character for ascii streams */
-
- STATUS (*error)();
- STATUS (*debug)();
- STATUS (*IO)();
- STATUS (*hash)(); /* Call with reading/writing next "int" characters
- from stream */
- int seek; /*
- Warning! If server not supported REST-command,
- then seek variable automaticaly turn to zero
- */
- int flags; /* FTP_REST,
- FTP_NOEXIT */
- struct timeval timeout;
- /* How long must be waiting next character
- from server */
- int port;
- String title; /* Using for FtpLog, FtpConnect lets hostname */
- unsigned long counter;
- /* Using by FtpHash */
-} FTP;
-
-typedef struct
-{
- struct tm createtime;
- unsigned long size;
- String host;
- String file;
-} ARCHIE;
-
-
-enum {FTP_REST=1,FTP_NOEXIT=2};
-enum {no,yes};
-enum {off,on};
-enum {false,true};
-
-extern FTP FtpInit;
-
-/* Options defines */
-
-#define FtpSetFlag(ftp,flag) ((ftp)->flags|=(flag))
-#define FtpClearFlag(ftp,flag) ((ftp)->flags &= (~(flag)) )
-#define FtpTestFlag(ftp,flag) ((ftp)->flags&(flag)==flag)
-#define FtpSetTimeout(ftp,tim) \
- ((ftp)->timeout.tv_sec=tim,(ftp)->timeout.tv_usec=0)
-#define FtpSetPort(ftp,prt) ((ftp)->port=(prt))
-
-/* Connect & disconnect */
-
-STATUS FtpConnect(FTP **con,char *hostname);
-#define FtpUser(ftp,user) FtpCommand(ftp,"USER %s",user,230,331,332,EOF)
-#define FtpPassword(ftp,pas) FtpCommand(ftp,"PASS %s",pas,230,332,EOF)
-#define FtpAccount(ftp,acc) FtpCommand(ftp,"ACCT %s",acc,230,EOF)
-STATUS FtpLogin(FTP **con,char *host ,char *user,char *pass,char *acct);
-STATUS FtpBye (FTP * con);
-STATUS FtpQuickBye (FTP * con);
-STATUS FtpAbort(FTP *ftp);
-
-/* Set type of transfer */
-
-STATUS FtpType(FTP *ftp,char type);
-#define FtpAscii(ftp) FtpType(ftp,'A')
-#define FtpBinary(ftp) FtpType(ftp,'I')
-
-
-/* Send/Receive and handling Procedure(s) */
-
-STATUS FtpCopy(FTP *ftp1, FTP *ftp2, char *in, char *out);
-STATUS FtpPassiveTransfer(FTP *ftp1, FTP *ftp2, char *in, char *out);
-
-STATUS FtpRetr(FTP *con, char *command,char *inp,char *out);
-#define FtpGet(ftp,in,out) FtpRetr(ftp,"RETR %s",in,out)
-#define FtpDirectory(ftp,pat,out) FtpRetr(ftp,"LIST %s",pat,out)
-#define FtpDir(ftp,out) FtpRetr(ftp,"LIST","",out)
-
-STATUS FtpStor(FTP *con ,char*command ,char *inp,char *out);
-#define FtpPut(ftp,in,out) FtpStor(ftp,"STOR %s",in,out)
-
-STATUS FtpData( FTP * con , char * command , char * param , char *mode);
-STATUS FtpPort ( FTP *con ,int ,int ,int ,int ,int ,int );
-#define FtpOpenRead(ftp,file) FtpData(ftp,"RETR %s",file,"r")
-#define FtpOpenWrite(ftp,file) FtpData(ftp,"STOR %s",file,"w")
-#define FtpOpenAppend(ftp,file) FtpData(ftp,"APPE %s",file,"r")
-STATUS FtpOpenDir( FTP * con , char * files );
-STATUS FtpClose ( FTP *);
-
-STATUS FtpReadBlock(FTP *ftp, char *buffer, int size);
-STATUS FtpWriteBlock(FTP *ftp, char *buffer, int size);
-
-/* Command for hand transfer */
-
-STATUS FtpRead ( FTP * con);
-STATUS FtpWrite ( FTP * con , char c);
-int FtpGetc ( FTP * ftp, FILE *fp );
-STATUS FtpPutc (FTP *ftp, FILE *fp, char c);
-
-/* Manipulation commands for remote server */
-
-STATUS FtpCommand ();
-#define FtpChdir(ftp,dir) FtpCommand(ftp,"CWD %s",dir,200,250,EOF)
-#define FtpMkdir(ftp,dir) FtpCommand(ftp,"MKD %s",dir,200,257,EOF)
-#define FtpRm(ftp,dir) FtpCommand(ftp,"DELE %s",dir,200,250,EOF)
-char *FtpPwd(FTP *con);
-int FtpSize(FTP *con,char *filename);
-STATUS FtpMove ( FTP *con,char * old,char *new);
-
-/* Procedures for dialog with remote server */
-
-STATUS FtpInitMessageList();
-STATUS FtpSendMessage( FTP * con , char * Message );
-int FtpGetMessage( FTP * con , char * Message);
-char *FtpMessage(int Number);
-int FtpNumber ( char * Message );
-
-
-/* Debug */
-
-#define FtpSetErrorHandler(con,f) (con)->error = f
-#define FtpSetDebugHandler(con,f) (con)->debug = f
-#define FtpSetIOHandler(con,f) (con)->IO =f
-#define FtpSetHashHandler(con,f) (con)->hash =f
-#define FtplibDebug(t) FtpDebug(&FtpInit)
-
-STATUS FtpDebugDebug ( FTP *con, int errno, char * Message);
-STATUS FtpDebugError ( FTP *con, int errno, char * Message);
-STATUS FtpDebugIO ( FTP *con, int errno, char * Message);
-STATUS FtpLog(char *progtitle, char *msg);
-STATUS FtpHash ( FTP *con, unsigned long number_of_bytes );
-void FtpDebug ( FTP * con );
-STATUS FtpBadReply550 (char *message);
-
-
-/* Other Procedures */
-
-FTP *FtpCreateObject();
-FILE *FtpFullOpen(char * file,char * mode );
-STATUS FtpFullSyntax(String,String,String,String,String);
-FILE *Ftpfopen(char *filename,char *mode);
-STATUS Ftpfclose(FILE *);
-STATUS FtpFullClose(FILE *);
-STATUS FtpGood ();
-STATUS FtpGood1 (int, int *);
-struct hostent *FtpGetHost(char *host);
-STATUS FtpFilenameChecher(char *input, char *output);
-STATUS FtpLink(FTP *,FTP *);
-int FtpArchie(char *what, ARCHIE *, int number);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-/* Additional definitions */
-
-#ifdef _AIX
-int accept (int, struct sockaddr_in*, int*);
-char *bcopy (char*, char*, size_t);
-int bind (int, const void*, int);
-int connect (int, struct sockaddr_in*, int);
-int gethostname (char*, size_t);
-int getsockname (int, struct sockaddr_in*, int*);
-int getpeername (int, struct sockaddr_in*, int*);
-int getsockopt (int, int, int, void*, int*);
-int listen(int, int);
-int setsockopt (int, int, int, void*, int);
-int socket (int, int, int);
-void free (void*);
-void *malloc (size_t);
-#endif
-
-
-
-
-#endif /* __FTPLIBRARYH_ */
-
-
-
OpenPOWER on IntegriCloud