4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Routines used to operate the Ip4 configure variable.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCopyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThis program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncare licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncwhich accompanies this distribution. The full text of the license may be found at<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Return the size of NIC_IP4_CONFIG_INFO and EFI_IP4_IPCONFIG_DATA.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// They are of variable size
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync sizeof (EFI_IP4_ROUTE_TABLE) * (Ip4Config)->RouteTableSize)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync sizeof (EFI_IP4_ROUTE_TABLE) * (NicConfig)->Ip4Info.RouteTableSize)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Compare whether two NIC address are equal includes their type and length.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync (((Nic1)->Type == (Nic2)->Type) && ((Nic1)->Len == (Nic2)->Len) && \
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync NET_MAC_EQUAL (&(Nic1)->MacAddr, &(Nic2)->MacAddr, (Nic1)->Len))
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Check whether the configure parameter is valid.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param NicConfig The configure parameter to check
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return TRUE if the parameter is valid for the interface, otherwise FALSE.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Read the ip4 configure variable from the EFI variable.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Instance The IP4 CONFIG instance.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The IP4 configure read if it is there and is valid, otherwise NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Write the IP4 configure variable to the NVRAM. If Config
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync is NULL, remove the variable.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Instance The IP4 CONFIG instance.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param NicConfig The IP4 configure data to write.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The variable is written to the NVRam.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Others Failed to write the variable.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Reclaim Ip4Config Variables for NIC which has been removed from the platform.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The pointer is set to be immediately follow the ConfigData if there're entries
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync in the RouteTable. Otherwise it is set to NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ConfigData The IP4 IP configure data.