26#define EFI_SNP_NUM_TX 32
#define NULL
NULL pointer (VOID *)
#define VOID
Undeclared type.
UEFI Component Name 2 Protocol as defined in the UEFI 2.1 specification.
struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL
The device path protocol as defined in UEFI 2.0.
The EFI HII results processing protocol invokes this type of protocol when it needs to forward result...
struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL
The file provides Database manager for HII-related data structures.
Load File protocol as defined in the UEFI 2.0 specification.
struct _EFI_LOAD_FILE_PROTOCOL EFI_LOAD_FILE_PROTOCOL
EFI Network Interface Identifier Protocol.
struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL
Forward reference for pure ANSI compatability.
The EFI_SIMPLE_NETWORK_PROTOCOL provides services to initialize a network interface,...
struct _EFI_SIMPLE_NETWORK_PROTOCOL EFI_SIMPLE_NETWORK_PROTOCOL
EFI VLAN Config protocol is to provide manageability interface for VLAN configuration.
struct _EFI_VLAN_CONFIG_PROTOCOL EFI_VLAN_CONFIG_PROTOCOL
static void efi_snp_claim(void)
Claim network devices for use by iPXE.
struct efi_snp_device * find_snpdev(EFI_HANDLE handle)
Find SNP device by EFI device handle.
static void efi_snp_release(void)
Release network devices for use via SNP.
struct efi_snp_device * last_opened_snpdev(void)
Get most recently opened SNP device.
void efi_snp_add_claim(int delta)
Add to SNP claimed/released count.
int efi_snp_hii_install(struct efi_snp_device *snpdev)
Install HII protocol and packages for SNP device.
#define EFI_SNP_NUM_TX
SNP transmit completion ring size.
int efi_snp_hii_uninstall(struct efi_snp_device *snpdev)
Uninstall HII protocol and package for SNP device.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Network device management.
This protocol can be used on any device handle to obtain generic path/location information concerning...
EFI_HANDLE handle
EFI device handle.
EFI_VLAN_CONFIG_PROTOCOL vcfg
VLAN configuration protocol.
wchar_t controller_name[64]
Controller name.
EFI_DEVICE_PATH_PROTOCOL * hii_child_path
Device path of HII child handle.
struct list_head rx
Receive queue.
EFI_HANDLE parent
EFI parent device handle (if any)
unsigned int interrupts
Pending interrupt status.
EFI_HII_PACKAGE_LIST_HEADER * package_list
HII package list.
EFI_DEVICE_PATH_PROTOCOL * path
The device path.
struct net_device * netdev
The underlying iPXE network device.
wchar_t name[sizeof(((struct net_device *) NULL) ->name)]
Device name.
EFI_COMPONENT_NAME2_PROTOCOL name2
Component name protocol.
unsigned int tx_prod
Transmit completion ring producer counter.
unsigned int tx_cons
Transmit completion ring consumer counter.
EFI_HII_CONFIG_ACCESS_PROTOCOL hii
HII configuration access protocol.
EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL nii
The network interface identifier.
EFI_SIMPLE_NETWORK_MODE mode
The SNP "mode" (parameters)
EFI_LOAD_FILE_PROTOCOL load_file
Load file protocol handle.
EFI_HII_HANDLE hii_handle
HII handle.
wchar_t driver_name[16]
Driver name.
VOID * tx[EFI_SNP_NUM_TX]
Transmit completion ring.
EFI_SIMPLE_NETWORK_PROTOCOL snp
The SNP structure itself.
struct list_head list
List of SNP devices.
EFI_HANDLE hii_child_handle
EFI child handle for HII association.
A doubly-linked list entry (or list head)