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 | } |
---|