2 * $Logfile: /Freespace2/code/Inetfile/CFtp.h $
7 * FTP Client class (get only)
10 * Revision 1.1 2002/05/03 03:28:12 root
14 * 2 4/20/99 6:39p Dave
15 * Almost done with artillery targeting. Added support for downloading
16 * images on the PXO screen.
18 * 1 4/20/99 4:37p Dave
27 #define FTP_STATE_INTERNAL_ERROR 0
28 #define FTP_STATE_SOCKET_ERROR 1
29 #define FTP_STATE_URL_PARSING_ERROR 2
30 #define FTP_STATE_CONNECTING 3
31 #define FTP_STATE_HOST_NOT_FOUND 4
32 #define FTP_STATE_CANT_CONNECT 5
33 #define FTP_STATE_LOGGING_IN 6
34 #define FTP_STATE_LOGIN_ERROR 7
35 #define FTP_STATE_LOGGED_IN 8
36 #define FTP_STATE_DIRECTORY_INVALID 9
37 #define FTP_STATE_FILE_NOT_FOUND 10
38 #define FTP_STATE_RECEIVING 11
39 #define FTP_STATE_FILE_RECEIVED 12
40 #define FTP_STATE_UNKNOWN_ERROR 13
41 #define FTP_STATE_RECV_FAILED 14
42 #define FTP_STATE_CANT_WRITE_FILE 15
43 #define FTP_STATE_STARTUP 16
46 extern void FTPObjThread( void * obj );
52 CFtpGet(char *URL,char *localfile,char *Username = NULL,char *Password = NULL);
55 unsigned int GetBytesIn();
56 unsigned int GetTotalBytes();
63 int ConnectControlSocket();
65 unsigned int SendFTPCommand(char *command);
66 unsigned int ReadFTPServerReply();
67 unsigned int GetFile();
68 unsigned int IssuePort();
69 unsigned int ReadDataChannel();
70 void FlushControlChannel();
72 unsigned int m_iBytesIn;
73 unsigned int m_iBytesTotal;
79 char m_szUserName[100];
80 char m_szPassword[100];
83 char m_szFilename[100];
85 char recv_buffer[1000];