1 /*++ 2 3 Copyright (c) 1998 Intel Corporation 4 5 Module Name: 6 7 error.c 8 9 Abstract: 10 11 12 13 14 Revision History 15 16 --*/ 17 18 #include "lib.h" 19 20 21 struct { 22 EFI_STATUS Code; 23 WCHAR *Desc; 24 } ErrorCodeTable[] = { 25 { EFI_SUCCESS, L"Success"}, 26 { EFI_LOAD_ERROR, L"Load Error"}, 27 { EFI_INVALID_PARAMETER, L"Invalid Parameter"}, 28 { EFI_UNSUPPORTED, L"Unsupported"}, 29 { EFI_BAD_BUFFER_SIZE, L"Bad Buffer Size"}, 30 { EFI_BUFFER_TOO_SMALL, L"Buffer Too Small"}, 31 { EFI_NOT_READY, L"Not Ready"}, 32 { EFI_DEVICE_ERROR, L"Device Error"}, 33 { EFI_WRITE_PROTECTED, L"Write Protected"}, 34 { EFI_OUT_OF_RESOURCES, L"Out of Resources"}, 35 { EFI_VOLUME_CORRUPTED, L"Volume Corrupt"}, 36 { EFI_VOLUME_FULL, L"Volume Full"}, 37 { EFI_NO_MEDIA, L"No Media"}, 38 { EFI_MEDIA_CHANGED, L"Media changed"}, 39 { EFI_NOT_FOUND, L"Not Found"}, 40 { EFI_ACCESS_DENIED, L"Access Denied"}, 41 { EFI_NO_RESPONSE, L"No Response"}, 42 { EFI_NO_MAPPING, L"No mapping"}, 43 { EFI_TIMEOUT, L"Time out"}, 44 { EFI_NOT_STARTED, L"Not started"}, 45 { EFI_ALREADY_STARTED, L"Already started"}, 46 { EFI_ABORTED, L"Aborted"}, 47 { EFI_ICMP_ERROR, L"ICMP Error"}, 48 { EFI_TFTP_ERROR, L"TFTP Error"}, 49 { EFI_PROTOCOL_ERROR, L"Protocol Error"}, 50 { EFI_INCOMPATIBLE_VERSION, L"Incompatible Version"}, 51 { EFI_SECURITY_VIOLATION, L"Security Policy Violation"}, 52 { EFI_CRC_ERROR, L"CRC Error"}, 53 { EFI_END_OF_MEDIA, L"End of Media"}, 54 { EFI_END_OF_FILE, L"End of File"}, 55 { EFI_INVALID_LANGUAGE, L"Invalid Languages"}, 56 { EFI_COMPROMISED_DATA, L"Compromised Data"}, 57 58 // warnings 59 { EFI_WARN_UNKNOWN_GLYPH, L"Warning Unknown Glyph"}, 60 { EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure"}, 61 { EFI_WARN_WRITE_FAILURE, L"Warning Write Failure"}, 62 { EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small"}, 63 { 0, NULL} 64 } ; 65 66 67 VOID 68 StatusToString ( 69 OUT CHAR16 *Buffer, 70 IN EFI_STATUS Status 71 ) 72 { 73 UINTN Index; 74 75 for (Index = 0; ErrorCodeTable[Index].Desc; Index +=1) { 76 if (ErrorCodeTable[Index].Code == Status) { 77 StrCpy (Buffer, ErrorCodeTable[Index].Desc); 78 return; 79 } 80 } 81 82 UnicodeSPrint (Buffer, 0, L"%X", Status); 83 } 84