2 Main file for NULL named library for level 1 shell command functions.
4 Copyright (c) 2010 - 2011, 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 BOOLEAN gInReconnect
= FALSE
;
22 Function to translate the EFI_MEMORY_TYPE into a string.
24 @param[in] Memory The memory type.
26 @retval A string representation of the type allocated from BS Pool.
31 IN CONST EFI_MEMORY_TYPE Memory
38 case EfiReservedMemoryType
: StrnCatGrow(&RetVal
, NULL
, L
"EfiReservedMemoryType", 0); break;
39 case EfiLoaderCode
: StrnCatGrow(&RetVal
, NULL
, L
"EfiLoaderCode", 0); break;
40 case EfiLoaderData
: StrnCatGrow(&RetVal
, NULL
, L
"EfiLoaderData", 0); break;
41 case EfiBootServicesCode
: StrnCatGrow(&RetVal
, NULL
, L
"EfiBootServicesCode", 0); break;
42 case EfiBootServicesData
: StrnCatGrow(&RetVal
, NULL
, L
"EfiBootServicesData", 0); break;
43 case EfiRuntimeServicesCode
: StrnCatGrow(&RetVal
, NULL
, L
"EfiRuntimeServicesCode", 0); break;
44 case EfiRuntimeServicesData
: StrnCatGrow(&RetVal
, NULL
, L
"EfiRuntimeServicesData", 0); break;
45 case EfiConventionalMemory
: StrnCatGrow(&RetVal
, NULL
, L
"EfiConventionalMemory", 0); break;
46 case EfiUnusableMemory
: StrnCatGrow(&RetVal
, NULL
, L
"EfiUnusableMemory", 0); break;
47 case EfiACPIReclaimMemory
: StrnCatGrow(&RetVal
, NULL
, L
"EfiACPIReclaimMemory", 0); break;
48 case EfiACPIMemoryNVS
: StrnCatGrow(&RetVal
, NULL
, L
"EfiACPIMemoryNVS", 0); break;
49 case EfiMemoryMappedIO
: StrnCatGrow(&RetVal
, NULL
, L
"EfiMemoryMappedIO", 0); break;
50 case EfiMemoryMappedIOPortSpace
: StrnCatGrow(&RetVal
, NULL
, L
"EfiMemoryMappedIOPortSpace", 0); break;
51 case EfiPalCode
: StrnCatGrow(&RetVal
, NULL
, L
"EfiPalCode", 0); break;
52 case EfiMaxMemoryType
: StrnCatGrow(&RetVal
, NULL
, L
"EfiMaxMemoryType", 0); break;
53 default: ASSERT(FALSE
);
59 Function to return the name of the file containing help if HII will not be used.
65 ShellCommandGetManFileNameDriver1 (
73 Constructor for the Shell Driver1 Commands library.
75 @param ImageHandle the image handle of the process
76 @param SystemTable the EFI System Table pointer
78 @retval EFI_SUCCESS the shell command handlers were installed sucessfully
79 @retval EFI_UNSUPPORTED the shell level required was not found.
83 UefiShellDriver1CommandsLibConstructor (
84 IN EFI_HANDLE ImageHandle
,
85 IN EFI_SYSTEM_TABLE
*SystemTable
89 // check our bit of the profiles mask
91 if ((PcdGet8(PcdShellProfileMask
) & BIT0
) == 0) {
96 // install the HII stuff.
98 gShellDriver1HiiHandle
= HiiAddPackages (&gShellDriver1HiiGuid
, gImageHandle
, UefiShellDriver1CommandsLibStrings
, NULL
);
99 if (gShellDriver1HiiHandle
== NULL
) {
100 return (EFI_DEVICE_ERROR
);
104 // install our shell command handlers that are always installed
106 ShellCommandRegisterCommandName(L
"connect", ShellCommandRunConnect
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_CONNECT
) );
107 ShellCommandRegisterCommandName(L
"devices", ShellCommandRunDevices
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DEVICES
) );
108 ShellCommandRegisterCommandName(L
"openinfo", ShellCommandRunOpenInfo
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_OPENINFO
) );
109 ShellCommandRegisterCommandName(L
"disconnect", ShellCommandRunDisconnect
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DISCONNECT
));
110 ShellCommandRegisterCommandName(L
"reconnect", ShellCommandRunReconnect
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_RECONNECT
) );
111 ShellCommandRegisterCommandName(L
"unload", ShellCommandRunUnload
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_UNLOAD
) );
112 ShellCommandRegisterCommandName(L
"drvdiag", ShellCommandRunDrvDiag
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DRVDIAG
) );
113 ShellCommandRegisterCommandName(L
"dh", ShellCommandRunDh
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DH
) );
114 ShellCommandRegisterCommandName(L
"drivers", ShellCommandRunDrivers
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DRIVERS
) );
115 ShellCommandRegisterCommandName(L
"devtree", ShellCommandRunDevTree
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DEVTREE
) );
116 ShellCommandRegisterCommandName(L
"drvcfg", ShellCommandRunDrvCfg
, ShellCommandGetManFileNameDriver1
, 0, L
"Driver1", TRUE
, gShellDriver1HiiHandle
, STRING_TOKEN(STR_GET_HELP_DRVCFG
) );
118 return (EFI_SUCCESS
);
122 Destructor for the library. free any resources.
124 @param ImageHandle The image handle of the process.
125 @param SystemTable The EFI System Table pointer.
129 UefiShellDriver1CommandsLibDestructor (
130 IN EFI_HANDLE ImageHandle
,
131 IN EFI_SYSTEM_TABLE
*SystemTable
134 if (gShellDriver1HiiHandle
!= NULL
) {
135 HiiRemovePackages(gShellDriver1HiiHandle
);
137 return (EFI_SUCCESS
);