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