[0001]
[0002]
[0003]
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
/*****************************************************************************/
/*
                                 ProxyFTP.h

26-JAN-2002  MGD  initial
*/
/*****************************************************************************/

#ifndef PROXYFTP_H_LOADED
#define PROXYFTP_H_LOADED 1

#include "proxystruct.h"

#define PROXY_FTP_COMMAND_SIZE 256
#define PROXY_FTP_RESPONSE_SIZE 256

#define PROXY_FTP_STATE_NONE          0
#define PROXY_FTP_STATE_USER          1
#define PROXY_FTP_STATE_USER_DONE     2
#define PROXY_FTP_STATE_PASS_DONE     3
#define PROXY_FTP_STATE_SYST_DONE     4
#define PROXY_FTP_STATE_PWD_DONE      5
#define PROXY_FTP_STATE_CWD_DONE      6
#define PROXY_FTP_STATE_PASV_DONE     7
#define PROXY_FTP_STATE_LIST          8
#define PROXY_FTP_STATE_LIST_RECEIVE  9
#define PROXY_FTP_STATE_LIST_CHECK   10
#define PROXY_FTP_STATE_LIST_PROCESS 11
#define PROXY_FTP_STATE_RETR         12
#define PROXY_FTP_STATE_RETR_MODE    13
#define PROXY_FTP_STATE_RETR_FILE    14
#define PROXY_FTP_STATE_RETR_DONE    15
#define PROXY_FTP_STATE_STOR         16
#define PROXY_FTP_STATE_STOR_TYPE    17
#define PROXY_FTP_STATE_STOR_FILE    18
#define PROXY_FTP_STATE_STOR_CHECK   19
#define PROXY_FTP_STATE_STOR_DONE    20
#define PROXY_FTP_STATE_DELE         21
#define PROXY_FTP_STATE_DELE_DONE    22
#define PROXY_FTP_STATE_ABORT        97
#define PROXY_FTP_STATE_QUIT         98
#define PROXY_FTP_STATE_QUIT_DONE    99

#define PROXY_FTP_FILE_SYSTEM_NONE    0
#define PROXY_FTP_FILE_SYSTEM_DOS     1
#define PROXY_FTP_FILE_SYSTEM_UNIX    2
#define PROXY_FTP_FILE_SYSTEM_VMS     3
#define PROXY_FTP_FILE_SYSTEM_UNKNOWN 9

/* allocate more memory when the space gets below this */
#define PROXY_FTP_LIST_LOW_BUFFER      512
#define PROXY_FTP_RESPONSE_LOW_BUFFER  512

/***********************/
/* function prototypes */
/***********************/

ProxyFtpBegin (PROXY_TASK*);
ProxyFtpCommand (PROXY_TASK*, BOOL, char*, ...);
ProxyFtpCommandAst (PROXY_TASK*);
ProxyFtpCommandResponseAst (PROXY_TASK*);
ProxyFtpCwd (PROXY_TASK*);
ProxyFtpDataCloseSocket (PROXY_TASK *tkptr);
ProxyFtpDataConnect (PROXY_TASK *tkptr);
ProxyFtpDataConnectAst (PROXY_TASK *tkptr);
ProxyFtpDataReadRaw (PROXY_TASK*, PROXY_AST, char*, int);
ProxyFtpDataReadRawAst (PROXY_TASK*);
ProxyFtpDataWriteRaw (PROXY_TASK*, PROXY_AST, char*, int);
ProxyFtpDataWriteRawAst (PROXY_TASK*);
ProxyFtpDelete (PROXY_TASK*);
char* ProxyFtpInQueryString (char*, char*);
BOOL ProxyFtpFilePath (PROXY_TASK*);
int ProxyFtpHttpStatus (PROXY_TASK*);
int ProxyFtpIndexOf (PROXY_TASK*, char*);
ProxyFtpLifeCycle (PROXY_TASK*);
ProxyFtpListReceive (PROXY_TASK*);
ProxyFtpListProcess (PROXY_TASK*);
ProxyFtpListProcessDOS (PROXY_TASK*);
ProxyFtpListProcessVMS (PROXY_TASK*);
ProxyFtpListProcessUnix (PROXY_TASK*);
ProxyFtpListOutput (PROXY_TASK*);
ProxyFtpListWriteAst (REQUEST_STRUCT*);
BOOL ProxyFtpPasvData (PROXY_TASK*);
ProxyFtpRemoteFileSystem (PROXY_TASK*);
ProxyFtpResponse (PROXY_TASK*);
ProxyFtpResponseAst (PROXY_TASK*);
ProxyFtpResponseInvalid (PROXY_TASK*);
ProxyFtpRetrieve (PROXY_TASK*);
ProxyFtpRetrieveAst (PROXY_TASK*);
ProxyFtpRetrieveWriteAst (REQUEST_STRUCT*);
ProxyFtpStore (PROXY_TASK*);
ProxyFtpStoreAst (PROXY_TASK*);
ProxyFtpStoreBodyReadAst (REQUEST_STRUCT*);
ProxyFtpStoreBodyReadBegin (PROXY_TASK*);
ProxyFtpStoreForm (REQUEST_STRUCT*);

#endif /* PROXYFTP_H_LOADED */

/*****************************************************************************/