/*++ Copyright (c) 1998 Intel Corporation Module Name: error.c Abstract: Revision History --*/ #include "lib.h" struct { EFI_STATUS Code; CHAR16 *Desc; } ErrorCodeTable[] = { EFI_SUCCESS, L"Success", EFI_LOAD_ERROR, L"Load Error", EFI_INVALID_PARAMETER, L"Invalid Parameter", EFI_UNSUPPORTED, L"Unsupported", EFI_BAD_BUFFER_SIZE, L"Bad Buffer Size", EFI_BUFFER_TOO_SMALL, L"Buffer Too Small", EFI_NOT_READY, L"Not Ready", EFI_DEVICE_ERROR, L"Device Error", EFI_WRITE_PROTECTED, L"Write Protected", EFI_OUT_OF_RESOURCES, L"Out of Resources", EFI_VOLUME_CORRUPTED, L"Volume Corrupt", EFI_VOLUME_FULL, L"Volume Full", EFI_NO_MEDIA, L"No Media", EFI_MEDIA_CHANGED, L"Media changed", EFI_NOT_FOUND, L"Not Found", EFI_ACCESS_DENIED, L"Access Denied", EFI_NO_RESPONSE, L"No Response", EFI_NO_MAPPING, L"No mapping", EFI_TIMEOUT, L"Time out", EFI_NOT_STARTED, L"Not started", EFI_ALREADY_STARTED, L"Already started", EFI_ABORTED, L"Aborted", EFI_ICMP_ERROR, L"ICMP Error", EFI_TFTP_ERROR, L"TFTP Error", EFI_PROTOCOL_ERROR, L"Protocol Error", /* warnings */ EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph", EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure", EFI_WARN_WRITE_FAILURE, L"Warning Write Failure", EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small", 0, NULL } ; VOID StatusToString ( OUT CHAR16 *Buffer, IN EFI_STATUS Status ) { UINTN Index; for (Index = 0; ErrorCodeTable[Index].Desc; Index +=1) { if (ErrorCodeTable[Index].Code == Status) { StrCpy (Buffer, ErrorCodeTable[Index].Desc); return; } } SPrint (Buffer, 0, L"%X", Status); }