From 638868496cafa80a7212f654559944f34f65598a Mon Sep 17 00:00:00 2001 From: vanjeff Date: Wed, 13 May 2009 09:29:44 +0000 Subject: 1. retired NicIp4ConfigProtocolGuid 2. moved NicIp4ConfigVariableGuid to Include/Guid/NicIp4ConfigNvData.h 3. updated Ip4ConfigDxe module to publish one setup page to Get/Set network parameters. Also, Ip4ConfgiDxe installed EFI HII Config Access protocol for each network devices. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8309 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 73 ++++++++++ MdeModulePkg/Include/Protocol/NicIp4Config.h | 177 ------------------------- 2 files changed, 73 insertions(+), 177 deletions(-) create mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h delete mode 100644 MdeModulePkg/Include/Protocol/NicIp4Config.h (limited to 'MdeModulePkg/Include') diff --git a/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h b/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h new file mode 100644 index 0000000000..94a2a5b5bf --- /dev/null +++ b/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h @@ -0,0 +1,73 @@ +/** @file + This file defines NIC_IP4_CONFIG_INFO structure. + +Copyright (c) 2009, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef __NIC_IP4_CONFIG_NVDATA_H__ +#define __NIC_IP4_CONFIG_NVDATA_H__ + +#include + +#define EFI_NIC_IP4_CONFIG_VARIABLE_GUID \ + { \ + 0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b } \ + } + +#define EFI_NIC_IP4_CONFIG_VARIABLE L"EfiNicIp4ConfigVariable" + +typedef enum { + // + // Config source: dhcp or static + // + IP4_CONFIG_SOURCE_DHCP = 0, + IP4_CONFIG_SOURCE_STATIC, + IP4_CONFIG_SOURCE_MAX, + + IP4_NIC_NAME_LENGTH = 64, + MAX_IP4_CONFIG_IN_VARIABLE = 16 +} IP4_CONFIG_TYPE; + +// +// The following structures are used by drivers/applications other +// than EFI_IP4_PROTOCOL, such as ifconfig shell application, to +// communicate the IP configuration information to EFI_IP4_CONFIG_PROTOCOL. +// EFI_IP4_CONFIG_PROTOCOL in turn is used by EFI_IP4_PROTOCOL to get +// the default IP4 configuration. ifconfig can't use the EFI_IP4_PROTOCOL +// because it don't know how to configure the default IP address even +// it has got the address. +// + +/// +/// NIC_ADDR contains the interface's type and MAC address to identify +/// a specific NIC. +/// +typedef struct { + UINT16 Type; ///< Interface type + UINT8 Len; ///< Length of MAC address + EFI_MAC_ADDRESS MacAddr; ///< MAC address of interface +} NIC_ADDR; + +/// +/// NIC_IP4_CONFIG_INFO contains the IP4 configure +/// parameters for that NIC. NIC_IP4_CONFIG_INFO is +/// of variable length. +/// +typedef struct { + NIC_ADDR NicAddr; ///< Link layer address to identify the NIC + UINT32 Source; ///< Static or DHCP + BOOLEAN Perment; ///< Survive the reboot or not + EFI_IP4_IPCONFIG_DATA Ip4Info; ///< IP addresses +} NIC_IP4_CONFIG_INFO; + +extern EFI_GUID gEfiNicIp4ConfigVariableGuid; + +#endif diff --git a/MdeModulePkg/Include/Protocol/NicIp4Config.h b/MdeModulePkg/Include/Protocol/NicIp4Config.h deleted file mode 100644 index 28284febda..0000000000 --- a/MdeModulePkg/Include/Protocol/NicIp4Config.h +++ /dev/null @@ -1,177 +0,0 @@ -/** @file - This file defines NicIp4Config Protocol. - EFI_NIC_IP4_CONFIG_PROTOCOL is a proprietary protocol, not defined by UEFI2.0. - -Copyright (c) 2006 - 2008, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef __NIC_IP4_CONFIG_H__ -#define __NIC_IP4_CONFIG_H__ - -#include - - -#define EFI_NIC_IP4_CONFIG_PROTOCOL_GUID \ - { \ - 0xdca3d4d, 0x12da, 0x4728, { 0xbf, 0x7e, 0x86, 0xce, 0xb9, 0x28, 0xd0, 0x67 } \ - } - -#define EFI_NIC_IP4_CONFIG_VARIABLE_GUID \ - { \ - 0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b } \ - } - -#define EFI_NIC_IP4_CONFIG_VARIABLE L"EfiNicIp4ConfigVariable" - - -typedef struct _EFI_NIC_IP4_CONFIG_PROTOCOL EFI_NIC_IP4_CONFIG_PROTOCOL; - -typedef enum { - // - // Config source: dhcp or static - // - IP4_CONFIG_SOURCE_DHCP = 0, - IP4_CONFIG_SOURCE_STATIC, - IP4_CONFIG_SOURCE_MAX, - - IP4_NIC_NAME_LENGTH = 64, - MAX_IP4_CONFIG_IN_VARIABLE = 16 -} IP4_CONFIG_TYPE; - -// -// The following structures are used by drivers/applications other -// than EFI_IP4_PROTOCOL, such as ifconfig shell application, to -// communicate the IP configuration information to EFI_IP4_CONFIG_PROTOCOL. -// EFI_IP4_CONFIG_PROTOCOL in turn is used by EFI_IP4_PROTOCOL to get -// the default IP4 configuration. ifconfig can't use the EFI_IP4_PROTOCOL -// because it don't know how to configure the default IP address even -// it has got the address. -// - -/// -/// NIC_ADDR contains the interface's type and MAC address to identify -/// a specific NIC. -/// -typedef struct { - UINT16 Type; ///< Interface type - UINT8 Len; ///< Length of MAC address - EFI_MAC_ADDRESS MacAddr; ///< MAC address of interface -} NIC_ADDR; - -/// -/// NIC_IP4_CONFIG_INFO contains the IP4 configure -/// parameters for that NIC. NIC_IP4_CONFIG_INFO is -/// of variable length. -/// -typedef struct { - NIC_ADDR NicAddr; ///< Link layer address to identify the NIC - UINT32 Source; ///< Static or DHCP - BOOLEAN Perment; ///< Survive the reboot or not - EFI_IP4_IPCONFIG_DATA Ip4Info; ///< IP addresses -} NIC_IP4_CONFIG_INFO; - -/// -/// IP4_CONFIG_VARIABLE is the EFI variable to -/// save the configuration. IP4_CONFIG_VARIABLE is -/// of variable length. -/// -typedef struct { - UINT32 Len; ///< Total length of the variable - UINT16 CheckSum; ///< CheckSum, the same as IP4 head checksum - UINT32 Count; ///< Number of NIC_IP4_CONFIG_INFO follows - NIC_IP4_CONFIG_INFO ConfigInfo; -} IP4_CONFIG_VARIABLE; - -/** - Get the configure parameter for this NIC. - - @param This The NIC IP4 CONFIG protocol. - @param Len The length of the NicConfig buffer. - @param NicConfig The buffer to receive the NIC's configure - parameter. - - @retval EFI_SUCCESS The configure parameter for this NIC was - obtained successfully . - @retval EFI_INVALID_PARAMETER This or ConfigLen is NULL. - @retval EFI_NOT_FOUND There is no configure parameter for the NIC in - NVRam. - @retval EFI_BUFFER_TOO_SMALL The ConfigLen is too small or the NicConfig is - NULL. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_NIC_IP4_CONFIG_GET_INFO)( - IN EFI_NIC_IP4_CONFIG_PROTOCOL *This, - IN OUT UINTN *Len, - OUT NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL - ); - -/** - Set the IP configure parameters for this NIC. - - If Reconfig is TRUE, the IP driver will be informed to discard current - auto configure parameter and restart the auto configuration process. - If current there is a pending auto configuration, EFI_ALREADY_STARTED is - returned. You can only change the configure setting when either - the configure has finished or not started yet. If NicConfig, the - NIC's configure parameter is removed from the variable. - - @param This The NIC IP4 CONFIG protocol - @param NicConfig The new NIC IP4 configure parameter - @param Reconfig Inform the IP4 driver to restart the auto - configuration - - @retval EFI_SUCCESS The configure parameter for this NIC was - set successfully . - @retval EFI_INVALID_PARAMETER This is NULL or the configure parameter is - invalid. - @retval EFI_ALREADY_STARTED There is a pending auto configuration. - @retval EFI_NOT_FOUND No auto configure parameter is found - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_NIC_IP4_CONFIG_SET_INFO)( - IN EFI_NIC_IP4_CONFIG_PROTOCOL *This, - IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL, - IN BOOLEAN ReConfig - ); - -/** - Return the name and MAC address for the NIC. The Name, if not NULL, - has at least IP4_NIC_NAME_LENGTH bytes. - - @param This The NIC IP4 CONFIG protocol - @param Name The buffer to return the name - @param NicAddr The buffer to return the MAC addr - - @retval EFI_INVALID_PARAMETER This is NULL - @retval EFI_SUCCESS The name or address of the NIC are returned. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_NIC_IP4_CONFIG_GET_NAME)( - IN EFI_NIC_IP4_CONFIG_PROTOCOL *This, - OUT UINT16 *Name OPTIONAL, - OUT NIC_ADDR *NicAddr OPTIONAL - ); - -struct _EFI_NIC_IP4_CONFIG_PROTOCOL { - EFI_NIC_IP4_CONFIG_GET_NAME GetName; - EFI_NIC_IP4_CONFIG_GET_INFO GetInfo; - EFI_NIC_IP4_CONFIG_SET_INFO SetInfo; -}; - -extern EFI_GUID gEfiNicIp4ConfigVariableGuid; -extern EFI_GUID gEfiNicIp4ConfigProtocolGuid; -#endif -- cgit v1.2.3