]>
Commit | Line | Data |
---|---|---|
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 |
11 | STATIC CONST CHAR16 mFileName[] = L"Driver1Commands";\r |
12 | EFI_HII_HANDLE gShellDriver1HiiHandle = NULL;\r | |
13 | BOOLEAN 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 | 20 | CONST CHAR16 *\r |
4ba49616 | 21 | EFIAPI\r |
22 | ShellCommandGetManFileNameDriver1 (\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 | |
38 | EFI_STATUS\r | |
39 | EFIAPI\r | |
40 | UefiShellDriver1CommandsLibConstructor (\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 |
84 | EFI_STATUS\r | |
85 | EFIAPI\r | |
86 | UefiShellDriver1CommandsLibDestructor (\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 |