6 * File transfer protocol
11 #include <gpxe/async.h>
14 /** FTP default port */
20 * These @b must be sequential, i.e. a successful FTP session must
21 * pass through each of these states in order.
40 struct sockaddr_tcpip server;
41 /** File to download */
45 * @v data Received data
46 * @v len Length of received data
48 * This function is called for all data received from the
51 void ( *callback ) ( char *data, size_t len );
55 /** Amount of current message already transmitted */
57 /** Buffer to be filled with data received via the control channel */
59 /** Remaining size of recvbuf */
61 /** FTP status code, as text */
63 /** Passive-mode parameters, as text */
64 char passive_text[24]; /* "aaa,bbb,ccc,ddd,eee,fff" */
66 /** TCP application for the control channel */
67 struct tcp_application tcp;
68 /** TCP application for the data channel */
69 struct tcp_application tcp_data;
71 /** Asynchronous operation for this FTP operation */
72 struct async_operation aop;
75 struct async_operation * ftp_get ( struct ftp_request *ftp );
77 #endif /* _GPXE_FTP_H */