iPXE
Functions
efi_autoboot.h File Reference

EFI autoboot device. More...

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
void efi_set_autoboot (void)
 Identify autoboot device. More...
 

Detailed Description

EFI autoboot device.

Definition in file efi_autoboot.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ efi_set_autoboot()

void efi_set_autoboot ( void  )

Identify autoboot device.

Definition at line 41 of file efi_autoboot.c.

41  {
43  union {
45  void *interface;
46  } snp;
48  EFI_STATUS efirc;
49 
50  /* Look for an SNP instance on the image's device handle */
51  if ( ( efirc = bs->OpenProtocol ( efi_loaded_image->DeviceHandle,
53  &snp.interface, efi_image_handle,
54  NULL,
56  DBGC ( efi_loaded_image, "EFI found no autoboot device\n" );
57  return;
58  }
59 
60  /* Record autoboot device */
61  mode = snp.snp->Mode;
63  DBGC ( efi_loaded_image, "EFI found autoboot link-layer address:\n" );
65  mode->HwAddressSize );
66 
67  /* Close protocol */
71 }
void set_autoboot_ll_addr(const void *ll_addr, size_t len)
Identify autoboot device by link-layer address.
Definition: autoboot.c:506
EFI_BOOT_SERVICES * BootServices
A pointer to the EFI Boot Services Table.
Definition: UefiSpec.h:2000
EFI_LOADED_IMAGE_PROTOCOL * efi_loaded_image
Loaded image protocol for this image.
Definition: efi_init.c:33
The EFI_SIMPLE_NETWORK_PROTOCOL protocol is used to initialize access to a network adapter.
EFI_GUID efi_simple_network_protocol_guid
Simple network protocol GUID.
Definition: efi_guid.c:236
#define DBGC(...)
Definition: compiler.h:505
EFI_CLOSE_PROTOCOL CloseProtocol
Definition: UefiSpec.h:1906
EFI_MAC_ADDRESS CurrentAddress
The current HW MAC address for the network interface.
An object interface.
Definition: interface.h:109
#define DBGC_HDA(...)
Definition: compiler.h:506
#define EFI_OPEN_PROTOCOL_GET_PROTOCOL
Definition: UefiSpec.h:1271
EFI Boot Services Table.
Definition: UefiSpec.h:1836
EFI_HANDLE efi_image_handle
Image handle passed to entry point.
Definition: efi_init.c:30
UINT32 HwAddressSize
The size, in bytes, of the network interface's HW address.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
Definition: UefiBaseType.h:35
EFI_SYSTEM_TABLE * efi_systab
EFI_OPEN_PROTOCOL OpenProtocol
Definition: UefiSpec.h:1905
#define NULL
NULL pointer (VOID *)
Definition: Base.h:362
EFI_HANDLE DeviceHandle
The device handle that the EFI Image was loaded from.
Definition: LoadedImage.h:61

References EFI_SYSTEM_TABLE::BootServices, EFI_BOOT_SERVICES::CloseProtocol, EFI_SIMPLE_NETWORK_MODE::CurrentAddress, DBGC, DBGC_HDA, EFI_LOADED_IMAGE_PROTOCOL::DeviceHandle, efi_image_handle, efi_loaded_image, EFI_OPEN_PROTOCOL_GET_PROTOCOL, efi_simple_network_protocol_guid, efi_systab, EFI_SIMPLE_NETWORK_MODE::HwAddressSize, NULL, EFI_BOOT_SERVICES::OpenProtocol, and set_autoboot_ll_addr().

Referenced by _efi_start().