2 Main file for NULL named library for level 1 shell command functions.
4 Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #include "UefiShellDriver1CommandsLib.h"
17 STATIC CONST CHAR16 mFileName
[] = L
"Driver1Commands";
18 EFI_HANDLE gShellDriver1HiiHandle
= NULL
;
19 CONST EFI_GUID gShellDriver1HiiGuid
= \
21 0xaf0b742, 0x63ec, 0x45bd, {0x8d, 0xb6, 0x71, 0xad, 0x7f, 0x2f, 0xe8, 0xe8} \
26 ShellCommandGetManFileNameDriver1 (
34 Constructor for the Shell Driver1 Commands library.
36 @param ImageHandle the image handle of the process
37 @param SystemTable the EFI System Table pointer
39 @retval EFI_SUCCESS the shell command handlers were installed sucessfully
40 @retval EFI_UNSUPPORTED the shell level required was not found.
44 UefiShellDriver1CommandsLibConstructor (
45 IN EFI_HANDLE ImageHandle
,
46 IN EFI_SYSTEM_TABLE
*SystemTable
50 // check our bit of the profiles mask
52 if ((PcdGet8(PcdShellProfileMask
) & BIT0
) == 0) {
53 return (EFI_UNSUPPORTED
);
57 // install the HII stuff.
59 gShellDriver1HiiHandle
= HiiAddPackages (&gShellDriver1HiiGuid
, gImageHandle
, UefiShellDriver1CommandsLibStrings
, NULL
);
60 if (gShellDriver1HiiHandle
== NULL
) {
61 return (EFI_DEVICE_ERROR
);
65 // install our shell command handlers that are always installed
67 ShellCommandRegisterCommandName(L
"connect", ShellCommandRunConnect
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_CONNECT
) );
68 ShellCommandRegisterCommandName(L
"devices", ShellCommandRunDevices
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DEVICES
) );
69 ShellCommandRegisterCommandName(L
"openinfo", ShellCommandRunOpenInfo
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_OPENINFO
) );
70 ShellCommandRegisterCommandName(L
"disconnect", ShellCommandRunDisconnect
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DISCONNECT
));
71 ShellCommandRegisterCommandName(L
"reconnect", ShellCommandRunReconnect
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_RECONNECT
) );
72 ShellCommandRegisterCommandName(L
"unload", ShellCommandRunUnload
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_UNLOAD
) );
73 ShellCommandRegisterCommandName(L
"drvdiag", ShellCommandRunDrvDiag
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DRVDIAG
) );
74 ShellCommandRegisterCommandName(L
"dh", ShellCommandRunDh
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DH
) );
75 ShellCommandRegisterCommandName(L
"drivers", ShellCommandRunDrivers
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DRIVERS
) );
76 ShellCommandRegisterCommandName(L
"devtree", ShellCommandRunDevTree
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DEVTREE
) );
77 ShellCommandRegisterCommandName(L
"drvcfg", ShellCommandRunDrvCfg
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DRVCFG
) );
83 Destructor for the library. free any resources.
87 UefiShellDriver1CommandsLibDestructor (
88 IN EFI_HANDLE ImageHandle
,
89 IN EFI_SYSTEM_TABLE
*SystemTable
92 if (gShellDriver1HiiHandle
!= NULL
) {
93 HiiRemovePackages(gShellDriver1HiiHandle
);