iPXE
Data Structures | Macros | Typedefs | Functions | Variables
ManagedNetwork.h File Reference

EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0. More...

#include <ipxe/efi/Protocol/SimpleNetwork.h>

Go to the source code of this file.

Data Structures

struct  EFI_MANAGED_NETWORK_CONFIG_DATA
 
struct  EFI_MANAGED_NETWORK_RECEIVE_DATA
 
struct  EFI_MANAGED_NETWORK_FRAGMENT_DATA
 
struct  EFI_MANAGED_NETWORK_TRANSMIT_DATA
 
struct  EFI_MANAGED_NETWORK_COMPLETION_TOKEN
 
struct  _EFI_MANAGED_NETWORK_PROTOCOL
 The MNP is used by network applications (and drivers) to perform raw (unformatted) asynchronous network packet I/O. More...
 

Macros

#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID
 
#define EFI_MANAGED_NETWORK_PROTOCOL_GUID
 

Typedefs

typedef struct _EFI_MANAGED_NETWORK_PROTOCOL EFI_MANAGED_NETWORK_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_GET_MODE_DATA) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL)
 Returns the operational parameters for the current MNP child driver. More...
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_CONFIGURE) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL)
 Sets or clears the operational parameters for the MNP child driver. More...
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_MCAST_IP_TO_MAC) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN BOOLEAN Ipv6Flag, IN EFI_IP_ADDRESS *IpAddress, OUT EFI_MAC_ADDRESS *MacAddress)
 Translates an IP multicast address to a hardware (MAC) multicast address. More...
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_GROUPS) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN BOOLEAN JoinFlag, IN EFI_MAC_ADDRESS *MacAddress OPTIONAL)
 Enables and disables receive filters for multicast address. More...
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_TRANSMIT) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token)
 Places asynchronous outgoing data packets into the transmit queue. More...
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_RECEIVE) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token)
 Places an asynchronous receiving request into the receiving queue. More...
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_CANCEL) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL)
 Aborts an asynchronous transmit or receive request. More...
 
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_POLL) (IN EFI_MANAGED_NETWORK_PROTOCOL *This)
 Polls for incoming data packets and processes outgoing data packets. More...
 

Functions

 FILE_LICENCE (BSD2_PATENT)
 

Variables

EFI_GUID gEfiManagedNetworkServiceBindingProtocolGuid
 
EFI_GUID gEfiManagedNetworkProtocolGuid
 

Detailed Description

EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0.

EFI_MANAGED_NETWORK_PROTOCOL as defined in UEFI 2.0.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This Protocol is introduced in UEFI Specification 2.0

Definition in file ManagedNetwork.h.

Macro Definition Documentation

◆ EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID

#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID
Value:
{ \
0xf36ff770, 0xa7e1, 0x42cf, {0x9e, 0xd2, 0x56, 0xf0, 0xf2, 0x71, 0xf4, 0x4c } \
}

Definition at line 20 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_PROTOCOL_GUID

#define EFI_MANAGED_NETWORK_PROTOCOL_GUID
Value:
{ \
0x7ab33a91, 0xace5, 0x4326, { 0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16 } \
}

Definition at line 25 of file ManagedNetwork.h.

Typedef Documentation

◆ EFI_MANAGED_NETWORK_PROTOCOL

Definition at line 30 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_GET_MODE_DATA

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_GET_MODE_DATA) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL)

Returns the operational parameters for the current MNP child driver.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
MnpConfigDataThe pointer to storage for MNP operational parameters.
SnpModeDataThe pointer to storage for SNP operational parameters.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETERThis is NULL.
EFI_UNSUPPORTEDThe requested feature is unsupported in this MNP implementation.
EFI_NOT_STARTEDThis MNP child driver instance has not been configured. The default values are returned in MnpConfigData if it is not NULL.
OtherThe mode data could not be read.

Definition at line 162 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_CONFIGURE

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_CONFIGURE) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL)

Sets or clears the operational parameters for the MNP child driver.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
MnpConfigDataThe pointer to configuration data that will be assigned to the MNP child driver instance. If NULL, the MNP child driver instance is reset to startup defaults and all pending transmit and receive requests are flushed.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETEROne or more parameters are invalid.
EFI_OUT_OF_RESOURCESRequired system resources (usually memory) could not be allocated.
EFI_UNSUPPORTEDThe requested feature is unsupported in this [MNP] implementation.
EFI_DEVICE_ERRORAn unexpected network or system error occurred.
OtherThe MNP child driver instance has been reset to startup defaults.

Definition at line 189 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN BOOLEAN Ipv6Flag, IN EFI_IP_ADDRESS *IpAddress, OUT EFI_MAC_ADDRESS *MacAddress)

Translates an IP multicast address to a hardware (MAC) multicast address.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
Ipv6FlagSet to TRUE to if IpAddress is an IPv6 multicast address. Set to FALSE if IpAddress is an IPv4 multicast address.
IpAddressThe pointer to the multicast IP address (in network byte order) to convert.
MacAddressThe pointer to the resulting multicast MAC address.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETEROne of the following conditions is TRUE:
  • This is NULL.
  • IpAddress is NULL.
  • *IpAddress is not a valid multicast IP address.
  • MacAddress is NULL.
EFI_NOT_STARTEDThis MNP child driver instance has not been configured.
EFI_UNSUPPORTEDThe requested feature is unsupported in this MNP implementation.
EFI_DEVICE_ERRORAn unexpected network or system error occurred.
OtherThe address could not be converted.

Definition at line 217 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_GROUPS

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_GROUPS) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN BOOLEAN JoinFlag, IN EFI_MAC_ADDRESS *MacAddress OPTIONAL)

Enables and disables receive filters for multicast address.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
JoinFlagSet to TRUE to join this multicast group. Set to FALSE to leave this multicast group.
MacAddressThe pointer to the multicast MAC group (address) to join or leave.
Return values
EFI_SUCCESSThe requested operation completed successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE:
  • This is NULL.
  • JoinFlag is TRUE and MacAddress is NULL.
  • *MacAddress is not a valid multicast MAC address.
EFI_NOT_STARTEDThis MNP child driver instance has not been configured.
EFI_ALREADY_STARTEDThe supplied multicast group is already joined.
EFI_NOT_FOUNDThe supplied multicast group is not joined.
EFI_DEVICE_ERRORAn unexpected network or system error occurred.
EFI_UNSUPPORTEDThe requested feature is unsupported in this MNP implementation.
OtherThe requested operation could not be completed.

Definition at line 247 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_TRANSMIT

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_TRANSMIT) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token)

Places asynchronous outgoing data packets into the transmit queue.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
TokenThe pointer to a token associated with the transmit data descriptor.
Return values
EFI_SUCCESSThe transmit completion token was cached.
EFI_NOT_STARTEDThis MNP child driver instance has not been configured.
EFI_INVALID_PARAMETEROne or more parameters are invalid.
EFI_ACCESS_DENIEDThe transmit completion token is already in the transmit queue.
EFI_OUT_OF_RESOURCESThe transmit data could not be queued due to a lack of system resources (usually memory).
EFI_DEVICE_ERRORAn unexpected system or network error occurred.
EFI_NOT_READYThe transmit request could not be queued because the transmit queue is full.

Definition at line 271 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_RECEIVE

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_RECEIVE) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token)

Places an asynchronous receiving request into the receiving queue.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
TokenThe pointer to a token associated with the receive data descriptor.
Return values
EFI_SUCCESSThe receive completion token was cached.
EFI_NOT_STARTEDThis MNP child driver instance has not been configured.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE:
  • This is NULL.
  • Token is NULL.
  • Token.Event is NULL.
EFI_OUT_OF_RESOURCESThe transmit data could not be queued due to a lack of system resources (usually memory).
EFI_DEVICE_ERRORAn unexpected system or network error occurred.
EFI_ACCESS_DENIEDThe receive completion token was already in the receive queue.
EFI_NOT_READYThe receive request could not be queued because the receive queue is full.

Definition at line 297 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_CANCEL

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_CANCEL) (IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL)

Aborts an asynchronous transmit or receive request.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
TokenThe pointer to a token that has been issued by EFI_MANAGED_NETWORK_PROTOCOL.Transmit() or EFI_MANAGED_NETWORK_PROTOCOL.Receive(). If NULL, all pending tokens are aborted.
Return values
EFI_SUCCESSThe asynchronous I/O request was aborted and Token.Event was signaled. When Token is NULL, all pending requests were aborted and their events were signaled.
EFI_NOT_STARTEDThis MNP child driver instance has not been configured.
EFI_INVALID_PARAMETERThis is NULL.
EFI_NOT_FOUNDWhen Token is not NULL, the asynchronous I/O request was not found in the transmit or receive queue. It has either completed or was not issued by Transmit() and Receive().

Definition at line 323 of file ManagedNetwork.h.

◆ EFI_MANAGED_NETWORK_POLL

typedef EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_POLL) (IN EFI_MANAGED_NETWORK_PROTOCOL *This)

Polls for incoming data packets and processes outgoing data packets.

Parameters
ThisThe pointer to the EFI_MANAGED_NETWORK_PROTOCOL instance.
Return values
EFI_SUCCESSIncoming or outgoing data was processed.
EFI_NOT_STARTEDThis MNP child driver instance has not been configured.
EFI_DEVICE_ERRORAn unexpected system or network error occurred.
EFI_NOT_READYNo incoming or outgoing data was processed. Consider increasing the polling rate.
EFI_TIMEOUTData was dropped out of the transmit and/or receive queue. Consider increasing the polling rate.

Definition at line 344 of file ManagedNetwork.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )

Variable Documentation

◆ gEfiManagedNetworkServiceBindingProtocolGuid

EFI_GUID gEfiManagedNetworkServiceBindingProtocolGuid

◆ gEfiManagedNetworkProtocolGuid

EFI_GUID gEfiManagedNetworkProtocolGuid