]> git.proxmox.com Git - mirror_edk2.git/blame - ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.c
ShellPkg: Standardized HP Copyright Message String
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel3CommandsLib / UefiShellLevel3CommandsLib.c
CommitLineData
a405b86d 1/** @file\r
2 Main file for NULL named library for level 3 shell command functions.\r
3\r
c011b6c9 4 (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>\r
345cd235 5 Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved. <BR>\r
a405b86d 6 This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15#include "UefiShellLevel3CommandsLib.h"\r
16\r
17CONST CHAR16 gShellLevel3FileName[] = L"ShellCommands";\r
18EFI_HANDLE gShellLevel3HiiHandle = NULL;\r
a405b86d 19\r
345cd235 20/**\r
21 return the filename to get help from is not using HII.\r
22\r
23 @retval The filename.\r
24**/\r
a405b86d 25CONST CHAR16*\r
26EFIAPI\r
27ShellCommandGetManFileNameLevel3 (\r
28 VOID\r
29 )\r
30{\r
31 return (gShellLevel3FileName);\r
32}\r
33\r
34/**\r
35 Constructor for the Shell Level 3 Commands library.\r
36\r
37 Install the handlers for level 3 UEFI Shell 2.0 commands.\r
38\r
39 @param ImageHandle the image handle of the process\r
40 @param SystemTable the EFI System Table pointer\r
41\r
42 @retval EFI_SUCCESS the shell command handlers were installed sucessfully\r
43 @retval EFI_UNSUPPORTED the shell level required was not found.\r
44**/\r
45EFI_STATUS\r
46EFIAPI\r
47ShellLevel3CommandsLibConstructor (\r
48 IN EFI_HANDLE ImageHandle,\r
49 IN EFI_SYSTEM_TABLE *SystemTable\r
50 )\r
51{\r
52 gShellLevel3HiiHandle = NULL;\r
53 //\r
54 // if shell level is less than 3 do nothing\r
55 //\r
56 if (PcdGet8(PcdShellSupportLevel) < 3) {\r
82571fb5 57 return (EFI_SUCCESS);\r
a405b86d 58 }\r
59\r
60 gShellLevel3HiiHandle = HiiAddPackages (&gShellLevel3HiiGuid, gImageHandle, UefiShellLevel3CommandsLibStrings, NULL);\r
61 if (gShellLevel3HiiHandle == NULL) {\r
62 return (EFI_DEVICE_ERROR);\r
63 }\r
64 //\r
65 // install our shell command handlers that are always installed\r
66 //\r
67 // Note: that Time, Timezone, and Date are part of level 2 library\r
68 //\r
69 ShellCommandRegisterCommandName(L"type", ShellCommandRunType , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_TYPE));\r
70 ShellCommandRegisterCommandName(L"touch", ShellCommandRunTouch , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_TOUCH));\r
71 ShellCommandRegisterCommandName(L"ver", ShellCommandRunVer , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_VER));\r
72 ShellCommandRegisterCommandName(L"alias", ShellCommandRunAlias , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_ALIAS));\r
73 ShellCommandRegisterCommandName(L"cls", ShellCommandRunCls , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_CLS));\r
74 ShellCommandRegisterCommandName(L"echo", ShellCommandRunEcho , ShellCommandGetManFileNameLevel3, 3, L"", FALSE, gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_ECHO));\r
75 ShellCommandRegisterCommandName(L"pause", ShellCommandRunPause , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_PAUSE));\r
76 ShellCommandRegisterCommandName(L"getmtc", ShellCommandRunGetMtc , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_GETMTC));\r
77 ShellCommandRegisterCommandName(L"help", ShellCommandRunHelp , ShellCommandGetManFileNameLevel3, 3, L"", TRUE , gShellLevel3HiiHandle, STRING_TOKEN(STR_GET_HELP_HELP));\r
78\r
6cef9b9f
TS
79 ShellCommandRegisterAlias(L"type", L"cat");\r
80\r
a405b86d 81 return (EFI_SUCCESS);\r
82}\r
83\r
84/**\r
85 Destructor for the library. free any resources.\r
345cd235 86\r
87 @param ImageHandle The image handle of the process.\r
88 @param SystemTable The EFI System Table pointer.\r
a405b86d 89**/\r
90EFI_STATUS\r
91EFIAPI\r
92ShellLevel3CommandsLibDestructor (\r
93 IN EFI_HANDLE ImageHandle,\r
94 IN EFI_SYSTEM_TABLE *SystemTable\r
95 )\r
96{\r
97 if (gShellLevel3HiiHandle != NULL) {\r
98 HiiRemovePackages(gShellLevel3HiiHandle);\r
99 }\r
100 return (EFI_SUCCESS);\r
101}\r