iPXE
Functions
acpimac.h File Reference

ACPI MAC address. More...

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
 FILE_SECBOOT (PERMITTED)
 
int acpi_mac (uint8_t *hw_addr)
 Extract MAC address from DSDT/SSDT. More...
 

Detailed Description

ACPI MAC address.

Definition in file acpimac.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED  )

◆ acpi_mac()

int acpi_mac ( uint8_t hw_addr)

Extract MAC address from DSDT/SSDT.

Parameters
hw_addrMAC address to fill in
Return values
rcReturn status code

Definition at line 235 of file acpimac.c.

235  {
236  int rc;
237 
238  /* Look for an "AMAC" address */
240  acpimac_extract_auxmac ) ) == 0 )
241  return 0;
242 
243  /* Look for a "MACA" address */
245  acpimac_extract_auxmac ) ) == 0 )
246  return 0;
247 
248  /* Look for a "RTMA" address */
250  acpimac_extract_rtxmac ) ) == 0 )
251  return 0;
252 
253  return -ENOENT;
254 }
struct arbelprm_rc_send_wqe rc
Definition: arbel.h:14
static int acpimac_extract_rtxmac(const struct acpi_header *zsdt, size_t len, size_t offset, void *data)
Extract "_RTXMAC_" MAC address from DSDT/SSDT.
Definition: acpimac.c:223
static int acpimac_extract_auxmac(const struct acpi_header *zsdt, size_t len, size_t offset, void *data)
Extract "_AUXMAC_" MAC address from DSDT/SSDT.
Definition: acpimac.c:208
#define MACA_SIGNATURE
MACA signature.
Definition: acpimac.c:49
#define AMAC_SIGNATURE
AMAC signature.
Definition: acpimac.c:46
#define ENOENT
No such file or directory.
Definition: errno.h:515
#define RTMA_SIGNATURE
RTMA signature.
Definition: acpimac.c:52
int acpi_extract(uint32_t signature, void *data, int(*extract)(const struct acpi_header *zsdt, size_t len, size_t offset, void *data))
Extract value from DSDT/SSDT.
Definition: acpi.c:228
uint8_t hw_addr[MAX_HW_ADDR_LEN]
Hardware address.
Definition: netdevice.h:382

References acpi_extract(), acpimac_extract_auxmac(), acpimac_extract_rtxmac(), AMAC_SIGNATURE, ENOENT, MACA_SIGNATURE, rc, and RTMA_SIGNATURE.

Referenced by ecm_fetch_mac(), sysmac_fetch(), and typeof().