1 /** @file
2   The header file of Ip6ConfigNv.c.
3 
4   Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
5 
6   This program and the accompanying materials
7   are licensed and made available under the terms and conditions of the BSD License
8   which accompanies this distribution.  The full text of the license may be found at
9   http://opensource.org/licenses/bsd-license.php.
10 
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef _IP6_CONFIGNV_H_
17 #define _IP6_CONFIGNV_H_
18 
19 #include "Ip6NvData.h"
20 #include "Ip6ConfigImpl.h"
21 
22 extern UINT8  Ip6ConfigBin[];
23 extern UINT8  Ip6DxeStrings[];
24 
25 #define IP6_ETHERNET              L"Ethernet"
26 #define IP6_EXPERIMENTAL_ETHERNET L"Experimental Ethernet"
27 #define IP6_ADDRESS_DELIMITER     L' '
28 #define IP6_LINK_LOCAL_PREFIX     L"FE80::"
29 
30 typedef enum {
31   Ip6InterfaceTypeEthernet = 1,
32   Ip6InterfaceTypeExperimentalEthernet
33 } IP6_INTERFACE_TYPE;
34 
35 typedef enum {
36   Ip6ConfigNvHostAddress,
37   Ip6ConfigNvGatewayAddress,
38   Ip6ConfigNvDnsAddress,
39   Ip6ConfigNvRouteTable
40 } IP6_CONFIG_NV_ADDRESS_TYPE;
41 
42 /**
43   Install HII Config Access protocol for network device and allocate resources.
44 
45   @param[in, out]  Instance      The IP6_CONFIG_INSTANCE to create a form.
46 
47   @retval EFI_SUCCESS            The HII Config Access protocol is installed.
48   @retval EFI_OUT_OF_RESOURCES   Failed to allocate memory.
49   @retval Others                 Other errors as indicated.
50 
51 **/
52 EFI_STATUS
53 Ip6ConfigFormInit (
54   IN OUT IP6_CONFIG_INSTANCE     *Instance
55   );
56 
57 /**
58   Uninstall HII Config Access protocol for network device and free resource.
59 
60   @param[in, out]  Instance      The IP6_CONFIG_INSTANCE to unload a form.
61 
62 **/
63 VOID
64 Ip6ConfigFormUnload (
65   IN OUT IP6_CONFIG_INSTANCE     *Instance
66   );
67 
68 #endif
69