Home | History | Annotate | Download | only in lib
      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 }
     77