summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2009-01-25 22:16:47 +0100
committerMichael Brown2009-01-25 22:16:47 +0100
commit027c72e0d0e2456ce5fbf7d5284f8ca7d3c94ade (patch)
treebd55b8253a2255027164604f2c6b9239ca28455b /src/include
parent[bios] Add F8 function key as a recognised BIOS keycode (diff)
downloadipxe-027c72e0d0e2456ce5fbf7d5284f8ca7d3c94ade.tar.gz
ipxe-027c72e0d0e2456ce5fbf7d5284f8ca7d3c94ade.tar.xz
ipxe-027c72e0d0e2456ce5fbf7d5284f8ca7d3c94ade.zip
[dhcp] Include support for PXE boot menus
PXE dictates a mechanism for boot menuing, involving prompting the user with a variable message, waiting for a predefined keypress, displaying a boot menu, and waiting for a selection. This breaks the currently desirable abstraction that DHCP is a process that can happen in the background without any user interaction.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/gpxe/dhcp.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/include/gpxe/dhcp.h b/src/include/gpxe/dhcp.h
index 66aa50ac3..d49ba7fd0 100644
--- a/src/include/gpxe/dhcp.h
+++ b/src/include/gpxe/dhcp.h
@@ -88,6 +88,9 @@ struct dhcp_pxe_boot_menu_item;
/** PXE boot menu */
#define DHCP_PXE_BOOT_MENU DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 9 )
+/** PXE boot menu prompt */
+#define DHCP_PXE_BOOT_MENU_PROMPT DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 10 )
+
/** PXE boot menu item */
#define DHCP_PXE_BOOT_MENU_ITEM DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 71 )
@@ -478,7 +481,7 @@ struct dhcphdr {
#define DHCP_MIN_LEN 552
/** Maximum time that we will wait for ProxyDHCP responses */
-#define PROXYDHCP_WAIT_TIME ( TICKS_PER_SEC * 1 )
+#define PROXYDHCP_WAIT_TIME ( 2 * TICKS_PER_SEC )
/** Timeouts for sending DHCP packets */
#define DHCP_MIN_TIMEOUT ( 1 * TICKS_PER_SEC )