]> git.proxmox.com Git - mirror_edk2.git/blame - ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ShellPkg / Library / UefiShellDriver1CommandsLib / UefiShellDriver1CommandsLib.c
CommitLineData
4ba49616 1/** @file\r
2 Main file for NULL named library for level 1 shell command functions.\r
3\r
93b73083 4 Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
56ba3746 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
4ba49616 6\r
7**/\r
8\r
9#include "UefiShellDriver1CommandsLib.h"\r
10\r
47d20b54
MK
11STATIC CONST CHAR16 mFileName[] = L"Driver1Commands";\r
12EFI_HII_HANDLE gShellDriver1HiiHandle = NULL;\r
13BOOLEAN gInReconnect = FALSE;\r
6878e7a7 14\r
361a8267 15/**\r
16 Function to return the name of the file containing help if HII will not be used.\r
17\r
18 @return The filename.\r
19**/\r
47d20b54 20CONST CHAR16 *\r
4ba49616 21EFIAPI\r
22ShellCommandGetManFileNameDriver1 (\r
23 VOID\r
24 )\r
25{\r
26 return (mFileName);\r
27}\r
28\r
29/**\r
30 Constructor for the Shell Driver1 Commands library.\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
40UefiShellDriver1CommandsLibConstructor (\r
41 IN EFI_HANDLE ImageHandle,\r
42 IN EFI_SYSTEM_TABLE *SystemTable\r
43 )\r
44{\r
45 //\r
46 // check our bit of the profiles mask\r
47 //\r
47d20b54 48 if ((PcdGet8 (PcdShellProfileMask) & BIT0) == 0) {\r
82571fb5 49 return (EFI_SUCCESS);\r
4ba49616 50 }\r
51\r
52 //\r
53 // install the HII stuff.\r
54 //\r
55 gShellDriver1HiiHandle = HiiAddPackages (&gShellDriver1HiiGuid, gImageHandle, UefiShellDriver1CommandsLibStrings, NULL);\r
56 if (gShellDriver1HiiHandle == NULL) {\r
57 return (EFI_DEVICE_ERROR);\r
58 }\r
59\r
60 //\r
61 // install our shell command handlers that are always installed\r
62 //\r
47d20b54
MK
63 ShellCommandRegisterCommandName (L"connect", ShellCommandRunConnect, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_CONNECT));\r
64 ShellCommandRegisterCommandName (L"devices", ShellCommandRunDevices, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_DEVICES));\r
65 ShellCommandRegisterCommandName (L"openinfo", ShellCommandRunOpenInfo, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_OPENINFO));\r
66 ShellCommandRegisterCommandName (L"disconnect", ShellCommandRunDisconnect, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_DISCONNECT));\r
67 ShellCommandRegisterCommandName (L"reconnect", ShellCommandRunReconnect, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_RECONNECT));\r
68 ShellCommandRegisterCommandName (L"unload", ShellCommandRunUnload, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_UNLOAD));\r
69 ShellCommandRegisterCommandName (L"drvdiag", ShellCommandRunDrvDiag, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_DRVDIAG));\r
70 ShellCommandRegisterCommandName (L"dh", ShellCommandRunDh, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_DH));\r
71 ShellCommandRegisterCommandName (L"drivers", ShellCommandRunDrivers, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_DRIVERS));\r
72 ShellCommandRegisterCommandName (L"devtree", ShellCommandRunDevTree, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_DEVTREE));\r
73 ShellCommandRegisterCommandName (L"drvcfg", ShellCommandRunDrvCfg, ShellCommandGetManFileNameDriver1, 0, L"Driver1", TRUE, gShellDriver1HiiHandle, STRING_TOKEN (STR_GET_HELP_DRVCFG));\r
4ba49616 74\r
75 return (EFI_SUCCESS);\r
76}\r
77\r
78/**\r
79 Destructor for the library. free any resources.\r
361a8267 80\r
81 @param ImageHandle The image handle of the process.\r
82 @param SystemTable The EFI System Table pointer.\r
4ba49616 83**/\r
84EFI_STATUS\r
85EFIAPI\r
86UefiShellDriver1CommandsLibDestructor (\r
87 IN EFI_HANDLE ImageHandle,\r
88 IN EFI_SYSTEM_TABLE *SystemTable\r
89 )\r
90{\r
91 if (gShellDriver1HiiHandle != NULL) {\r
47d20b54 92 HiiRemovePackages (gShellDriver1HiiHandle);\r
4ba49616 93 }\r
47d20b54 94\r
4ba49616 95 return (EFI_SUCCESS);\r
96}\r