mirror of
https://github.com/ipxe/ipxe
synced 2025-12-16 17:41:18 +03:00
Add basic support for multipath block devices. The "sanboot" and "sanhook" commands now accept a list of SAN URIs. We open all URIs concurrently. The first connection to become available for issuing block device commands is marked as the active path and used for all subsequent commands; all other connections are then closed. Whenever the active path fails, we reopen all URIs and repeat the process. Signed-off-by: Michael Brown <mcb30@ipxe.org>
44 lines
1.0 KiB
C
44 lines
1.0 KiB
C
#ifndef _USR_AUTOBOOT_H
|
|
#define _USR_AUTOBOOT_H
|
|
|
|
/** @file
|
|
*
|
|
* Automatic booting
|
|
*
|
|
*/
|
|
|
|
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|
|
|
#include <ipxe/device.h>
|
|
|
|
struct net_device;
|
|
struct uri;
|
|
struct settings;
|
|
|
|
/** uriboot() flags */
|
|
enum uriboot_flags {
|
|
URIBOOT_NO_SAN_DESCRIBE = 0x0001,
|
|
URIBOOT_NO_SAN_BOOT = 0x0002,
|
|
URIBOOT_NO_SAN_UNHOOK = 0x0004,
|
|
};
|
|
|
|
#define URIBOOT_NO_SAN ( URIBOOT_NO_SAN_DESCRIBE | \
|
|
URIBOOT_NO_SAN_BOOT | \
|
|
URIBOOT_NO_SAN_UNHOOK )
|
|
|
|
extern void set_autoboot_busloc ( unsigned int bus_type,
|
|
unsigned int location );
|
|
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 );
|
|
extern struct uri *
|
|
fetch_next_server_and_filename ( struct settings *settings );
|
|
extern int netboot ( struct net_device *netdev );
|
|
extern int ipxe ( struct net_device *netdev );
|
|
|
|
extern int pxe_menu_boot ( struct net_device *netdev );
|
|
|
|
#endif /* _USR_AUTOBOOT_H */
|