iPXE
efi_null.h File Reference

EFI null interfaces. More...

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 FILE_SECBOOT (PERMITTED)
void efi_nullify_snp (EFI_SIMPLE_NETWORK_PROTOCOL *snp)
 Nullify SNP interface.
void efi_nullify_nii (EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *nii)
 Nullify NII interface.
void efi_nullify_vlan (EFI_VLAN_CONFIG_PROTOCOL *vcfg)
 Nullify VLAN configuration interface.
void efi_nullify_name2 (EFI_COMPONENT_NAME2_PROTOCOL *name2)
 Nullify Component Name Protocol interface.
void efi_nullify_load_file (EFI_LOAD_FILE_PROTOCOL *load_file)
 Nullify Load File Protocol interface.
void efi_nullify_hii (EFI_HII_CONFIG_ACCESS_PROTOCOL *hii)
 Nullify HII configuration access protocol.
void efi_nullify_block (EFI_BLOCK_IO_PROTOCOL *block)
 Nullify block I/O protocol.
void efi_nullify_pxe (EFI_PXE_BASE_CODE_PROTOCOL *pxe)
 Nullify PXE base code protocol.
void efi_nullify_apple (EFI_APPLE_NET_BOOT_PROTOCOL *apple)
 Nullify Apple Net Boot protocol.
void efi_nullify_usbio (EFI_USB_IO_PROTOCOL *usbio)
 Nullify USB I/O protocol.

Detailed Description

EFI null interfaces.

Definition in file efi_null.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )

References block.

◆ efi_nullify_snp()

void efi_nullify_snp ( EFI_SIMPLE_NETWORK_PROTOCOL * snp)
extern

Nullify SNP interface.

Parameters
snpSNP interface

Definition at line 157 of file efi_null.c.

157 {
158
159 memcpy ( snp, &efi_null_snp,
160 offsetof ( typeof ( *snp ), WaitForPacket ) );
162}
@ EfiSimpleNetworkStopped
typeof(acpi_finder=acpi_find)
ACPI table finder.
Definition acpi.c:48
static EFI_SIMPLE_NETWORK_PROTOCOL efi_null_snp
Definition efi_null.c:135
void * memcpy(void *dest, const void *src, size_t len) __nonnull
#define offsetof(type, field)
Get offset of a field within a structure.
Definition stddef.h:25
UINT32 State
Reports the current state of the network interface.
EFI_SIMPLE_NETWORK_MODE * Mode
Pointer to the EFI_SIMPLE_NETWORK_MODE data for the device.

References efi_null_snp, EfiSimpleNetworkStopped, memcpy(), _EFI_SIMPLE_NETWORK_PROTOCOL::Mode, offsetof, EFI_SIMPLE_NETWORK_MODE::State, and typeof().

Referenced by efi_snp_probe(), and efi_snp_remove().

◆ efi_nullify_nii()

void efi_nullify_nii ( EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL * nii)
extern

Nullify NII interface.

Parameters
niiNII interface

Definition at line 192 of file efi_null.c.

192 {
193 efi_null_undi.EntryPoint = ( ( intptr_t ) efi_null_undi_issue );
194 nii->Id = ( ( intptr_t ) &efi_null_undi );
195}
unsigned long intptr_t
Definition stdint.h:21
static PXE_SW_UNDI efi_null_undi
Definition efi_null.c:178
static EFIAPI VOID efi_null_undi_issue(UINT64 cdb_phys)
Definition efi_null.c:171
UINT64 Id
The address of the first byte of the identifying structure for this network interface.

References efi_null_undi, efi_null_undi_issue(), and _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL::Id.

Referenced by efi_snp_probe(), and efi_snp_remove().

◆ efi_nullify_vlan()

void efi_nullify_vlan ( EFI_VLAN_CONFIG_PROTOCOL * vcfg)
extern

Nullify VLAN configuration interface.

Parameters
vcfgVLAN configuration protocol

Definition at line 234 of file efi_null.c.

234 {
235
236 memcpy ( vcfg, &efi_null_vlan, sizeof ( *vcfg ) );
237}
static EFI_VLAN_CONFIG_PROTOCOL efi_null_vlan
Definition efi_null.c:223

References efi_null_vlan, and memcpy().

Referenced by efi_snp_probe(), and efi_snp_remove().

◆ efi_nullify_name2()

void efi_nullify_name2 ( EFI_COMPONENT_NAME2_PROTOCOL * name2)
extern

Nullify Component Name Protocol interface.

Parameters
name2Component name protocol

Definition at line 273 of file efi_null.c.

273 {
274
275 memcpy ( name2, &efi_null_name2, sizeof ( *name2 ) );
276}
static EFI_COMPONENT_NAME2_PROTOCOL efi_null_name2
Definition efi_null.c:262

References efi_null_name2, and memcpy().

Referenced by efi_snp_probe(), and efi_snp_remove().

◆ efi_nullify_load_file()

void efi_nullify_load_file ( EFI_LOAD_FILE_PROTOCOL * load_file)
extern

Nullify Load File Protocol interface.

Parameters
load_fileLoad file protocol

Definition at line 298 of file efi_null.c.

298 {
299 load_file->LoadFile = efi_null_load_file;
300}
static EFI_STATUS EFIAPI efi_null_load_file(EFI_LOAD_FILE_PROTOCOL *load_file __unused, EFI_DEVICE_PATH_PROTOCOL *path __unused, BOOLEAN booting __unused, UINTN *len __unused, VOID *data __unused)
Definition efi_null.c:286
EFI_LOAD_FILE LoadFile
Definition LoadFile.h:80

References efi_null_load_file(), and _EFI_LOAD_FILE_PROTOCOL::LoadFile.

Referenced by efi_snp_probe(), and efi_snp_remove().

◆ efi_nullify_hii()

void efi_nullify_hii ( EFI_HII_CONFIG_ACCESS_PROTOCOL * hii)
extern

Nullify HII configuration access protocol.

Parameters
hiiHII configuration access protocol

Definition at line 344 of file efi_null.c.

344 {
345
346 memcpy ( hii, &efi_null_hii, sizeof ( *hii ) );
347}
static EFI_HII_CONFIG_ACCESS_PROTOCOL efi_null_hii
Definition efi_null.c:333

References efi_null_hii, and memcpy().

Referenced by efi_snp_hii_install(), and efi_snp_hii_uninstall().

◆ efi_nullify_block()

void efi_nullify_block ( EFI_BLOCK_IO_PROTOCOL * block)
extern

Nullify block I/O protocol.

Parameters
blockBlock I/O protocol

Definition at line 397 of file efi_null.c.

397 {
398
399 memcpy ( block, &efi_null_block, sizeof ( *block ) );
400}
static EFI_BLOCK_IO_PROTOCOL efi_null_block
Definition efi_null.c:383
uint8_t block[3][8]
DES-encrypted blocks.
Definition mschapv2.h:1

References block, efi_null_block, and memcpy().

Referenced by efi_block_hook(), and efi_block_unhook().

◆ efi_nullify_pxe()

void efi_nullify_pxe ( EFI_PXE_BASE_CODE_PROTOCOL * pxe)
extern

Nullify PXE base code protocol.

Parameters
pxePXE base code protocol

Definition at line 537 of file efi_null.c.

537 {
538
539 memcpy ( pxe, &efi_null_pxe, offsetof ( typeof ( *pxe ), Mode ) );
540 pxe->Mode->Started = FALSE;
541}
static EFI_PXE_BASE_CODE_PROTOCOL efi_null_pxe
Definition efi_null.c:516
EFI_PXE_BASE_CODE_MODE * Mode
The pointer to the EFI_PXE_BASE_CODE_MODE data for this device.
#define FALSE
Definition tlan.h:45

References efi_null_pxe, FALSE, memcpy(), _EFI_PXE_BASE_CODE_PROTOCOL::Mode, offsetof, EFI_PXE_BASE_CODE_MODE::Started, and typeof().

Referenced by efi_pxe_install(), and efi_pxe_uninstall().

◆ efi_nullify_apple()

void efi_nullify_apple ( EFI_APPLE_NET_BOOT_PROTOCOL * apple)
extern

Nullify Apple Net Boot protocol.

Parameters
appleApple Net Boot protocol

Definition at line 572 of file efi_null.c.

572 {
573
574 memcpy ( apple, &efi_null_apple, sizeof ( *apple ) );
575}
static EFI_APPLE_NET_BOOT_PROTOCOL efi_null_apple
Definition efi_null.c:562

References efi_null_apple, and memcpy().

Referenced by efi_pxe_install(), and efi_pxe_uninstall().

◆ efi_nullify_usbio()

void efi_nullify_usbio ( EFI_USB_IO_PROTOCOL * usbio)
extern

Nullify USB I/O protocol.

Parameters
usbioUSB I/O protocol

Definition at line 712 of file efi_null.c.

712 {
713
714 memcpy ( usbio, &efi_null_usbio, sizeof ( *usbio ) );
715}
static EFI_USB_IO_PROTOCOL efi_null_usbio
Definition efi_null.c:691

References efi_null_usbio, and memcpy().

Referenced by efi_usb_install(), and efi_usb_uninstall().