[efi] Provide access to files stored on EFI filesystems
[ipxe.git] / src / include / usr / autoboot.h
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
18 /** uriboot() flags */
19 enum uriboot_flags {
20 URIBOOT_NO_SAN_DESCRIBE = 0x0001,
21 URIBOOT_NO_SAN_BOOT = 0x0002,
22 URIBOOT_NO_SAN_UNHOOK = 0x0004,
23 };
24
25 #define URIBOOT_NO_SAN ( URIBOOT_NO_SAN_DESCRIBE | \
26 URIBOOT_NO_SAN_BOOT | \
27 URIBOOT_NO_SAN_UNHOOK )
28
29 extern void set_autoboot_busloc ( unsigned int bus_type,
30 unsigned int location );
31 extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len );
32
33 extern int uriboot ( struct uri *filename, struct uri *root_path, int drive,
34 unsigned int flags );
35 extern struct uri *
36 fetch_next_server_and_filename ( struct settings *settings );
37 extern int netboot ( struct net_device *netdev );
38 extern int ipxe ( struct net_device *netdev );
39
40 extern int pxe_menu_boot ( struct net_device *netdev );
41
42 #endif /* _USR_AUTOBOOT_H */