git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10986 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   The interface function declaration of shell application IfConfig6.
 | |
| 
 | |
|   Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
 | |
| 
 | |
|   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 _IFCONFIG6_H_
 | |
| #define _IFCONFIG6_H_
 | |
| 
 | |
| #define EFI_IFCONFIG6_GUID \
 | |
|   { \
 | |
|     0xbab7296b, 0x222c, 0x4408, {0x9e, 0x6c, 0xc2, 0x5c, 0x18, 0x7e, 0xff, 0x33} \
 | |
|   }
 | |
| 
 | |
| enum {
 | |
|   IfConfig6OpList     = 1,
 | |
|   IfConfig6OpSet      = 2,
 | |
|   IfConfig6OpClear    = 3
 | |
| };
 | |
| 
 | |
| typedef enum {
 | |
|   VarCheckReserved      = -1,
 | |
|   VarCheckOk            = 0,
 | |
|   VarCheckDuplicate,
 | |
|   VarCheckConflict,
 | |
|   VarCheckUnknown,
 | |
|   VarCheckLackValue,
 | |
|   VarCheckOutOfMem
 | |
| } VAR_CHECK_CODE;
 | |
| 
 | |
| typedef enum {
 | |
|   FlagTypeSingle         = 0,
 | |
|   FlagTypeNeedVar,
 | |
|   FlagTypeNeedSet,
 | |
|   FlagTypeSkipUnknown
 | |
| } VAR_CHECK_FLAG_TYPE;
 | |
| 
 | |
| #define MACADDRMAXSIZE    32
 | |
| #define PREFIXMAXLEN      16 
 | |
| 
 | |
| typedef struct _IFCONFIG6_INTERFACE_CB {
 | |
|   EFI_HANDLE                                  NicHandle;
 | |
|   LIST_ENTRY                                  Link;
 | |
|   EFI_IP6_CONFIG_PROTOCOL                     *IfCfg;
 | |
|   EFI_IP6_CONFIG_INTERFACE_INFO               *IfInfo; 
 | |
|   EFI_IP6_CONFIG_INTERFACE_ID                 *IfId;
 | |
|   EFI_IP6_CONFIG_POLICY                       Policy;
 | |
|   EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS    Xmits;
 | |
|   UINT32                                      DnsCnt;
 | |
|   EFI_IPv6_ADDRESS                            DnsAddr[1];
 | |
| } IFCONFIG6_INTERFACE_CB;
 | |
| 
 | |
| typedef struct _ARG_LIST ARG_LIST;
 | |
| 
 | |
| struct _ARG_LIST {
 | |
|   ARG_LIST    *Next;
 | |
|   CHAR16      *Arg;
 | |
| };
 | |
| 
 | |
| typedef struct _IFCONFIG6_PRIVATE_DATA {
 | |
|   EFI_HANDLE  ImageHandle;
 | |
|   LIST_ENTRY  IfList;
 | |
| 
 | |
|   UINT32      OpCode;
 | |
|   CHAR16      *IfName;
 | |
|   ARG_LIST    *VarArg;
 | |
| } IFCONFIG6_PRIVATE_DATA;
 | |
| 
 | |
| typedef struct _VAR_CHECK_ITEM{
 | |
|   CHAR16                 *FlagStr;
 | |
|   UINT32                 FlagID;
 | |
|   UINT32                 ConflictMask;
 | |
|   VAR_CHECK_FLAG_TYPE    FlagType;
 | |
| } VAR_CHECK_ITEM;
 | |
| #endif
 |