diff options
author | Adriano Cordova <adrianox@gmail.com> | 2024-11-11 18:08:57 -0300 |
---|---|---|
committer | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2024-11-16 21:35:05 +0100 |
commit | 1de93fda99f800aa1919268035fa2dd0e5109610 (patch) | |
tree | c855d1e123c6567b1faecc3960956d2903c56596 | |
parent | 408af976742e6ffedf48fa42792955a633e357ed (diff) |
net: wget: Add interface to issue wget_requests using wget_http_info
Declare and define a global default struct wget_http_info
and an interface to issue wget requests providing a custom
struct wget_http_info. This code is common to legacy wget
and lwip wget. The idea is that the command wget should use
the default wget_http_info and other internal u-boot code
can call wget_request with their own wget_http_info struct.
Signed-off-by: Adriano Cordova <adrianox@gmail.com>
-rw-r--r-- | include/net-common.h | 4 | ||||
-rw-r--r-- | net/net-common.c | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/net-common.h b/include/net-common.h index 8985b81c2d2..1efb0db9ff5 100644 --- a/include/net-common.h +++ b/include/net-common.h @@ -554,4 +554,8 @@ struct wget_http_info { char *headers; }; +extern struct wget_http_info default_wget_info; +extern struct wget_http_info *wget_info; +int wget_request(ulong dst_addr, char *uri, struct wget_http_info *info); + #endif /* __NET_COMMON_H__ */ diff --git a/net/net-common.c b/net/net-common.c index a7f767d5e9c..45288fe5f80 100644 --- a/net/net-common.c +++ b/net/net-common.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include <net-common.h> void copy_filename(char *dst, const char *src, int size) { @@ -11,3 +12,16 @@ void copy_filename(char *dst, const char *src, int size) *dst++ = *src++; *dst = '\0'; } + +struct wget_http_info default_wget_info = { + .method = WGET_HTTP_METHOD_GET, + .set_bootdev = true, +}; + +struct wget_http_info *wget_info; + +int wget_request(ulong dst_addr, char *uri, struct wget_http_info *info) +{ + wget_info = info ? info : &default_wget_info; + return wget_with_dns(dst_addr, uri); +} |