VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.h@ 100995

最後變更 在這個檔案從100995是 99404,由 vboxsync 提交於 23 月 前

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 9.0 KB
 
1/** @file
2 Main file for NULL named library for level 2 shell command functions.
3
4 these functions are:
5 attrib, cd, cp, date*, time*, rm, reset,
6 load, ls, map, mkdir, mv, parse, set, timezone*
7
8
9 * functions are non-interactive only
10
11
12 Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
13 SPDX-License-Identifier: BSD-2-Clause-Patent
14
15**/
16
17#ifndef _UEFI_SHELL_LEVEL2_COMMANDS_LIB_H_
18#define _UEFI_SHELL_LEVEL2_COMMANDS_LIB_H_
19
20#include <Uefi.h>
21
22#include <Guid/GlobalVariable.h>
23#include <Guid/ShellLibHiiGuid.h>
24
25#include <Protocol/Shell.h>
26#include <Protocol/ShellParameters.h>
27#include <Protocol/DevicePath.h>
28#include <Protocol/LoadedImage.h>
29#include <Protocol/UnicodeCollation.h>
30
31#include <Library/BaseLib.h>
32#include <Library/BaseMemoryLib.h>
33#include <Library/DebugLib.h>
34#include <Library/MemoryAllocationLib.h>
35#include <Library/PcdLib.h>
36#include <Library/ShellCommandLib.h>
37#include <Library/ShellLib.h>
38#include <Library/UefiLib.h>
39#include <Library/UefiRuntimeServicesTableLib.h>
40#include <Library/UefiBootServicesTableLib.h>
41#include <Library/HiiLib.h>
42#include <Library/SortLib.h>
43#include <Library/FileHandleLib.h>
44
45extern CONST CHAR16 mFileName[];
46extern EFI_HII_HANDLE gShellLevel2HiiHandle;
47
48/**
49 Function for 'attrib' command.
50
51 @param[in] ImageHandle Handle to the Image (NULL if Internal).
52 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
53**/
54SHELL_STATUS
55EFIAPI
56ShellCommandRunAttrib (
57 IN EFI_HANDLE ImageHandle,
58 IN EFI_SYSTEM_TABLE *SystemTable
59 );
60
61/**
62 Function for 'date' command.
63
64 @param[in] ImageHandle Handle to the Image (NULL if Internal).
65 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
66**/
67SHELL_STATUS
68EFIAPI
69ShellCommandRunDate (
70 IN EFI_HANDLE ImageHandle,
71 IN EFI_SYSTEM_TABLE *SystemTable
72 );
73
74/**
75 Function for 'time' command.
76
77 @param[in] ImageHandle Handle to the Image (NULL if Internal).
78 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
79**/
80SHELL_STATUS
81EFIAPI
82ShellCommandRunTime (
83 IN EFI_HANDLE ImageHandle,
84 IN EFI_SYSTEM_TABLE *SystemTable
85 );
86
87/**
88 Function for 'load' command.
89
90 @param[in] ImageHandle Handle to the Image (NULL if Internal).
91 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
92**/
93SHELL_STATUS
94EFIAPI
95ShellCommandRunLoad (
96 IN EFI_HANDLE ImageHandle,
97 IN EFI_SYSTEM_TABLE *SystemTable
98 );
99
100/**
101 Function for 'ls' command.
102
103 @param[in] ImageHandle Handle to the Image (NULL if Internal).
104 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
105**/
106SHELL_STATUS
107EFIAPI
108ShellCommandRunLs (
109 IN EFI_HANDLE ImageHandle,
110 IN EFI_SYSTEM_TABLE *SystemTable
111 );
112
113/**
114 Function for 'map' command.
115
116 @param[in] ImageHandle Handle to the Image (NULL if Internal).
117 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
118**/
119SHELL_STATUS
120EFIAPI
121ShellCommandRunMap (
122 IN EFI_HANDLE ImageHandle,
123 IN EFI_SYSTEM_TABLE *SystemTable
124 );
125
126/**
127 Function for 'reset' command.
128
129 @param[in] ImageHandle Handle to the Image (NULL if Internal).
130 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
131**/
132SHELL_STATUS
133EFIAPI
134ShellCommandRunReset (
135 IN EFI_HANDLE ImageHandle,
136 IN EFI_SYSTEM_TABLE *SystemTable
137 );
138
139/**
140 Function for 'timezone' command.
141
142 @param[in] ImageHandle Handle to the Image (NULL if Internal).
143 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
144**/
145SHELL_STATUS
146EFIAPI
147ShellCommandRunTimeZone (
148 IN EFI_HANDLE ImageHandle,
149 IN EFI_SYSTEM_TABLE *SystemTable
150 );
151
152/**
153 Function for 'set' command.
154
155 @param[in] ImageHandle Handle to the Image (NULL if Internal).
156 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
157**/
158SHELL_STATUS
159EFIAPI
160ShellCommandRunSet (
161 IN EFI_HANDLE ImageHandle,
162 IN EFI_SYSTEM_TABLE *SystemTable
163 );
164
165/**
166 Function for 'mkdir' command.
167
168 @param[in] ImageHandle Handle to the Image (NULL if Internal).
169 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
170**/
171SHELL_STATUS
172EFIAPI
173ShellCommandRunMkDir (
174 IN EFI_HANDLE ImageHandle,
175 IN EFI_SYSTEM_TABLE *SystemTable
176 );
177
178/**
179 Function for 'cd' command.
180
181 @param[in] ImageHandle Handle to the Image (NULL if Internal).
182 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
183**/
184SHELL_STATUS
185EFIAPI
186ShellCommandRunCd (
187 IN EFI_HANDLE ImageHandle,
188 IN EFI_SYSTEM_TABLE *SystemTable
189 );
190
191/**
192 Function for 'cp' command.
193
194 @param[in] ImageHandle Handle to the Image (NULL if Internal).
195 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
196**/
197SHELL_STATUS
198EFIAPI
199ShellCommandRunCp (
200 IN EFI_HANDLE ImageHandle,
201 IN EFI_SYSTEM_TABLE *SystemTable
202 );
203
204/**
205 Function for 'parse' command.
206
207 @param[in] ImageHandle Handle to the Image (NULL if Internal).
208 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
209**/
210SHELL_STATUS
211EFIAPI
212ShellCommandRunParse (
213 IN EFI_HANDLE ImageHandle,
214 IN EFI_SYSTEM_TABLE *SystemTable
215 );
216
217/**
218 Function for 'rm' command.
219
220 @param[in] ImageHandle Handle to the Image (NULL if Internal).
221 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
222**/
223SHELL_STATUS
224EFIAPI
225ShellCommandRunRm (
226 IN EFI_HANDLE ImageHandle,
227 IN EFI_SYSTEM_TABLE *SystemTable
228 );
229
230/**
231 Function for 'mv' command.
232
233 @param[in] ImageHandle Handle to the Image (NULL if Internal).
234 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
235**/
236SHELL_STATUS
237EFIAPI
238ShellCommandRunMv (
239 IN EFI_HANDLE ImageHandle,
240 IN EFI_SYSTEM_TABLE *SystemTable
241 );
242
243/**
244 returns a fully qualified directory (contains a map drive at the begining)
245 path from a unknown directory path.
246
247 If Path is already fully qualified this will return a duplicat otherwise this
248 will use get the current directory and use that to build the fully qualified
249 version.
250
251 if the return value is not NULL it must be caller freed.
252
253 @param[in] Path The unknown Path Value
254
255 @retval NULL A memory allocation failed
256 @retval NULL a fully qualified path could not be discovered.
257 @retval other pointer to a fuly qualified path.
258**/
259CHAR16 *
260GetFullyQualifiedPath (
261 IN CONST CHAR16 *Path
262 );
263
264/**
265 Function to verify all intermediate directories in the path.
266
267 @param[in] Path The pointer to the path to fix.
268
269 @retval EFI_SUCCESS The operation was successful.
270**/
271EFI_STATUS
272VerifyIntermediateDirectories (
273 IN CONST CHAR16 *Path
274 );
275
276/**
277 String comparison without regard to case for a limited number of characters.
278
279 @param[in] Source The first item to compare.
280 @param[in] Target The second item to compare.
281 @param[in] Count How many characters to compare.
282
283 @retval 0 Source and Target are identical strings without regard to case.
284 @retval !=0 Source is not identical to Target.
285
286**/
287INTN
288StrniCmp (
289 IN CONST CHAR16 *Source,
290 IN CONST CHAR16 *Target,
291 IN CONST UINTN Count
292 );
293
294/**
295 Cleans off all the quotes in the string.
296
297 @param[in] OriginalString pointer to the string to be cleaned.
298 @param[out] CleanString The new string with all quotes removed.
299 Memory allocated in the function and free
300 by caller.
301
302 @retval EFI_SUCCESS The operation was successful.
303**/
304EFI_STATUS
305ShellLevel2StripQuotes (
306 IN CONST CHAR16 *OriginalString,
307 OUT CHAR16 **CleanString
308 );
309
310/**
311 Function for 'Vol' command.
312
313 @param[in] ImageHandle Handle to the Image (NULL if Internal).
314 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
315**/
316SHELL_STATUS
317EFIAPI
318ShellCommandRunVol (
319 IN EFI_HANDLE ImageHandle,
320 IN EFI_SYSTEM_TABLE *SystemTable
321 );
322
323/**
324 Function to Copy one file to another location
325
326 If the destination exists the user will be prompted and the result put into *resp
327
328 @param[in] Source pointer to source file name
329 @param[in] Dest pointer to destination file name
330 @param[out] Resp pointer to response from question. Pass back on looped calling
331 @param[in] SilentMode whether to run in quiet mode or not
332 @param[in] CmdName Source command name requesting single file copy
333
334 @retval SHELL_SUCCESS The source file was copied to the destination
335**/
336SHELL_STATUS
337CopySingleFile (
338 IN CONST CHAR16 *Source,
339 IN CONST CHAR16 *Dest,
340 OUT VOID **Resp,
341 IN BOOLEAN SilentMode,
342 IN CONST CHAR16 *CmdName
343 );
344
345/**
346 Delete a node and all nodes under it (including sub directories).
347
348 @param[in] Node The node to start deleting with.
349 @param[in] Quiet TRUE to print no messages.
350
351 @retval SHELL_SUCCESS The operation was successful.
352 @retval SHELL_ACCESS_DENIED A file was read only.
353 @retval SHELL_ABORTED The abort message was received.
354 @retval SHELL_DEVICE_ERROR A device error occurred reading this Node.
355**/
356SHELL_STATUS
357CascadeDelete (
358 IN EFI_SHELL_FILE_INFO *Node,
359 IN CONST BOOLEAN Quiet
360 );
361
362#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette