1/*++ 2 3Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> 4This program and the accompanying materials 5are licensed and made available under the terms and conditions of the BSD License 6which accompanies this distribution. The full text of the license may be found at 7http://opensource.org/licenses/bsd-license.php 8 9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12Module Name: 13 14 Ip4Config.h 15 16Abstract: 17 18--*/ 19 20#ifndef _IP4CONFIG_H_ 21#define _IP4CONFIG_H_ 22 23#include EFI_PROTOCOL_DEFINITION (Ip4) 24 25#define EFI_IP4_CONFIG_PROTOCOL_GUID \ 26 { 0x3b95aa31, 0x3793, 0x434b, {0x86, 0x67, 0xc8, 0x07, 0x08, 0x92, 0xe0, 0x5e} } 27 28EFI_FORWARD_DECLARATION (EFI_IP4_CONFIG_PROTOCOL); 29 30#define IP4_CONFIG_VARIABLE_ATTRIBUTES (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS) 31 32typedef struct { 33 EFI_IPv4_ADDRESS StationAddress; 34 EFI_IPv4_ADDRESS SubnetMask; 35 UINT32 RouteTableSize; 36 EFI_IP4_ROUTE_TABLE *RouteTable; 37} EFI_IP4_IPCONFIG_DATA; 38 39 40typedef 41EFI_STATUS 42(EFIAPI *EFI_IP4_CONFIG_START) ( 43 IN EFI_IP4_CONFIG_PROTOCOL *This, 44 IN EFI_EVENT DoneEvent, 45 IN EFI_EVENT ReconfigEvent 46 ); 47 48typedef 49EFI_STATUS 50(EFIAPI *EFI_IP4_CONFIG_STOP) ( 51 IN EFI_IP4_CONFIG_PROTOCOL *This 52 ); 53 54typedef 55EFI_STATUS 56(EFIAPI *EFI_IP4_CONFIG_GET_DATA) ( 57 IN EFI_IP4_CONFIG_PROTOCOL *This, 58 IN OUT UINTN *ConfigDataSize, 59 OUT EFI_IP4_IPCONFIG_DATA *ConfigData OPTIONAL 60 ); 61 62 63struct _EFI_IP4_CONFIG_PROTOCOL { 64 EFI_IP4_CONFIG_START Start; 65 EFI_IP4_CONFIG_STOP Stop; 66 EFI_IP4_CONFIG_GET_DATA GetData; 67}; 68 69 70extern EFI_GUID gEfiIp4ConfigProtocolGuid; 71 72#endif 73