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 FILE_SECBOOT ( PERMITTED );
12 
13 #include <ipxe/device.h>
14 
15 struct net_device;
16 struct uri;
17 struct settings;
18 struct san_boot_config;
19 
20 /** uriboot() flags */
25 };
26 
27 #define URIBOOT_NO_SAN ( URIBOOT_NO_SAN_DESCRIBE | \
28  URIBOOT_NO_SAN_BOOT | \
29  URIBOOT_NO_SAN_UNHOOK )
30 
31 extern void set_autoboot_busloc ( unsigned int bus_type,
32  unsigned int location );
33 extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len,
34  unsigned int vlan );
35 
36 extern int uriboot ( struct uri *filename, struct uri **root_paths,
37  unsigned int root_path_count, int drive,
38  struct san_boot_config *san_config, unsigned int flags );
39 extern struct uri *
41 extern int netboot ( struct net_device *netdev );
42 extern int ipxe ( struct net_device *netdev );
43 
44 extern int pxe_menu_boot ( struct net_device *netdev );
45 
46 #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:130
int ipxe(struct net_device *netdev)
Main iPXE flow of execution.
Definition: autoboot.c:586
void set_autoboot_busloc(unsigned int bus_type, unsigned int location)
Identify autoboot device by bus type and location.
Definition: autoboot.c:491
FILE_SECBOOT(PERMITTED)
uint8_t drive
Drive number.
Definition: int13.h:16
uriboot_flags
uriboot() flags
Definition: autoboot.h:21
int netboot(struct net_device *netdev)
Boot from a network device.
Definition: autoboot.c:392
ring len
Length.
Definition: dwmac.h:231
SAN boot configuration parameters.
Definition: sanboot.h:111
static struct net_device * netdev
Definition: gdbudp.c:52
const char * filename
Boot filename (or NULL to use default)
Definition: sanboot.h:113
uint8_t flags
Flags.
Definition: ena.h:18
A network device.
Definition: netdevice.h:353
A settings block.
Definition: settings.h:133
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:521
struct uri * fetch_next_server_and_filename(struct settings *settings)
Fetch next-server and filename settings into a URI.
Definition: autoboot.c:242
Device model.
A Uniform Resource Identifier.
Definition: uri.h:65
int pxe_menu_boot(struct net_device *netdev)
Boot using PXE boot menu.
Definition: pxemenu.c:344