aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/cachedhcp.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2021-07-23 11:32:04 +0100
committerMichael Brown <mcb30@ipxe.org>2021-07-23 11:32:04 +0100
commitea7646be892feca8a34a8f4197768df982ef8e13 (patch)
treef946e3578a93f63763da196568b1f575060e4329 /src/include/ipxe/cachedhcp.h
parent4d180be5175e176ec27680557c1d67536a847610 (diff)
downloadipxe-cached_proxydhcp.tar.gz
[efi] Record cached ProxyDHCPOFFER and PXEBSACK, if presentcached_proxydhcp
Commit cd3de55 ("[efi] Record cached DHCPACK from loaded image's device handle, if present") added the ability for a chainloaded UEFI iPXE to reuse an IPv4 address and DHCP options previously obtained by a built-in PXE stack, without needing to perform a second DHCP request. Extend this to also record the cached ProxyDHCPOFFER and PXEBSACK obtained from the EFI_PXE_BASE_CODE_PROTOCOL instance installed on the loaded image's device handle, if present. This allows a chainloaded UEFI iPXE to reuse a boot filename or other options that were provided via a ProxyDHCP or PXE boot server mechanism, rather than by standard DHCP. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/cachedhcp.h')
-rw-r--r--src/include/ipxe/cachedhcp.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/ipxe/cachedhcp.h b/src/include/ipxe/cachedhcp.h
index 7765c6455..39ce74543 100644
--- a/src/include/ipxe/cachedhcp.h
+++ b/src/include/ipxe/cachedhcp.h
@@ -12,6 +12,13 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <stddef.h>
#include <ipxe/uaccess.h>
-extern int cachedhcp_record ( userptr_t data, size_t max_len );
+struct cached_dhcp_packet;
+
+extern struct cached_dhcp_packet cached_dhcpack;
+extern struct cached_dhcp_packet cached_proxydhcp;
+extern struct cached_dhcp_packet cached_pxebs;
+
+extern int cachedhcp_record ( struct cached_dhcp_packet *cache, userptr_t data,
+ size_t max_len );
#endif /* _IPXE_CACHEDHCP_H */