windows-nt/Source/XPSP1/NT/base/efiutil/sdk/lib/error.c
2020-09-26 16:20:57 +08:00

77 lines
2 KiB
C

/*++
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);
}