diff options
author | Tom Rini <trini@konsulko.com> | 2025-03-18 13:12:51 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2025-03-18 13:12:51 -0600 |
commit | 8bc3542384e3a1219e5ffb62b79d16dddc1b1fb9 (patch) | |
tree | 8473478696b9a12d2db424afcec705dcce58c580 /include/net-common.h | |
parent | 698edd63eca090a2e299cd3facf90a0b97bed677 (diff) | |
parent | 0f094b8b146679c3980cd2febde4e902bbc4405d (diff) |
Merge patch series "pxe: Precursor series for supporting read_all() in extlinux / PXE"
Simon Glass <sjg@chromium.org> says:
This series includes some patches related to allowing read_all() to be
used with the extlinux / PXE bootmeths.
These patches were split out from the stb4 series, since it will need to
have additional patches for LWIP, to avoid breaking PXE booting when
LWIP is used.
Link: https://lore.kernel.org/r/20250306002533.2380866-1-sjg@chromium.org
Diffstat (limited to 'include/net-common.h')
-rw-r--r-- | include/net-common.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/net-common.h b/include/net-common.h index 1d507b13b06..6a39091a5d4 100644 --- a/include/net-common.h +++ b/include/net-common.h @@ -475,6 +475,36 @@ int net_init(void); enum proto_t; int net_loop(enum proto_t protocol); +/* internal function: do not use! */ +int netboot_run_(enum proto_t proto, ulong addr, const char *fname, ulong size, + bool fname_explicit, bool ipv6); + +/** + * netboot_run() - Run a network operation + * + * The following proto values are NOT supported: + * PING, since net_ping_ip cannot be set + * NETCONS, since its parameters cannot bet set + * RS, since first_call cannot be set, along with perhaps other things + * UDP, since udp_ops cannot be set + * DNS, since net_dns_resolve and net_dns_env_var cannot be set + * WGET, since DNS must be done first and that is not supported + * DHCP6, since the required parameters cannot be passed in + * + * To support one of these, either add the required arguments or perhaps a + * separate function and a struct to hold the information. + * + * @proto: Operation to run: TFTPGET, FASTBOOT_UDP, FASTBOOT_TCP, BOOTP, + * TFTPPUT, RARP, NFS, DHCP + * @addr: Load/save address + * @fname: Filename + * @size: Save size (not used for TFTPGET) + * @ipv6: true to use IPv6, false to use IPv4 + * Return 0 on success, else -ve error code + */ +int netboot_run(enum proto_t proto, ulong addr, const char *fname, ulong size, + bool ipv6); + /** * dhcp_run() - Run DHCP on the current ethernet device * |