iPXE
Data Structures | Defines | 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...

Defines

#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.
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.
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.
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.
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.
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.
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.
typedef EFI_STATUS(EFIAPIEFI_MANAGED_NETWORK_POLL )(IN EFI_MANAGED_NETWORK_PROTOCOL *This)
 Polls for incoming data packets and processes outgoing data packets.

Functions

 FILE_LICENCE (BSD3)

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 - 2010, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Revision Reference:
This Protocol is introduced in UEFI Specification 2.0

Definition in file ManagedNetwork.h.


Define Documentation

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

Definition at line 26 of file ManagedNetwork.h.

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

Definition at line 31 of file ManagedNetwork.h.


Typedef Documentation

Definition at line 36 of file ManagedNetwork.h.

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 169 of file ManagedNetwork.h.

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 196 of file ManagedNetwork.h.

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 224 of file ManagedNetwork.h.

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 254 of file ManagedNetwork.h.

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 278 of file ManagedNetwork.h.

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 304 of file ManagedNetwork.h.

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 331 of file ManagedNetwork.h.

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 352 of file ManagedNetwork.h.


Function Documentation

FILE_LICENCE ( BSD3  )

Variable Documentation