123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- /*++
- 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"},
- { &EfiGlobalVariable, L"Efi"},
- { &VariableStoreProtocol, L"varstore"},
- { &DevicePathProtocol, L"dpath"},
- { &LoadedImageProtocol, L"image"},
- { &TextInProtocol, L"txtin"},
- { &TextOutProtocol, L"txtout"},
- { &BlockIoProtocol, L"blkio"},
- { &DiskIoProtocol, L"diskio"},
- { &FileSystemProtocol, L"fs"},
- { &LoadFileProtocol, L"load"},
- { &DeviceIoProtocol, L"DevIo"},
- { &GenericFileInfo, L"GenFileInfo"},
- { &FileSystemInfo, L"FileSysInfo"},
- { &UnicodeCollationProtocol, L"unicode"},
- { &LegacyBootProtocol, L"LegacyBoot"},
- { &SerialIoProtocol, L"serialio"},
- { &VgaClassProtocol, L"vgaclass"},
- { &SimpleNetworkProtocol, L"net"},
- { &NetworkInterfaceIdentifierProtocol, L"nii"},
- { &PxeBaseCodeProtocol, L"pxebc"},
- { &PxeCallbackProtocol, L"pxecb"},
- { &VariableStoreProtocol, L"varstore"},
- { &LegacyBootProtocol, L"LegacyBoot"},
- { &VgaClassProtocol, L"VgaClass"},
- { &TextOutSpliterProtocol, L"TxtOutSplit"},
- { &ErrorOutSpliterProtocol, L"ErrOutSplit"},
- { &TextInSpliterProtocol, L"TxtInSplit"},
- { &PcAnsiProtocol, L"PcAnsi"},
- { &Vt100Protocol, L"Vt100"},
- { &UnknownDevice, L"Unknown Device"},
- { &EfiPartTypeSystemPartitionGuid, L"ESP"},
- { &EfiPartTypeLegacyMbrGuid, L"GPT MBR"},
- { &ShellInterfaceProtocol, L"ShellInt"},
- { &SEnvId, L"SEnv"},
- { &SProtId, L"ShellProtId"},
- { &SMapId, L"ShellDevPathMap"},
- { &SAliasId, L"ShellAlias"},
- { NULL }
- };
- //
- //
- //
- 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) {
- SPrint (Buffer, 0, KnownGuids[Index].GuidName);
- return ;
- }
- }
- //
- // Else dump it
- //
- SPrint (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]
- );
- }
|