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
StatusToString(OUT CHAR16 * Buffer,IN EFI_STATUS Status)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