123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- /*++
- Copyright (c) 1998 Intel Corporation
- Module Name:
- misc.c
- Abstract:
- Misc EFI support functions
- Revision History
- --*/
- #include "lib.h"
- //
- // Additional Known guids
- //
- #define SHELL_INTERFACE_PROTOCOL \
- { 0x47c7b223, 0xc42a, 0x11d2, {0x8e, 0x57, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
- #define ENVIRONMENT_VARIABLE_ID \
- { 0x47c7b224, 0xc42a, 0x11d2, {0x8e, 0x57, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
- #define DEVICE_PATH_MAPPING_ID \
- { 0x47c7b225, 0xc42a, 0x11d2, {0x8e, 0x57, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
- #define PROTOCOL_ID_ID \
- { 0x47c7b226, 0xc42a, 0x11d2, {0x8e, 0x57, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
- #define ALIAS_ID \
- { 0x47c7b227, 0xc42a, 0x11d2, {0x8e, 0x57, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
- static EFI_GUID ShellInterfaceProtocol = SHELL_INTERFACE_PROTOCOL;
- static EFI_GUID SEnvId = ENVIRONMENT_VARIABLE_ID;
- static EFI_GUID SMapId = DEVICE_PATH_MAPPING_ID;
- static EFI_GUID SProtId = PROTOCOL_ID_ID;
- static EFI_GUID SAliasId = ALIAS_ID;
- static struct {
- EFI_GUID *Guid;
- WCHAR *GuidName;
- } KnownGuids[] = {
- { &NullGuid, L"G0" },
- { &gEfiGlobalVariableGuid, L"EfiVar" },
- { &VariableStoreProtocol, L"VarStore" },
- { &gEfiDevicePathProtocolGuid, L"DevPath" },
- { &gEfiLoadedImageProtocolGuid, L"LdImg" },
- { &gEfiSimpleTextInProtocolGuid, L"TxtIn" },
- { &gEfiSimpleTextOutProtocolGuid, L"TxtOut" },
- { &gEfiBlockIoProtocolGuid, L"BlkIo" },
- { &gEfiBlockIo2ProtocolGuid, L"BlkIo2" },
- { &gEfiDiskIoProtocolGuid, L"DskIo" },
- { &gEfiDiskIo2ProtocolGuid, L"DskIo2" },
- { &gEfiSimpleFileSystemProtocolGuid, L"Fs" },
- { &gEfiLoadFileProtocolGuid, L"LdFile" },
- { &gEfiDeviceIoProtocolGuid, L"DevIo" },
- { &gEfiComponentNameProtocolGuid, L"CName" },
- { &gEfiComponentName2ProtocolGuid, L"CName2" },
- { &gEfiFileInfoGuid, L"FileInfo" },
- { &gEfiFileSystemInfoGuid, L"FsInfo" },
- { &gEfiFileSystemVolumeLabelInfoIdGuid, L"FsVolInfo" },
- { &gEfiUnicodeCollationProtocolGuid, L"Unicode" },
- { &LegacyBootProtocol, L"LegacyBoot" },
- { &gEfiSerialIoProtocolGuid, L"SerIo" },
- { &VgaClassProtocol, L"VgaClass"},
- { &gEfiSimpleNetworkProtocolGuid, L"Net" },
- { &gEfiNetworkInterfaceIdentifierProtocolGuid, L"Nii" },
- { &gEfiPxeBaseCodeProtocolGuid, L"Pxe" },
- { &gEfiPxeBaseCodeCallbackProtocolGuid, L"PxeCb" },
- { &TextOutSpliterProtocol, L"TxtOutSplit" },
- { &ErrorOutSpliterProtocol, L"ErrOutSplit" },
- { &TextInSpliterProtocol, L"TxtInSplit" },
- { &gEfiPcAnsiGuid, L"PcAnsi" },
- { &gEfiVT100Guid, L"Vt100" },
- { &gEfiVT100PlusGuid, L"Vt100Plus" },
- { &gEfiVTUTF8Guid, L"VtUtf8" },
- { &UnknownDevice, L"UnknownDev" },
- { &EfiPartTypeSystemPartitionGuid, L"ESP" },
- { &EfiPartTypeLegacyMbrGuid, L"GPT MBR" },
- { &ShellInterfaceProtocol, L"ShellInt" },
- { &SEnvId, L"SEnv" },
- { &SProtId, L"ShellProtId" },
- { &SMapId, L"ShellDevPathMap" },
- { &SAliasId, L"ShellAlias" },
- { NULL, L"" }
- };
- //
- //
- //
- LIST_ENTRY GuidList;
- VOID
- InitializeGuid (
- VOID
- )
- {
- }
- INTN
- CompareGuid(
- IN EFI_GUID *Guid1,
- IN EFI_GUID *Guid2
- )
- /*++
- Routine Description:
- Compares to GUIDs
- Arguments:
- Guid1 - guid to compare
- Guid2 - guid to compare
- Returns:
- = 0 if Guid1 == Guid2
- --*/
- {
- return RtCompareGuid (Guid1, Guid2);
- }
- VOID
- GuidToString (
- OUT CHAR16 *Buffer,
- IN EFI_GUID *Guid
- )
- {
- UINTN Index;
- //
- // Else, (for now) use additional internal function for mapping guids
- //
- for (Index=0; KnownGuids[Index].Guid; Index++) {
- if (CompareGuid(Guid, KnownGuids[Index].Guid) == 0) {
- UnicodeSPrint (Buffer, 0, KnownGuids[Index].GuidName);
- return ;
- }
- }
- //
- // Else dump it
- //
- UnicodeSPrint (Buffer, 0, L"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
- Guid->Data1,
- Guid->Data2,
- Guid->Data3,
- Guid->Data4[0],
- Guid->Data4[1],
- Guid->Data4[2],
- Guid->Data4[3],
- Guid->Data4[4],
- Guid->Data4[5],
- Guid->Data4[6],
- Guid->Data4[7]
- );
- }
|