NetworkPkg/Application/IfConfig6/IfConfig6.c File Reference


Functions

ARG_LISTSplitStrToList (IN CONST CHAR16 *String, IN CHAR16 Separator)
VAR_CHECK_CODE IfConfig6RetriveCheckListByName (IN VAR_CHECK_ITEM *CheckList, IN CHAR16 *Name, IN BOOLEAN Init)
VOID EFIAPI IfConfig6ManualAddressNotify (IN EFI_EVENT Event, IN VOID *Context)
VOID IfConfig6PrintMacAddr (IN UINT8 *Node, IN UINT32 Size)
VOID IfConfig6PrintIpAddr (IN EFI_IPv6_ADDRESS *Ip, IN UINT8 *PrefixLen)
EFI_STATUS IfConfig6ParseManualAddressList (IN OUT ARG_LIST **Arg, OUT EFI_IP6_CONFIG_MANUAL_ADDRESS **Buf, OUT UINTN *BufSize)
EFI_STATUS IfConfig6ParseGwDnsAddressList (IN OUT ARG_LIST **Arg, OUT EFI_IPv6_ADDRESS **Buf, OUT UINTN *BufSize)
EFI_STATUS IfConfig6ParseInterfaceId (IN OUT ARG_LIST **Arg, OUT EFI_IP6_CONFIG_INTERFACE_ID **IfId)
EFI_STATUS IfConfig6ParseDadXmits (IN OUT ARG_LIST **Arg, OUT UINT32 *Xmits)
EFI_STATUS IfConfig6GetInterfaceInfo (IN EFI_HANDLE ImageHandle, IN CHAR16 *IfName, IN LIST_ENTRY *IfList)
EFI_STATUS IfConfig6ShowInterfaceInfo (IN LIST_ENTRY *IfList)
EFI_STATUS IfConfig6ClearInterfaceInfo (IN LIST_ENTRY *IfList)
EFI_STATUS IfConfig6SetInterfaceInfo (IN LIST_ENTRY *IfList, IN ARG_LIST *VarArg)
EFI_STATUS IfConfig6 (IN IFCONFIG6_PRIVATE_DATA *Private)
VOID IfConfig6Cleanup (IN IFCONFIG6_PRIVATE_DATA *Private)
EFI_STATUS EFIAPI IfConfig6Initialize (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)

Variables

EFI_HII_HANDLE mHiiHandle
SHELL_PARAM_ITEM mIfConfig6CheckList []
VAR_CHECK_ITEM mSetCheckList []

Detailed Description

The implementation for Shell application IfConfig6.

Copyright (c) 2009 - 2015, 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.


Function Documentation

EFI_STATUS IfConfig6 ( IN IFCONFIG6_PRIVATE_DATA Private  ) 

The IfConfig6 main process.

Parameters:
[in] Private The pointer of IFCONFIG6_PRIVATE_DATA.
Return values:
EFI_SUCCESS IfConfig6 processed successfully.
others The IfConfig6 process failed.

References IfConfig6ClearInterfaceInfo(), IfConfig6GetInterfaceInfo(), IfConfig6OpClear, IfConfig6OpList, IfConfig6OpSet, IfConfig6SetInterfaceInfo(), and IfConfig6ShowInterfaceInfo().

Referenced by IfConfig6Initialize().

VOID IfConfig6Cleanup ( IN IFCONFIG6_PRIVATE_DATA Private  ) 

The IfConfig6 cleanup process, free the allocated memory.

Parameters:
[in] Private The pointer of IFCONFIG6_PRIVATE_DATA.

References _IFCONFIG6_INTERFACE_CB::IfId, _IFCONFIG6_INTERFACE_CB::IfInfo, _IFCONFIG6_INTERFACE_CB::Link, and _ARG_LIST::Next.

Referenced by IfConfig6Initialize().

EFI_STATUS IfConfig6ClearInterfaceInfo ( IN LIST_ENTRY *  IfList  ) 

The clean process of the IfConfig6 application.

Parameters:
[in] IfList The pointer of IfList(interface list).
Return values:
EFI_SUCCESS The IfConfig6 clean processed successfully.
others The IfConfig6 clean process failed.

References _IFCONFIG6_INTERFACE_CB::IfCfg, mHiiHandle, and Policy.

Referenced by IfConfig6().

EFI_STATUS IfConfig6GetInterfaceInfo ( IN EFI_HANDLE  ImageHandle,
IN CHAR16 *  IfName,
IN LIST_ENTRY *  IfList 
)

The get current status of all handles.

Parameters:
[in] ImageHandle The handle of ImageHandle.
[in] IfName The pointer of IfName(interface name).
[in] IfList The pointer of IfList(interface list).
Return values:
EFI_SUCCESS The get status processed successfully.
others The get status process failed.

References _IFCONFIG6_INTERFACE_CB::DnsAddr, _IFCONFIG6_INTERFACE_CB::DnsCnt, _IFCONFIG6_INTERFACE_CB::IfCfg, _IFCONFIG6_INTERFACE_CB::IfId, _IFCONFIG6_INTERFACE_CB::IfInfo, _IFCONFIG6_INTERFACE_CB::Link, mHiiHandle, _IFCONFIG6_INTERFACE_CB::NicHandle, _IFCONFIG6_INTERFACE_CB::Policy, and _IFCONFIG6_INTERFACE_CB::Xmits.

Referenced by IfConfig6().

EFI_STATUS EFIAPI IfConfig6Initialize ( IN EFI_HANDLE  ImageHandle,
IN EFI_SYSTEM_TABLE *  SystemTable 
)

This is the declaration of an EFI image entry point. This entry point is the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers, including both device drivers and bus drivers.

The entry point for the IfConfig6 application which parses the command line input and calls the IfConfig6 process.

Parameters:
[in] ImageHandle The image handle of this application.
[in] SystemTable The pointer to the EFI System Table.
Return values:
EFI_SUCCESS The operation completed successfully.
Others Some errors occur.

References _ARG_LIST::Arg, IfConfig6(), IfConfig6Cleanup(), IfConfig6OpClear, IfConfig6OpList, IfConfig6OpSet, _IFCONFIG6_PRIVATE_DATA::IfList, _IFCONFIG6_PRIVATE_DATA::IfName, mHiiHandle, mIfConfig6CheckList, _ARG_LIST::Next, _IFCONFIG6_PRIVATE_DATA::OpCode, SplitStrToList(), and _IFCONFIG6_PRIVATE_DATA::VarArg.

VOID EFIAPI IfConfig6ManualAddressNotify ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

The notify function of create event when performing a manual config.

Parameters:
[in] Event The event this notify function registered to.
[in] Context Pointer to the context data registered to the event.

Referenced by IfConfig6SetInterfaceInfo().

EFI_STATUS IfConfig6ParseDadXmits ( IN OUT ARG_LIST **  Arg,
OUT UINT32 *  Xmits 
)

Parse dad in string format from Args with the "-s" option and convert it to UINT32 format.

Parameters:
[in,out] Arg The pointer of the address of ARG_LIST that saves Args with the "-s" option.
[out] Xmits The pointer of Xmits.
Return values:
EFI_SUCCESS The get status processed successfully.
others The get status process failed.

Referenced by IfConfig6SetInterfaceInfo().

EFI_STATUS IfConfig6ParseGwDnsAddressList ( IN OUT ARG_LIST **  Arg,
OUT EFI_IPv6_ADDRESS **  Buf,
OUT UINTN *  BufSize 
)

Pick up gw/dns IPv6 address in string format from Args with "-s" option and convert it to EFI_IPv6_ADDRESS format.

Parameters:
[in,out] Arg The pointer of the address of ARG_LIST that save Args with the "-s" option.
[out] Buf The pointer of the address of EFI_IPv6_ADDRESS.
[out] BufSize The pointer of BufSize that describes the size of Buf in bytes.
Return values:
EFI_SUCCESS The conversion is successful.
Others Doesn't find the host address, or it is an invalid IPv6 address in string format.

References _ARG_LIST::Arg, and _ARG_LIST::Next.

Referenced by IfConfig6SetInterfaceInfo().

EFI_STATUS IfConfig6ParseInterfaceId ( IN OUT ARG_LIST **  Arg,
OUT EFI_IP6_CONFIG_INTERFACE_ID **  IfId 
)

Parse InterfaceId in string format from Args with the "-s" option and convert it to EFI_IP6_CONFIG_INTERFACE_ID format.

Parameters:
[in,out] Arg The pointer of the address of ARG_LIST that saves Args with the "-s" option.
[out] IfId The pointer of EFI_IP6_CONFIG_INTERFACE_ID.
Return values:
EFI_SUCCESS The get status processed successfullly.
EFI_INVALID_PARAMETER The get status process failed.

Referenced by IfConfig6SetInterfaceInfo().

EFI_STATUS IfConfig6ParseManualAddressList ( IN OUT ARG_LIST **  Arg,
OUT EFI_IP6_CONFIG_MANUAL_ADDRESS **  Buf,
OUT UINTN *  BufSize 
)

Pick up host IPv6 address in string format from Args with "-s" option and convert it to EFI_IP6_CONFIG_MANUAL_ADDRESS format.

Parameters:
[in,out] Arg The pointer of the address of ARG_LIST which save Args with the "-s" option.
[out] Buf The pointer of the address of EFI_IP6_CONFIG_MANUAL_ADDRESS.
[out] BufSize The pointer of BufSize that describes the size of Buf in bytes.
Return values:
EFI_SUCCESS The convertion is successful.
Others Does't find the host address, or it is an invalid IPv6 address in string format.

References _ARG_LIST::Arg, and _ARG_LIST::Next.

Referenced by IfConfig6SetInterfaceInfo().

VOID IfConfig6PrintIpAddr ( IN EFI_IPv6_ADDRESS *  Ip,
IN UINT8 *  PrefixLen 
)

Print IPv6 address.

Parameters:
[in] Ip The pointer of Ip bufffer in EFI_IPv6_ADDRESS format.
[in] PrefixLen The pointer of PrefixLen that describes the size Prefix.

References mHiiHandle, and PREFIXMAXLEN.

Referenced by IfConfig6SetInterfaceInfo(), and IfConfig6ShowInterfaceInfo().

VOID IfConfig6PrintMacAddr ( IN UINT8 *  Node,
IN UINT32  Size 
)

Print MAC address.

Parameters:
[in] Node The pointer of MAC address buffer.
[in] Size The size of MAC address buffer.

References MACADDRMAXSIZE, and mHiiHandle.

Referenced by IfConfig6ShowInterfaceInfo().

VAR_CHECK_CODE IfConfig6RetriveCheckListByName ( IN VAR_CHECK_ITEM CheckList,
IN CHAR16 *  Name,
IN BOOLEAN  Init 
)

Check the correctness of input Args with '-s' option.

Parameters:
[in] CheckList The pointer of VAR_CHECK_ITEM array.
[in] Name The pointer of input arg.
[in] Init The switch to execute the check.
Returns:
The value of VAR_CHECK_CODE.

References VarCheckConflict, VarCheckDuplicate, VarCheckOk, and VarCheckUnknown.

Referenced by IfConfig6SetInterfaceInfo().

EFI_STATUS IfConfig6SetInterfaceInfo ( IN LIST_ENTRY *  IfList,
IN ARG_LIST VarArg 
)

The set process of the IfConfig6 application.

Parameters:
[in] IfList The pointer of IfList(interface list).
[in] VarArg The pointer of ARG_LIST(Args with "-s" option).
Return values:
EFI_SUCCESS The IfConfig6 set processed successfully.
others The IfConfig6 set process failed.

References _IFCONFIG6_INTERFACE_CB::IfCfg, IfConfig6ManualAddressNotify(), IfConfig6ParseDadXmits(), IfConfig6ParseGwDnsAddressList(), IfConfig6ParseInterfaceId(), IfConfig6ParseManualAddressList(), IfConfig6PrintIpAddr(), IfConfig6RetriveCheckListByName(), mHiiHandle, Policy, VarCheckConflict, VarCheckDuplicate, VarCheckOk, and VarCheckUnknown.

Referenced by IfConfig6().

EFI_STATUS IfConfig6ShowInterfaceInfo ( IN LIST_ENTRY *  IfList  ) 

The list process of the IfConfig6 application.

Parameters:
[in] IfList The pointer of IfList(interface list).
Return values:
EFI_SUCCESS The IfConfig6 list processed successfully.
others The IfConfig6 list process failed.

References _IFCONFIG6_INTERFACE_CB::DnsAddr, _IFCONFIG6_INTERFACE_CB::DnsCnt, IfConfig6PrintIpAddr(), IfConfig6PrintMacAddr(), _IFCONFIG6_INTERFACE_CB::IfId, _IFCONFIG6_INTERFACE_CB::IfInfo, mHiiHandle, _IFCONFIG6_INTERFACE_CB::Policy, and _IFCONFIG6_INTERFACE_CB::Xmits.

Referenced by IfConfig6().

ARG_LIST* SplitStrToList ( IN CONST CHAR16 *  String,
IN CHAR16  Separator 
)

Split a string with specified separator and save the substring to a list.

Parameters:
[in] String The pointer of the input string.
[in] Separator The specified separator.
Returns:
The pointer of headnode of ARG_LIST.

References _ARG_LIST::Arg, and _ARG_LIST::Next.

Referenced by IfConfig6Initialize().


Variable Documentation

EFI_HII_HANDLE mHiiHandle

SHELL_PARAM_ITEM mIfConfig6CheckList[]

Initial value:

 {
  {
    L"-b",
    TypeFlag
  },
  {
    L"-s",
    TypeMaxValue
  },
  {
    L"-l",
    TypeValue
  },
  {
    L"-r",
    TypeValue
  },
  {
    L"-?",
    TypeFlag
  },
  {
    NULL,
    TypeMax
  },
}

Referenced by IfConfig6Initialize().


Generated on Mon Sep 28 08:49:05 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1