summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/dhcp.h6
-rw-r--r--src/include/ipxe/sanboot.h3
-rw-r--r--src/include/ipxe/settings.h2
-rw-r--r--src/include/usr/autoboot.h2
4 files changed, 11 insertions, 2 deletions
diff --git a/src/include/ipxe/dhcp.h b/src/include/ipxe/dhcp.h
index 0f662d633..b7a5f004b 100644
--- a/src/include/ipxe/dhcp.h
+++ b/src/include/ipxe/dhcp.h
@@ -440,6 +440,12 @@ struct dhcp_netdev_desc {
*/
#define DHCP_EB_SAN_RETRY DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbb )
+/** SAN filename
+ *
+ * This is the path of the bootloader within the SAN device.
+ */
+#define DHCP_EB_SAN_FILENAME DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbc )
+
/** SAN drive number
*
* This is the drive number for a SAN-hooked drive. For BIOS, 0x80 is
diff --git a/src/include/ipxe/sanboot.h b/src/include/ipxe/sanboot.h
index 8737bbc0b..8b3e2b282 100644
--- a/src/include/ipxe/sanboot.h
+++ b/src/include/ipxe/sanboot.h
@@ -155,9 +155,10 @@ void san_unhook ( unsigned int drive );
* Attempt to boot from a SAN device
*
* @v drive Drive number
+ * @v filename Filename (or NULL to use default)
* @ret rc Return status code
*/
-int san_boot ( unsigned int drive );
+int san_boot ( unsigned int drive, const char *filename );
/**
* Describe SAN devices for SAN-booted operating system
diff --git a/src/include/ipxe/settings.h b/src/include/ipxe/settings.h
index 521efa99d..36b4c2410 100644
--- a/src/include/ipxe/settings.h
+++ b/src/include/ipxe/settings.h
@@ -452,6 +452,8 @@ filename_setting __setting ( SETTING_BOOT, filename );
extern const struct setting
root_path_setting __setting ( SETTING_SANBOOT, root-path );
extern const struct setting
+san_filename_setting __setting ( SETTING_SANBOOT, san-filename );
+extern const struct setting
username_setting __setting ( SETTING_AUTH, username );
extern const struct setting
password_setting __setting ( SETTING_AUTH, password );
diff --git a/src/include/usr/autoboot.h b/src/include/usr/autoboot.h
index c62d06c6f..f88b8494f 100644
--- a/src/include/usr/autoboot.h
+++ b/src/include/usr/autoboot.h
@@ -32,7 +32,7 @@ extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len );
extern int uriboot ( struct uri *filename, struct uri **root_paths,
unsigned int root_path_count, int drive,
- unsigned int flags );
+ const char *san_filename, unsigned int flags );
extern struct uri *
fetch_next_server_and_filename ( struct settings *settings );
extern int netboot ( struct net_device *netdev );