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.
39 /** TCP connection for this request */
40 struct tcp_connection tcp;
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 );
52 /** Asynchronous operation for this FTP operation */
53 struct async_operation aop;
57 /** Amount of current message already transmitted */
59 /** Buffer to be filled with data received via the control channel */
61 /** Remaining size of recvbuf */
63 /** FTP status code, as text */
65 /** Passive-mode parameters, as text */
66 char passive_text[24]; /* "aaa,bbb,ccc,ddd,eee,fff" */
68 /** TCP connection for the data channel */
69 struct tcp_connection tcp_data;
72 struct async_operation * ftp_get ( struct ftp_request *ftp );
74 #endif /* _GPXE_FTP_H */