You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

autoboot.h 1.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef _USR_AUTOBOOT_H
  2. #define _USR_AUTOBOOT_H
  3. /** @file
  4. *
  5. * Automatic booting
  6. *
  7. */
  8. FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
  9. #include <ipxe/device.h>
  10. struct net_device;
  11. struct uri;
  12. struct settings;
  13. /** uriboot() flags */
  14. enum uriboot_flags {
  15. URIBOOT_NO_SAN_DESCRIBE = 0x0001,
  16. URIBOOT_NO_SAN_BOOT = 0x0002,
  17. URIBOOT_NO_SAN_UNHOOK = 0x0004,
  18. };
  19. #define URIBOOT_NO_SAN ( URIBOOT_NO_SAN_DESCRIBE | \
  20. URIBOOT_NO_SAN_BOOT | \
  21. URIBOOT_NO_SAN_UNHOOK )
  22. extern void set_autoboot_busloc ( unsigned int bus_type,
  23. unsigned int location );
  24. extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len );
  25. extern int uriboot ( struct uri *filename, struct uri **root_paths,
  26. unsigned int root_path_count, int drive,
  27. const char *san_filename, unsigned int flags );
  28. extern struct uri *
  29. fetch_next_server_and_filename ( struct settings *settings );
  30. extern int netboot ( struct net_device *netdev );
  31. extern int ipxe ( struct net_device *netdev );
  32. extern int pxe_menu_boot ( struct net_device *netdev );
  33. #endif /* _USR_AUTOBOOT_H */