iPXE
autoboot.h
Go to the documentation of this file.
00001 #ifndef _USR_AUTOBOOT_H
00002 #define _USR_AUTOBOOT_H
00003 
00004 /** @file
00005  *
00006  * Automatic booting
00007  *
00008  */
00009 
00010 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
00011 
00012 #include <ipxe/device.h>
00013 
00014 struct net_device;
00015 struct uri;
00016 struct settings;
00017 
00018 /** uriboot() flags */
00019 enum uriboot_flags {
00020         URIBOOT_NO_SAN_DESCRIBE = 0x0001,
00021         URIBOOT_NO_SAN_BOOT = 0x0002,
00022         URIBOOT_NO_SAN_UNHOOK = 0x0004,
00023 };
00024 
00025 #define URIBOOT_NO_SAN ( URIBOOT_NO_SAN_DESCRIBE | \
00026                          URIBOOT_NO_SAN_BOOT |     \
00027                          URIBOOT_NO_SAN_UNHOOK )
00028 
00029 extern void set_autoboot_busloc ( unsigned int bus_type,
00030                                   unsigned int location );
00031 extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len );
00032 
00033 extern int uriboot ( struct uri *filename, struct uri **root_paths,
00034                      unsigned int root_path_count, int drive,
00035                      const char *san_filename, unsigned int flags );
00036 extern struct uri *
00037 fetch_next_server_and_filename ( struct settings *settings );
00038 extern int netboot ( struct net_device *netdev );
00039 extern int ipxe ( struct net_device *netdev );
00040 
00041 extern int pxe_menu_boot ( struct net_device *netdev );
00042 
00043 #endif /* _USR_AUTOBOOT_H */