1 // -*- mode: cpp; mode: fold -*-
2 // Description /*{{{*/// $Id: ftp.h,v 1.4 2001/03/06 07:15:29 jgg Exp $
3 // $Id: ftp.h,v 1.4 2001/03/06 07:15:29 jgg Exp $
4 /* ######################################################################
6 FTP Aquire Method - This is the FTP aquire method for APT.
8 ##################################################################### */
13 #include <apt-pkg/strutl.h>
29 struct addrinfo
*PasvAddr
;
31 // Generic Peer Address
32 struct sockaddr_storage PeerAddr
;
33 socklen_t PeerAddrLen
;
35 // Generic Server Address (us)
36 struct sockaddr_storage ServerAddr
;
37 socklen_t ServerAddrLen
;
39 // Private helper functions
40 bool ReadLine(std::string
&Text
);
47 bool Comp(URI Other
) {return Other
.Host
== ServerName
.Host
&& Other
.Port
== ServerName
.Port
&& Other
.User
== ServerName
.User
&& Other
.Password
== ServerName
.Password
; };
50 bool ReadResp(unsigned int &Ret
,std::string
&Text
);
51 bool WriteMsg(unsigned int &Ret
,std::string
&Text
,const char *Fmt
,...);
54 bool Open(pkgAcqMethod
*Owner
);
60 bool Size(const char *Path
,unsigned long long &Size
);
61 bool ModTime(const char *Path
, time_t &Time
);
62 bool Get(const char *Path
,FileFd
&To
,unsigned long long Resume
,
63 Hashes
&MD5
,bool &Missing
);
69 class FtpMethod
: public pkgAcqMethod
71 virtual bool Fetch(FetchItem
*Itm
);
72 virtual bool Configuration(std::string Message
);
76 static std::string FailFile
;
78 static time_t FailTime
;
79 static void SigTerm(int);