46 #define EFI_AUTOEXEC_TIMEOUT ( 2 * TICKS_PER_SEC ) 49 #define EFI_AUTOEXEC_NAME "autoexec.ipxe" 78 DBGC (
device,
"EFI %s is not the file system handle\n",
110 DBGC (
device,
"EFI %s could not create net device: %s\n",
117 DBGC (
device,
"EFI %s has no current working URI\n",
125 DBGC (
device,
"EFI %s could not open net device: %s\n",
133 DBGC (
device,
"EFI %s could not download %s: %s\n",
198 DBGC (
device,
"EFI %s discarding zero-length %s\n",
204 DBGC (
device,
"EFI %s loaded %s (%zd bytes)\n",
EFI_LOADED_IMAGE_PROTOCOL * efi_loaded_image
Loaded image protocol for this image.
struct arbelprm_rc_send_wqe rc
128 bit buffer containing a unique identifier value.
#define ENOENT
No such file or directory.
EFI_GUID efi_managed_network_service_binding_protocol_guid
Managed network service binding protocol GUID.
Uniform Resource Identifiers.
#define EFI_AUTOEXEC_TIMEOUT
Timeout for autoexec script downloads.
static int efi_autoexec_filesystem(EFI_HANDLE handle, struct image **image)
Load autoexec script from filesystem.
int efi_autoexec_load(void)
Load autoexec script.
EFI_GUID * protocol
Required protocol GUID.
#define EFI_AUTOEXEC_NAME
Autoexec script image name.
void mnptemp_destroy(struct net_device *netdev)
Destroy temporary MNP network device.
int sync(unsigned long timeout)
Wait for pending operations to complete.
EFI_GUID efi_simple_file_system_protocol_guid
Simple file system protocol GUID.
static struct net_device * netdev
static int efi_autoexec_network(EFI_HANDLE handle, struct image **image)
Load autoexec script via temporary network device.
const char * efi_handle_name(EFI_HANDLE handle)
Get name of an EFI handle.
const char * efi_guid_ntoa(CONST EFI_GUID *guid)
Convert GUID to a printable string.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
char * strerror(int errno)
Retrieve string representation of error number.
size_t len
Length of raw file image.
static struct efi_autoexec_loader efi_autoexec_loaders[]
Autoexec script loaders.
int efi_locate_device(EFI_HANDLE device, EFI_GUID *protocol, EFI_HANDLE *parent, unsigned int skip)
Locate parent device supporting a given protocol.
int mnptemp_create(EFI_HANDLE handle, struct net_device **netdev)
Create temporary MNP network device.
Network device management.
void unregister_image(struct image *image)
Unregister executable image.
int(* load)(EFI_HANDLE handle, struct image **image)
Load autoexec script.
#define ENOTTY
Inappropriate I/O control operation.
Wait for pending operations to complete.
struct uri * cwuri
Current working URI.
An EFI autoexec script loader.
int netdev_open(struct net_device *netdev)
Open network device.
int imgacquire(const char *name_uri, unsigned long timeout, struct image **image)
Acquire an image.
EFI_HANDLE DeviceHandle
The device handle that the EFI Image was loaded from.