mirror of
https://github.com/ipxe/ipxe
synced 2025-12-21 12:30:20 +03:00
Update TFTP and FTP to take the same temporary URI scheme as HTTP
This commit is contained in:
@@ -38,12 +38,12 @@ enum ftp_state {
|
||||
*
|
||||
*/
|
||||
struct ftp_request {
|
||||
/** Server address */
|
||||
struct sockaddr_tcpip server;
|
||||
/** File to download */
|
||||
const char *filename;
|
||||
/** URI being fetched */
|
||||
struct uri *uri;
|
||||
/** Data buffer to fill */
|
||||
struct buffer *buffer;
|
||||
/** Asynchronous operation */
|
||||
struct async async;
|
||||
|
||||
/** Current state */
|
||||
enum ftp_state state;
|
||||
@@ -57,16 +57,13 @@ struct ftp_request {
|
||||
char status_text[4];
|
||||
/** Passive-mode parameters, as text */
|
||||
char passive_text[24]; /* "aaa,bbb,ccc,ddd,eee,fff" */
|
||||
|
||||
/** TCP application for the control channel */
|
||||
struct tcp_application tcp;
|
||||
/** TCP application for the data channel */
|
||||
struct tcp_application tcp_data;
|
||||
|
||||
/** Asynchronous operation for this FTP operation */
|
||||
struct async async;
|
||||
};
|
||||
|
||||
struct async_operation * ftp_get ( struct ftp_request *ftp );
|
||||
extern int ftp_get ( struct uri *uri, struct buffer *buffer,
|
||||
struct async *parent );
|
||||
|
||||
#endif /* _GPXE_FTP_H */
|
||||
|
||||
@@ -86,12 +86,13 @@ union tftp_any {
|
||||
* This data structure holds the state for an ongoing TFTP transfer.
|
||||
*/
|
||||
struct tftp_session {
|
||||
/** UDP connection */
|
||||
struct udp_connection udp;
|
||||
/** Filename */
|
||||
const char *filename;
|
||||
/** URI being fetched */
|
||||
struct uri *uri;
|
||||
/** Data buffer to fill */
|
||||
struct buffer *buffer;
|
||||
/** Asynchronous operation */
|
||||
struct async async;
|
||||
|
||||
/** Requested data block size
|
||||
*
|
||||
* This is the "blksize" option requested from the TFTP
|
||||
@@ -133,15 +134,15 @@ struct tftp_session {
|
||||
* (i.e. that no blocks have yet been received).
|
||||
*/
|
||||
int state;
|
||||
|
||||
/** Asynchronous operation for this session */
|
||||
struct async async;
|
||||
/** UDP connection */
|
||||
struct udp_connection udp;
|
||||
/** Retransmission timer */
|
||||
struct retry_timer timer;
|
||||
};
|
||||
|
||||
/* Function prototypes */
|
||||
|
||||
extern struct async_operation * tftp_get ( struct tftp_session *tftp );
|
||||
extern int tftp_get ( struct uri *uri, struct buffer *buffer,
|
||||
struct async *parent );
|
||||
|
||||
#endif /* _GPXE_TFTP_H */
|
||||
|
||||
Reference in New Issue
Block a user