code scrub fix
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7290 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,22 +1,14 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||
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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
ComponentName.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -34,10 +26,10 @@ Abstract:
|
||||
by This does not support the language specified by Language,
|
||||
then EFI_UNSUPPORTED is returned.
|
||||
|
||||
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
@param[in] This A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
EFI_COMPONENT_NAME_PROTOCOL instance.
|
||||
|
||||
@param Language[in] A pointer to a Null-terminated ASCII string
|
||||
@param[in] Language A pointer to a Null-terminated ASCII string
|
||||
array indicating the language. This is the
|
||||
language of the driver name that the caller is
|
||||
requesting, and it must match one of the
|
||||
@@ -46,7 +38,7 @@ Abstract:
|
||||
to the driver writer. Language is specified
|
||||
in RFC 3066 or ISO 639-2 language code format.
|
||||
|
||||
@param DriverName[out] A pointer to the Unicode string to return.
|
||||
@param[out] DriverName A pointer to the Unicode string to return.
|
||||
This Unicode string is the name of the
|
||||
driver specified by This in the language
|
||||
specified by Language.
|
||||
@@ -85,15 +77,15 @@ Ip4ComponentNameGetDriverName (
|
||||
then EFI_UNSUPPORTED is returned. If the driver specified by This does not
|
||||
support the language specified by Language, then EFI_UNSUPPORTED is returned.
|
||||
|
||||
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
@param[in] This A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
EFI_COMPONENT_NAME_PROTOCOL instance.
|
||||
|
||||
@param ControllerHandle[in] The handle of a controller that the driver
|
||||
@param[in] ControllerHandle The handle of a controller that the driver
|
||||
specified by This is managing. This handle
|
||||
specifies the controller whose name is to be
|
||||
returned.
|
||||
|
||||
@param ChildHandle[in] The handle of the child controller to retrieve
|
||||
@param[in] ChildHandle The handle of the child controller to retrieve
|
||||
the name of. This is an optional parameter that
|
||||
may be NULL. It will be NULL for device
|
||||
drivers. It will also be NULL for a bus drivers
|
||||
@@ -102,7 +94,7 @@ Ip4ComponentNameGetDriverName (
|
||||
driver that wishes to retrieve the name of a
|
||||
child controller.
|
||||
|
||||
@param Language[in] A pointer to a Null-terminated ASCII string
|
||||
@param[in] Language A pointer to a Null-terminated ASCII string
|
||||
array indicating the language. This is the
|
||||
language of the driver name that the caller is
|
||||
requesting, and it must match one of the
|
||||
@@ -111,7 +103,7 @@ Ip4ComponentNameGetDriverName (
|
||||
to the driver writer. Language is specified in
|
||||
RFC 3066 or ISO 639-2 language code format.
|
||||
|
||||
@param ControllerName[out] A pointer to the Unicode string to return.
|
||||
@param[out] ControllerName A pointer to the Unicode string to return.
|
||||
This Unicode string is the name of the
|
||||
controller specified by ControllerHandle and
|
||||
ChildHandle in the language specified by
|
||||
@@ -191,10 +183,10 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mIp4DriverNameTable[] = {
|
||||
by This does not support the language specified by Language,
|
||||
then EFI_UNSUPPORTED is returned.
|
||||
|
||||
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
@param[in] This A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
EFI_COMPONENT_NAME_PROTOCOL instance.
|
||||
|
||||
@param Language[in] A pointer to a Null-terminated ASCII string
|
||||
@param[in] Language A pointer to a Null-terminated ASCII string
|
||||
array indicating the language. This is the
|
||||
language of the driver name that the caller is
|
||||
requesting, and it must match one of the
|
||||
@@ -203,7 +195,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mIp4DriverNameTable[] = {
|
||||
to the driver writer. Language is specified
|
||||
in RFC 3066 or ISO 639-2 language code format.
|
||||
|
||||
@param DriverName[out] A pointer to the Unicode string to return.
|
||||
@param[out] DriverName A pointer to the Unicode string to return.
|
||||
This Unicode string is the name of the
|
||||
driver specified by This in the language
|
||||
specified by Language.
|
||||
@@ -251,15 +243,15 @@ Ip4ComponentNameGetDriverName (
|
||||
then EFI_UNSUPPORTED is returned. If the driver specified by This does not
|
||||
support the language specified by Language, then EFI_UNSUPPORTED is returned.
|
||||
|
||||
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
@param[in] This A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
||||
EFI_COMPONENT_NAME_PROTOCOL instance.
|
||||
|
||||
@param ControllerHandle[in] The handle of a controller that the driver
|
||||
@param[in] ControllerHandle The handle of a controller that the driver
|
||||
specified by This is managing. This handle
|
||||
specifies the controller whose name is to be
|
||||
returned.
|
||||
|
||||
@param ChildHandle[in] The handle of the child controller to retrieve
|
||||
@param[in] ChildHandle The handle of the child controller to retrieve
|
||||
the name of. This is an optional parameter that
|
||||
may be NULL. It will be NULL for device
|
||||
drivers. It will also be NULL for a bus drivers
|
||||
@@ -268,7 +260,7 @@ Ip4ComponentNameGetDriverName (
|
||||
driver that wishes to retrieve the name of a
|
||||
child controller.
|
||||
|
||||
@param Language[in] A pointer to a Null-terminated ASCII string
|
||||
@param[in] Language A pointer to a Null-terminated ASCII string
|
||||
array indicating the language. This is the
|
||||
language of the driver name that the caller is
|
||||
requesting, and it must match one of the
|
||||
@@ -277,7 +269,7 @@ Ip4ComponentNameGetDriverName (
|
||||
to the driver writer. Language is specified in
|
||||
RFC 3066 or ISO 639-2 language code format.
|
||||
|
||||
@param ControllerName[out] A pointer to the Unicode string to return.
|
||||
@param[out] ControllerName A pointer to the Unicode string to return.
|
||||
This Unicode string is the name of the
|
||||
controller specified by ControllerHandle and
|
||||
ChildHandle in the language specified by
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,14 +9,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Common.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -26,8 +18,8 @@ Abstract:
|
||||
Return the cast type (Unicast/Boradcast) specific to an
|
||||
interface. All the addresses are host byte ordered.
|
||||
|
||||
@param IpAddr The IP address to classify in host byte order
|
||||
@param IpIf The interface that IpAddr received from
|
||||
@param[in] IpAddr The IP address to classify in host byte order
|
||||
@param[in] IpIf The interface that IpAddr received from
|
||||
|
||||
@return The cast type of this IP address specific to the interface.
|
||||
@retval IP4_LOCAL_HOST The IpAddr equals to the interface's address
|
||||
@@ -63,11 +55,11 @@ Ip4GetNetCast (
|
||||
This isn't the same as link layer cast type. For example, DHCP
|
||||
server may send local broadcast to the local unicast MAC.
|
||||
|
||||
@param IpSb The IP4 service binding instance that received the
|
||||
packet
|
||||
@param Dst The destination address in the packet (host byte
|
||||
order)
|
||||
@param Src The source address in the packet (host byte order)
|
||||
@param[in] IpSb The IP4 service binding instance that received the
|
||||
packet
|
||||
@param[in] Dst The destination address in the packet (host byte
|
||||
order)
|
||||
@param[in] Src The source address in the packet (host byte order)
|
||||
|
||||
@return The cast type for the Dst, it will return on the first non-promiscuous
|
||||
cast type to a configured interface. If the packet doesn't match any of
|
||||
@@ -135,8 +127,8 @@ Ip4GetHostCast (
|
||||
/**
|
||||
Find an interface whose configured IP address is Ip.
|
||||
|
||||
@param IpSb The IP4 service binding instance
|
||||
@param Ip The Ip address (host byte order) to find
|
||||
@param[in] IpSb The IP4 service binding instance
|
||||
@param[in] Ip The Ip address (host byte order) to find
|
||||
|
||||
@return The IP4_INTERFACE point if found, otherwise NULL
|
||||
|
||||
@@ -165,8 +157,8 @@ Ip4FindInterface (
|
||||
/**
|
||||
Find an interface that Ip is on that connected network.
|
||||
|
||||
@param IpSb The IP4 service binding instance
|
||||
@param Ip The Ip address (host byte order) to find
|
||||
@param[in] IpSb The IP4 service binding instance
|
||||
@param[in] Ip The Ip address (host byte order) to find
|
||||
|
||||
@return The IP4_INTERFACE point if found, otherwise NULL
|
||||
|
||||
@@ -195,9 +187,9 @@ Ip4FindNet (
|
||||
/**
|
||||
Find an interface of the service with the same Ip/Netmask pair.
|
||||
|
||||
@param IpSb Ip4 service binding instance
|
||||
@param Ip The Ip adress to find (host byte order)
|
||||
@param Netmask The network to find (host byte order)
|
||||
@param[in] IpSb Ip4 service binding instance
|
||||
@param[in] Ip The Ip adress to find (host byte order)
|
||||
@param[in] Netmask The network to find (host byte order)
|
||||
|
||||
@return The IP4_INTERFACE point if found, otherwise NULL
|
||||
|
||||
@@ -229,9 +221,9 @@ Ip4FindStationAddress (
|
||||
Mnp's McastIpToMac to find the MAC address in stead of
|
||||
hard code the NIC to be Ethernet.
|
||||
|
||||
@param Mnp The Mnp instance to get the MAC address.
|
||||
@param Multicast The multicast IP address to translate.
|
||||
@param Mac The buffer to hold the translated address.
|
||||
@param[in] Mnp The Mnp instance to get the MAC address.
|
||||
@param[in] Multicast The multicast IP address to translate.
|
||||
@param[out] Mac The buffer to hold the translated address.
|
||||
|
||||
@retval EFI_SUCCESS if the multicast IP is successfully translated to a
|
||||
multicast MAC address.
|
||||
@@ -257,7 +249,7 @@ Ip4GetMulticastMac (
|
||||
In spite of its name, it can also be used to convert from
|
||||
host to network byte order.
|
||||
|
||||
@param Head The IP head to convert
|
||||
@param[in] Head The IP head to convert
|
||||
|
||||
@return Point to the converted IP head
|
||||
|
||||
@@ -283,7 +275,7 @@ Ip4NtohHead (
|
||||
Save the list of all of the IPv4 addresses and subnet masks that are currently
|
||||
being used to volatile variable storage.
|
||||
|
||||
@param IpSb Ip4 service binding instance
|
||||
@param[in] IpSb Ip4 service binding instance
|
||||
|
||||
@retval EFI_SUCCESS Successfully set variable.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources to set the variable.
|
||||
@@ -402,9 +394,7 @@ ON_ERROR:
|
||||
/**
|
||||
Clear the variable and free the resource.
|
||||
|
||||
@param IpSb Ip4 service binding instance
|
||||
|
||||
@return None.
|
||||
@param[in] IpSb Ip4 service binding instance
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Common definition for IP4.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,16 +10,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Common.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Common definition for IP4.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_COMMON_H__
|
||||
@@ -90,8 +81,8 @@ typedef enum {
|
||||
Return the cast type (Unicast/Boradcast) specific to an
|
||||
interface. All the addresses are host byte ordered.
|
||||
|
||||
@param IpAddr The IP address to classify in host byte order
|
||||
@param IpIf The interface that IpAddr received from
|
||||
@param[in] IpAddr The IP address to classify in host byte order
|
||||
@param[in] IpIf The interface that IpAddr received from
|
||||
|
||||
@return The cast type of this IP address specific to the interface.
|
||||
@retval IP4_LOCAL_HOST The IpAddr equals to the interface's address
|
||||
@@ -112,11 +103,11 @@ Ip4GetNetCast (
|
||||
This isn't the same as link layer cast type. For example, DHCP
|
||||
server may send local broadcast to the local unicast MAC.
|
||||
|
||||
@param IpSb The IP4 service binding instance that received the
|
||||
packet
|
||||
@param Dst The destination address in the packet (host byte
|
||||
order)
|
||||
@param Src The source address in the packet (host byte order)
|
||||
@param[in] IpSb The IP4 service binding instance that received the
|
||||
packet
|
||||
@param[in] Dst The destination address in the packet (host byte
|
||||
order)
|
||||
@param[in] Src The source address in the packet (host byte order)
|
||||
|
||||
@return The cast type for the Dst, it will return on the first non-promiscuous
|
||||
cast type to a configured interface. If the packet doesn't match any of
|
||||
@@ -133,8 +124,8 @@ Ip4GetHostCast (
|
||||
/**
|
||||
Find an interface whose configured IP address is Ip.
|
||||
|
||||
@param IpSb The IP4 service binding instance
|
||||
@param Ip The Ip address (host byte order) to find
|
||||
@param[in] IpSb The IP4 service binding instance
|
||||
@param[in] Ip The Ip address (host byte order) to find
|
||||
|
||||
@return The IP4_INTERFACE point if found, otherwise NULL
|
||||
|
||||
@@ -148,8 +139,8 @@ Ip4FindInterface (
|
||||
/**
|
||||
Find an interface that Ip is on that connected network.
|
||||
|
||||
@param IpSb The IP4 service binding instance
|
||||
@param Ip The Ip address (host byte order) to find
|
||||
@param[in] IpSb The IP4 service binding instance
|
||||
@param[in] Ip The Ip address (host byte order) to find
|
||||
|
||||
@return The IP4_INTERFACE point if found, otherwise NULL
|
||||
|
||||
@@ -163,9 +154,9 @@ Ip4FindNet (
|
||||
/**
|
||||
Find an interface of the service with the same Ip/Netmask pair.
|
||||
|
||||
@param IpSb Ip4 service binding instance
|
||||
@param Ip The Ip adress to find (host byte order)
|
||||
@param Netmask The network to find (host byte order)
|
||||
@param[in] IpSb Ip4 service binding instance
|
||||
@param[in] Ip The Ip adress to find (host byte order)
|
||||
@param[in] Netmask The network to find (host byte order)
|
||||
|
||||
@return The IP4_INTERFACE point if found, otherwise NULL
|
||||
|
||||
@@ -182,9 +173,9 @@ Ip4FindStationAddress (
|
||||
Mnp's McastIpToMac to find the MAC address in stead of
|
||||
hard code the NIC to be Ethernet.
|
||||
|
||||
@param Mnp The Mnp instance to get the MAC address.
|
||||
@param Multicast The multicast IP address to translate.
|
||||
@param Mac The buffer to hold the translated address.
|
||||
@param[in] Mnp The Mnp instance to get the MAC address.
|
||||
@param[in] Multicast The multicast IP address to translate.
|
||||
@param[out] Mac The buffer to hold the translated address.
|
||||
|
||||
@retval EFI_SUCCESS if the multicast IP is successfully translated to a
|
||||
multicast MAC address.
|
||||
@@ -203,7 +194,7 @@ Ip4GetMulticastMac (
|
||||
In spite of its name, it can also be used to convert from
|
||||
host to network byte order.
|
||||
|
||||
@param Head The IP head to convert
|
||||
@param[in] Head The IP head to convert
|
||||
|
||||
@return Point to the converted IP head
|
||||
|
||||
@@ -219,7 +210,7 @@ Ip4NtohHead (
|
||||
Save the list of all of the IPv4 addresses and subnet masks that are currently
|
||||
being used to volatile variable storage.
|
||||
|
||||
@param IpSb Ip4 service binding instance
|
||||
@param[in] IpSb Ip4 service binding instance
|
||||
|
||||
@retval EFI_SUCCESS Successfully set variable.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources to set the variable.
|
||||
@@ -234,9 +225,7 @@ Ip4SetVariableData (
|
||||
/**
|
||||
Clear the variable and free the resource.
|
||||
|
||||
@param IpSb Ip4 service binding instance
|
||||
|
||||
@return None.
|
||||
@param[in] IpSb Ip4 service binding instance
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
The driver binding and service binding protocol for IP4 driver.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,15 +10,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Driver.c
|
||||
|
||||
Abstract:
|
||||
|
||||
The driver binding and service binding protocol for IP4 driver.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -39,8 +31,8 @@ EFI_DRIVER_BINDING_PROTOCOL gIp4DriverBinding = {
|
||||
The entry point for IP4 driver which install the driver
|
||||
binding and component name protocol on its image.
|
||||
|
||||
@param ImageHandle The firmware allocated handle for the UEFI image.
|
||||
@param SystemTable A pointer to the EFI System Table.
|
||||
@param[in] ImageHandle The firmware allocated handle for the UEFI image.
|
||||
@param[in] SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@@ -71,10 +63,10 @@ Ip4DriverEntryPoint (
|
||||
follow these calling restrictions. If any other agent wishes to call
|
||||
Supported() it must also follow these calling restrictions.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ControllerHandle Handle of device to test
|
||||
@param RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] ControllerHandle Handle of device to test
|
||||
@param[in] RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
|
||||
@retval EFI_SUCCESS This driver supports this device
|
||||
@retval EFI_ALREADY_STARTED This driver is already running on this device
|
||||
@@ -129,7 +121,7 @@ Ip4DriverBindingSupported (
|
||||
destroyed, it is marked as that in case the destory failed and
|
||||
being called again later.
|
||||
|
||||
@param IpSb The IP4 serviceing binding instance to clean up
|
||||
@param[in] IpSb The IP4 serviceing binding instance to clean up
|
||||
|
||||
@retval EFI_SUCCESS The resource used by the instance are cleaned up
|
||||
@retval other Failed to clean up some of the resources.
|
||||
@@ -144,11 +136,11 @@ Ip4CleanService (
|
||||
/**
|
||||
Create a new IP4 driver service binding private instance.
|
||||
|
||||
@param Controller The controller that has MNP service binding
|
||||
installed
|
||||
@param ImageHandle The IP4 driver's image handle
|
||||
@param Service The variable to receive the newly created IP4
|
||||
service.
|
||||
@param Controller The controller that has MNP service binding
|
||||
installed
|
||||
@param ImageHandle The IP4 driver's image handle
|
||||
@param Service The variable to receive the newly created IP4
|
||||
service.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate some resource
|
||||
@retval EFI_SUCCESS A new IP4 service binding private is created.
|
||||
@@ -318,7 +310,7 @@ ON_ERROR:
|
||||
destroyed, it is marked as that in case the destory failed and
|
||||
being called again later.
|
||||
|
||||
@param IpSb The IP4 serviceing binding instance to clean up
|
||||
@param[in] IpSb The IP4 serviceing binding instance to clean up
|
||||
|
||||
@retval EFI_SUCCESS The resource used by the instance are cleaned up
|
||||
@retval other Failed to clean up some of the resources.
|
||||
@@ -405,10 +397,10 @@ Ip4CleanService (
|
||||
calling restrictions. If any other agent wishes to call Start() it
|
||||
must also follow these calling restrictions.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ControllerHandle Handle of device to bind driver to
|
||||
@param RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] ControllerHandle Handle of device to bind driver to
|
||||
@param[in] RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
|
||||
@retval EFI_SUCCESS This driver is added to ControllerHandle
|
||||
@retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
|
||||
@@ -509,14 +501,14 @@ FREE_SERVICE:
|
||||
must follow these calling restrictions. If any other agent wishes
|
||||
to call Stop() it must also follow these calling restrictions.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ControllerHandle Handle of device to stop driver on
|
||||
@param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
|
||||
children is zero stop the entire bus driver.
|
||||
@param ChildHandleBuffer List of Child Handles to Stop.
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] ControllerHandle Handle of device to stop driver on
|
||||
@param[in] NumberOfChildren Number of Handles in ChildHandleBuffer. If number
|
||||
of children is zero stop the entire bus driver.
|
||||
@param[in] ChildHandleBuffer List of Child Handles to Stop.
|
||||
|
||||
@retval EFI_SUCCESS This driver is removed ControllerHandle
|
||||
@retval other This driver was not removed from this device
|
||||
@retval EFI_SUCCESS This driver is removed ControllerHandle
|
||||
@retval other This driver was not removed from this device
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -743,14 +735,18 @@ ON_ERROR:
|
||||
|
||||
|
||||
/**
|
||||
Creates a child handle with a set of I/O services.
|
||||
Creates a child handle and installs a protocol.
|
||||
|
||||
The CreateChild() function installs a protocol on ChildHandle.
|
||||
If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle.
|
||||
If ChildHandle is not a pointer to NULL, then the protocol installs on the existing ChildHandle.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ChildHandle Pointer to the handle of the child to create. If it is NULL,
|
||||
then a new handle is created. If it is not NULL, then the
|
||||
I/O services are added to the existing child handle.
|
||||
@param This Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
|
||||
@param ChildHandle Pointer to the handle of the child to create. If it is NULL,
|
||||
then a new handle is created. If it is a pointer to an existing UEFI handle,
|
||||
then the protocol is added to the existing UEFI handle.
|
||||
|
||||
@retval EFI_SUCCES The child handle was created with the I/O services
|
||||
@retval EFI_SUCCES The protocol was added to ChildHandle.
|
||||
@retval EFI_INVALID_PARAMETER ChildHandle is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources availabe to create
|
||||
the child
|
||||
@@ -845,17 +841,20 @@ ON_ERROR:
|
||||
|
||||
|
||||
/**
|
||||
Destroys a child handle with a set of I/O services.
|
||||
Destroys a child handle with a protocol installed on it.
|
||||
|
||||
The DestroyChild() function does the opposite of CreateChild(). It removes a protocol
|
||||
that was installed by CreateChild() from ChildHandle. If the removed protocol is the
|
||||
last protocol on ChildHandle, then ChildHandle is destroyed.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param This Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
|
||||
@param ChildHandle Handle of the child to destroy
|
||||
|
||||
@retval EFI_SUCCES The I/O services were removed from the child handle
|
||||
@retval EFI_UNSUPPORTED The child handle does not support the I/O services
|
||||
that are being removed.
|
||||
@retval EFI_INVALID_PARAMETER Child handle is not a valid EFI Handle.
|
||||
@retval EFI_ACCESS_DENIED The child handle could not be destroyed because its
|
||||
I/O services are being used.
|
||||
@retval EFI_SUCCES The protocol was removed from ChildHandle.
|
||||
@retval EFI_UNSUPPORTED ChildHandle does not support the protocol that is being removed.
|
||||
@retval EFI_INVALID_PARAMETER Child handle is not a valid UEFI Handle.
|
||||
@retval EFI_ACCESS_DENIED The protocol could not be removed from the ChildHandle
|
||||
because its services are being used.
|
||||
@retval other The child handle was not destroyed
|
||||
|
||||
**/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation
|
||||
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,14 +9,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Driver.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_DRIVER_H__
|
||||
@@ -39,8 +31,8 @@ extern EFI_COMPONENT_NAME2_PROTOCOL gIp4ComponentName2;
|
||||
The entry point for IP4 driver which install the driver
|
||||
binding and component name protocol on its image.
|
||||
|
||||
@param ImageHandle The firmware allocated handle for the UEFI image.
|
||||
@param SystemTable A pointer to the EFI System Table.
|
||||
@param[in] ImageHandle The firmware allocated handle for the UEFI image.
|
||||
@param[in] SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@@ -64,10 +56,10 @@ Ip4DriverEntryPoint (
|
||||
follow these calling restrictions. If any other agent wishes to call
|
||||
Supported() it must also follow these calling restrictions.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ControllerHandle Handle of device to test
|
||||
@param RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] ControllerHandle Handle of device to test
|
||||
@param[in] RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
|
||||
@retval EFI_SUCCESS This driver supports this device
|
||||
@retval EFI_ALREADY_STARTED This driver is already running on this device
|
||||
@@ -90,10 +82,10 @@ Ip4DriverBindingSupported (
|
||||
calling restrictions. If any other agent wishes to call Start() it
|
||||
must also follow these calling restrictions.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ControllerHandle Handle of device to bind driver to
|
||||
@param RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] ControllerHandle Handle of device to bind driver to
|
||||
@param[in] RemainingDevicePath Optional parameter use to pick a specific child
|
||||
device to start.
|
||||
|
||||
@retval EFI_SUCCESS This driver is added to ControllerHandle
|
||||
@retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
|
||||
@@ -116,14 +108,14 @@ Ip4DriverBindingStart (
|
||||
must follow these calling restrictions. If any other agent wishes
|
||||
to call Stop() it must also follow these calling restrictions.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ControllerHandle Handle of device to stop driver on
|
||||
@param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
|
||||
children is zero stop the entire bus driver.
|
||||
@param ChildHandleBuffer List of Child Handles to Stop.
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] ControllerHandle Handle of device to stop driver on
|
||||
@param[in] NumberOfChildren Number of Handles in ChildHandleBuffer. If number
|
||||
of children is zero stop the entire bus driver.
|
||||
@param[in] ChildHandleBuffer List of Child Handles to Stop.
|
||||
|
||||
@retval EFI_SUCCESS This driver is removed ControllerHandle
|
||||
@retval other This driver was not removed from this device
|
||||
@retval EFI_SUCCESS This driver is removed ControllerHandle
|
||||
@retval other This driver was not removed from this device
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -139,14 +131,18 @@ Ip4DriverBindingStop (
|
||||
// Function ptototypes for the ServiceBinding Prococol
|
||||
//
|
||||
/**
|
||||
Creates a child handle with a set of I/O services.
|
||||
Creates a child handle and installs a protocol.
|
||||
|
||||
The CreateChild() function installs a protocol on ChildHandle.
|
||||
If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle.
|
||||
If ChildHandle is not a pointer to NULL, then the protocol installs on the existing ChildHandle.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param ChildHandle Pointer to the handle of the child to create. If it is NULL,
|
||||
then a new handle is created. If it is not NULL, then the
|
||||
I/O services are added to the existing child handle.
|
||||
@param This Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
|
||||
@param ChildHandle Pointer to the handle of the child to create. If it is NULL,
|
||||
then a new handle is created. If it is a pointer to an existing UEFI handle,
|
||||
then the protocol is added to the existing UEFI handle.
|
||||
|
||||
@retval EFI_SUCCES The child handle was created with the I/O services
|
||||
@retval EFI_SUCCES The protocol was added to ChildHandle.
|
||||
@retval EFI_INVALID_PARAMETER ChildHandle is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources availabe to create
|
||||
the child
|
||||
@@ -161,17 +157,20 @@ Ip4ServiceBindingCreateChild (
|
||||
);
|
||||
|
||||
/**
|
||||
Destroys a child handle with a set of I/O services.
|
||||
Destroys a child handle with a protocol installed on it.
|
||||
|
||||
The DestroyChild() function does the opposite of CreateChild(). It removes a protocol
|
||||
that was installed by CreateChild() from ChildHandle. If the removed protocol is the
|
||||
last protocol on ChildHandle, then ChildHandle is destroyed.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param This Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
|
||||
@param ChildHandle Handle of the child to destroy
|
||||
|
||||
@retval EFI_SUCCES The I/O services were removed from the child handle
|
||||
@retval EFI_UNSUPPORTED The child handle does not support the I/O services
|
||||
that are being removed.
|
||||
@retval EFI_INVALID_PARAMETER Child handle is not a valid EFI Handle.
|
||||
@retval EFI_ACCESS_DENIED The child handle could not be destroyed because its
|
||||
I/O services are being used.
|
||||
@retval EFI_SUCCES The protocol was removed from ChildHandle.
|
||||
@retval EFI_UNSUPPORTED ChildHandle does not support the protocol that is being removed.
|
||||
@retval EFI_INVALID_PARAMETER Child handle is not a valid UEFI Handle.
|
||||
@retval EFI_ACCESS_DENIED The protocol could not be removed from the ChildHandle
|
||||
because its services are being used.
|
||||
@retval other The child handle was not destroyed
|
||||
|
||||
**/
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,14 +9,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Icmp.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -88,12 +80,12 @@ mIp4SupportedIcmp[23] = {
|
||||
message SHOULD be treated identically to a Host Redirect
|
||||
message;"
|
||||
|
||||
@param IpSb The IP4 service binding instance that received the
|
||||
packet
|
||||
@param Head The IP head of the received ICMPpacket.
|
||||
@param Packet The content of the ICMP redirect packet with IP
|
||||
@param[in] IpSb The IP4 service binding instance that received
|
||||
the packet.
|
||||
@param[in] Head The IP head of the received ICMPpacket.
|
||||
@param[in] Packet The content of the ICMP redirect packet with IP
|
||||
head removed.
|
||||
@param Icmp The buffer to store the ICMP error message if
|
||||
@param[in] Icmp The buffer to store the ICMP error message if
|
||||
something is wrong.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The parameter is invalid
|
||||
@@ -166,9 +158,9 @@ Ip4ProcessIcmpRedirect (
|
||||
update call Ip4ProcessIcmpRedirect to update the IP instance's
|
||||
route cache, otherwise, deliver the packet to upper layer.
|
||||
|
||||
@param IpSb The IP service that received the packet.
|
||||
@param Head The IP head of the ICMP error packet
|
||||
@param Packet The content of the ICMP error with IP head
|
||||
@param[in] IpSb The IP service that received the packet.
|
||||
@param[in] Head The IP head of the ICMP error packet
|
||||
@param[in] Packet The content of the ICMP error with IP head
|
||||
removed.
|
||||
|
||||
@retval EFI_SUCCESS The ICMP error is processed successfully.
|
||||
@@ -208,9 +200,9 @@ Ip4ProcessIcmpError (
|
||||
/**
|
||||
Replay an ICMP echo request.
|
||||
|
||||
@param IpSb The IP service that receivd the packet
|
||||
@param Head The IP head of the ICMP error packet
|
||||
@param Packet The content of the ICMP error with IP head
|
||||
@param[in] IpSb The IP service that receivd the packet
|
||||
@param[in] Head The IP head of the ICMP error packet
|
||||
@param[in] Packet The content of the ICMP error with IP head
|
||||
removed.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource.
|
||||
@@ -285,9 +277,9 @@ ON_EXIT:
|
||||
Process the ICMP query message. If it is an ICMP echo
|
||||
request, answer it. Otherwise deliver it to upper layer.
|
||||
|
||||
@param IpSb The IP service that receivd the packet
|
||||
@param Head The IP head of the ICMP query packet
|
||||
@param Packet The content of the ICMP query with IP head
|
||||
@param[in] IpSb The IP service that receivd the packet
|
||||
@param[in] Head The IP head of the ICMP query packet
|
||||
@param[in] Packet The content of the ICMP query with IP head
|
||||
removed.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The packet is invalid
|
||||
@@ -324,9 +316,9 @@ Ip4ProcessIcmpQuery (
|
||||
then according to the message types, process it as query or
|
||||
error packet.
|
||||
|
||||
@param IpSb The IP service that receivd the packet
|
||||
@param Head The IP head of the ICMP query packet
|
||||
@param Packet The content of the ICMP query with IP head
|
||||
@param[in] IpSb The IP service that receivd the packet
|
||||
@param[in] Head The IP head of the ICMP query packet
|
||||
@param[in] Packet The content of the ICMP query with IP head
|
||||
removed.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The packet is malformated.
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Header file for ICMP protocol.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,16 +10,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Icmp.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Header file for ICMP protocol.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_ICMP_H__
|
||||
@@ -95,9 +86,9 @@ extern EFI_IP4_ICMP_TYPE mIp4SupportedIcmp[];
|
||||
then according to the message types, process it as query or
|
||||
error packet.
|
||||
|
||||
@param IpSb The IP service that receivd the packet
|
||||
@param Head The IP head of the ICMP query packet
|
||||
@param Packet The content of the ICMP query with IP head
|
||||
@param[in] IpSb The IP service that receivd the packet
|
||||
@param[in] Head The IP head of the ICMP query packet
|
||||
@param[in] Packet The content of the ICMP query with IP head
|
||||
removed.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The packet is malformated.
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation
|
||||
Implement IP4 pesudo interface.
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,16 +10,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4If.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Implement IP4 pesudo interface.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -33,9 +24,7 @@ EFI_MAC_ADDRESS mZeroMacAddress;
|
||||
Callback funtion when frame transmission is finished. It will
|
||||
call the frame owner's callback function to tell it the result.
|
||||
|
||||
@param Context Context which is point to the token.
|
||||
|
||||
@return None.
|
||||
@param[in] Context Context which is point to the token.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -47,10 +36,8 @@ Ip4OnFrameSentDpc (
|
||||
/**
|
||||
Request Ip4OnFrameSentDpc as a DPC at TPL_CALLBACK.
|
||||
|
||||
@param Event The transmit token's event.
|
||||
@param Context Context which is point to the token.
|
||||
|
||||
@return None
|
||||
@param[in] Event The transmit token's event.
|
||||
@param[in] Context Context which is point to the token.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -65,11 +52,9 @@ Ip4OnFrameSent (
|
||||
all the queued frame if the ARP requests failed. Or transmit them
|
||||
if the request succeed.
|
||||
|
||||
@param Context The context of the callback, a point to the ARP
|
||||
@param[in] Context The context of the callback, a point to the ARP
|
||||
queue
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
@@ -80,12 +65,10 @@ Ip4OnArpResolvedDpc (
|
||||
/**
|
||||
Request Ip4OnArpResolvedDpc as a DPC at TPL_CALLBACK.
|
||||
|
||||
@param Event The Arp request event.
|
||||
@param Context The context of the callback, a point to the ARP
|
||||
queue.
|
||||
|
||||
@return None
|
||||
|
||||
@param Event The Arp request event.
|
||||
@param Context The context of the callback, a point to the ARP
|
||||
queue.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
@@ -104,8 +87,6 @@ Ip4OnArpResolved (
|
||||
|
||||
@param Context Context for the callback.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
@@ -114,13 +95,10 @@ Ip4OnFrameReceivedDpc (
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Request Ip4OnFrameReceivedDpc as a DPC at TPL_CALLBACK.
|
||||
|
||||
@param Event The receive event delivered to MNP for receive.
|
||||
@param Context Context for the callback.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -134,13 +112,11 @@ Ip4OnFrameReceived (
|
||||
Remove all the frames on the ARP queue that pass the FrameToCancel,
|
||||
that is, either FrameToCancel is NULL or it returns true for the frame.
|
||||
|
||||
@param ArpQue ARP frame to remove the frames from.
|
||||
@param IoStatus The status returned to the cancelled frames'
|
||||
@param[in] ArpQue ARP frame to remove the frames from.
|
||||
@param[in] IoStatus The status returned to the cancelled frames'
|
||||
callback function.
|
||||
@param FrameToCancel Function to select which frame to cancel.
|
||||
@param Context Opaque parameter to the FrameToCancel.
|
||||
|
||||
@return NONE
|
||||
@param[in] FrameToCancel Function to select which frame to cancel.
|
||||
@param[in] Context Opaque parameter to the FrameToCancel.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -155,15 +131,16 @@ Ip4CancelFrameArp (
|
||||
/**
|
||||
Wrap a transmit request into a newly allocated IP4_LINK_TX_TOKEN.
|
||||
|
||||
@param Interface The interface to send out to.
|
||||
@param IpInstance The IpInstance that transmit the packet. NULL if
|
||||
@param[in] Interface The interface to send out to.
|
||||
@param[in] IpInstance The IpInstance that transmit the packet. NULL if
|
||||
the packet is sent by the IP4 driver itself.
|
||||
@param Packet The packet to transmit
|
||||
@param CallBack Call back function to execute if transmission
|
||||
@param[in] Packet The packet to transmit
|
||||
@param[in] CallBack Call back function to execute if transmission
|
||||
finished.
|
||||
@param Context Opaque parameter to the call back.
|
||||
@param[in] Context Opaque parameter to the call back.
|
||||
|
||||
@return The wrapped token if succeed or NULL
|
||||
@retval Token The wrapped token if succeed
|
||||
@retval NULL The wrapped token if NULL
|
||||
|
||||
**/
|
||||
IP4_LINK_TX_TOKEN *
|
||||
@@ -237,9 +214,7 @@ Ip4WrapLinkTxToken (
|
||||
Free the link layer transmit token. It will close the event
|
||||
then free the memory used.
|
||||
|
||||
@param Token Token to free
|
||||
|
||||
@return NONE
|
||||
@param[in] Token Token to free
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -257,8 +232,8 @@ Ip4FreeLinkTxToken (
|
||||
/**
|
||||
Create an IP_ARP_QUE structure to request ARP service.
|
||||
|
||||
@param Interface The interface to send ARP from.
|
||||
@param DestIp The destination IP (host byte order) to request MAC
|
||||
@param[in] Interface The interface to send ARP from.
|
||||
@param[in] DestIp The destination IP (host byte order) to request MAC
|
||||
for
|
||||
|
||||
@return Point to newly created IP4_ARP_QUE if succeed, otherwise NULL.
|
||||
@@ -308,12 +283,10 @@ Ip4CreateArpQue (
|
||||
/**
|
||||
Remove all the transmit requests queued on the ARP queue, then free it.
|
||||
|
||||
@param ArpQue Arp queue to free
|
||||
@param IoStatus The transmit status returned to transmit requests'
|
||||
@param[in] ArpQue Arp queue to free
|
||||
@param[in] IoStatus The transmit status returned to transmit requests'
|
||||
callback.
|
||||
|
||||
@return NONE
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4FreeArpQue (
|
||||
@@ -336,11 +309,11 @@ Ip4FreeArpQue (
|
||||
/**
|
||||
Create a link layer receive token to wrap the receive request
|
||||
|
||||
@param Interface The interface to receive from
|
||||
@param IpInstance The instance that request the receive (NULL for IP4
|
||||
@param[in] Interface The interface to receive from
|
||||
@param[in] IpInstance The instance that request the receive (NULL for IP4
|
||||
driver itself)
|
||||
@param CallBack Call back function to execute when finished.
|
||||
@param Context Opaque parameters to the callback
|
||||
@param[in] CallBack Call back function to execute when finished.
|
||||
@param[in] Context Opaque parameters to the callback
|
||||
|
||||
@return Point to created IP4_LINK_RX_TOKEN if succeed, otherwise NULL.
|
||||
|
||||
@@ -393,9 +366,7 @@ Ip4CreateLinkRxToken (
|
||||
Free the link layer request token. It will close the event
|
||||
then free the memory used.
|
||||
|
||||
@param Token Request token to free
|
||||
|
||||
@return NONE
|
||||
@param[in] Token Request token to free.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -415,13 +386,11 @@ Ip4FreeFrameRxToken (
|
||||
Remove all the frames on the ARP queue that pass the FrameToCancel,
|
||||
that is, either FrameToCancel is NULL or it returns true for the frame.
|
||||
|
||||
@param ArpQue ARP frame to remove the frames from.
|
||||
@param IoStatus The status returned to the cancelled frames'
|
||||
@param[in] ArpQue ARP frame to remove the frames from.
|
||||
@param[in] IoStatus The status returned to the cancelled frames'
|
||||
callback function.
|
||||
@param FrameToCancel Function to select which frame to cancel.
|
||||
@param Context Opaque parameter to the FrameToCancel.
|
||||
|
||||
@return NONE
|
||||
@param[in] FrameToCancel Function to select which frame to cancel.
|
||||
@param[in] Context Opaque parameter to the FrameToCancel.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -454,14 +423,12 @@ Ip4CancelFrameArp (
|
||||
either queued on ARP queues or that have already been delivered to
|
||||
MNP and not yet recycled.
|
||||
|
||||
@param Interface Interface to remove the frames from
|
||||
@param IoStatus The transmit status returned to the frames'
|
||||
@param[in] Interface Interface to remove the frames from
|
||||
@param[in] IoStatus The transmit status returned to the frames'
|
||||
callback
|
||||
@param FrameToCancel Function to select the frame to cancel, NULL to
|
||||
@param[in] FrameToCancel Function to select the frame to cancel, NULL to
|
||||
select all
|
||||
@param Context Opaque parameters passed to FrameToCancel
|
||||
|
||||
@return NONE
|
||||
@param[in] Context Opaque parameters passed to FrameToCancel
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -508,11 +475,11 @@ Ip4CancelFrames (
|
||||
Create an IP4_INTERFACE. Delay the creation of ARP instance until
|
||||
the interface is configured.
|
||||
|
||||
@param Mnp The shared MNP child of this IP4 service binding
|
||||
@param[in] Mnp The shared MNP child of this IP4 service binding
|
||||
instance
|
||||
@param Controller The controller this IP4 service binding instance
|
||||
@param[in] Controller The controller this IP4 service binding instance
|
||||
is installed. Most like the UNDI handle.
|
||||
@param ImageHandle This driver's image handle
|
||||
@param[in] ImageHandle This driver's image handle
|
||||
|
||||
@return Point to the created IP4_INTERFACE, otherwise NULL.
|
||||
|
||||
@@ -575,9 +542,9 @@ Ip4CreateInterface (
|
||||
Set the interface's address, create and configure
|
||||
the ARP child if necessary.
|
||||
|
||||
@param Interface The interface to set the address
|
||||
@param IpAddr The interface's IP address
|
||||
@param SubnetMask The interface's netmask
|
||||
@param Interface The interface to set the address
|
||||
@param IpAddr The interface's IP address
|
||||
@param SubnetMask The interface's netmask
|
||||
|
||||
@retval EFI_SUCCESS The interface is configured with Ip/netmask pair,
|
||||
and a ARP is created for it.
|
||||
@@ -690,8 +657,8 @@ ON_ERROR:
|
||||
/**
|
||||
Filter function to cancel all the frame related to an IP instance.
|
||||
|
||||
@param Frame The transmit request to test whether to cancel
|
||||
@param Context The context which is the Ip instance that issued
|
||||
@param[in] Frame The transmit request to test whether to cancel
|
||||
@param[in] Context The context which is the Ip instance that issued
|
||||
the transmit.
|
||||
|
||||
@retval TRUE The frame belongs to this instance and is to be
|
||||
@@ -723,9 +690,7 @@ Ip4CancelInstanceFrame (
|
||||
packet and update the upper layer's transmit request status, say
|
||||
that from the UDP.
|
||||
|
||||
@param Interface The interface used by the IpInstance
|
||||
|
||||
@return None
|
||||
@param[in] Interface The interface used by the IpInstance
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -754,8 +719,8 @@ Ip4CancelReceive (
|
||||
Because the IpInstance is optional, the caller must remove
|
||||
IpInstance from the interface's instance list itself.
|
||||
|
||||
@param Interface The interface used by the IpInstance
|
||||
@param IpInstance The Ip instance that free the interface. NULL if
|
||||
@param[in] Interface The interface used by the IpInstance
|
||||
@param[in] IpInstance The Ip instance that free the interface. NULL if
|
||||
the Ip driver is releasing the default interface.
|
||||
|
||||
@retval EFI_SUCCESS The interface use IpInstance is freed.
|
||||
@@ -820,11 +785,9 @@ Ip4FreeInterface (
|
||||
all the queued frame if the ARP requests failed. Or transmit them
|
||||
if the request succeed.
|
||||
|
||||
@param Context The context of the callback, a point to the ARP
|
||||
@param[in] Context The context of the callback, a point to the ARP
|
||||
queue
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
@@ -893,12 +856,10 @@ Ip4OnArpResolvedDpc (
|
||||
/**
|
||||
Request Ip4OnArpResolvedDpc as a DPC at TPL_CALLBACK.
|
||||
|
||||
@param Event The Arp request event.
|
||||
@param Context The context of the callback, a point to the ARP
|
||||
queue.
|
||||
|
||||
@return None
|
||||
|
||||
@param Event The Arp request event.
|
||||
@param Context The context of the callback, a point to the ARP
|
||||
queue.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
@@ -919,9 +880,7 @@ Ip4OnArpResolved (
|
||||
Callback funtion when frame transmission is finished. It will
|
||||
call the frame owner's callback function to tell it the result.
|
||||
|
||||
@param Context Context which is point to the token.
|
||||
|
||||
@return None.
|
||||
@param[in] Context Context which is point to the token.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -951,10 +910,8 @@ Ip4OnFrameSentDpc (
|
||||
/**
|
||||
Request Ip4OnFrameSentDpc as a DPC at TPL_CALLBACK.
|
||||
|
||||
@param Event The transmit token's event.
|
||||
@param Context Context which is point to the token.
|
||||
|
||||
@return None
|
||||
@param[in] Event The transmit token's event.
|
||||
@param[in] Context Context which is point to the token.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -979,14 +936,14 @@ Ip4OnFrameSent (
|
||||
If some error happened, the CallBack won't be called. So, the caller
|
||||
must test the return value, and take action when there is an error.
|
||||
|
||||
@param Interface The interface to send the frame from
|
||||
@param IpInstance The IP child that request the transmission. NULL
|
||||
@param[in] Interface The interface to send the frame from
|
||||
@param[in] IpInstance The IP child that request the transmission. NULL
|
||||
if it is the IP4 driver itself.
|
||||
@param Packet The packet to transmit.
|
||||
@param NextHop The immediate destination to transmit the packet
|
||||
@param[in] Packet The packet to transmit.
|
||||
@param[in] NextHop The immediate destination to transmit the packet
|
||||
to.
|
||||
@param CallBack Function to call back when transmit finished.
|
||||
@param Context Opaque parameter to the call back.
|
||||
@param[in] CallBack Function to call back when transmit finished.
|
||||
@param[in] Context Opaque parameter to the call back.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to send the frame
|
||||
@retval EFI_NO_MAPPING Can't resolve the MAC for the nexthop
|
||||
@@ -1127,9 +1084,7 @@ ON_ERROR:
|
||||
Call back function when the received packet is freed.
|
||||
Check Ip4OnFrameReceived for information.
|
||||
|
||||
@param Context Context, which is the IP4_LINK_RX_TOKEN.
|
||||
|
||||
@return None.
|
||||
@param Context Context, which is the IP4_LINK_RX_TOKEN.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -1157,8 +1112,6 @@ Ip4RecycleFrame (
|
||||
|
||||
@param Context Context for the callback.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
@@ -1218,13 +1171,10 @@ Ip4OnFrameReceivedDpc (
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Request Ip4OnFrameReceivedDpc as a DPC at TPL_CALLBACK.
|
||||
|
||||
@param Event The receive event delivered to MNP for receive.
|
||||
@param Context Context for the callback.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -1244,11 +1194,11 @@ Ip4OnFrameReceived (
|
||||
/**
|
||||
Request to receive the packet from the interface.
|
||||
|
||||
@param Interface The interface to receive the frames from
|
||||
@param IpInstance The instance that requests the receive. NULL for
|
||||
@param[in] Interface The interface to receive the frames from
|
||||
@param[in] IpInstance The instance that requests the receive. NULL for
|
||||
the driver itself.
|
||||
@param CallBack Function to call when receive finished.
|
||||
@param Context Opaque parameter to the callback
|
||||
@param[in] CallBack Function to call when receive finished.
|
||||
@param[in] Context Opaque parameter to the callback
|
||||
|
||||
@retval EFI_ALREADY_STARTED There is already a pending receive request.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to receive
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Definition for IP4 pesudo interface structure.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,16 +10,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4If.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Definition for IP4 pesudo interface structure.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_IF_H__
|
||||
@@ -40,24 +31,24 @@ typedef enum {
|
||||
When transmitting, the Netbuf is from IP4, and provided
|
||||
to the callback as a reference. Flag isn't used.
|
||||
|
||||
@param IpInstance The instance that sent or received the packet.
|
||||
IpInstance can be NULL which means that it is the IP4 driver
|
||||
itself sending the packets. IP4 driver may send packets that
|
||||
don't belong to any instance, such as ICMP errors, ICMP echo
|
||||
responses, or IGMP packets. IpInstance is used as a tag in
|
||||
this module.
|
||||
@param Packet The sent or received packet.
|
||||
@param IoStatus Status of sending or receiving.
|
||||
@param LinkFlag Indicate if the frame is received as link broadcast/multicast.
|
||||
When transmitting, it is not used.
|
||||
@param Context Additional data for callback.
|
||||
@param[in] IpInstance The instance that sent or received the packet.
|
||||
IpInstance can be NULL which means that it is the IP4 driver
|
||||
itself sending the packets. IP4 driver may send packets that
|
||||
don't belong to any instance, such as ICMP errors, ICMP echo
|
||||
responses, or IGMP packets. IpInstance is used as a tag in
|
||||
this module.
|
||||
@param[in] Packet The sent or received packet.
|
||||
@param[in] IoStatus Status of sending or receiving.
|
||||
@param[in] LinkFlag Indicate if the frame is received as link broadcast/multicast.
|
||||
When transmitting, it is not used.
|
||||
@param[in] Context Additional data for callback.
|
||||
|
||||
@return None.
|
||||
@retval None.
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(*IP4_FRAME_CALLBACK)(
|
||||
IN IP4_PROTOCOL *IpInstance, OPTIONAL
|
||||
IN IP4_PROTOCOL *IpInstance OPTIONAL,
|
||||
IN NET_BUF *Packet,
|
||||
IN EFI_STATUS IoStatus,
|
||||
IN UINT32 LinkFlag,
|
||||
@@ -202,11 +193,11 @@ struct _IP4_INTERFACE {
|
||||
Create an IP4_INTERFACE. Delay the creation of ARP instance until
|
||||
the interface is configured.
|
||||
|
||||
@param Mnp The shared MNP child of this IP4 service binding
|
||||
@param[in] Mnp The shared MNP child of this IP4 service binding
|
||||
instance
|
||||
@param Controller The controller this IP4 service binding instance
|
||||
@param[in] Controller The controller this IP4 service binding instance
|
||||
is installed. Most like the UNDI handle.
|
||||
@param ImageHandle This driver's image handle
|
||||
@param[in] ImageHandle This driver's image handle
|
||||
|
||||
@return Point to the created IP4_INTERFACE, otherwise NULL.
|
||||
|
||||
@@ -222,9 +213,9 @@ Ip4CreateInterface (
|
||||
Set the interface's address, create and configure
|
||||
the ARP child if necessary.
|
||||
|
||||
@param Interface The interface to set the address
|
||||
@param IpAddr The interface's IP address
|
||||
@param SubnetMask The interface's netmask
|
||||
@param Interface The interface to set the address
|
||||
@param IpAddr The interface's IP address
|
||||
@param SubnetMask The interface's netmask
|
||||
|
||||
@retval EFI_SUCCESS The interface is configured with Ip/netmask pair,
|
||||
and a ARP is created for it.
|
||||
@@ -245,8 +236,8 @@ Ip4SetAddress (
|
||||
Because the IpInstance is optional, the caller must remove
|
||||
IpInstance from the interface's instance list itself.
|
||||
|
||||
@param Interface The interface used by the IpInstance
|
||||
@param IpInstance The Ip instance that free the interface. NULL if
|
||||
@param[in] Interface The interface used by the IpInstance
|
||||
@param[in] IpInstance The Ip instance that free the interface. NULL if
|
||||
the Ip driver is releasing the default interface.
|
||||
|
||||
@retval EFI_SUCCESS The interface use IpInstance is freed.
|
||||
@@ -265,14 +256,14 @@ Ip4FreeInterface (
|
||||
If some error happened, the CallBack won't be called. So, the caller
|
||||
must test the return value, and take action when there is an error.
|
||||
|
||||
@param Interface The interface to send the frame from
|
||||
@param IpInstance The IP child that request the transmission. NULL
|
||||
@param[in] Interface The interface to send the frame from
|
||||
@param[in] IpInstance The IP child that request the transmission. NULL
|
||||
if it is the IP4 driver itself.
|
||||
@param Packet The packet to transmit.
|
||||
@param NextHop The immediate destination to transmit the packet
|
||||
@param[in] Packet The packet to transmit.
|
||||
@param[in] NextHop The immediate destination to transmit the packet
|
||||
to.
|
||||
@param CallBack Function to call back when transmit finished.
|
||||
@param Context Opaque parameter to the call back.
|
||||
@param[in] CallBack Function to call back when transmit finished.
|
||||
@param[in] Context Opaque parameter to the call back.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to send the frame
|
||||
@retval EFI_NO_MAPPING Can't resolve the MAC for the nexthop
|
||||
@@ -295,14 +286,12 @@ Ip4SendFrame (
|
||||
either queued on ARP queues or that have already been delivered to
|
||||
MNP and not yet recycled.
|
||||
|
||||
@param Interface Interface to remove the frames from
|
||||
@param IoStatus The transmit status returned to the frames'
|
||||
@param[in] Interface Interface to remove the frames from
|
||||
@param[in] IoStatus The transmit status returned to the frames'
|
||||
callback
|
||||
@param FrameToCancel Function to select the frame to cancel, NULL to
|
||||
@param[in] FrameToCancel Function to select the frame to cancel, NULL to
|
||||
select all
|
||||
@param Context Opaque parameters passed to FrameToCancel
|
||||
|
||||
@return NONE
|
||||
@param[in] Context Opaque parameters passed to FrameToCancel
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -322,9 +311,7 @@ Ip4CancelFrames (
|
||||
packet and update the upper layer's transmit request status, say
|
||||
that from the UDP.
|
||||
|
||||
@param Interface The interface used by the IpInstance
|
||||
|
||||
@return None
|
||||
@param[in] Interface The interface used by the IpInstance
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -335,11 +322,11 @@ Ip4CancelReceive (
|
||||
/**
|
||||
Request to receive the packet from the interface.
|
||||
|
||||
@param Interface The interface to receive the frames from
|
||||
@param IpInstance The instance that requests the receive. NULL for
|
||||
@param[in] Interface The interface to receive the frames from
|
||||
@param[in] IpInstance The instance that requests the receive. NULL for
|
||||
the driver itself.
|
||||
@param CallBack Function to call when receive finished.
|
||||
@param Context Opaque parameter to the callback
|
||||
@param[in] CallBack Function to call when receive finished.
|
||||
@param[in] Context Opaque parameter to the callback
|
||||
|
||||
@retval EFI_ALREADY_STARTED There is already a pending receive request.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to receive
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
This file implements the RFC2236: IGMP v2.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,16 +10,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Igmp.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This file implements the RFC2236: IGMP v2
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -34,7 +25,7 @@ UINT32 mRouteAlertOption = 0x00000494;
|
||||
Init the IGMP control data of the IP4 service instance, configure
|
||||
MNP to receive ALL SYSTEM multicast.
|
||||
|
||||
@param IpSb The IP4 service whose IGMP is to be initialized.
|
||||
@param[in, out] IpSb The IP4 service whose IGMP is to be initialized.
|
||||
|
||||
@retval EFI_SUCCESS IGMP of the IpSb is successfully initialized.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to initialize IGMP.
|
||||
@@ -94,8 +85,8 @@ ON_ERROR:
|
||||
Find the IGMP_GROUP structure which contains the status of multicast
|
||||
group Address in this IGMP control block
|
||||
|
||||
@param IgmpCtrl The IGMP control block to search from
|
||||
@param Address The multicast address to search
|
||||
@param[in] IgmpCtrl The IGMP control block to search from
|
||||
@param[in] Address The multicast address to search
|
||||
|
||||
@return NULL if the multicast address isn't in the IGMP control block. Otherwise
|
||||
the point to the IGMP_GROUP which contains the status of multicast group
|
||||
@@ -128,8 +119,8 @@ Ip4FindGroup (
|
||||
same MAC address. Several IP4 multicast address may be mapped to
|
||||
the same MAC address.
|
||||
|
||||
@param IgmpCtrl The IGMP control block to search in
|
||||
@param Mac The MAC address to search
|
||||
@param[in] IgmpCtrl The IGMP control block to search in
|
||||
@param[in] Mac The MAC address to search
|
||||
|
||||
@return The number of the IP4 multicast group that mapped to the same
|
||||
multicast group Mac.
|
||||
@@ -162,12 +153,12 @@ Ip4FindMac (
|
||||
/**
|
||||
Send an IGMP protocol message to the Dst, such as IGMP v1 membership report.
|
||||
|
||||
@param IpSb The IP4 service instance that requests the
|
||||
@param[in] IpSb The IP4 service instance that requests the
|
||||
transmission
|
||||
@param Dst The destinaton to send to
|
||||
@param Type The IGMP message type, such as IGMP v1 membership
|
||||
@param[in] Dst The destinaton to send to
|
||||
@param[in] Type The IGMP message type, such as IGMP v1 membership
|
||||
report
|
||||
@param Group The group address in the IGMP message head.
|
||||
@param[in] Group The group address in the IGMP message head.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory to build the message
|
||||
@retval EFI_SUCCESS The IGMP message is successfully send
|
||||
@@ -233,9 +224,9 @@ Ip4SendIgmpMessage (
|
||||
Send an IGMP membership report. Depends on whether the server is
|
||||
v1 or v2, it will send either a V1 or V2 membership report.
|
||||
|
||||
@param IpSb The IP4 service instance that requests the
|
||||
@param[in] IpSb The IP4 service instance that requests the
|
||||
transmission.
|
||||
@param Group The group address to report
|
||||
@param[in] Group The group address to report
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory to build the message
|
||||
@retval EFI_SUCCESS The IGMP report message is successfully send
|
||||
@@ -259,8 +250,8 @@ Ip4SendIgmpReport (
|
||||
/**
|
||||
Join the multicast group on behalf of this IP4 child
|
||||
|
||||
@param IpInstance The IP4 child that wants to join the group
|
||||
@param Address The group to join
|
||||
@param[in] IpInstance The IP4 child that wants to join the group
|
||||
@param[in] Address The group to join
|
||||
|
||||
@retval EFI_SUCCESS Successfully join the multicast group
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resources
|
||||
@@ -339,9 +330,9 @@ ON_ERROR:
|
||||
/**
|
||||
Leave the IP4 multicast group on behalf of IpInstance.
|
||||
|
||||
@param IpInstance The IP4 child that wants to leave the group
|
||||
@param[in] IpInstance The IP4 child that wants to leave the group
|
||||
address
|
||||
@param Address The group address to leave
|
||||
@param[in] Address The group address to leave
|
||||
|
||||
@retval EFI_NOT_FOUND The IP4 service instance isn't in the group
|
||||
@retval EFI_SUCCESS Successfully leave the multicast group.
|
||||
@@ -409,9 +400,9 @@ Ip4LeaveGroup (
|
||||
/**
|
||||
Handle the received IGMP message for the IP4 service instance.
|
||||
|
||||
@param IpSb The IP4 service instance that received the message
|
||||
@param Head The IP4 header of the received message
|
||||
@param Packet The IGMP message, without IP4 header
|
||||
@param[in] IpSb The IP4 service instance that received the message
|
||||
@param[in] Head The IP4 header of the received message
|
||||
@param[in] Packet The IGMP message, without IP4 header
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The IGMP message is malformated.
|
||||
@retval EFI_SUCCESS The IGMP message is successfully processed.
|
||||
@@ -515,9 +506,7 @@ Ip4IgmpHandle (
|
||||
2. Decrease the report timer for each IGMP group in "delaying
|
||||
member" state.
|
||||
|
||||
@param IpSb The IP4 service instance that is ticking
|
||||
|
||||
@return None
|
||||
@param[in] IpSb The IP4 service instance that is ticking
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -561,9 +550,9 @@ Ip4IgmpTicking (
|
||||
assume the byte order of the both Source and Addr, the
|
||||
network byte order is used by the caller.
|
||||
|
||||
@param Source The array of group addresses to add to
|
||||
@param Count The number of group addresses in the Source
|
||||
@param Addr The IP4 multicast address to add
|
||||
@param[in] Source The array of group addresses to add to
|
||||
@param[in] Count The number of group addresses in the Source
|
||||
@param[in] Addr The IP4 multicast address to add
|
||||
|
||||
@return NULL if failed to allocate memory for the new groups,
|
||||
otherwise the new combined group addresses.
|
||||
@@ -597,9 +586,9 @@ Ip4CombineGroups (
|
||||
both Groups and Addr, the network byte order is used by
|
||||
the caller.
|
||||
|
||||
@param Groups The array of group addresses to remove from
|
||||
@param Count The number of group addresses in the Groups
|
||||
@param Addr The IP4 multicast address to remove
|
||||
@param Groups The array of group addresses to remove from
|
||||
@param Count The number of group addresses in the Groups
|
||||
@param Addr The IP4 multicast address to remove
|
||||
|
||||
@return The nubmer of group addresses in the Groups after remove.
|
||||
It is Count if the Addr isn't in the Groups.
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,14 +9,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Igmp.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_IGMP_H__
|
||||
@@ -73,7 +65,7 @@ typedef enum {
|
||||
Init the IGMP control data of the IP4 service instance, configure
|
||||
MNP to receive ALL SYSTEM multicast.
|
||||
|
||||
@param IpSb The IP4 service whose IGMP is to be initialized.
|
||||
@param[in, out] IpSb The IP4 service whose IGMP is to be initialized.
|
||||
|
||||
@retval EFI_SUCCESS IGMP of the IpSb is successfully initialized.
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to initialize IGMP.
|
||||
@@ -88,8 +80,8 @@ Ip4InitIgmp (
|
||||
/**
|
||||
Join the multicast group on behalf of this IP4 child
|
||||
|
||||
@param IpInstance The IP4 child that wants to join the group
|
||||
@param Address The group to join
|
||||
@param[in] IpInstance The IP4 child that wants to join the group
|
||||
@param[in] Address The group to join
|
||||
|
||||
@retval EFI_SUCCESS Successfully join the multicast group
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resources
|
||||
@@ -105,9 +97,9 @@ Ip4JoinGroup (
|
||||
/**
|
||||
Leave the IP4 multicast group on behalf of IpInstance.
|
||||
|
||||
@param IpInstance The IP4 child that wants to leave the group
|
||||
@param[in] IpInstance The IP4 child that wants to leave the group
|
||||
address
|
||||
@param Address The group address to leave
|
||||
@param[in] Address The group address to leave
|
||||
|
||||
@retval EFI_NOT_FOUND The IP4 service instance isn't in the group
|
||||
@retval EFI_SUCCESS Successfully leave the multicast group.
|
||||
@@ -123,9 +115,9 @@ Ip4LeaveGroup (
|
||||
/**
|
||||
Handle the received IGMP message for the IP4 service instance.
|
||||
|
||||
@param IpSb The IP4 service instance that received the message
|
||||
@param Head The IP4 header of the received message
|
||||
@param Packet The IGMP message, without IP4 header
|
||||
@param[in] IpSb The IP4 service instance that received the message
|
||||
@param[in] Head The IP4 header of the received message
|
||||
@param[in] Packet The IGMP message, without IP4 header
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The IGMP message is malformated.
|
||||
@retval EFI_SUCCESS The IGMP message is successfully processed.
|
||||
@@ -146,9 +138,7 @@ Ip4IgmpHandle (
|
||||
2. Decrease the report timer for each IGMP group in "delaying
|
||||
member" state.
|
||||
|
||||
@param IpSb The IP4 service instance that is ticking
|
||||
|
||||
@return None
|
||||
@param[in] IpSb The IP4 service instance that is ticking
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -163,9 +153,9 @@ Ip4IgmpTicking (
|
||||
assume the byte order of the both Source and Addr, the
|
||||
network byte order is used by the caller.
|
||||
|
||||
@param Source The array of group addresses to add to
|
||||
@param Count The number of group addresses in the Source
|
||||
@param Addr The IP4 multicast address to add
|
||||
@param[in] Source The array of group addresses to add to
|
||||
@param[in] Count The number of group addresses in the Source
|
||||
@param[in] Addr The IP4 multicast address to add
|
||||
|
||||
@return NULL if failed to allocate memory for the new groups,
|
||||
otherwise the new combined group addresses.
|
||||
@@ -184,9 +174,9 @@ Ip4CombineGroups (
|
||||
both Groups and Addr, the network byte order is used by
|
||||
the caller.
|
||||
|
||||
@param Groups The array of group addresses to remove from
|
||||
@param Count The number of group addresses in the Groups
|
||||
@param Addr The IP4 multicast address to remove
|
||||
@param Groups The array of group addresses to remove from
|
||||
@param Count The number of group addresses in the Groups
|
||||
@param Addr The IP4 multicast address to remove
|
||||
|
||||
@return The nubmer of group addresses in the Groups after remove.
|
||||
It is Count if the Addr isn't in the Groups.
|
||||
@@ -203,8 +193,8 @@ Ip4RemoveGroupAddr (
|
||||
Find the IGMP_GROUP structure which contains the status of multicast
|
||||
group Address in this IGMP control block
|
||||
|
||||
@param IgmpCtrl The IGMP control block to search from
|
||||
@param Address The multicast address to search
|
||||
@param[in] IgmpCtrl The IGMP control block to search from
|
||||
@param[in] Address The multicast address to search
|
||||
|
||||
@return NULL if the multicast address isn't in the IGMP control block. Otherwise
|
||||
the point to the IGMP_GROUP which contains the status of multicast group
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation
|
||||
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,14 +9,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Impl.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -29,10 +21,10 @@ Abstract:
|
||||
function is used optionally to retrieve the operational mode data of underlying
|
||||
networks or drivers.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Ip4ModeData Pointer to the EFI IPv4 Protocol mode data structure.
|
||||
@param MnpConfigData Pointer to the managed network configuration data structure.
|
||||
@param SnpModeData Pointer to the simple network mode data structure.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[out] Ip4ModeData Pointer to the EFI IPv4 Protocol mode data structure.
|
||||
@param[out] MnpConfigData Pointer to the managed network configuration data structure.
|
||||
@param[out] SnpModeData Pointer to the simple network mode data structure.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@@ -71,8 +63,8 @@ EfiIp4GetModeData (
|
||||
requests will be cancelled. Their completion token status will be set to EFI_ABORTED
|
||||
and their events will be signaled.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param IpConfigData Pointer to the EFI IPv4 Protocol configuration data structure.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] IpConfigData Pointer to the EFI IPv4 Protocol configuration data structure.
|
||||
|
||||
@retval EFI_SUCCESS The driver instance was successfully opened.
|
||||
@retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP,
|
||||
@@ -107,9 +99,9 @@ EfiIp4Configure (
|
||||
|
||||
If JoinFlag is FALSE and GroupAddress is NULL, all joined groups will be left.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param JoinFlag Set to TRUE to join the multicast group session and FALSE to leave.
|
||||
@param GroupAddress Pointer to the IPv4 multicast address.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] JoinFlag Set to TRUE to join the multicast group session and FALSE to leave.
|
||||
@param[in] GroupAddress Pointer to the IPv4 multicast address.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following is TRUE:
|
||||
@@ -160,13 +152,13 @@ EfiIp4Groups (
|
||||
copies will be updated whenever the EIF IPv4 Protocol driver reconfigures its
|
||||
instances. As a result, client modification to the routing table will be lost.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param DeleteRoute Set to TRUE to delete this route from the routing table. Set to
|
||||
FALSE to add this route to the routing table. SubnetAddress
|
||||
and SubnetMask are used as the key to each route entry.
|
||||
@param SubnetAddress The address of the subnet that needs to be routed.
|
||||
@param SubnetMask The subnet mask of SubnetAddress.
|
||||
@param GatewayAddress The unicast gateway IPv4 address for this route.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] DeleteRoute Set to TRUE to delete this route from the routing table. Set to
|
||||
FALSE to add this route to the routing table. SubnetAddress
|
||||
and SubnetMask are used as the key to each route entry.
|
||||
@param[in] SubnetAddress The address of the subnet that needs to be routed.
|
||||
@param[in] SubnetMask The subnet mask of SubnetAddress.
|
||||
@param[in] GatewayAddress The unicast gateway IPv4 address for this route.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_NOT_STARTED The driver instance has not been started.
|
||||
@@ -203,8 +195,8 @@ EfiIp4Routes (
|
||||
EFI IPv4 Protocol instance. Whenever the packet in the token is sent out or some
|
||||
errors occur, the event in the token will be signaled and the status is updated.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Token Pointer to the transmit token.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to the transmit token.
|
||||
|
||||
@retval EFI_SUCCESS The data has been queued for transmission.
|
||||
@retval EFI_NOT_STARTED This instance has not been started.
|
||||
@@ -243,8 +235,8 @@ EfiIp4Transmit (
|
||||
driver updates the Token.Status and Token.Packet.RxData fields and the Token.Event
|
||||
is signaled.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Token Pointer to a token that is associated with the receive data descriptor.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to a token that is associated with the receive data descriptor.
|
||||
|
||||
@retval EFI_SUCCESS The receive completion token was cached.
|
||||
@retval EFI_NOT_STARTED This EFI IPv4 Protocol instance has not been started.
|
||||
@@ -281,12 +273,12 @@ EfiIp4Receive (
|
||||
asynchronous operation has completed, this function will not signal the token
|
||||
and EFI_NOT_FOUND is returned.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Token Pointer to a token that has been issued by
|
||||
EFI_IP4_PROTOCOL.Transmit() or
|
||||
EFI_IP4_PROTOCOL.Receive(). If NULL, all pending
|
||||
tokens are aborted. Type EFI_IP4_COMPLETION_TOKEN is
|
||||
defined in EFI_IP4_PROTOCOL.Transmit().
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to a token that has been issued by
|
||||
EFI_IP4_PROTOCOL.Transmit() or
|
||||
EFI_IP4_PROTOCOL.Receive(). If NULL, all pending
|
||||
tokens are aborted. Type EFI_IP4_COMPLETION_TOKEN is
|
||||
defined in EFI_IP4_PROTOCOL.Transmit().
|
||||
|
||||
@retval EFI_SUCCESS The asynchronous I/O request was aborted and
|
||||
Token.->Event was signaled. When Token is NULL, all
|
||||
@@ -321,7 +313,7 @@ EfiIp4Cancel (
|
||||
experiencing packet loss should try calling the EFI_IP4_PROTOCOL.Poll() function
|
||||
more often.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS Incoming or outgoing data was processed.
|
||||
@retval EFI_NOT_STARTED This EFI IPv4 Protocol instance has not been started.
|
||||
@@ -360,10 +352,10 @@ mEfiIp4ProtocolTemplete = {
|
||||
function is used optionally to retrieve the operational mode data of underlying
|
||||
networks or drivers.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Ip4ModeData Pointer to the EFI IPv4 Protocol mode data structure.
|
||||
@param MnpConfigData Pointer to the managed network configuration data structure.
|
||||
@param SnpModeData Pointer to the simple network mode data structure.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[out] Ip4ModeData Pointer to the EFI IPv4 Protocol mode data structure.
|
||||
@param[out] MnpConfigData Pointer to the managed network configuration data structure.
|
||||
@param[out] SnpModeData Pointer to the simple network mode data structure.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||
@@ -468,8 +460,8 @@ EfiIp4GetModeData (
|
||||
reconfigure the MNP. If Force is TRUE, the MNP is configured no
|
||||
matter whether that is changed or not.
|
||||
|
||||
@param IpSb The IP4 service instance that is to be changed.
|
||||
@param Force Force the configuration or not.
|
||||
@param[in] IpSb The IP4 service instance that is to be changed.
|
||||
@param[in] Force Force the configuration or not.
|
||||
|
||||
@retval EFI_SUCCESS The MNP is successfully configured/reconfigured.
|
||||
@retval Others Configuration failed.
|
||||
@@ -547,9 +539,7 @@ Ip4ServiceConfigMnp (
|
||||
it will configure the default interface and default route table
|
||||
with the configuration information retrieved by IP4_CONFIGURE.
|
||||
|
||||
@param Context The IP4 service binding instance.
|
||||
|
||||
@return None
|
||||
@param[in] Context The IP4 service binding instance.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -692,13 +682,10 @@ ON_EXIT:
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Request Ip4AutoConfigCallBackDpc as a DPC at TPL_CALLBACK.
|
||||
|
||||
@param Event The event that is signalled.
|
||||
@param Context The IP4 service binding instance.
|
||||
|
||||
@return None.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -725,7 +712,7 @@ Ip4AutoConfigCallBack (
|
||||
It will locates the EFI_IP4_CONFIG_PROTOCOL, then start the
|
||||
auto configuration.
|
||||
|
||||
@param IpSb The IP4 service instance to configure
|
||||
@param[in] IpSb The IP4 service instance to configure
|
||||
|
||||
@retval EFI_SUCCESS The auto configuration is successfull started
|
||||
@retval Others Failed to start auto configuration.
|
||||
@@ -822,8 +809,6 @@ CLOSE_DONE_EVENT:
|
||||
@param IpSb The IP4 service instance.
|
||||
@param IpInstance The IP4 child instance.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4InitProtocol (
|
||||
@@ -857,8 +842,8 @@ Ip4InitProtocol (
|
||||
for the first time. The caller should validate the configuration
|
||||
before deliver them to it. It also don't do configure NULL.
|
||||
|
||||
@param IpInstance The IP4 child to configure.
|
||||
@param Config The configure data.
|
||||
@param[in, out] IpInstance The IP4 child to configure.
|
||||
@param[in] Config The configure data.
|
||||
|
||||
@retval EFI_SUCCESS The IP4 child is successfully configured.
|
||||
@retval EFI_DEVICE_ERROR Failed to free the pending transive or to
|
||||
@@ -1012,7 +997,7 @@ ON_ERROR:
|
||||
/**
|
||||
Clean up the IP4 child, release all the resources used by it.
|
||||
|
||||
@param IpInstance The IP4 child to clean up.
|
||||
@param[in] IpInstance The IP4 child to clean up.
|
||||
|
||||
@retval EFI_SUCCESS The IP4 child is cleaned up
|
||||
@retval EFI_DEVICE_ERROR Some resources failed to be released
|
||||
@@ -1080,8 +1065,8 @@ Ip4CleanProtocol (
|
||||
address. Only continuous netmasks are supported. and check
|
||||
that StationAddress is a unicast address on the newtwork.
|
||||
|
||||
@param Ip The IP address to validate
|
||||
@param Netmask The netmaks of the IP
|
||||
@param[in] Ip The IP address to validate
|
||||
@param[in] Netmask The netmaks of the IP
|
||||
|
||||
@retval TRUE The Ip/Netmask pair is valid
|
||||
@retval FALSE The Ip/Netmask pair is invalid
|
||||
@@ -1158,8 +1143,8 @@ Ip4StationAddressValid (
|
||||
requests will be cancelled. Their completion token status will be set to EFI_ABORTED
|
||||
and their events will be signaled.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param IpConfigData Pointer to the EFI IPv4 Protocol configuration data structure.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] IpConfigData Pointer to the EFI IPv4 Protocol configuration data structure.
|
||||
|
||||
@retval EFI_SUCCESS The driver instance was successfully opened.
|
||||
@retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP,
|
||||
@@ -1301,9 +1286,9 @@ ON_EXIT:
|
||||
Change the IP4 child's multicast setting. The caller
|
||||
should make sure that the parameters is valid.
|
||||
|
||||
@param IpInstance The IP4 child to change the setting.
|
||||
@param JoinFlag TRUE to join the group, otherwise leave it
|
||||
@param GroupAddress The target group address
|
||||
@param[in] IpInstance The IP4 child to change the setting.
|
||||
@param[in] JoinFlag TRUE to join the group, otherwise leave it
|
||||
@param[in] GroupAddress The target group address
|
||||
|
||||
@retval EFI_ALREADY_STARTED Want to join the group, but already a member of it
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate some resources.
|
||||
@@ -1400,9 +1385,9 @@ Ip4Groups (
|
||||
|
||||
If JoinFlag is FALSE and GroupAddress is NULL, all joined groups will be left.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param JoinFlag Set to TRUE to join the multicast group session and FALSE to leave.
|
||||
@param GroupAddress Pointer to the IPv4 multicast address.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] JoinFlag Set to TRUE to join the multicast group session and FALSE to leave.
|
||||
@param[in] GroupAddress Pointer to the IPv4 multicast address.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the following is TRUE:
|
||||
@@ -1491,13 +1476,13 @@ ON_EXIT:
|
||||
copies will be updated whenever the EIF IPv4 Protocol driver reconfigures its
|
||||
instances. As a result, client modification to the routing table will be lost.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param DeleteRoute Set to TRUE to delete this route from the routing table. Set to
|
||||
FALSE to add this route to the routing table. SubnetAddress
|
||||
and SubnetMask are used as the key to each route entry.
|
||||
@param SubnetAddress The address of the subnet that needs to be routed.
|
||||
@param SubnetMask The subnet mask of SubnetAddress.
|
||||
@param GatewayAddress The unicast gateway IPv4 address for this route.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] DeleteRoute Set to TRUE to delete this route from the routing table. Set to
|
||||
FALSE to add this route to the routing table. SubnetAddress
|
||||
and SubnetMask are used as the key to each route entry.
|
||||
@param[in] SubnetAddress The address of the subnet that needs to be routed.
|
||||
@param[in] SubnetMask The subnet mask of SubnetAddress.
|
||||
@param[in] GatewayAddress The unicast gateway IPv4 address for this route.
|
||||
|
||||
@retval EFI_SUCCESS The operation completed successfully.
|
||||
@retval EFI_NOT_STARTED The driver instance has not been started.
|
||||
@@ -1598,10 +1583,10 @@ ON_EXIT:
|
||||
Check whether the user's token or event has already
|
||||
been enqueued on IP4's list.
|
||||
|
||||
@param Map The container of either user's transmit or receive
|
||||
token.
|
||||
@param Item Current item to check against
|
||||
@param Context The Token to check againist.
|
||||
@param[in] Map The container of either user's transmit or receive
|
||||
token.
|
||||
@param[in] Item Current item to check against
|
||||
@param[in] Context The Token to check againist.
|
||||
|
||||
@retval EFI_ACCESS_DENIED The token or event has already been enqueued in IP
|
||||
@retval EFI_SUCCESS The current item isn't the same token/event as the
|
||||
@@ -1632,8 +1617,8 @@ Ip4TokenExist (
|
||||
/**
|
||||
Validate the user's token against current station address.
|
||||
|
||||
@param Token User's token to validate
|
||||
@param IpIf The IP4 child's interface.
|
||||
@param[in] Token User's token to validate
|
||||
@param[in] IpIf The IP4 child's interface.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER Some parameters are invalid
|
||||
@retval EFI_BAD_BUFFER_SIZE The user's option/data is too long.
|
||||
@@ -1762,9 +1747,7 @@ Ip4TxTokenValid (
|
||||
are bound together. Check the comments in Ip4Output for information
|
||||
about IP fragmentation.
|
||||
|
||||
@param Context The token's wrap
|
||||
|
||||
@return None
|
||||
@param[in] Context The token's wrap
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -1809,8 +1792,6 @@ Ip4FreeTxToken (
|
||||
@param Flag Not used during transmission
|
||||
@param Context The token's wrap.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4OnPacketSent (
|
||||
@@ -1850,8 +1831,8 @@ Ip4OnPacketSent (
|
||||
EFI IPv4 Protocol instance. Whenever the packet in the token is sent out or some
|
||||
errors occur, the event in the token will be signaled and the status is updated.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Token Pointer to the transmit token.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to the transmit token.
|
||||
|
||||
@retval EFI_SUCCESS The data has been queued for transmission.
|
||||
@retval EFI_NOT_STARTED This instance has not been started.
|
||||
@@ -2052,8 +2033,8 @@ ON_EXIT:
|
||||
driver updates the Token.Status and Token.Packet.RxData fields and the Token.Event
|
||||
is signaled.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Token Pointer to a token that is associated with the receive data descriptor.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to a token that is associated with the receive data descriptor.
|
||||
|
||||
@retval EFI_SUCCESS The receive completion token was cached.
|
||||
@retval EFI_NOT_STARTED This EFI IPv4 Protocol instance has not been started.
|
||||
@@ -2142,9 +2123,9 @@ ON_EXIT:
|
||||
Because Ip4CancelPacket and other functions are all called in
|
||||
line, so, after Ip4CancelPacket returns, the Item has been freed.
|
||||
|
||||
@param Map The IP4 child's transmit queue
|
||||
@param Item The current transmitted packet to test.
|
||||
@param Context The user's token to cancel.
|
||||
@param[in] Map The IP4 child's transmit queue
|
||||
@param[in] Item The current transmitted packet to test.
|
||||
@param[in] Context The user's token to cancel.
|
||||
|
||||
@retval EFI_SUCCESS Continue to check the next Item.
|
||||
@retval EFI_ABORTED The user's Token (Token != NULL) is cancelled.
|
||||
@@ -2195,9 +2176,9 @@ Ip4CancelTxTokens (
|
||||
Cancel the receive request. This is quiet simple, because
|
||||
it is only enqueued in our local receive map.
|
||||
|
||||
@param Map The IP4 child's receive queue
|
||||
@param Item Current receive request to cancel.
|
||||
@param Context The user's token to cancel
|
||||
@param[in] Map The IP4 child's receive queue
|
||||
@param[in] Item Current receive request to cancel.
|
||||
@param[in] Context The user's token to cancel
|
||||
|
||||
@retval EFI_SUCCESS Continue to check the next receive request on the
|
||||
queue.
|
||||
@@ -2239,8 +2220,8 @@ Ip4CancelRxTokens (
|
||||
/**
|
||||
Cancel the user's receive/transmit request.
|
||||
|
||||
@param IpInstance The IP4 child
|
||||
@param Token The token to cancel. If NULL, all token will be
|
||||
@param[in] IpInstance The IP4 child
|
||||
@param[in] Token The token to cancel. If NULL, all token will be
|
||||
cancelled.
|
||||
|
||||
@retval EFI_SUCCESS The token is cancelled
|
||||
@@ -2322,12 +2303,12 @@ Ip4Cancel (
|
||||
asynchronous operation has completed, this function will not signal the token
|
||||
and EFI_NOT_FOUND is returned.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param Token Pointer to a token that has been issued by
|
||||
EFI_IP4_PROTOCOL.Transmit() or
|
||||
EFI_IP4_PROTOCOL.Receive(). If NULL, all pending
|
||||
tokens are aborted. Type EFI_IP4_COMPLETION_TOKEN is
|
||||
defined in EFI_IP4_PROTOCOL.Transmit().
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] Token Pointer to a token that has been issued by
|
||||
EFI_IP4_PROTOCOL.Transmit() or
|
||||
EFI_IP4_PROTOCOL.Receive(). If NULL, all pending
|
||||
tokens are aborted. Type EFI_IP4_COMPLETION_TOKEN is
|
||||
defined in EFI_IP4_PROTOCOL.Transmit().
|
||||
|
||||
@retval EFI_SUCCESS The asynchronous I/O request was aborted and
|
||||
Token.->Event was signaled. When Token is NULL, all
|
||||
@@ -2392,7 +2373,7 @@ ON_EXIT:
|
||||
experiencing packet loss should try calling the EFI_IP4_PROTOCOL.Poll() function
|
||||
more often.
|
||||
|
||||
@param This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
@param[in] This Pointer to the EFI_IP4_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS Incoming or outgoing data was processed.
|
||||
@retval EFI_NOT_STARTED This EFI IPv4 Protocol instance has not been started.
|
||||
@@ -2440,9 +2421,9 @@ EfiIp4Poll (
|
||||
received-but-not-delivered and transmitted-but-not-recycle
|
||||
packets.
|
||||
|
||||
@param Map The IP4 child's transmit map.
|
||||
@param Item Current transmitted packet
|
||||
@param Context Not used.
|
||||
@param[in] Map The IP4 child's transmit map.
|
||||
@param[in] Item Current transmitted packet
|
||||
@param[in] Context Not used.
|
||||
|
||||
@retval EFI_SUCCESS Always returns EFI_SUCCESS
|
||||
|
||||
@@ -2473,10 +2454,8 @@ Ip4SentPacketTicking (
|
||||
transmitted-but-not-recycle packets, and provides time input
|
||||
for its IGMP protocol.
|
||||
|
||||
@param Event The IP4 service instance's heart beat timer.
|
||||
@param Context The IP4 service instance.
|
||||
|
||||
@return None
|
||||
@param[in] Event The IP4 service instance's heart beat timer.
|
||||
@param[in] Context The IP4 service instance.
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation
|
||||
Ip4 internal functions and type defintions.
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,15 +10,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Impl.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Ip4 internal functions and type defintions.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_IMPL_H__
|
||||
@@ -227,8 +219,8 @@ extern EFI_IP4_PROTOCOL mEfiIp4ProtocolTemplete;
|
||||
reconfigure the MNP. If Force is TRUE, the MNP is configured no
|
||||
matter whether that is changed or not.
|
||||
|
||||
@param IpSb The IP4 service instance that is to be changed.
|
||||
@param Force Force the configuration or not.
|
||||
@param[in] IpSb The IP4 service instance that is to be changed.
|
||||
@param[in] Force Force the configuration or not.
|
||||
|
||||
@retval EFI_SUCCESS The MNP is successfully configured/reconfigured.
|
||||
@retval Others Configuration failed.
|
||||
@@ -246,8 +238,6 @@ Ip4ServiceConfigMnp (
|
||||
@param IpSb The IP4 service instance.
|
||||
@param IpInstance The IP4 child instance.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4InitProtocol (
|
||||
@@ -258,7 +248,7 @@ Ip4InitProtocol (
|
||||
/**
|
||||
Clean up the IP4 child, release all the resources used by it.
|
||||
|
||||
@param IpInstance The IP4 child to clean up.
|
||||
@param[in] IpInstance The IP4 child to clean up.
|
||||
|
||||
@retval EFI_SUCCESS The IP4 child is cleaned up
|
||||
@retval EFI_DEVICE_ERROR Some resources failed to be released
|
||||
@@ -272,8 +262,8 @@ Ip4CleanProtocol (
|
||||
/**
|
||||
Cancel the user's receive/transmit request.
|
||||
|
||||
@param IpInstance The IP4 child
|
||||
@param Token The token to cancel. If NULL, all token will be
|
||||
@param[in] IpInstance The IP4 child
|
||||
@param[in] Token The token to cancel. If NULL, all token will be
|
||||
cancelled.
|
||||
|
||||
@retval EFI_SUCCESS The token is cancelled
|
||||
@@ -292,9 +282,9 @@ Ip4Cancel (
|
||||
Change the IP4 child's multicast setting. The caller
|
||||
should make sure that the parameters is valid.
|
||||
|
||||
@param IpInstance The IP4 child to change the setting.
|
||||
@param JoinFlag TRUE to join the group, otherwise leave it
|
||||
@param GroupAddress The target group address
|
||||
@param[in] IpInstance The IP4 child to change the setting.
|
||||
@param[in] JoinFlag TRUE to join the group, otherwise leave it
|
||||
@param[in] GroupAddress The target group address
|
||||
|
||||
@retval EFI_ALREADY_STARTED Want to join the group, but already a member of it
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate some resources.
|
||||
@@ -316,10 +306,8 @@ Ip4Groups (
|
||||
transmitted-but-not-recycle packets, and provides time input
|
||||
for its IGMP protocol.
|
||||
|
||||
@param Event The IP4 service instance's heart beat timer.
|
||||
@param Context The IP4 service instance.
|
||||
|
||||
@return None
|
||||
@param[in] Event The IP4 service instance's heart beat timer.
|
||||
@param[in] Context The IP4 service instance.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -336,9 +324,9 @@ Ip4TimerTicking (
|
||||
received-but-not-delivered and transmitted-but-not-recycle
|
||||
packets.
|
||||
|
||||
@param Map The IP4 child's transmit map.
|
||||
@param Item Current transmitted packet
|
||||
@param Context Not used.
|
||||
@param[in] Map The IP4 child's transmit map.
|
||||
@param[in] Item Current transmitted packet
|
||||
@param[in] Context Not used.
|
||||
|
||||
@retval EFI_SUCCESS Always returns EFI_SUCCESS
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation
|
||||
IP4 input process.
|
||||
|
||||
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,15 +10,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Input.c
|
||||
|
||||
Abstract:
|
||||
|
||||
IP4 input process.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -28,13 +20,13 @@ Abstract:
|
||||
(Dst, Src, Id, Protocol). The default life for the packet is
|
||||
120 seconds.
|
||||
|
||||
@param Dst The destination address
|
||||
@param Src The source address
|
||||
@param Id The ID field in IP header
|
||||
@param Protocol The protocol field in IP header
|
||||
@param[in] Dst The destination address
|
||||
@param[in] Src The source address
|
||||
@param[in] Id The ID field in IP header
|
||||
@param[in] Protocol The protocol field in IP header
|
||||
|
||||
@return NULL if failed to allocate memory for the entry, otherwise
|
||||
@return the point to just created reassemble entry.
|
||||
the point to just created reassemble entry.
|
||||
|
||||
**/
|
||||
IP4_ASSEMBLE_ENTRY *
|
||||
@@ -74,9 +66,7 @@ Ip4CreateAssembleEntry (
|
||||
/**
|
||||
Release all the fragments of a packet, then free the assemble entry.
|
||||
|
||||
@param Assemble The assemble entry to free
|
||||
|
||||
@return None
|
||||
@param[in] Assemble The assemble entry to free
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -103,9 +93,7 @@ Ip4FreeAssembleEntry (
|
||||
Initialize an already allocated assemble table. This is generally
|
||||
the assemble table embedded in the IP4 service instance.
|
||||
|
||||
@param Table The assemble table to initialize.
|
||||
|
||||
@return NONE
|
||||
@param[in, out] Table The assemble table to initialize.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -125,9 +113,7 @@ Ip4InitAssembleTable (
|
||||
Clean up the assemble table: remove all the fragments
|
||||
and assemble entries.
|
||||
|
||||
@param Table The assemble table to clean up
|
||||
|
||||
@return None
|
||||
@param[in] Table The assemble table to clean up
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -159,8 +145,6 @@ Ip4CleanAssembleTable (
|
||||
@param Start The sequence of the first byte to fit in
|
||||
@param End One beyond the sequence of last byte to fit in.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4TrimPacket (
|
||||
@@ -200,9 +184,7 @@ Ip4TrimPacket (
|
||||
the assembled packet's OnFree. It will free the assemble entry,
|
||||
which in turn will free all the fragments of the packet.
|
||||
|
||||
@param Arg The assemble entry to free
|
||||
|
||||
@return None
|
||||
@param[in] Arg The assemble entry to free
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -448,15 +430,13 @@ DROP:
|
||||
The IP4 input routine. It is called by the IP4_INTERFACE when a
|
||||
IP4 fragment is received from MNP.
|
||||
|
||||
@param Ip4Instance The IP4 child that request the receive, most like
|
||||
@param[in] Ip4Instance The IP4 child that request the receive, most like
|
||||
it is NULL.
|
||||
@param Packet The IP4 packet received.
|
||||
@param IoStatus The return status of receive request.
|
||||
@param Flag The link layer flag for the packet received, such
|
||||
@param[in] Packet The IP4 packet received.
|
||||
@param[in] IoStatus The return status of receive request.
|
||||
@param[in] Flag The link layer flag for the packet received, such
|
||||
as multicast.
|
||||
@param Context The IP4 service instance that own the MNP.
|
||||
|
||||
@return None
|
||||
@param[in] Context The IP4 service instance that own the MNP.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -625,9 +605,9 @@ DROP:
|
||||
/**
|
||||
Check whether this IP child accepts the packet.
|
||||
|
||||
@param IpInstance The IP child to check
|
||||
@param Head The IP header of the packet
|
||||
@param Packet The data of the packet
|
||||
@param[in] IpInstance The IP child to check
|
||||
@param[in] Head The IP header of the packet
|
||||
@param[in] Packet The data of the packet
|
||||
|
||||
@retval TRUE If the child wants to receive the packet.
|
||||
@retval FALSE Otherwise.
|
||||
@@ -730,9 +710,9 @@ Ip4InstanceFrameAcceptable (
|
||||
packet is acceptable to it. Here the data of the packet is
|
||||
shared, but the net buffer isn't.
|
||||
|
||||
@param IpInstance The IP4 child to enqueue the packet to
|
||||
@param Head The IP header of the received packet
|
||||
@param Packet The data of the received packet
|
||||
@param[in] IpInstance The IP4 child to enqueue the packet to
|
||||
@param[in] Head The IP header of the received packet
|
||||
@param[in] Packet The data of the received packet
|
||||
|
||||
@retval EFI_NOT_STARTED The IP child hasn't been configured.
|
||||
@retval EFI_INVALID_PARAMETER The child doesn't want to receive the packet
|
||||
@@ -786,11 +766,9 @@ Ip4InstanceEnquePacket (
|
||||
The signal handle of IP4's recycle event. It is called back
|
||||
when the upper layer release the packet.
|
||||
|
||||
@param Event The IP4's recycle event.
|
||||
@param Context The context of the handle, which is a
|
||||
IP4_RXDATA_WRAP
|
||||
|
||||
@return None
|
||||
@param Event The IP4's recycle event.
|
||||
@param Context The context of the handle, which is a
|
||||
IP4_RXDATA_WRAP
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -824,10 +802,11 @@ Ip4OnRecyclePacket (
|
||||
to the upper layer. Upper layer will signal the recycle event in
|
||||
it when it is done with the packet.
|
||||
|
||||
@param IpInstance The IP4 child to receive the packet
|
||||
@param Packet The packet to deliver up.
|
||||
@param[in] IpInstance The IP4 child to receive the packet
|
||||
@param[in] Packet The packet to deliver up.
|
||||
|
||||
@return NULL if failed to wrap the packet, otherwise the wrapper.
|
||||
@retval Wrap if warp the packet succeed.
|
||||
@retval NULL failed to wrap the packet .
|
||||
|
||||
**/
|
||||
IP4_RXDATA_WRAP *
|
||||
@@ -900,7 +879,7 @@ Ip4WrapRxData (
|
||||
duplicate it to a non-shared packet, release the shared packet, then
|
||||
deliver the non-shared packet up.
|
||||
|
||||
@param IpInstance The IP child to deliver the packet up.
|
||||
@param[in] IpInstance The IP child to deliver the packet up.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resources to deliver the
|
||||
packets.
|
||||
@@ -996,10 +975,10 @@ Ip4InstanceDeliverPacket (
|
||||
Enqueue a received packet to all the IP children that share
|
||||
the same interface.
|
||||
|
||||
@param IpSb The IP4 service instance that receive the packet
|
||||
@param Head The header of the received packet
|
||||
@param Packet The data of the received packet
|
||||
@param IpIf The interface to enqueue the packet to
|
||||
@param[in] IpSb The IP4 service instance that receive the packet
|
||||
@param[in] Head The header of the received packet
|
||||
@param[in] Packet The data of the received packet
|
||||
@param[in] IpIf The interface to enqueue the packet to
|
||||
|
||||
@return The number of the IP4 children that accepts the packet
|
||||
|
||||
@@ -1087,8 +1066,8 @@ Ip4InterfaceEnquePacket (
|
||||
/**
|
||||
Deliver the packet for each IP4 child on the interface.
|
||||
|
||||
@param IpSb The IP4 service instance that received the packet
|
||||
@param IpIf The IP4 interface to deliver the packet.
|
||||
@param[in] IpSb The IP4 service instance that received the packet
|
||||
@param[in] IpIf The IP4 interface to deliver the packet.
|
||||
|
||||
@retval EFI_SUCCESS It always returns EFI_SUCCESS now
|
||||
|
||||
@@ -1120,9 +1099,9 @@ Ip4InterfaceDeliverPacket (
|
||||
child wants to consume the packet because each IP child needs
|
||||
its own copy of the packet to make changes.
|
||||
|
||||
@param IpSb The IP4 service instance that received the packet
|
||||
@param Head The header of the received packet
|
||||
@param Packet The data of the received packet
|
||||
@param[in] IpSb The IP4 service instance that received the packet
|
||||
@param[in] Head The header of the received packet
|
||||
@param[in] Packet The data of the received packet
|
||||
|
||||
@retval EFI_NOT_FOUND No IP child accepts the packet
|
||||
@retval EFI_SUCCESS The packet is enqueued or delivered to some IP
|
||||
@@ -1180,9 +1159,7 @@ Ip4Demultiplex (
|
||||
/**
|
||||
Timeout the fragment and enqueued packets.
|
||||
|
||||
@param IpSb The IP4 service instance to timeout
|
||||
|
||||
@return None
|
||||
@param[in] IpSb The IP4 service instance to timeout
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,13 +9,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Input.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_INPUT_H__
|
||||
@@ -95,9 +88,7 @@ typedef struct {
|
||||
Initialize an already allocated assemble table. This is generally
|
||||
the assemble table embedded in the IP4 service instance.
|
||||
|
||||
@param Table The assemble table to initialize.
|
||||
|
||||
@return NONE
|
||||
@param[in, out] Table The assemble table to initialize.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -109,9 +100,7 @@ Ip4InitAssembleTable (
|
||||
Clean up the assemble table: remove all the fragments
|
||||
and assemble entries.
|
||||
|
||||
@param Table The assemble table to clean up
|
||||
|
||||
@return None
|
||||
@param[in] Table The assemble table to clean up
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -123,15 +112,13 @@ Ip4CleanAssembleTable (
|
||||
The IP4 input routine. It is called by the IP4_INTERFACE when a
|
||||
IP4 fragment is received from MNP.
|
||||
|
||||
@param Ip4Instance The IP4 child that request the receive, most like
|
||||
@param[in] Ip4Instance The IP4 child that request the receive, most like
|
||||
it is NULL.
|
||||
@param Packet The IP4 packet received.
|
||||
@param IoStatus The return status of receive request.
|
||||
@param Flag The link layer flag for the packet received, such
|
||||
@param[in] Packet The IP4 packet received.
|
||||
@param[in] IoStatus The return status of receive request.
|
||||
@param[in] Flag The link layer flag for the packet received, such
|
||||
as multicast.
|
||||
@param Context The IP4 service instance that own the MNP.
|
||||
|
||||
@return None
|
||||
@param[in] Context The IP4 service instance that own the MNP.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -152,9 +139,9 @@ Ip4AccpetFrame (
|
||||
child wants to consume the packet because each IP child needs
|
||||
its own copy of the packet to make changes.
|
||||
|
||||
@param IpSb The IP4 service instance that received the packet
|
||||
@param Head The header of the received packet
|
||||
@param Packet The data of the received packet
|
||||
@param[in] IpSb The IP4 service instance that received the packet
|
||||
@param[in] Head The header of the received packet
|
||||
@param[in] Packet The data of the received packet
|
||||
|
||||
@retval EFI_NOT_FOUND No IP child accepts the packet
|
||||
@retval EFI_SUCCESS The packet is enqueued or delivered to some IP
|
||||
@@ -172,10 +159,10 @@ Ip4Demultiplex (
|
||||
Enqueue a received packet to all the IP children that share
|
||||
the same interface.
|
||||
|
||||
@param IpSb The IP4 service instance that receive the packet
|
||||
@param Head The header of the received packet
|
||||
@param Packet The data of the received packet
|
||||
@param IpIf The interface to enqueue the packet to
|
||||
@param[in] IpSb The IP4 service instance that receive the packet
|
||||
@param[in] Head The header of the received packet
|
||||
@param[in] Packet The data of the received packet
|
||||
@param[in] IpIf The interface to enqueue the packet to
|
||||
|
||||
@return The number of the IP4 children that accepts the packet
|
||||
|
||||
@@ -194,7 +181,7 @@ Ip4InterfaceEnquePacket (
|
||||
duplicate it to a non-shared packet, release the shared packet, then
|
||||
deliver the non-shared packet up.
|
||||
|
||||
@param IpInstance The IP child to deliver the packet up.
|
||||
@param[in] IpInstance The IP child to deliver the packet up.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate resources to deliver the
|
||||
packets.
|
||||
@@ -210,9 +197,7 @@ Ip4InstanceDeliverPacket (
|
||||
/**
|
||||
Timeout the fragment and enqueued packets.
|
||||
|
||||
@param IpSb The IP4 service instance to timeout
|
||||
|
||||
@return None
|
||||
@param[in] IpSb The IP4 service instance to timeout
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
IP4 option support functions.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,15 +10,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Option.c
|
||||
|
||||
Abstract:
|
||||
|
||||
IP4 option support functions
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -28,9 +20,9 @@ Abstract:
|
||||
and will transmit. It will compute the ICMP error message fields
|
||||
if the option is mal-formated. But this information isn't used.
|
||||
|
||||
@param Option The first byte of the option
|
||||
@param OptionLen The length of the whole option
|
||||
@param Rcvd The option is from the packet we received if TRUE,
|
||||
@param[in] Option The first byte of the option
|
||||
@param[in] OptionLen The length of the whole option
|
||||
@param[in] Rcvd The option is from the packet we received if TRUE,
|
||||
otherwise the option we wants to transmit.
|
||||
|
||||
@retval TRUE The option is properly formatted
|
||||
@@ -127,11 +119,11 @@ Ip4OptionIsValid (
|
||||
fragments.
|
||||
2. Pad the options copied over to aligned to 4 bytes.
|
||||
|
||||
@param Option The original option to copy from
|
||||
@param OptionLen The length of the original option
|
||||
@param FirstFragment Whether it is the first fragment
|
||||
@param Buf The buffer to copy options to. NULL
|
||||
@param BufLen The length of the buffer
|
||||
@param[in] Option The original option to copy from
|
||||
@param[in] OptionLen The length of the original option
|
||||
@param[in] FirstFragment Whether it is the first fragment
|
||||
@param[in, out] Buf The buffer to copy options to. NULL
|
||||
@param[in, out] BufLen The length of the buffer
|
||||
|
||||
@retval EFI_SUCCESS The options are copied over
|
||||
@retval EFI_BUFFER_TOO_SMALL Buf is NULL or BufLen provided is too small.
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
IP4 option support routines.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,16 +10,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Option.h
|
||||
|
||||
Abstract:
|
||||
|
||||
IP4 option support routines.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_OPTION_H__
|
||||
@@ -39,9 +30,9 @@ typedef enum {
|
||||
and will transmit. It will compute the ICMP error message fields
|
||||
if the option is mal-formated. But this information isn't used.
|
||||
|
||||
@param Option The first byte of the option
|
||||
@param OptionLen The length of the whole option
|
||||
@param Rcvd The option is from the packet we received if TRUE,
|
||||
@param[in] Option The first byte of the option
|
||||
@param[in] OptionLen The length of the whole option
|
||||
@param[in] Rcvd The option is from the packet we received if TRUE,
|
||||
otherwise the option we wants to transmit.
|
||||
|
||||
@retval TRUE The option is properly formatted
|
||||
@@ -62,11 +53,11 @@ Ip4OptionIsValid (
|
||||
fragments.
|
||||
2. Pad the options copied over to aligned to 4 bytes.
|
||||
|
||||
@param Option The original option to copy from
|
||||
@param OptionLen The length of the original option
|
||||
@param FirstFragment Whether it is the first fragment
|
||||
@param Buf The buffer to copy options to. NULL
|
||||
@param BufLen The length of the buffer
|
||||
@param[in] Option The original option to copy from
|
||||
@param[in] OptionLen The length of the original option
|
||||
@param[in] FirstFragment Whether it is the first fragment
|
||||
@param[in, out] Buf The buffer to copy options to. NULL
|
||||
@param[in, out] BufLen The length of the buffer
|
||||
|
||||
@retval EFI_SUCCESS The options are copied over
|
||||
@retval EFI_BUFFER_TOO_SMALL Buf is NULL or BufLen provided is too small.
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Transmit the IP4 packet.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,15 +10,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Output.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Transmit the IP4 packet
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -29,14 +21,14 @@ UINT16 mIp4Id;
|
||||
Prepend an IP4 head to the Packet. It will copy the options and
|
||||
build the IP4 header fields. Used for IP4 fragmentation.
|
||||
|
||||
@param Packet The packet to prepend IP4 header to
|
||||
@param Head The caller supplied header. The caller should set
|
||||
the following header fields: Tos, TotalLen, Id,
|
||||
Fragment, Ttl, Protocol, Src and Dst. All the fields
|
||||
are in host byte order. This function will fill in
|
||||
the Ver, HeadLen, and checksum.
|
||||
@param Option The orginal IP4 option to copy from
|
||||
@param OptLen The length of the IP4 option
|
||||
@param Packet The packet to prepend IP4 header to
|
||||
@param Head The caller supplied header. The caller should set
|
||||
the following header fields: Tos, TotalLen, Id,
|
||||
Fragment, Ttl, Protocol, Src and Dst. All the fields
|
||||
are in host byte order. This function will fill in
|
||||
the Ver, HeadLen, and checksum.
|
||||
@param Option The orginal IP4 option to copy from
|
||||
@param OptLen The length of the IP4 option
|
||||
|
||||
@retval EFI_BAD_BUFFER_SIZE There is no enought room in the head space of
|
||||
Packet.
|
||||
@@ -101,9 +93,9 @@ Ip4PrependHead (
|
||||
itself, that is, not by the requests of IP4 child's consumer. Such
|
||||
packets include the ICMP echo replies, and other ICMP error packets.
|
||||
|
||||
@param IpSb The IP4 service that wants to send the packets.
|
||||
@param Dst The destination of the packet
|
||||
@param Src The source of the packet
|
||||
@param[in] IpSb The IP4 service that wants to send the packets.
|
||||
@param[in] Dst The destination of the packet
|
||||
@param[in] Src The source of the packet
|
||||
|
||||
@return NULL if no proper interface is found, otherwise the interface that
|
||||
can be used to send the system packet from.
|
||||
@@ -170,8 +162,6 @@ Ip4SelectInterface (
|
||||
for reference.
|
||||
@param Context The context provided by us
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4SysPacketSent (
|
||||
@@ -192,24 +182,24 @@ Ip4SysPacketSent (
|
||||
(IpInstance == NULL). It will route the packet, fragment it,
|
||||
then transmit all the fragments through some interface.
|
||||
|
||||
@param IpSb The IP4 service instance to transmit the packet
|
||||
@param IpInstance The IP4 child that issues the transmission. It is
|
||||
@param[in] IpSb The IP4 service instance to transmit the packet
|
||||
@param[in] IpInstance The IP4 child that issues the transmission. It is
|
||||
NULL if the packet is from the system.
|
||||
@param Packet The user data to send, excluding the IP header.
|
||||
@param Head The caller supplied header. The caller should set
|
||||
@param[in] Packet The user data to send, excluding the IP header.
|
||||
@param[in] Head The caller supplied header. The caller should set
|
||||
the following header fields: Tos, TotalLen, Id, tl,
|
||||
Fragment, Protocol, Src and Dst. All the fields are
|
||||
in host byte order. This function will fill in the
|
||||
Ver, HeadLen, Fragment, and checksum. The Fragment
|
||||
only need to include the DF flag. Ip4Output will
|
||||
compute the MF and offset for you.
|
||||
@param Option The original option to append to the IP headers
|
||||
@param OptLen The length of the option
|
||||
@param GateWay The next hop address to transmit packet to.
|
||||
@param[in] Option The original option to append to the IP headers
|
||||
@param[in] OptLen The length of the option
|
||||
@param[in] GateWay The next hop address to transmit packet to.
|
||||
255.255.255.255 means broadcast.
|
||||
@param Callback The callback function to issue when transmission
|
||||
@param[in] Callback The callback function to issue when transmission
|
||||
completed.
|
||||
@param Context The opaque context for the callback
|
||||
@param[in] Context The opaque context for the callback
|
||||
|
||||
@retval EFI_NO_MAPPING There is no interface to the destination.
|
||||
@retval EFI_NOT_FOUND There is no route to the destination
|
||||
@@ -414,8 +404,8 @@ ON_ERROR:
|
||||
The filter function to find a packet and all its fragments.
|
||||
The packet's fragments have their Context set to the packet.
|
||||
|
||||
@param Frame The frames hold by the low level interface
|
||||
@param Context Context to the function, which is the packet.
|
||||
@param[in] Frame The frames hold by the low level interface
|
||||
@param[in] Context Context to the function, which is the packet.
|
||||
|
||||
@retval TRUE This is the packet to cancel or its fragments.
|
||||
@retval FALSE This is unrelated packet.
|
||||
@@ -442,8 +432,6 @@ Ip4CancelPacketFragments (
|
||||
@param Packet The Packet to cancel
|
||||
@param IoStatus The status returns to the sender.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4CancelPacket (
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,13 +9,6 @@ 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Output.h
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_OUTPUT_H__
|
||||
@@ -33,8 +26,6 @@ Abstract:
|
||||
for reference.
|
||||
@param Context The context provided by us
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4SysPacketSent (
|
||||
@@ -51,24 +42,24 @@ Ip4SysPacketSent (
|
||||
(IpInstance == NULL). It will route the packet, fragment it,
|
||||
then transmit all the fragments through some interface.
|
||||
|
||||
@param IpSb The IP4 service instance to transmit the packet
|
||||
@param IpInstance The IP4 child that issues the transmission. It is
|
||||
@param[in] IpSb The IP4 service instance to transmit the packet
|
||||
@param[in] IpInstance The IP4 child that issues the transmission. It is
|
||||
NULL if the packet is from the system.
|
||||
@param Packet The user data to send, excluding the IP header.
|
||||
@param Head The caller supplied header. The caller should set
|
||||
@param[in] Packet The user data to send, excluding the IP header.
|
||||
@param[in] Head The caller supplied header. The caller should set
|
||||
the following header fields: Tos, TotalLen, Id, tl,
|
||||
Fragment, Protocol, Src and Dst. All the fields are
|
||||
in host byte order. This function will fill in the
|
||||
Ver, HeadLen, Fragment, and checksum. The Fragment
|
||||
only need to include the DF flag. Ip4Output will
|
||||
compute the MF and offset for you.
|
||||
@param Option The original option to append to the IP headers
|
||||
@param OptLen The length of the option
|
||||
@param GateWay The next hop address to transmit packet to.
|
||||
@param[in] Option The original option to append to the IP headers
|
||||
@param[in] OptLen The length of the option
|
||||
@param[in] GateWay The next hop address to transmit packet to.
|
||||
255.255.255.255 means broadcast.
|
||||
@param Callback The callback function to issue when transmission
|
||||
@param[in] Callback The callback function to issue when transmission
|
||||
completed.
|
||||
@param Context The opaque context for the callback
|
||||
@param[in] Context The opaque context for the callback
|
||||
|
||||
@retval EFI_NO_MAPPING There is no interface to the destination.
|
||||
@retval EFI_NOT_FOUND There is no route to the destination
|
||||
@@ -96,8 +87,6 @@ Ip4Output (
|
||||
@param Packet The Packet to cancel
|
||||
@param IoStatus The status returns to the sender.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4CancelPacket (
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,14 +9,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Route.c
|
||||
|
||||
Abstract:
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#include "Ip4Impl.h"
|
||||
@@ -26,9 +18,9 @@ Abstract:
|
||||
Allocate a route entry then initialize it with the Dest/Netmaks
|
||||
and Gateway.
|
||||
|
||||
@param Dest The destination network
|
||||
@param Netmask The destination network mask
|
||||
@param GateWay The nexthop address
|
||||
@param[in] Dest The destination network
|
||||
@param[in] Netmask The destination network mask
|
||||
@param[in] GateWay The nexthop address
|
||||
|
||||
@return NULL if failed to allocate memeory, otherwise the newly created
|
||||
route entry.
|
||||
@@ -66,8 +58,6 @@ Ip4CreateRouteEntry (
|
||||
|
||||
@param RtEntry The route entry to free.
|
||||
|
||||
@return NONE
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4FreeRouteEntry (
|
||||
@@ -85,11 +75,11 @@ Ip4FreeRouteEntry (
|
||||
/**
|
||||
Allocate and initialize an IP4 route cache entry.
|
||||
|
||||
@param Dst The destination address
|
||||
@param Src The source address
|
||||
@param GateWay The next hop address
|
||||
@param Tag The tag from the caller. This marks all the cache
|
||||
entries spawned from one route table entry.
|
||||
@param[in] Dst The destination address
|
||||
@param[in] Src The source address
|
||||
@param[in] GateWay The next hop address
|
||||
@param[in] Tag The tag from the caller. This marks all the cache
|
||||
entries spawned from one route table entry.
|
||||
|
||||
@return NULL if failed to allocate memory for the cache, other point
|
||||
to the created route cache entry.
|
||||
@@ -128,8 +118,6 @@ Ip4CreateRouteCacheEntry (
|
||||
|
||||
@param RtCacheEntry The route cache entry to free.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4FreeRouteCacheEntry (
|
||||
@@ -147,9 +135,7 @@ Ip4FreeRouteCacheEntry (
|
||||
/**
|
||||
Initialize an empty route cache table.
|
||||
|
||||
@param RtCache The rotue cache table to initialize.
|
||||
|
||||
@return NONE
|
||||
@param[in, out] RtCache The rotue cache table to initialize.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -169,9 +155,7 @@ Ip4InitRouteCache (
|
||||
Clean up a route cache, that is free all the route cache
|
||||
entries enqueued in the cache.
|
||||
|
||||
@param RtCache The route cache table to clean up
|
||||
|
||||
@return None
|
||||
@param[in] RtCache The route cache table to clean up
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -235,9 +219,7 @@ Ip4CreateRouteTable (
|
||||
Free the route table and its associated route cache. Route
|
||||
table is reference counted.
|
||||
|
||||
@param RtTable The route table to free.
|
||||
|
||||
@return None
|
||||
@param[in] RtTable The route table to free.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -284,8 +266,6 @@ Ip4FreeRouteTable (
|
||||
@param RtCache Route cache to remove the entries from
|
||||
@param Tag The Tag of the entries to remove
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4PurgeRouteCache (
|
||||
@@ -316,10 +296,10 @@ Ip4PurgeRouteCache (
|
||||
Add a route entry to the route table. All the IP4_ADDRs are in
|
||||
host byte order.
|
||||
|
||||
@param RtTable Route table to add route to
|
||||
@param Dest The destination of the network
|
||||
@param Netmask The netmask of the destination
|
||||
@param Gateway The next hop address
|
||||
@param[in, out] RtTable Route table to add route to
|
||||
@param[in] Dest The destination of the network
|
||||
@param[in] Netmask The netmask of the destination
|
||||
@param[in] Gateway The next hop address
|
||||
|
||||
@retval EFI_ACCESS_DENIED The same route already exists
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory for the entry
|
||||
@@ -378,10 +358,10 @@ Ip4AddRoute (
|
||||
/**
|
||||
Remove a route entry and all the route caches spawn from it.
|
||||
|
||||
@param RtTable The route table to remove the route from
|
||||
@param Dest The destination network
|
||||
@param Netmask The netmask of the Dest
|
||||
@param Gateway The next hop address
|
||||
@param RtTable The route table to remove the route from
|
||||
@param Dest The destination network
|
||||
@param Netmask The netmask of the Dest
|
||||
@param Gateway The next hop address
|
||||
|
||||
@retval EFI_SUCCESS The route entry is successfully removed
|
||||
@retval EFI_NOT_FOUND There is no route entry in the table with that
|
||||
@@ -426,9 +406,9 @@ Ip4DelRoute (
|
||||
host redirect according to RFC1122. So, only route cache entries
|
||||
are modified according to the ICMP redirect message.
|
||||
|
||||
@param RtTable The route table to search the cache for
|
||||
@param Dest The destination address
|
||||
@param Src The source address
|
||||
@param[in] RtTable The route table to search the cache for
|
||||
@param[in] Dest The destination address
|
||||
@param[in] Src The source address
|
||||
|
||||
@return NULL if no route entry to the (Dest, Src). Otherwise the point
|
||||
to the correct route cache entry.
|
||||
@@ -469,11 +449,11 @@ Ip4FindRouteCache (
|
||||
1. IP search the route table for a most specific match
|
||||
2. The local route entries have precedence over the default route entry.
|
||||
|
||||
@param RtTable The route table to search from
|
||||
@param Dst The destionation address to search
|
||||
@param[in] RtTable The route table to search from
|
||||
@param[in] Dst The destionation address to search
|
||||
|
||||
@return NULL if no route matches the Dst, otherwise the point to the
|
||||
@return most specific route to the Dst.
|
||||
most specific route to the Dst.
|
||||
|
||||
**/
|
||||
IP4_ROUTE_ENTRY *
|
||||
@@ -511,9 +491,9 @@ Ip4FindRouteEntry (
|
||||
Search the route table to route the packet. Return/create a route
|
||||
cache if there is a route to the destination.
|
||||
|
||||
@param RtTable The route table to search from
|
||||
@param Dest The destination address to search for
|
||||
@param Src The source address to search for
|
||||
@param[in] RtTable The route table to search from
|
||||
@param[in] Dest The destination address to search for
|
||||
@param[in] Src The source address to search for
|
||||
|
||||
@return NULL if failed to route packet, otherwise a route cache
|
||||
entry that can be used to route packet.
|
||||
@@ -610,7 +590,7 @@ Ip4Route (
|
||||
GetModeData. The EFI_IP4_ROUTE_TABLE is clumsy to use in the
|
||||
internal operation of the IP4 driver.
|
||||
|
||||
@param IpInstance The IP4 child that requests the route table.
|
||||
@param[in] IpInstance The IP4 child that requests the route table.
|
||||
|
||||
@retval EFI_SUCCESS The route table is successfully build
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate the memory for the rotue table.
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation
|
||||
EFI IP4 route table and route cache table defintions.
|
||||
|
||||
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -9,16 +10,6 @@ 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.
|
||||
|
||||
|
||||
Module Name:
|
||||
|
||||
Ip4Route.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI IP4 route table and route cache table defintions.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4_ROUTE_H__
|
||||
@@ -115,9 +106,7 @@ Ip4CreateRouteTable (
|
||||
Free the route table and its associated route cache. Route
|
||||
table is reference counted.
|
||||
|
||||
@param RtTable The route table to free.
|
||||
|
||||
@return None
|
||||
@param[in] RtTable The route table to free.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -129,10 +118,10 @@ Ip4FreeRouteTable (
|
||||
Add a route entry to the route table. All the IP4_ADDRs are in
|
||||
host byte order.
|
||||
|
||||
@param RtTable Route table to add route to
|
||||
@param Dest The destination of the network
|
||||
@param Netmask The netmask of the destination
|
||||
@param Gateway The next hop address
|
||||
@param[in, out] RtTable Route table to add route to
|
||||
@param[in] Dest The destination of the network
|
||||
@param[in] Netmask The netmask of the destination
|
||||
@param[in] Gateway The next hop address
|
||||
|
||||
@retval EFI_ACCESS_DENIED The same route already exists
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory for the entry
|
||||
@@ -150,10 +139,10 @@ Ip4AddRoute (
|
||||
/**
|
||||
Remove a route entry and all the route caches spawn from it.
|
||||
|
||||
@param RtTable The route table to remove the route from
|
||||
@param Dest The destination network
|
||||
@param Netmask The netmask of the Dest
|
||||
@param Gateway The next hop address
|
||||
@param RtTable The route table to remove the route from
|
||||
@param Dest The destination network
|
||||
@param Netmask The netmask of the Dest
|
||||
@param Gateway The next hop address
|
||||
|
||||
@retval EFI_SUCCESS The route entry is successfully removed
|
||||
@retval EFI_NOT_FOUND There is no route entry in the table with that
|
||||
@@ -174,9 +163,9 @@ Ip4DelRoute (
|
||||
host redirect according to RFC1122. So, only route cache entries
|
||||
are modified according to the ICMP redirect message.
|
||||
|
||||
@param RtTable The route table to search the cache for
|
||||
@param Dest The destination address
|
||||
@param Src The source address
|
||||
@param[in] RtTable The route table to search the cache for
|
||||
@param[in] Dest The destination address
|
||||
@param[in] Src The source address
|
||||
|
||||
@return NULL if no route entry to the (Dest, Src). Otherwise the point
|
||||
to the correct route cache entry.
|
||||
@@ -194,8 +183,6 @@ Ip4FindRouteCache (
|
||||
|
||||
@param RtCacheEntry The route cache entry to free.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
VOID
|
||||
Ip4FreeRouteCacheEntry (
|
||||
@@ -206,9 +193,9 @@ Ip4FreeRouteCacheEntry (
|
||||
Search the route table to route the packet. Return/create a route
|
||||
cache if there is a route to the destination.
|
||||
|
||||
@param RtTable The route table to search from
|
||||
@param Dest The destination address to search for
|
||||
@param Src The source address to search for
|
||||
@param[in] RtTable The route table to search from
|
||||
@param[in] Dest The destination address to search for
|
||||
@param[in] Src The source address to search for
|
||||
|
||||
@return NULL if failed to route packet, otherwise a route cache
|
||||
entry that can be used to route packet.
|
||||
@@ -226,7 +213,7 @@ Ip4Route (
|
||||
GetModeData. The EFI_IP4_ROUTE_TABLE is clumsy to use in the
|
||||
internal operation of the IP4 driver.
|
||||
|
||||
@param IpInstance The IP4 child that requests the route table.
|
||||
@param[in] IpInstance The IP4 child that requests the route table.
|
||||
|
||||
@retval EFI_SUCCESS The route table is successfully build
|
||||
@retval EFI_OUT_OF_RESOURCES Failed to allocate the memory for the rotue table.
|
||||
|
Reference in New Issue
Block a user