mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 12:08:19 +00:00 
			
		
		
		
	Add support for the wget command with NET_LWIP. The command normally
expects a URL: wget [loadaddr] url, but it also accepts the legacy
syntax: wget [loadaddr] [server:]file.
The server IP may alternatively be supplied via ${httpserverip} which
has higher priority than ${serverip}.
Based on code initially developed by Maxim U.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Co-developed-by: Maxim Uvarov <muvarov@gmail.com>
Cc: Maxim Uvarov <muvarov@gmail.com>
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
		
	
			
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0+ */
 | |
| 
 | |
| #ifndef __NET_LWIP_H__
 | |
| #define __NET_LWIP_H__
 | |
| 
 | |
| #include <lwip/ip4.h>
 | |
| #include <lwip/netif.h>
 | |
| 
 | |
| enum proto_t {
 | |
| 	TFTPGET
 | |
| };
 | |
| 
 | |
| struct netif *net_lwip_new_netif(struct udevice *udev);
 | |
| struct netif *net_lwip_new_netif_noip(struct udevice *udev);
 | |
| void net_lwip_remove_netif(struct netif *netif);
 | |
| struct netif *net_lwip_get_netif(void);
 | |
| int net_lwip_rx(struct udevice *udev, struct netif *netif);
 | |
| 
 | |
| /**
 | |
|  * wget_with_dns() - runs dns host IP address resulution before wget
 | |
|  *
 | |
|  * @dst_addr:	destination address to download the file
 | |
|  * @uri:	uri string of target file of wget
 | |
|  * Return:	downloaded file size, negative if failed
 | |
|  */
 | |
| 
 | |
| int wget_with_dns(ulong dst_addr, char *uri);
 | |
| /**
 | |
|  * wget_validate_uri() - varidate the uri
 | |
|  *
 | |
|  * @uri:	uri string of target file of wget
 | |
|  * Return:	true if uri is valid, false if uri is invalid
 | |
|  */
 | |
| bool wget_validate_uri(char *uri);
 | |
| 
 | |
| int do_dhcp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
 | |
| int do_dns(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
 | |
| int do_ping(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
 | |
| int do_wget(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]);
 | |
| 
 | |
| #endif /* __NET_LWIP_H__ */
 |