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 typedef struct { 22 EFI_STATUS Code; 23 WCHAR *Desc; 24 } ErrorCodeTable_Type; 25 ErrorCodeTable_Type ErrorCodeTable[] = { 26 { EFI_SUCCESS, L"Success"}, 27 { EFI_LOAD_ERROR, L"Load Error"}, 28 { EFI_INVALID_PARAMETER, L"Invalid Parameter"}, 29 { EFI_UNSUPPORTED, L"Unsupported"}, 30 { EFI_BAD_BUFFER_SIZE, L"Bad Buffer Size"}, 31 { EFI_BUFFER_TOO_SMALL, L"Buffer Too Small"}, 32 { EFI_NOT_READY, L"Not Ready"}, 33 { EFI_DEVICE_ERROR, L"Device Error"}, 34 { EFI_WRITE_PROTECTED, L"Write Protected"}, 35 { EFI_OUT_OF_RESOURCES, L"Out of Resources"}, 36 { EFI_VOLUME_CORRUPTED, L"Volume Corrupt"}, 37 { EFI_VOLUME_FULL, L"Volume Full"}, 38 { EFI_NO_MEDIA, L"No Media"}, 39 { EFI_MEDIA_CHANGED, L"Media changed"}, 40 { EFI_NOT_FOUND, L"Not Found"}, 41 { EFI_ACCESS_DENIED, L"Access Denied"}, 42 { EFI_NO_RESPONSE, L"No Response"}, 43 { EFI_NO_MAPPING, L"No mapping"}, 44 { EFI_TIMEOUT, L"Time out"}, 45 { EFI_NOT_STARTED, L"Not started"}, 46 { EFI_ALREADY_STARTED, L"Already started"}, 47 { EFI_ABORTED, L"Aborted"}, 48 { EFI_ICMP_ERROR, L"ICMP Error"}, 49 { EFI_TFTP_ERROR, L"TFTP Error"}, 50 { EFI_PROTOCOL_ERROR, L"Protocol Error"}, 51 { EFI_INCOMPATIBLE_VERSION, L"Incompatible Version"}, 52 { EFI_SECURITY_VIOLATION, L"Security Policy Violation"}, 53 { EFI_CRC_ERROR, L"CRC Error"}, 54 { EFI_END_OF_MEDIA, L"End of Media"}, 55 { EFI_END_OF_FILE, L"End of File"}, 56 { EFI_INVALID_LANGUAGE, L"Invalid Languages"}, 57 { EFI_COMPROMISED_DATA, L"Compromised Data"}, 58 { EFI_IP_ADDRESS_CONFLICT, L"IP Address Conflict"}, 59 { EFI_HTTP_ERROR, L"HTTP Error"}, 60 61 // warnings 62 { EFI_WARN_UNKNOWN_GLYPH, L"Warning Unknown Glyph"}, 63 { EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure"}, 64 { EFI_WARN_WRITE_FAILURE, L"Warning Write Failure"}, 65 { EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small"}, 66 { EFI_WARN_STALE_DATA, L"Warning Stale Data"}, 67 { EFI_WARN_FILE_SYSTEM, L"Warning File System"}, 68 { EFI_WARN_RESET_REQUIRED, L"Warning Reset Required"}, 69 { 0, NULL} 70 } ; 71 72 73 VOID 74 StatusToString ( 75 OUT CHAR16 *Buffer, 76 IN EFI_STATUS Status 77 ) 78 { 79 UINTN Index; 80 81 for (Index = 0; ErrorCodeTable[Index].Desc; Index +=1) { 82 if (ErrorCodeTable[Index].Code == Status) { 83 StrCpy (Buffer, ErrorCodeTable[Index].Desc); 84 return; 85 } 86 } 87 88 UnicodeSPrint (Buffer, 0, L"%X", Status); 89 } 90