[e16e8f2] | 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 | |
---|
| 51 | // warnings |
---|
| 52 | { EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph"}, |
---|
| 53 | { EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure"}, |
---|
| 54 | { EFI_WARN_WRITE_FAILURE, L"Warning Write Failure"}, |
---|
| 55 | { EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small"}, |
---|
| 56 | { 0, NULL} |
---|
| 57 | } ; |
---|
| 58 | |
---|
| 59 | |
---|
| 60 | VOID |
---|
| 61 | StatusToString ( |
---|
| 62 | OUT CHAR16 *Buffer, |
---|
| 63 | IN EFI_STATUS Status |
---|
| 64 | ) |
---|
| 65 | { |
---|
| 66 | UINTN Index; |
---|
| 67 | |
---|
| 68 | for (Index = 0; ErrorCodeTable[Index].Desc; Index +=1) { |
---|
| 69 | if (ErrorCodeTable[Index].Code == Status) { |
---|
| 70 | StrCpy (Buffer, ErrorCodeTable[Index].Desc); |
---|
| 71 | return; |
---|
| 72 | } |
---|
| 73 | } |
---|
| 74 | |
---|
| 75 | SPrint (Buffer, 0, L"%X", Status); |
---|
| 76 | } |
---|