1 #ifndef _IPXE_EFI_SNP_H 2 #define _IPXE_EFI_SNP_H 25 #define EFI_SNP_NUM_TX 32 struct efi_snp_device * find_snpdev(EFI_HANDLE handle)
Find SNP device by EFI device handle.
The EFI_SIMPLE_NETWORK_PROTOCOL protocol is used to initialize access to a network adapter.
The device path protocol as defined in UEFI 2.0.
This protocol is used to retrieve user readable names of drivers and controllers managed by UEFI Driv...
EFI_VLAN_CONFIG_PROTOCOL vcfg
VLAN configuration protocol.
EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL nii
The network interface identifier.
EFI_COMPONENT_NAME2_PROTOCOL name2
Component name protocol.
An optional protocol that is used to describe details about the software layer that is used to produc...
Load File protocol as defined in the UEFI 2.0 specification.
EFI Network Interface Identifier Protocol.
This protocol can be used on any device handle to obtain generic path/location information concerning...
static void efi_snp_claim(void)
Claim network devices for use by iPXE.
#define EFI_SNP_NUM_TX
SNP transmit completion ring size.
wchar_t controller_name[64]
Controller name.
FILE_LICENCE(GPL2_OR_LATER)
EFI_HANDLE hii_child_handle
EFI child handle for HII association.
EFI_HII_CONFIG_ACCESS_PROTOCOL hii
HII configuration access protocol.
EFI_HANDLE handle
EFI device handle.
A doubly-linked list entry (or list head)
This protocol provides a callable interface between the HII and drivers.
struct net_device * netdev
The underlying iPXE network device.
EFI_HII_HANDLE hii_handle
HII handle.
unsigned int tx_cons
Transmit completion ring consumer counter.
int efi_snp_hii_uninstall(struct efi_snp_device *snpdev)
Uninstall HII protocol and package for SNP device.
EFI_HII_PACKAGE_LIST_HEADER * package_list
HII package list.
The EFI_LOAD_FILE_PROTOCOL is a simple protocol used to obtain files from arbitrary devices.
UEFI Component Name 2 Protocol as defined in the UEFI 2.1 specification.
The EFI_SIMPLE_NETWORK_PROTOCOL provides services to initialize a network interface,...
VOID * tx[EFI_SNP_NUM_TX]
Transmit completion ring.
wchar_t name[sizeof(((struct net_device *) NULL) ->name)]
Device name.
EFI_SIMPLE_NETWORK_PROTOCOL snp
The SNP structure itself.
EFI_VLAN_CONFIG_PROTOCOL provide manageability interface for VLAN setting.
struct efi_snp_device * last_opened_snpdev(void)
Get most recently opened SNP device.
static void efi_snp_release(void)
Release network devices for use via SNP.
struct efi_device * efidev
The underlying EFI device.
EFI_DEVICE_PATH_PROTOCOL * hii_child_path
Device path of HII child handle.
EFI VLAN Config protocol is to provide manageability interface for VLAN configuration.
#define VOID
Undeclared type.
The file provides Database manager for HII-related data structures.
struct list_head rx
Receive queue.
unsigned int tx_prod
Transmit completion ring producer counter.
wchar_t driver_name[16]
Driver name.
Network device management.
The EFI HII results processing protocol invokes this type of protocol when it needs to forward result...
void efi_snp_add_claim(int delta)
Add to SNP claimed/released count.
EFI_LOAD_FILE_PROTOCOL load_file
Load file protocol handle.
int efi_snp_hii_install(struct efi_snp_device *snpdev)
Install HII protocol and packages for SNP device.
EFI_DEVICE_PATH_PROTOCOL * path
The device path.
EFI_SIMPLE_NETWORK_MODE mode
The SNP "mode" (parameters)
#define NULL
NULL pointer (VOID *)
struct list_head list
List of SNP devices.
unsigned int interrupts
Pending interrupt status.