iPXE
autoboot.h
Go to the documentation of this file.
1 #ifndef _USR_AUTOBOOT_H
2 #define _USR_AUTOBOOT_H
3 
4 /** @file
5  *
6  * Automatic booting
7  *
8  */
9 
10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11 
12 #include <ipxe/device.h>
13 
14 struct net_device;
15 struct uri;
16 struct settings;
17 struct san_boot_config;
18 
19 /** uriboot() flags */
24 };
25 
26 #define URIBOOT_NO_SAN ( URIBOOT_NO_SAN_DESCRIBE | \
27  URIBOOT_NO_SAN_BOOT | \
28  URIBOOT_NO_SAN_UNHOOK )
29 
30 extern void set_autoboot_busloc ( unsigned int bus_type,
31  unsigned int location );
32 extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len,
33  unsigned int vlan );
34 
35 extern int uriboot ( struct uri *filename, struct uri **root_paths,
36  unsigned int root_path_count, int drive,
37  struct san_boot_config *san_config, unsigned int flags );
38 extern struct uri *
40 extern int netboot ( struct net_device *netdev );
41 extern int ipxe ( struct net_device *netdev );
42 
43 extern int pxe_menu_boot ( struct net_device *netdev );
44 
45 #endif /* _USR_AUTOBOOT_H */
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
int uriboot(struct uri *filename, struct uri **root_paths, unsigned int root_path_count, int drive, struct san_boot_config *san_config, unsigned int flags)
Boot from filename and root-path URIs.
Definition: autoboot.c:129
int ipxe(struct net_device *netdev)
Main iPXE flow of execution.
Definition: autoboot.c:585
void set_autoboot_busloc(unsigned int bus_type, unsigned int location)
Identify autoboot device by bus type and location.
Definition: autoboot.c:490
uint8_t drive
Drive number.
Definition: int13.h:16
uriboot_flags
uriboot() flags
Definition: autoboot.h:20
int netboot(struct net_device *netdev)
Boot from a network device.
Definition: autoboot.c:391
SAN boot configuration parameters.
Definition: sanboot.h:110
static struct net_device * netdev
Definition: gdbudp.c:52
const char * filename
Boot filename (or NULL to use default)
Definition: sanboot.h:112
uint8_t flags
Flags.
Definition: ena.h:18
A network device.
Definition: netdevice.h:352
A settings block.
Definition: settings.h:132
void set_autoboot_ll_addr(const void *ll_addr, size_t len, unsigned int vlan)
Identify autoboot device by link-layer address.
Definition: autoboot.c:520
struct uri * fetch_next_server_and_filename(struct settings *settings)
Fetch next-server and filename settings into a URI.
Definition: autoboot.c:241
Device model.
A Uniform Resource Identifier.
Definition: uri.h:64
uint32_t len
Length.
Definition: ena.h:14
int pxe_menu_boot(struct net_device *netdev)
Boot using PXE boot menu.
Definition: pxemenu.c:344