#include "UefiShellNetwork2CommandsLib.h"\r
\r
enum {\r
- IfConfig6OpList = 1,\r
- IfConfig6OpSet = 2,\r
- IfConfig6OpClear = 3\r
+ IfConfig6OpList = 1,\r
+ IfConfig6OpSet = 2,\r
+ IfConfig6OpClear = 3\r
};\r
\r
typedef enum {\r
- VarCheckReserved = -1,\r
- VarCheckOk = 0,\r
+ VarCheckReserved = -1,\r
+ VarCheckOk = 0,\r
VarCheckDuplicate,\r
VarCheckConflict,\r
VarCheckUnknown,\r
} VAR_CHECK_CODE;\r
\r
typedef enum {\r
- FlagTypeSingle = 0,\r
+ FlagTypeSingle = 0,\r
FlagTypeNeedVar,\r
FlagTypeNeedSet,\r
FlagTypeSkipUnknown\r
} VAR_CHECK_FLAG_TYPE;\r
\r
-#define MACADDRMAXSIZE 32\r
-#define PREFIXMAXLEN 16\r
+#define MACADDRMAXSIZE 32\r
+#define PREFIXMAXLEN 16\r
\r
typedef struct _IFCONFIG6_INTERFACE_CB {\r
EFI_HANDLE NicHandle;\r
};\r
\r
typedef struct _IFCONFIG6_PRIVATE_DATA {\r
- EFI_HANDLE ImageHandle;\r
- LIST_ENTRY IfList;\r
+ EFI_HANDLE ImageHandle;\r
+ LIST_ENTRY IfList;\r
\r
- UINT32 OpCode;\r
- CHAR16 *IfName;\r
- ARG_LIST *VarArg;\r
+ UINT32 OpCode;\r
+ CHAR16 *IfName;\r
+ ARG_LIST *VarArg;\r
} IFCONFIG6_PRIVATE_DATA;\r
\r
-typedef struct _VAR_CHECK_ITEM{\r
+typedef struct _VAR_CHECK_ITEM {\r
CHAR16 *FlagStr;\r
UINT32 FlagID;\r
UINT32 ConflictMask;\r
VAR_CHECK_FLAG_TYPE FlagType;\r
} VAR_CHECK_ITEM;\r
\r
-\r
-SHELL_PARAM_ITEM mIfConfig6CheckList[] = {\r
+SHELL_PARAM_ITEM mIfConfig6CheckList[] = {\r
{\r
L"-b",\r
TypeFlag\r
\r
VAR_CHECK_ITEM mIfConfig6SetCheckList[] = {\r
{\r
- L"auto",\r
+ L"auto",\r
0x00000001,\r
0x00000001,\r
FlagTypeSingle\r
**/\r
VOID\r
IfConfig6FreeArgList (\r
- ARG_LIST *List\r
-)\r
+ ARG_LIST *List\r
+ )\r
{\r
- ARG_LIST *Next;\r
+ ARG_LIST *Next;\r
+\r
while (List->Next != NULL) {\r
Next = List->Next;\r
FreePool (List);\r
**/\r
ARG_LIST *\r
IfConfig6SplitStrToList (\r
- IN CONST CHAR16 *String,\r
- IN CHAR16 Separator\r
+ IN CONST CHAR16 *String,\r
+ IN CHAR16 Separator\r
)\r
{\r
- CHAR16 *Str;\r
- CHAR16 *ArgStr;\r
- ARG_LIST *ArgList;\r
- ARG_LIST *ArgNode;\r
+ CHAR16 *Str;\r
+ CHAR16 *ArgStr;\r
+ ARG_LIST *ArgList;\r
+ ARG_LIST *ArgNode;\r
\r
- if (String == NULL || *String == L'\0') {\r
+ if ((String == NULL) || (*String == L'\0')) {\r
return NULL;\r
}\r
\r
if (Str == NULL) {\r
return NULL;\r
}\r
- ArgStr = Str;\r
+\r
+ ArgStr = Str;\r
\r
//\r
// init a node for the list head.\r
//\r
- ArgNode = (ARG_LIST *) AllocateZeroPool (sizeof (ARG_LIST));\r
+ ArgNode = (ARG_LIST *)AllocateZeroPool (sizeof (ARG_LIST));\r
if (ArgNode == NULL) {\r
return NULL;\r
}\r
+\r
ArgList = ArgNode;\r
\r
//\r
*Str = L'\0';\r
ArgNode->Arg = ArgStr;\r
ArgStr = Str + 1;\r
- ArgNode->Next = (ARG_LIST *) AllocateZeroPool (sizeof (ARG_LIST));\r
+ ArgNode->Next = (ARG_LIST *)AllocateZeroPool (sizeof (ARG_LIST));\r
if (ArgNode->Next == NULL) {\r
//\r
// Free the local copy of string stored in the first node\r
IfConfig6FreeArgList (ArgList);\r
return NULL;\r
}\r
+\r
ArgNode = ArgNode->Next;\r
}\r
\r
\r
**/\r
VAR_CHECK_CODE\r
-IfConfig6RetriveCheckListByName(\r
- IN VAR_CHECK_ITEM *CheckList,\r
- IN CHAR16 *Name,\r
- IN BOOLEAN Init\r
-)\r
+IfConfig6RetriveCheckListByName (\r
+ IN VAR_CHECK_ITEM *CheckList,\r
+ IN CHAR16 *Name,\r
+ IN BOOLEAN Init\r
+ )\r
{\r
- STATIC UINT32 CheckDuplicate;\r
- STATIC UINT32 CheckConflict;\r
- VAR_CHECK_CODE RtCode;\r
- UINT32 Index;\r
- VAR_CHECK_ITEM Arg;\r
+ STATIC UINT32 CheckDuplicate;\r
+ STATIC UINT32 CheckConflict;\r
+ VAR_CHECK_CODE RtCode;\r
+ UINT32 Index;\r
+ VAR_CHECK_ITEM Arg;\r
\r
if (Init) {\r
CheckDuplicate = 0;\r
return VarCheckOk;\r
}\r
\r
- RtCode = VarCheckOk;\r
- Index = 0;\r
- Arg = CheckList[Index];\r
+ RtCode = VarCheckOk;\r
+ Index = 0;\r
+ Arg = CheckList[Index];\r
\r
//\r
// Check the Duplicated/Conflicted/Unknown input Args.\r
//\r
while (Arg.FlagStr != NULL) {\r
if (StrCmp (Arg.FlagStr, Name) == 0) {\r
-\r
if (CheckDuplicate & Arg.FlagID) {\r
RtCode = VarCheckDuplicate;\r
break;\r
VOID\r
EFIAPI\r
IfConfig6ManualAddressNotify (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- *((BOOLEAN *) Context) = TRUE;\r
+ *((BOOLEAN *)Context) = TRUE;\r
}\r
\r
/**\r
**/\r
VOID\r
IfConfig6PrintMacAddr (\r
- IN UINT8 *Node,\r
- IN UINT32 Size\r
+ IN UINT8 *Node,\r
+ IN UINT32 Size\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
ASSERT (Size <= MACADDRMAXSIZE);\r
\r
**/\r
VOID\r
IfConfig6PrintIpAddr (\r
- IN EFI_IPv6_ADDRESS *Ip,\r
- IN UINT8 *PrefixLen\r
+ IN EFI_IPv6_ADDRESS *Ip,\r
+ IN UINT8 *PrefixLen\r
)\r
{\r
- UINTN Index;\r
- BOOLEAN Short;\r
+ UINTN Index;\r
+ BOOLEAN Short;\r
\r
Short = FALSE;\r
\r
for (Index = 0; Index < PREFIXMAXLEN; Index = Index + 2) {\r
-\r
if (!Short && (Index + 1 < PREFIXMAXLEN) && (Index % 2 == 0) && (Ip->Addr[Index] == 0) && (Ip->Addr[Index + 1] == 0)) {\r
//\r
// Deal with the case of ::.\r
//\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_INFO_COLON), gShellNetwork2HiiHandle);\r
}\r
+\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_INFO_COLON), gShellNetwork2HiiHandle);\r
\r
while ((Ip->Addr[Index] == 0) && (Ip->Addr[Index + 1] == 0) && (Index < PREFIXMAXLEN)) {\r
**/\r
EFI_STATUS\r
IfConfig6ParseManualAddressList (\r
- IN OUT ARG_LIST **Arg,\r
- OUT EFI_IP6_CONFIG_MANUAL_ADDRESS **Buf,\r
- OUT UINTN *BufSize\r
+ IN OUT ARG_LIST **Arg,\r
+ OUT EFI_IP6_CONFIG_MANUAL_ADDRESS **Buf,\r
+ OUT UINTN *BufSize\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_IP6_CONFIG_MANUAL_ADDRESS *AddrBuf;\r
- ARG_LIST *VarArg;\r
- EFI_IPv6_ADDRESS Address;\r
- UINT8 Prefix;\r
- UINT8 AddrCnt;\r
+ EFI_STATUS Status;\r
+ EFI_IP6_CONFIG_MANUAL_ADDRESS *AddrBuf;\r
+ ARG_LIST *VarArg;\r
+ EFI_IPv6_ADDRESS Address;\r
+ UINT8 Prefix;\r
+ UINT8 AddrCnt;\r
\r
Prefix = 0;\r
AddrCnt = 0;\r
// Go through the list to check the correctness of input host ip6 address.\r
//\r
while ((!EFI_ERROR (Status)) && (VarArg != NULL)) {\r
-\r
Status = NetLibStrToIp6andPrefix (VarArg->Arg, &Address, &Prefix);\r
\r
if (EFI_ERROR (Status)) {\r
// Go through the list to fill in the EFI_IP6_CONFIG_MANUAL_ADDRESS structure.\r
//\r
while ((!EFI_ERROR (Status)) && (VarArg != NULL)) {\r
-\r
Status = NetLibStrToIp6andPrefix (VarArg->Arg, &Address, &Prefix);\r
\r
if (EFI_ERROR (Status)) {\r
if (Prefix == 0xFF) {\r
Prefix = 0;\r
}\r
+\r
AddrBuf[AddrCnt].IsAnycast = FALSE;\r
AddrBuf[AddrCnt].PrefixLength = Prefix;\r
IP6_COPY_ADDRESS (&AddrBuf[AddrCnt].Address, &Address);\r
**/\r
EFI_STATUS\r
IfConfig6ParseGwDnsAddressList (\r
- IN OUT ARG_LIST **Arg,\r
- OUT EFI_IPv6_ADDRESS **Buf,\r
- OUT UINTN *BufSize\r
+ IN OUT ARG_LIST **Arg,\r
+ OUT EFI_IPv6_ADDRESS **Buf,\r
+ OUT UINTN *BufSize\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_IPv6_ADDRESS *AddrBuf;\r
- ARG_LIST *VarArg;\r
- EFI_IPv6_ADDRESS Address;\r
- UINT8 Prefix;\r
- UINT8 AddrCnt;\r
+ EFI_STATUS Status;\r
+ EFI_IPv6_ADDRESS *AddrBuf;\r
+ ARG_LIST *VarArg;\r
+ EFI_IPv6_ADDRESS Address;\r
+ UINT8 Prefix;\r
+ UINT8 AddrCnt;\r
\r
AddrCnt = 0;\r
*BufSize = 0;\r
// Go through the list to check the correctness of input gw/dns address.\r
//\r
while ((!EFI_ERROR (Status)) && (VarArg != NULL)) {\r
-\r
Status = NetLibStrToIp6andPrefix (VarArg->Arg, &Address, &Prefix);\r
\r
if (EFI_ERROR (Status)) {\r
// Go through the list to fill in the EFI_IPv6_ADDRESS structure.\r
//\r
while ((!EFI_ERROR (Status)) && (VarArg != NULL)) {\r
-\r
Status = NetLibStrToIp6andPrefix (VarArg->Arg, &Address, &Prefix);\r
\r
if (EFI_ERROR (Status)) {\r
*Arg = VarArg;\r
\r
if (EFI_ERROR (Status) && (Status != EFI_INVALID_PARAMETER)) {\r
- goto ON_ERROR;\r
+ goto ON_ERROR;\r
}\r
\r
*Buf = AddrBuf;\r
**/\r
EFI_STATUS\r
IfConfig6ParseInterfaceId (\r
- IN OUT ARG_LIST **Arg,\r
- OUT EFI_IP6_CONFIG_INTERFACE_ID **IfId\r
+ IN OUT ARG_LIST **Arg,\r
+ OUT EFI_IP6_CONFIG_INTERFACE_ID **IfId\r
)\r
{\r
- UINT8 Index;\r
- UINT8 NodeVal;\r
- CHAR16 *IdStr;\r
+ UINT8 Index;\r
+ UINT8 NodeVal;\r
+ CHAR16 *IdStr;\r
\r
if (*Arg == NULL) {\r
return EFI_INVALID_PARAMETER;\r
ASSERT (*IfId != NULL);\r
\r
while ((*IdStr != L'\0') && (Index < 8)) {\r
-\r
NodeVal = 0;\r
while ((*IdStr != L':') && (*IdStr != L'\0')) {\r
-\r
if ((*IdStr <= L'F') && (*IdStr >= L'A')) {\r
NodeVal = (UINT8)((NodeVal << 4) + *IdStr - L'A' + 10);\r
} else if ((*IdStr <= L'f') && (*IdStr >= L'a')) {\r
**/\r
EFI_STATUS\r
IfConfig6ParseDadXmits (\r
- IN OUT ARG_LIST **Arg,\r
- OUT UINT32 *Xmits\r
+ IN OUT ARG_LIST **Arg,\r
+ OUT UINT32 *Xmits\r
)\r
{\r
- CHAR16 *ValStr;\r
+ CHAR16 *ValStr;\r
\r
if (*Arg == NULL) {\r
return EFI_INVALID_PARAMETER;\r
*Xmits = 0;\r
\r
while (*ValStr != L'\0') {\r
-\r
if ((*ValStr <= L'9') && (*ValStr >= L'0')) {\r
-\r
*Xmits = (*Xmits * 10) + (*ValStr - L'0');\r
-\r
} else {\r
-\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
**/\r
EFI_STATUS\r
IfConfig6GetInterfaceInfo (\r
- IN EFI_HANDLE ImageHandle,\r
- IN CHAR16 *IfName,\r
- IN LIST_ENTRY *IfList\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN CHAR16 *IfName,\r
+ IN LIST_ENTRY *IfList\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN HandleIndex;\r
- UINTN HandleNum;\r
- EFI_HANDLE *HandleBuffer;\r
- EFI_IP6_CONFIG_PROTOCOL *Ip6Cfg;\r
- EFI_IP6_CONFIG_INTERFACE_INFO *IfInfo;\r
- IFCONFIG6_INTERFACE_CB *IfCb;\r
- UINTN DataSize;\r
+ EFI_STATUS Status;\r
+ UINTN HandleIndex;\r
+ UINTN HandleNum;\r
+ EFI_HANDLE *HandleBuffer;\r
+ EFI_IP6_CONFIG_PROTOCOL *Ip6Cfg;\r
+ EFI_IP6_CONFIG_INTERFACE_INFO *IfInfo;\r
+ IFCONFIG6_INTERFACE_CB *IfCb;\r
+ UINTN DataSize;\r
\r
HandleBuffer = NULL;\r
HandleNum = 0;\r
\r
- IfInfo = NULL;\r
- IfCb = NULL;\r
+ IfInfo = NULL;\r
+ IfCb = NULL;\r
\r
//\r
// Locate all the handles with ip6 service binding protocol.\r
NULL,\r
&HandleNum,\r
&HandleBuffer\r
- );\r
+ );\r
if (EFI_ERROR (Status) || (HandleNum == 0)) {\r
return Status;\r
}\r
// Enumerate all handles that installed with ip6 service binding protocol.\r
//\r
for (HandleIndex = 0; HandleIndex < HandleNum; HandleIndex++) {\r
- IfCb = NULL;\r
- IfInfo = NULL;\r
- DataSize = 0;\r
+ IfCb = NULL;\r
+ IfInfo = NULL;\r
+ DataSize = 0;\r
\r
//\r
// Ip6config protocol and ip6 service binding protocol are installed\r
Status = gBS->HandleProtocol (\r
HandleBuffer[HandleIndex],\r
&gEfiIp6ConfigProtocolGuid,\r
- (VOID **) &Ip6Cfg\r
+ (VOID **)&Ip6Cfg\r
);\r
\r
if (EFI_ERROR (Status)) {\r
goto ON_ERROR;\r
}\r
+\r
//\r
// Get the interface information size.\r
//\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ON_ERROR;\r
}\r
+\r
//\r
// Get the interface info.\r
//\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_IP6CFG_GETDATA), gShellNetwork2HiiHandle, Status);\r
goto ON_ERROR;\r
}\r
+\r
//\r
// Check the interface name if required.\r
//\r
IfCb->NicHandle = HandleBuffer[HandleIndex];\r
IfCb->IfInfo = IfInfo;\r
IfCb->IfCfg = Ip6Cfg;\r
- IfCb->DnsCnt = (UINT32) (DataSize / sizeof (EFI_IPv6_ADDRESS));\r
+ IfCb->DnsCnt = (UINT32)(DataSize / sizeof (EFI_IPv6_ADDRESS));\r
\r
//\r
// Get the dns server list if has.\r
//\r
if (DataSize > 0) {\r
-\r
Status = Ip6Cfg->GetData (\r
Ip6Cfg,\r
Ip6ConfigDataTypeDnsServer,\r
goto ON_ERROR;\r
}\r
}\r
+\r
//\r
// Get the interface id if has.\r
//\r
FreePool (IfCb->IfId);\r
IfCb->IfId = NULL;\r
}\r
+\r
//\r
// Get the config policy.\r
//\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_IP6CFG_GETDATA), gShellNetwork2HiiHandle, Status);\r
goto ON_ERROR;\r
}\r
+\r
//\r
// Get the dad transmits.\r
//\r
**/\r
SHELL_STATUS\r
IfConfig6ShowInterfaceInfo (\r
- IN LIST_ENTRY *IfList\r
+ IN LIST_ENTRY *IfList\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- IFCONFIG6_INTERFACE_CB *IfCb;\r
- UINTN Index;\r
+ LIST_ENTRY *Entry;\r
+ IFCONFIG6_INTERFACE_CB *IfCb;\r
+ UINTN Index;\r
\r
- Entry = IfList->ForwardLink;\r
+ Entry = IfList->ForwardLink;\r
\r
if (IsListEmpty (IfList)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_INTERFACE), gShellNetwork2HiiHandle);\r
// Go through the interface list.\r
//\r
while (Entry != IfList) {\r
-\r
IfCb = BASE_CR (Entry, IFCONFIG6_INTERFACE_CB, Link);\r
\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_INFO_BREAK), gShellNetwork2HiiHandle);\r
8\r
);\r
}\r
+\r
//\r
// Print mac address of the interface.\r
//\r
**/\r
SHELL_STATUS\r
IfConfig6ClearInterfaceInfo (\r
- IN LIST_ENTRY *IfList,\r
- IN CHAR16 *IfName\r
+ IN LIST_ENTRY *IfList,\r
+ IN CHAR16 *IfName\r
)\r
{\r
- EFI_STATUS Status;\r
- SHELL_STATUS ShellStatus;\r
- LIST_ENTRY *Entry;\r
- IFCONFIG6_INTERFACE_CB *IfCb;\r
- EFI_IP6_CONFIG_POLICY Policy;\r
-\r
- Entry = IfList->ForwardLink;\r
- Status = EFI_SUCCESS;\r
+ EFI_STATUS Status;\r
+ SHELL_STATUS ShellStatus;\r
+ LIST_ENTRY *Entry;\r
+ IFCONFIG6_INTERFACE_CB *IfCb;\r
+ EFI_IP6_CONFIG_POLICY Policy;\r
+\r
+ Entry = IfList->ForwardLink;\r
+ Status = EFI_SUCCESS;\r
ShellStatus = SHELL_SUCCESS;\r
\r
if (IsListEmpty (IfList)) {\r
// need to refresh the configuration.\r
//\r
while (Entry != IfList) {\r
-\r
IfCb = BASE_CR (Entry, IFCONFIG6_INTERFACE_CB, Link);\r
\r
if ((IfName != NULL) && (StrCmp (IfName, IfCb->IfInfo->Name) == 0)) {\r
break;\r
}\r
\r
- Entry = Entry->ForwardLink;\r
+ Entry = Entry->ForwardLink;\r
}\r
\r
return ShellStatus;\r
**/\r
SHELL_STATUS\r
IfConfig6SetInterfaceInfo (\r
- IN LIST_ENTRY *IfList,\r
- IN ARG_LIST *VarArg\r
+ IN LIST_ENTRY *IfList,\r
+ IN ARG_LIST *VarArg\r
)\r
{\r
- EFI_STATUS Status;\r
- SHELL_STATUS ShellStatus;\r
- IFCONFIG6_INTERFACE_CB *IfCb;\r
- EFI_IP6_CONFIG_MANUAL_ADDRESS *CfgManAddr;\r
- EFI_IPv6_ADDRESS *CfgAddr;\r
- UINTN AddrSize;\r
- EFI_IP6_CONFIG_INTERFACE_ID *InterfaceId;\r
- UINT32 DadXmits;\r
- UINT32 CurDadXmits;\r
- UINTN CurDadXmitsLen;\r
- EFI_IP6_CONFIG_POLICY Policy;\r
-\r
- VAR_CHECK_CODE CheckCode;\r
- EFI_EVENT TimeOutEvt;\r
- EFI_EVENT MappedEvt;\r
- BOOLEAN IsAddressOk;\r
-\r
- UINTN DataSize;\r
- UINT32 Index;\r
- UINT32 Index2;\r
- BOOLEAN IsAddressSet;\r
- EFI_IP6_CONFIG_INTERFACE_INFO *IfInfo;\r
+ EFI_STATUS Status;\r
+ SHELL_STATUS ShellStatus;\r
+ IFCONFIG6_INTERFACE_CB *IfCb;\r
+ EFI_IP6_CONFIG_MANUAL_ADDRESS *CfgManAddr;\r
+ EFI_IPv6_ADDRESS *CfgAddr;\r
+ UINTN AddrSize;\r
+ EFI_IP6_CONFIG_INTERFACE_ID *InterfaceId;\r
+ UINT32 DadXmits;\r
+ UINT32 CurDadXmits;\r
+ UINTN CurDadXmitsLen;\r
+ EFI_IP6_CONFIG_POLICY Policy;\r
+\r
+ VAR_CHECK_CODE CheckCode;\r
+ EFI_EVENT TimeOutEvt;\r
+ EFI_EVENT MappedEvt;\r
+ BOOLEAN IsAddressOk;\r
+\r
+ UINTN DataSize;\r
+ UINT32 Index;\r
+ UINT32 Index2;\r
+ BOOLEAN IsAddressSet;\r
+ EFI_IP6_CONFIG_INTERFACE_INFO *IfInfo;\r
\r
CfgManAddr = NULL;\r
CfgAddr = NULL;\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_INTERFACE), gShellNetwork2HiiHandle);\r
return SHELL_INVALID_PARAMETER;\r
}\r
+\r
//\r
// Make sure to set only one interface each time.\r
//\r
- IfCb = BASE_CR (IfList->ForwardLink, IFCONFIG6_INTERFACE_CB, Link);\r
- Status = EFI_SUCCESS;\r
+ IfCb = BASE_CR (IfList->ForwardLink, IFCONFIG6_INTERFACE_CB, Link);\r
+ Status = EFI_SUCCESS;\r
ShellStatus = SHELL_SUCCESS;\r
\r
//\r
// Initialize check list mechanism.\r
//\r
- CheckCode = IfConfig6RetriveCheckListByName(\r
+ CheckCode = IfConfig6RetriveCheckListByName (\r
NULL,\r
NULL,\r
TRUE\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// Parse the setting variables.\r
//\r
while (VarArg != NULL) {\r
- //\r
- // Check invalid parameters (duplication & unknown & conflict).\r
- //\r
- CheckCode = IfConfig6RetriveCheckListByName(\r
+ //\r
+ // Check invalid parameters (duplication & unknown & conflict).\r
+ //\r
+ CheckCode = IfConfig6RetriveCheckListByName (\r
mIfConfig6SetCheckList,\r
VarArg->Arg,\r
FALSE\r
VarArg = VarArg->Next;\r
continue;\r
}\r
+\r
//\r
// Process valid variables.\r
//\r
- if (StrCmp(VarArg->Arg, L"auto") == 0) {\r
+ if (StrCmp (VarArg->Arg, L"auto") == 0) {\r
//\r
// Set automaic config policy\r
//\r
&Policy\r
);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
\r
- VarArg= VarArg->Next;\r
+ VarArg = VarArg->Next;\r
\r
if (VarArg != NULL) {\r
if (StrCmp (VarArg->Arg, L"host") == 0) {\r
&Policy\r
);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
\r
- VarArg= VarArg->Next;\r
-\r
+ VarArg = VarArg->Next;\r
} else if (StrCmp (VarArg->Arg, L"host") == 0) {\r
//\r
// Parse till the next tag or the end of command line.\r
goto ON_EXIT;\r
}\r
}\r
+\r
//\r
// Set static host ip6 address list.\r
// This is a asynchronous process.\r
goto ON_EXIT;\r
}\r
\r
- for ( Index = 0; Index < (UINTN) (AddrSize / sizeof (EFI_IP6_CONFIG_MANUAL_ADDRESS)); Index++) {\r
+ for ( Index = 0; Index < (UINTN)(AddrSize / sizeof (EFI_IP6_CONFIG_MANUAL_ADDRESS)); Index++) {\r
IsAddressSet = FALSE;\r
//\r
// By default, the prefix length 0 is regarded as 64.\r
\r
for (Index2 = 0; Index2 < IfInfo->AddressInfoCount; Index2++) {\r
if (EFI_IP6_EQUAL (&IfInfo->AddressInfo[Index2].Address, &CfgManAddr[Index].Address) &&\r
- (IfInfo->AddressInfo[Index2].PrefixLength == CfgManAddr[Index].PrefixLength)) {\r
+ (IfInfo->AddressInfo[Index2].PrefixLength == CfgManAddr[Index].PrefixLength))\r
+ {\r
IsAddressSet = TRUE;\r
break;\r
}\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_INFO_NEWLINE), gShellNetwork2HiiHandle);\r
}\r
}\r
-\r
} else if (StrCmp (VarArg->Arg, L"gw") == 0) {\r
//\r
// Parse till the next tag or the end of command line.\r
goto ON_EXIT;\r
}\r
}\r
+\r
//\r
// Set static gateway ip6 address list.\r
//\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_MAN_GW), gShellNetwork2HiiHandle, Status);\r
goto ON_EXIT;\r
}\r
-\r
} else if (StrCmp (VarArg->Arg, L"dns") == 0) {\r
//\r
// Parse till the next tag or the end of command line.\r
goto ON_EXIT;\r
}\r
}\r
+\r
//\r
// Set static DNS server ip6 address list.\r
//\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
-\r
} else if (StrCmp (VarArg->Arg, L"id") == 0) {\r
//\r
// Parse till the next tag or the end of command line.\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// Set alternative interface id.\r
//\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
-\r
} else if (StrCmp (VarArg->Arg, L"dad") == 0) {\r
//\r
// Parse till the next tag or the end of command line.\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// Set dad transmits count.\r
//\r
&DadXmits\r
);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
ShellStatus = SHELL_ACCESS_DENIED;\r
goto ON_EXIT;\r
}\r
}\r
\r
return ShellStatus;\r
-\r
}\r
\r
/**\r
**/\r
SHELL_STATUS\r
IfConfig6 (\r
- IN IFCONFIG6_PRIVATE_DATA *Private\r
+ IN IFCONFIG6_PRIVATE_DATA *Private\r
)\r
{\r
EFI_STATUS Status;\r
}\r
\r
switch (Private->OpCode) {\r
- case IfConfig6OpList:\r
- ShellStatus = IfConfig6ShowInterfaceInfo (&Private->IfList);\r
- break;\r
+ case IfConfig6OpList:\r
+ ShellStatus = IfConfig6ShowInterfaceInfo (&Private->IfList);\r
+ break;\r
\r
- case IfConfig6OpClear:\r
- ShellStatus = IfConfig6ClearInterfaceInfo (&Private->IfList, Private->IfName);\r
- break;\r
+ case IfConfig6OpClear:\r
+ ShellStatus = IfConfig6ClearInterfaceInfo (&Private->IfList, Private->IfName);\r
+ break;\r
\r
- case IfConfig6OpSet:\r
- ShellStatus = IfConfig6SetInterfaceInfo (&Private->IfList, Private->VarArg);\r
- break;\r
+ case IfConfig6OpSet:\r
+ ShellStatus = IfConfig6SetInterfaceInfo (&Private->IfList, Private->VarArg);\r
+ break;\r
\r
- default:\r
- ShellStatus = SHELL_UNSUPPORTED;\r
+ default:\r
+ ShellStatus = SHELL_UNSUPPORTED;\r
}\r
\r
ON_EXIT:\r
**/\r
VOID\r
IfConfig6Cleanup (\r
- IN IFCONFIG6_PRIVATE_DATA *Private\r
+ IN IFCONFIG6_PRIVATE_DATA *Private\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *NextEntry;\r
- IFCONFIG6_INTERFACE_CB *IfCb;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *NextEntry;\r
+ IFCONFIG6_INTERFACE_CB *IfCb;\r
\r
ASSERT (Private != NULL);\r
\r
IfConfig6FreeArgList (Private->VarArg);\r
}\r
\r
- if (Private->IfName != NULL)\r
+ if (Private->IfName != NULL) {\r
FreePool (Private->IfName);\r
-\r
+ }\r
\r
//\r
// Clean the IFCONFIG6_INTERFACE_CB list.\r
NextEntry = Entry->ForwardLink;\r
\r
while (Entry != &Private->IfList) {\r
-\r
IfCb = BASE_CR (Entry, IFCONFIG6_INTERFACE_CB, Link);\r
\r
RemoveEntryList (&IfCb->Link);\r
\r
if (IfCb->IfId != NULL) {\r
-\r
FreePool (IfCb->IfId);\r
}\r
\r
if (IfCb->IfInfo != NULL) {\r
-\r
FreePool (IfCb->IfInfo);\r
}\r
\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
- SHELL_STATUS ShellStatus;\r
- IFCONFIG6_PRIVATE_DATA *Private;\r
- LIST_ENTRY *ParamPackage;\r
- CONST CHAR16 *ValueStr;\r
- ARG_LIST *ArgList;\r
- CHAR16 *ProblemParam;\r
- CHAR16 *Str;\r
-\r
- Private = NULL;\r
- Status = EFI_INVALID_PARAMETER;\r
+ EFI_STATUS Status;\r
+ SHELL_STATUS ShellStatus;\r
+ IFCONFIG6_PRIVATE_DATA *Private;\r
+ LIST_ENTRY *ParamPackage;\r
+ CONST CHAR16 *ValueStr;\r
+ ARG_LIST *ArgList;\r
+ CHAR16 *ProblemParam;\r
+ CHAR16 *Str;\r
+\r
+ Private = NULL;\r
+ Status = EFI_INVALID_PARAMETER;\r
ShellStatus = SHELL_SUCCESS;\r
\r
Status = ShellCommandLineParseEx (mIfConfig6CheckList, &ParamPackage, &ProblemParam, TRUE, FALSE);\r
// To handle no option.\r
//\r
if (!ShellCommandLineGetFlag (ParamPackage, L"-r") && !ShellCommandLineGetFlag (ParamPackage, L"-s") &&\r
- !ShellCommandLineGetFlag (ParamPackage, L"-?") && !ShellCommandLineGetFlag (ParamPackage, L"-l")) {\r
+ !ShellCommandLineGetFlag (ParamPackage, L"-?") && !ShellCommandLineGetFlag (ParamPackage, L"-l"))\r
+ {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_LACK_OPTION), gShellNetwork2HiiHandle);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// To handle conflict options.\r
//\r
((ShellCommandLineGetFlag (ParamPackage, L"-r")) && (ShellCommandLineGetFlag (ParamPackage, L"-?"))) ||\r
((ShellCommandLineGetFlag (ParamPackage, L"-s")) && (ShellCommandLineGetFlag (ParamPackage, L"-l"))) ||\r
((ShellCommandLineGetFlag (ParamPackage, L"-s")) && (ShellCommandLineGetFlag (ParamPackage, L"-?"))) ||\r
- ((ShellCommandLineGetFlag (ParamPackage, L"-l")) && (ShellCommandLineGetFlag (ParamPackage, L"-?")))) {\r
+ ((ShellCommandLineGetFlag (ParamPackage, L"-l")) && (ShellCommandLineGetFlag (ParamPackage, L"-?"))))\r
+ {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_CONFLICT_OPTIONS), gShellNetwork2HiiHandle);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
//\r
if (ShellCommandLineGetFlag (ParamPackage, L"-l")) {\r
Private->OpCode = IfConfig6OpList;\r
- ValueStr = ShellCommandLineGetValue (ParamPackage, L"-l");\r
+ ValueStr = ShellCommandLineGetValue (ParamPackage, L"-l");\r
if (ValueStr != NULL) {\r
Str = AllocateCopyPool (StrSize (ValueStr), ValueStr);\r
if (Str == NULL) {\r
ShellStatus = SHELL_OUT_OF_RESOURCES;\r
goto ON_EXIT;\r
}\r
+\r
Private->IfName = Str;\r
}\r
}\r
+\r
//\r
// To get interface name for the clear option.\r
//\r
if (ShellCommandLineGetFlag (ParamPackage, L"-r")) {\r
Private->OpCode = IfConfig6OpClear;\r
- ValueStr = ShellCommandLineGetValue (ParamPackage, L"-r");\r
+ ValueStr = ShellCommandLineGetValue (ParamPackage, L"-r");\r
if (ValueStr != NULL) {\r
Str = AllocateCopyPool (StrSize (ValueStr), ValueStr);\r
if (Str == NULL) {\r
ShellStatus = SHELL_OUT_OF_RESOURCES;\r
goto ON_EXIT;\r
}\r
+\r
Private->IfName = Str;\r
}\r
}\r
+\r
//\r
// To get interface name and corresponding Args for the set option.\r
//\r
if (ShellCommandLineGetFlag (ParamPackage, L"-s")) {\r
-\r
ValueStr = ShellCommandLineGetValue (ParamPackage, L"-s");\r
if (ValueStr == NULL) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_LACK_INTERFACE), gShellNetwork2HiiHandle);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
+\r
//\r
// To split the configuration into multi-section.\r
//\r
\r
Private->VarArg = ArgList->Next;\r
\r
- if (Private->IfName == NULL || Private->VarArg == NULL) {\r
+ if ((Private->IfName == NULL) || (Private->VarArg == NULL)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_LACK_COMMAND), gShellNetwork2HiiHandle);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
}\r
+\r
//\r
// Main process of ifconfig6.\r
//\r
if (Private != NULL) {\r
IfConfig6Cleanup (Private);\r
}\r
- return ShellStatus;\r
\r
+ return ShellStatus;\r
}\r
-\r