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