]> git.proxmox.com Git - mirror_edk2.git/blame - ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.c
ShellPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ShellPkg / Library / UefiShellNetwork2CommandsLib / UefiShellNetwork2CommandsLib.c
CommitLineData
43ca1753
ZL
1/** @file\r
2 Main file for NULL named library for network2 shell command functions.\r
3\r
4 Copyright (c) 2016, Intel Corporation. All rights reserved. <BR>\r
56ba3746 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
43ca1753
ZL
6\r
7**/\r
8#include "UefiShellNetwork2CommandsLib.h"\r
9\r
10CONST CHAR16 gShellNetwork2FileName[] = L"ShellCommands";\r
11EFI_HANDLE gShellNetwork2HiiHandle = NULL;\r
12\r
13/**\r
14 return the file name of the help text file if not using HII.\r
15\r
16 @return The string pointer to the file name.\r
17**/\r
18CONST CHAR16*\r
19EFIAPI\r
20ShellCommandGetManFileNameNetwork2 (\r
21 VOID\r
22 )\r
23{\r
24 return (gShellNetwork2FileName);\r
25}\r
26\r
27/**\r
28 Constructor for the Shell Network2 Commands library.\r
29\r
30 Install the handlers for Network2 UEFI Shell 2.0 profile commands.\r
31\r
32 @param ImageHandle The image handle of the process.\r
33 @param SystemTable The EFI System Table pointer.\r
34\r
35 @retval EFI_SUCCESS The shell command handlers were installed sucessfully.\r
36 @retval EFI_UNSUPPORTED The shell level required was not found.\r
37**/\r
38EFI_STATUS\r
39EFIAPI\r
40ShellNetwork2CommandsLibConstructor (\r
41 IN EFI_HANDLE ImageHandle,\r
42 IN EFI_SYSTEM_TABLE *SystemTable\r
43 )\r
44{\r
45 gShellNetwork2HiiHandle = NULL;\r
46\r
47 //\r
48 // check our bit of the profiles mask\r
49 //\r
50 if ((PcdGet8(PcdShellProfileMask) & BIT4) == 0) {\r
51 return (EFI_SUCCESS);\r
52 }\r
53\r
54 gShellNetwork2HiiHandle = HiiAddPackages (&gShellNetwork2HiiGuid, gImageHandle, UefiShellNetwork2CommandsLibStrings, NULL);\r
55 if (gShellNetwork2HiiHandle == NULL) {\r
56 return (EFI_DEVICE_ERROR);\r
57 }\r
58 //\r
59 // install our shell command handlers\r
60 //\r
61 ShellCommandRegisterCommandName(L"ping6", ShellCommandRunPing6 , ShellCommandGetManFileNameNetwork2, 0, L"network2", TRUE , gShellNetwork2HiiHandle, STRING_TOKEN(STR_GET_HELP_PING6));\r
62 ShellCommandRegisterCommandName(L"ifconfig6",ShellCommandRunIfconfig6 , ShellCommandGetManFileNameNetwork2, 0, L"network2", TRUE , gShellNetwork2HiiHandle, STRING_TOKEN(STR_GET_HELP_IFCONFIG6));\r
63\r
64 return EFI_SUCCESS;\r
65\r
66}\r
67\r
68/**\r
69 Destructor for the library. free any resources.\r
70\r
71 @param ImageHandle The image handle of the process.\r
72 @param SystemTable The EFI System Table pointer.\r
73**/\r
74EFI_STATUS\r
75EFIAPI\r
76ShellNetwork2CommandsLibDestructor (\r
77 IN EFI_HANDLE ImageHandle,\r
78 IN EFI_SYSTEM_TABLE *SystemTable\r
79 )\r
80{\r
81 if (gShellNetwork2HiiHandle != NULL) {\r
82 HiiRemovePackages(gShellNetwork2HiiHandle);\r
83 }\r
84 return EFI_SUCCESS;\r
85}\r
86\r