diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/ipxe/dhcp.h | 6 | ||||
| -rw-r--r-- | src/include/ipxe/sanboot.h | 3 | ||||
| -rw-r--r-- | src/include/ipxe/settings.h | 2 | ||||
| -rw-r--r-- | src/include/usr/autoboot.h | 2 |
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 ); |
