XenevaOS
Loading...
Searching...
No Matches
Shell.h
Go to the documentation of this file.
1
16#ifndef __EFI_SHELL_PROTOCOL_H__
17#define __EFI_SHELL_PROTOCOL_H__
18
19#include <Guid/FileInfo.h>
20
21#define EFI_SHELL_PROTOCOL_GUID \
22 { \
23 0x6302d008, 0x7f9b, 0x4f30, { 0x87, 0xac, 0x60, 0xc9, 0xfe, 0xf5, 0xda, 0x4e } \
24 }
26
155
156
157// replaced EFI_LIST_ENTRY with LIST_ENTRY for simplicity.
158// they are identical outside of the name.
167
175typedef
178 VOID
179 );
180
192typedef
195 IN SHELL_FILE_HANDLE FileHandle
196 );
197
234typedef
237 IN CONST CHAR16 *FileName,
238 IN UINT64 FileAttribs,
239 OUT SHELL_FILE_HANDLE *FileHandle
240 );
241
254typedef
257 IN SHELL_FILE_HANDLE FileHandle
258 );
259
270typedef
273 IN CONST CHAR16 *FileName
274 );
275
279typedef
282 VOID
283 );
284
288typedef
291 VOID
292 );
293
325typedef
328 IN EFI_HANDLE *ParentImageHandle,
329 IN CHAR16 *CommandLine OPTIONAL,
330 IN CHAR16 **Environment OPTIONAL,
331 OUT EFI_STATUS *StatusCode OPTIONAL
332 );
333
355typedef
358 IN CONST CHAR16 *FilePattern,
359 OUT EFI_SHELL_FILE_INFO **FileList
360 );
361
374typedef
377IN SHELL_FILE_HANDLE FileDirHandle,
378OUT EFI_SHELL_FILE_INFO **FileList
379);
380
396typedef
399 IN SHELL_FILE_HANDLE FileHandle
400 );
401
413typedef
416 IN EFI_SHELL_FILE_INFO **FileList
417 );
418
435typedef
438 IN CONST CHAR16 *FileSystemMapping OPTIONAL
439 );
440
442#define EFI_DEVICE_NAME_USE_COMPONENT_NAME 0x00000001
443#define EFI_DEVICE_NAME_USE_DEVICE_PATH 0x00000002
444
475typedef
478 IN EFI_HANDLE DeviceHandle,
480 IN CHAR8 *Language,
481 OUT CHAR16 **BestDeviceName
482 );
483
497typedef
500 IN CONST CHAR16 *Mapping
501 );
502
514typedef
517 IN CONST CHAR16 *Path
518 );
519
543typedef
547 );
548
571typedef
575 OUT UINT32 *Attributes OPTIONAL
576 );
577
589typedef
592 IN SHELL_FILE_HANDLE FileHandle
593 );
594
607typedef
611 );
612
626typedef
629 IN SHELL_FILE_HANDLE FileHandle,
630 OUT UINT64 *Position
631 );
632
644typedef
647 IN SHELL_FILE_HANDLE FileHandle,
649 );
650
668typedef
671 IN CONST CHAR16 *GuidName,
672 OUT EFI_GUID *Guid
673 );
674
692typedef
695 IN CONST EFI_GUID *Guid,
696 OUT CONST CHAR16 **GuidName
697 );
698
724typedef
727 IN CONST CHAR16 *Command,
728 IN CONST CHAR16 *Sections OPTIONAL,
729 OUT CHAR16 **HelpText
730 );
731
752typedef
755 IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath
756 );
757
766typedef
769 VOID
770 );
771
780typedef
783VOID
784);
785
838typedef
841 IN CONST CHAR16 *FileName,
842 OUT SHELL_FILE_HANDLE *FileHandle,
843 IN UINT64 OpenMode
844 );
845
861typedef
864 IN CHAR16 *Path,
865 IN UINT64 OpenMode,
866 IN OUT EFI_SHELL_FILE_INFO **FileList
867 );
868
885typedef
888 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
889 OUT SHELL_FILE_HANDLE *FileHandle
890 );
891
907typedef
910 IN EFI_HANDLE DeviceHandle,
911 OUT SHELL_FILE_HANDLE *FileHandle
912 );
913
933typedef
936 IN SHELL_FILE_HANDLE FileHandle,
937 IN OUT UINTN *ReadSize,
938 IN OUT VOID *Buffer
939 );
940
958typedef
961 IN CONST EFI_GUID *Guid,
962 IN CONST CHAR16 *GuidName
963 );
964
972typedef
975 IN EFI_SHELL_FILE_INFO **FileList
976 );
977
996typedef
999 IN CONST CHAR16 *Command,
1000 IN CONST CHAR16 *Alias,
1001 IN BOOLEAN Replace,
1002 IN BOOLEAN Volatile
1003 );
1004
1022typedef
1025 IN CONST CHAR16 *Alias,
1026 OUT BOOLEAN *Volatile OPTIONAL
1027 );
1028
1053typedef
1056 IN CONST CHAR16 *FileSystem OPTIONAL,
1057 IN CONST CHAR16 *Dir
1058 );
1059
1081typedef
1085 IN CONST CHAR16 *Value,
1086 IN BOOLEAN Volatile
1087 );
1088
1107typedef
1110 IN SHELL_FILE_HANDLE FileHandle,
1111 IN CONST EFI_FILE_INFO *FileInfo
1112 );
1113
1129typedef
1132 IN SHELL_FILE_HANDLE FileHandle,
1133 IN UINT64 Position
1134 );
1135
1148typedef
1151 IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
1152 IN CONST CHAR16 *Mapping
1153 );
1154
1179typedef
1182 IN SHELL_FILE_HANDLE FileHandle,
1183 IN OUT UINTN *BufferSize,
1184 IN VOID *Buffer
1185 );
1186
1187//
1188// EFI_SHELL_PROTOCOL has been updated since UEFI Shell Spec 2.0
1189// Usage of this protocol will require version checking before attempting
1190// to use any new members. There is no need to check the version for
1191// members that existed in UEFI Shell Spec 2.0.
1192//
1193// Update below for any future UEFI Shell spec changes to this protocol.
1194//
1195// Check EFI_SHELL_PROTOCOL MajorVersion and MinorVersion:
1196// if ((2 == gEfiShellProtocol->MajorVersion) &&
1197// (0 == gEfiShellProtocol->MinorVersion)) {
1198// //
1199// // Cannot call:
1200// // RegisterGuidName - UEFI Shell 2.1
1201// // GetGuidName - UEFI Shell 2.1
1202// // GetGuidFromName - UEFI Shell 2.1
1203// // GetEnvEx - UEFI Shell 2.1
1204// //
1205// } else {
1206// //
1207// // Can use all members
1208// //
1209// }
1210//
1211typedef struct _EFI_SHELL_PROTOCOL {
1254 // Added for Shell 2.1
1260
1262
1267
1268#endif
char CHAR8
Definition ProcessorBind.h:109
UINT64 UINTN
Definition ProcessorBind.h:118
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define CONST
Definition Base.h:327
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
uint32_t Size
Definition pe.h:1
BOOLEAN(EFIAPI * EFI_SHELL_IS_ROOT_SHELL)(VOID)
Definition Shell.h:782
CHAR16 *(EFIAPI * EFI_SHELL_GET_FILE_PATH_FROM_DEVICE_PATH)(IN CONST EFI_DEVICE_PATH_PROTOCOL *Path)
Definition Shell.h:609
EFI_STATUS(EFIAPI * EFI_SHELL_OPEN_ROOT)(IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, OUT SHELL_FILE_HANDLE *FileHandle)
Definition Shell.h:887
SHELL_STATUS
Definition Shell.h:27
@ SHELL_MEDIA_CHANGED
Definition Shell.h:102
@ SHELL_OUT_OF_RESOURCES
Definition Shell.h:79
@ SHELL_TIMEOUT
Definition Shell.h:119
@ SHELL_ACCESS_DENIED
Definition Shell.h:112
@ SHELL_ABORTED
Definition Shell.h:134
@ SHELL_BUFFER_TOO_SMALL
Definition Shell.h:58
@ SHELL_LOAD_ERROR
Definition Shell.h:36
@ SHELL_BAD_BUFFER_SIZE
Definition Shell.h:51
@ SHELL_NOT_STARTED
Definition Shell.h:124
@ SHELL_SUCCESS
Definition Shell.h:31
@ SHELL_NOT_READY
Definition Shell.h:63
@ SHELL_NOT_FOUND
Definition Shell.h:107
@ SHELL_UNSUPPORTED
Definition Shell.h:46
@ SHELL_NO_MEDIA
Definition Shell.h:96
@ SHELL_NOT_EQUAL
Definition Shell.h:153
@ SHELL_VOLUME_FULL
Definition Shell.h:90
@ SHELL_DEVICE_ERROR
Definition Shell.h:69
@ SHELL_SECURITY_VIOLATION
Definition Shell.h:147
@ SHELL_WRITE_PROTECTED
Definition Shell.h:74
@ SHELL_INVALID_PARAMETER
Definition Shell.h:41
@ SHELL_ALREADY_STARTED
Definition Shell.h:129
@ SHELL_INCOMPATIBLE_VERSION
Definition Shell.h:142
@ SHELL_VOLUME_CORRUPTED
Definition Shell.h:85
BOOLEAN(EFIAPI * EFI_SHELL_BATCH_IS_ACTIVE)(VOID)
Definition Shell.h:177
CONST EFI_DEVICE_PATH_PROTOCOL *(EFIAPI * EFI_SHELL_GET_DEVICE_PATH_FROM_MAP)(IN CONST CHAR16 *Mapping)
Definition Shell.h:499
EFI_STATUS(EFIAPI * EFI_SHELL_OPEN_FILE_BY_NAME)(IN CONST CHAR16 *FileName, OUT SHELL_FILE_HANDLE *FileHandle, IN UINT64 OpenMode)
Definition Shell.h:840
UINT32 EFI_SHELL_DEVICE_NAME_FLAGS
Definition Shell.h:441
EFI_STATUS(EFIAPI * EFI_SHELL_GET_DEVICE_NAME)(IN EFI_HANDLE DeviceHandle, IN EFI_SHELL_DEVICE_NAME_FLAGS Flags, IN CHAR8 *Language, OUT CHAR16 **BestDeviceName)
Definition Shell.h:477
EFI_STATUS(EFIAPI * EFI_SHELL_OPEN_FILE_LIST)(IN CHAR16 *Path, IN UINT64 OpenMode, IN OUT EFI_SHELL_FILE_INFO **FileList)
Definition Shell.h:863
EFI_STATUS(EFIAPI * EFI_SHELL_SET_MAP)(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN CONST CHAR16 *Mapping)
Definition Shell.h:1150
EFI_STATUS(EFIAPI * EFI_SHELL_FREE_FILE_LIST)(IN EFI_SHELL_FILE_INFO **FileList)
Definition Shell.h:415
EFI_FILE_INFO *(EFIAPI * EFI_SHELL_GET_FILE_INFO)(IN SHELL_FILE_HANDLE FileHandle)
Definition Shell.h:591
EFI_STATUS(EFIAPI * EFI_SHELL_SET_FILE_INFO)(IN SHELL_FILE_HANDLE FileHandle, IN CONST EFI_FILE_INFO *FileInfo)
Definition Shell.h:1109
EFI_STATUS(EFIAPI * EFI_SHELL_CLOSE_FILE)(IN SHELL_FILE_HANDLE FileHandle)
Definition Shell.h:194
EFI_STATUS(EFIAPI * EFI_SHELL_SET_CUR_DIR)(IN CONST CHAR16 *FileSystem OPTIONAL, IN CONST CHAR16 *Dir)
Definition Shell.h:1055
EFI_STATUS(EFIAPI * EFI_SHELL_OPEN_ROOT_BY_HANDLE)(IN EFI_HANDLE DeviceHandle, OUT SHELL_FILE_HANDLE *FileHandle)
Definition Shell.h:909
EFI_STATUS(EFIAPI * EFI_SHELL_FIND_FILES_IN_DIR)(IN SHELL_FILE_HANDLE FileDirHandle, OUT EFI_SHELL_FILE_INFO **FileList)
Definition Shell.h:376
EFI_STATUS(EFIAPI * EFI_SHELL_REGISTER_GUID_NAME)(IN CONST EFI_GUID *Guid, IN CONST CHAR16 *GuidName)
Definition Shell.h:960
CONST CHAR16 *(EFIAPI * EFI_SHELL_GET_CUR_DIR)(IN CONST CHAR16 *FileSystemMapping OPTIONAL)
Definition Shell.h:437
CONST CHAR16 *(EFIAPI * EFI_SHELL_GET_ALIAS)(IN CONST CHAR16 *Alias, OUT BOOLEAN *Volatile OPTIONAL)
Definition Shell.h:1024
BOOLEAN(EFIAPI * EFI_SHELL_GET_PAGE_BREAK)(VOID)
Definition Shell.h:768
VOID(EFIAPI * EFI_SHELL_ENABLE_PAGE_BREAK)(VOID)
Definition Shell.h:290
CONST CHAR16 *(EFIAPI * EFI_SHELL_GET_ENV)(IN CONST CHAR16 *Name OPTIONAL)
Definition Shell.h:545
EFI_STATUS(EFIAPI * EFI_SHELL_WRITE_FILE)(IN SHELL_FILE_HANDLE FileHandle, IN OUT UINTN *BufferSize, IN VOID *Buffer)
Definition Shell.h:1181
VOID(EFIAPI * EFI_SHELL_DISABLE_PAGE_BREAK)(VOID)
Definition Shell.h:281
EFI_STATUS(EFIAPI * EFI_SHELL_REMOVE_DUP_IN_FILE_LIST)(IN EFI_SHELL_FILE_INFO **FileList)
Definition Shell.h:974
EFI_DEVICE_PATH_PROTOCOL *(EFIAPI * EFI_SHELL_GET_DEVICE_PATH_FROM_FILE_PATH)(IN CONST CHAR16 *Path)
Definition Shell.h:516
EFI_STATUS(EFIAPI * EFI_SHELL_FIND_FILES)(IN CONST CHAR16 *FilePattern, OUT EFI_SHELL_FILE_INFO **FileList)
Definition Shell.h:357
EFI_STATUS(EFIAPI * EFI_SHELL_EXECUTE)(IN EFI_HANDLE *ParentImageHandle, IN CHAR16 *CommandLine OPTIONAL, IN CHAR16 **Environment OPTIONAL, OUT EFI_STATUS *StatusCode OPTIONAL)
Definition Shell.h:327
EFI_STATUS(EFIAPI * EFI_SHELL_CREATE_FILE)(IN CONST CHAR16 *FileName, IN UINT64 FileAttribs, OUT SHELL_FILE_HANDLE *FileHandle)
Definition Shell.h:236
EFI_STATUS(EFIAPI * EFI_SHELL_GET_FILE_POSITION)(IN SHELL_FILE_HANDLE FileHandle, OUT UINT64 *Position)
Definition Shell.h:628
EFI_STATUS(EFIAPI * EFI_SHELL_GET_HELP_TEXT)(IN CONST CHAR16 *Command, IN CONST CHAR16 *Sections OPTIONAL, OUT CHAR16 **HelpText)
Definition Shell.h:726
EFI_STATUS(EFIAPI * EFI_SHELL_DELETE_FILE)(IN SHELL_FILE_HANDLE FileHandle)
Definition Shell.h:256
EFI_STATUS(EFIAPI * EFI_SHELL_READ_FILE)(IN SHELL_FILE_HANDLE FileHandle, IN OUT UINTN *ReadSize, IN OUT VOID *Buffer)
Definition Shell.h:935
EFI_STATUS(EFIAPI * EFI_SHELL_SET_FILE_POSITION)(IN SHELL_FILE_HANDLE FileHandle, IN UINT64 Position)
Definition Shell.h:1131
VOID * SHELL_FILE_HANDLE
Definition Shell.h:25
ShellVersion
Definition Shell.h:1263
@ SHELL_MAJOR_VERSION
Definition Shell.h:1264
@ SHELL_MINOR_VERSION
Definition Shell.h:1265
EFI_STATUS(EFIAPI * EFI_SHELL_GET_GUID_NAME)(IN CONST EFI_GUID *Guid, OUT CONST CHAR16 **GuidName)
Definition Shell.h:694
EFI_STATUS(EFIAPI * EFI_SHELL_SET_ENV)(IN CONST CHAR16 *Name, IN CONST CHAR16 *Value, IN BOOLEAN Volatile)
Definition Shell.h:1083
EFI_GUID gEfiShellProtocolGuid
struct _EFI_SHELL_PROTOCOL EFI_SHELL_PROTOCOL
EFI_STATUS(EFIAPI * EFI_SHELL_GET_FILE_SIZE)(IN SHELL_FILE_HANDLE FileHandle, OUT UINT64 *Size)
Definition Shell.h:646
CONST CHAR16 *(EFIAPI * EFI_SHELL_GET_ENV_EX)(IN CONST CHAR16 *Name, OUT UINT32 *Attributes OPTIONAL)
Definition Shell.h:573
EFI_STATUS(EFIAPI * EFI_SHELL_SET_ALIAS)(IN CONST CHAR16 *Command, IN CONST CHAR16 *Alias, IN BOOLEAN Replace, IN BOOLEAN Volatile)
Definition Shell.h:998
EFI_STATUS(EFIAPI * EFI_SHELL_DELETE_FILE_BY_NAME)(IN CONST CHAR16 *FileName)
Definition Shell.h:272
CONST CHAR16 *(EFIAPI * EFI_SHELL_GET_MAP_FROM_DEVICE_PATH)(IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
Definition Shell.h:754
EFI_STATUS(EFIAPI * EFI_SHELL_FLUSH_FILE)(IN SHELL_FILE_HANDLE FileHandle)
Definition Shell.h:398
EFI_STATUS(EFIAPI * EFI_SHELL_GET_GUID_FROM_NAME)(IN CONST CHAR16 *GuidName, OUT EFI_GUID *Guid)
Definition Shell.h:670
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_EVENT
Definition UefiBaseType.h:41
VOID * EFI_HANDLE
Definition UefiBaseType.h:37
char ACPI_OBJECT_TYPE UINT32 Flags
Definition acdebug.h:453
#define VOID
Definition acefi.h:190
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char * Name
Definition acpixf.h:1159
unsigned char BOOLEAN
Definition actypes.h:235
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition DevicePath.h:49
Definition FileInfo.h:25
Definition Shell.h:159
LIST_ENTRY Link
Linked list members.
Definition Shell.h:160
SHELL_FILE_HANDLE Handle
Handle for interacting with the opened file or NULL if closed.
Definition Shell.h:164
EFI_FILE_INFO * Info
Pointer to the FileInfo struct for this file or NULL.
Definition Shell.h:165
EFI_STATUS Status
Status of opening the file. Valid only if Handle != NULL.
Definition Shell.h:161
CONST CHAR16 * FullName
Fully qualified filename.
Definition Shell.h:162
CONST CHAR16 * FileName
name of this file.
Definition Shell.h:163
Definition Base.h:281
Definition Shell.h:1211
EFI_SHELL_IS_ROOT_SHELL IsRootShell
Definition Shell.h:1229
EFI_SHELL_OPEN_FILE_BY_NAME OpenFileByName
Definition Shell.h:1236
EFI_SHELL_SET_ALIAS SetAlias
Definition Shell.h:1216
EFI_SHELL_REGISTER_GUID_NAME RegisterGuidName
Definition Shell.h:1255
EFI_SHELL_GET_FILE_POSITION GetFilePosition
Definition Shell.h:1243
EFI_SHELL_EXECUTE Execute
Definition Shell.h:1212
UINT32 MajorVersion
Definition Shell.h:1252
EFI_SHELL_GET_FILE_SIZE GetFileSize
Definition Shell.h:1248
EFI_SHELL_CREATE_FILE CreateFile
Definition Shell.h:1238
EFI_SHELL_WRITE_FILE WriteFile
Definition Shell.h:1240
EFI_SHELL_SET_FILE_INFO SetFileInfo
Definition Shell.h:1235
EFI_SHELL_ENABLE_PAGE_BREAK EnablePageBreak
Definition Shell.h:1230
EFI_SHELL_BATCH_IS_ACTIVE BatchIsActive
Definition Shell.h:1228
EFI_SHELL_REMOVE_DUP_IN_FILE_LIST RemoveDupInFileList
Definition Shell.h:1227
EFI_SHELL_GET_PAGE_BREAK GetPageBreak
Definition Shell.h:1232
EFI_SHELL_GET_HELP_TEXT GetHelpText
Definition Shell.h:1217
EFI_SHELL_GET_GUID_NAME GetGuidName
Definition Shell.h:1256
EFI_SHELL_OPEN_ROOT OpenRoot
Definition Shell.h:1249
EFI_SHELL_OPEN_ROOT_BY_HANDLE OpenRootByHandle
Definition Shell.h:1250
EFI_SHELL_GET_ENV GetEnv
Definition Shell.h:1213
EFI_SHELL_FIND_FILES_IN_DIR FindFilesInDir
Definition Shell.h:1247
EFI_SHELL_CLOSE_FILE CloseFile
Definition Shell.h:1237
EFI_SHELL_DELETE_FILE_BY_NAME DeleteFileByName
Definition Shell.h:1242
EFI_SHELL_FIND_FILES FindFiles
Definition Shell.h:1246
EFI_SHELL_GET_DEVICE_PATH_FROM_MAP GetDevicePathFromMap
Definition Shell.h:1218
EFI_SHELL_GET_FILE_INFO GetFileInfo
Definition Shell.h:1234
EFI_SHELL_OPEN_FILE_LIST OpenFileList
Definition Shell.h:1225
EFI_SHELL_SET_FILE_POSITION SetFilePosition
Definition Shell.h:1244
EFI_SHELL_GET_MAP_FROM_DEVICE_PATH GetMapFromDevicePath
Definition Shell.h:1219
EFI_SHELL_GET_ENV_EX GetEnvEx
Definition Shell.h:1258
EFI_SHELL_FREE_FILE_LIST FreeFileList
Definition Shell.h:1226
EFI_SHELL_SET_MAP SetMap
Definition Shell.h:1222
EFI_SHELL_READ_FILE ReadFile
Definition Shell.h:1239
EFI_SHELL_SET_CUR_DIR SetCurDir
Definition Shell.h:1224
EFI_SHELL_DELETE_FILE DeleteFile
Definition Shell.h:1241
EFI_EVENT ExecutionBreak
Definition Shell.h:1251
EFI_SHELL_GET_DEVICE_NAME GetDeviceName
Definition Shell.h:1233
EFI_SHELL_GET_CUR_DIR GetCurDir
Definition Shell.h:1223
EFI_SHELL_DISABLE_PAGE_BREAK DisablePageBreak
Definition Shell.h:1231
EFI_SHELL_GET_ALIAS GetAlias
Definition Shell.h:1215
EFI_SHELL_GET_FILE_PATH_FROM_DEVICE_PATH GetFilePathFromDevicePath
Definition Shell.h:1221
EFI_SHELL_FLUSH_FILE FlushFile
Definition Shell.h:1245
EFI_SHELL_GET_GUID_FROM_NAME GetGuidFromName
Definition Shell.h:1257
EFI_SHELL_SET_ENV SetEnv
Definition Shell.h:1214
EFI_SHELL_GET_DEVICE_PATH_FROM_FILE_PATH GetDevicePathFromFilePath
Definition Shell.h:1220
UINT32 MinorVersion
Definition Shell.h:1253
Definition Base.h:315