176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/*++ 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 376d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanCopyright (c) 1998 Intel Corporation 476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 576d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanModule Name: 676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman error.c 876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 976d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanAbstract: 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1476d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanRevision History 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman--*/ 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include "lib.h" 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanstruct { 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman EFI_STATUS Code; 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman WCHAR *Desc; 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} ErrorCodeTable[] = { 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_SUCCESS, L"Success"}, 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_LOAD_ERROR, L"Load Error"}, 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_INVALID_PARAMETER, L"Invalid Parameter"}, 2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_UNSUPPORTED, L"Unsupported"}, 2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_BAD_BUFFER_SIZE, L"Bad Buffer Size"}, 3076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_BUFFER_TOO_SMALL, L"Buffer Too Small"}, 3176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_NOT_READY, L"Not Ready"}, 3276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_DEVICE_ERROR, L"Device Error"}, 3376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_WRITE_PROTECTED, L"Write Protected"}, 3476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_OUT_OF_RESOURCES, L"Out of Resources"}, 3576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_VOLUME_CORRUPTED, L"Volume Corrupt"}, 3676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_VOLUME_FULL, L"Volume Full"}, 3776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_NO_MEDIA, L"No Media"}, 3876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_MEDIA_CHANGED, L"Media changed"}, 3976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_NOT_FOUND, L"Not Found"}, 4076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_ACCESS_DENIED, L"Access Denied"}, 4176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_NO_RESPONSE, L"No Response"}, 4276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_NO_MAPPING, L"No mapping"}, 4376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_TIMEOUT, L"Time out"}, 4476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_NOT_STARTED, L"Not started"}, 4576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_ALREADY_STARTED, L"Already started"}, 4676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_ABORTED, L"Aborted"}, 4776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_ICMP_ERROR, L"ICMP Error"}, 4876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_TFTP_ERROR, L"TFTP Error"}, 4976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_PROTOCOL_ERROR, L"Protocol Error"}, 5076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 5176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman // warnings 5276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph"}, 5376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure"}, 5476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_WARN_WRITE_FAILURE, L"Warning Write Failure"}, 5576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small"}, 5676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman { 0, NULL} 5776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} ; 5876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 5976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 6076d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanVOID 6176d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanStatusToString ( 6276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman OUT CHAR16 *Buffer, 6376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman IN EFI_STATUS Status 6476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman ) 6576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman{ 6676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman UINTN Index; 6776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 6876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman for (Index = 0; ErrorCodeTable[Index].Desc; Index +=1) { 6976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman if (ErrorCodeTable[Index].Code == Status) { 7076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman StrCpy (Buffer, ErrorCodeTable[Index].Desc); 7176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman return; 7276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman } 7376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman } 7476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 7576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman SPrint (Buffer, 0, L"%X", Status); 7676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} 77