Subversion Repositories HelenOS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2726 vana 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
}