Files
ipxe/src/include/usr/autoboot.h
Michael Brown bb5a54b79a [block] Add basic multipath support
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>
2017-03-26 16:06:02 +03:00

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 */