Home | History | Annotate | Line # | Download | only in lib
error.c revision 1.1.1.1.36.1
      1  1.1.1.1.36.1  christos /*	$NetBSD: error.c,v 1.1.1.1.36.1 2019/06/10 22:08:36 christos Exp $	*/
      2           1.1  jakllsch 
      3           1.1  jakllsch /*++
      4           1.1  jakllsch 
      5           1.1  jakllsch Copyright (c) 1998  Intel Corporation
      6           1.1  jakllsch 
      7           1.1  jakllsch Module Name:
      8           1.1  jakllsch 
      9           1.1  jakllsch     error.c
     10           1.1  jakllsch 
     11           1.1  jakllsch Abstract:
     12           1.1  jakllsch 
     13           1.1  jakllsch 
     14           1.1  jakllsch 
     15           1.1  jakllsch 
     16           1.1  jakllsch Revision History
     17           1.1  jakllsch 
     18           1.1  jakllsch --*/
     19           1.1  jakllsch 
     20           1.1  jakllsch #include "lib.h"
     21           1.1  jakllsch 
     22           1.1  jakllsch 
     23           1.1  jakllsch struct {
     24           1.1  jakllsch     EFI_STATUS      Code;
     25           1.1  jakllsch     WCHAR	    *Desc;
     26           1.1  jakllsch } ErrorCodeTable[] = {
     27           1.1  jakllsch 	{  EFI_SUCCESS,                L"Success"},
     28           1.1  jakllsch 	{  EFI_LOAD_ERROR,             L"Load Error"},
     29           1.1  jakllsch 	{  EFI_INVALID_PARAMETER,      L"Invalid Parameter"},
     30           1.1  jakllsch 	{  EFI_UNSUPPORTED,            L"Unsupported"},
     31           1.1  jakllsch 	{  EFI_BAD_BUFFER_SIZE,        L"Bad Buffer Size"},
     32           1.1  jakllsch 	{  EFI_BUFFER_TOO_SMALL,       L"Buffer Too Small"},
     33           1.1  jakllsch 	{  EFI_NOT_READY,              L"Not Ready"},
     34           1.1  jakllsch 	{  EFI_DEVICE_ERROR,           L"Device Error"},
     35           1.1  jakllsch 	{  EFI_WRITE_PROTECTED,        L"Write Protected"},
     36           1.1  jakllsch 	{  EFI_OUT_OF_RESOURCES,       L"Out of Resources"},
     37           1.1  jakllsch 	{  EFI_VOLUME_CORRUPTED,       L"Volume Corrupt"},
     38           1.1  jakllsch 	{  EFI_VOLUME_FULL,            L"Volume Full"},
     39           1.1  jakllsch 	{  EFI_NO_MEDIA,               L"No Media"},
     40           1.1  jakllsch 	{  EFI_MEDIA_CHANGED,          L"Media changed"},
     41           1.1  jakllsch 	{  EFI_NOT_FOUND,              L"Not Found"},
     42           1.1  jakllsch 	{  EFI_ACCESS_DENIED,          L"Access Denied"},
     43           1.1  jakllsch 	{  EFI_NO_RESPONSE,            L"No Response"},
     44           1.1  jakllsch 	{  EFI_NO_MAPPING,             L"No mapping"},
     45           1.1  jakllsch 	{  EFI_TIMEOUT,                L"Time out"},
     46           1.1  jakllsch 	{  EFI_NOT_STARTED,            L"Not started"},
     47           1.1  jakllsch 	{  EFI_ALREADY_STARTED,        L"Already started"},
     48           1.1  jakllsch 	{  EFI_ABORTED,                L"Aborted"},
     49           1.1  jakllsch 	{  EFI_ICMP_ERROR,             L"ICMP Error"},
     50           1.1  jakllsch 	{  EFI_TFTP_ERROR,             L"TFTP Error"},
     51           1.1  jakllsch 	{  EFI_PROTOCOL_ERROR,         L"Protocol Error"},
     52  1.1.1.1.36.1  christos 	{  EFI_INCOMPATIBLE_VERSION,   L"Incompatible Version"},
     53  1.1.1.1.36.1  christos 	{  EFI_SECURITY_VIOLATION,     L"Security Policy Violation"},
     54  1.1.1.1.36.1  christos 	{  EFI_CRC_ERROR,              L"CRC Error"},
     55  1.1.1.1.36.1  christos 	{  EFI_END_OF_MEDIA,           L"End of Media"},
     56  1.1.1.1.36.1  christos 	{  EFI_END_OF_FILE,            L"End of File"},
     57  1.1.1.1.36.1  christos 	{  EFI_INVALID_LANGUAGE,       L"Invalid Languages"},
     58  1.1.1.1.36.1  christos 	{  EFI_COMPROMISED_DATA,       L"Compromised Data"},
     59           1.1  jakllsch 
     60           1.1  jakllsch 	// warnings
     61           1.1  jakllsch 	{  EFI_WARN_UNKOWN_GLYPH,      L"Warning Unknown Glyph"},
     62           1.1  jakllsch 	{  EFI_WARN_DELETE_FAILURE,    L"Warning Delete Failure"},
     63           1.1  jakllsch 	{  EFI_WARN_WRITE_FAILURE,     L"Warning Write Failure"},
     64           1.1  jakllsch 	{  EFI_WARN_BUFFER_TOO_SMALL,  L"Warning Buffer Too Small"},
     65           1.1  jakllsch 	{  0, NULL}
     66           1.1  jakllsch } ;
     67           1.1  jakllsch 
     68           1.1  jakllsch 
     69           1.1  jakllsch VOID
     70           1.1  jakllsch StatusToString (
     71           1.1  jakllsch     OUT CHAR16          *Buffer,
     72           1.1  jakllsch     IN EFI_STATUS       Status
     73           1.1  jakllsch     )
     74           1.1  jakllsch {
     75           1.1  jakllsch     UINTN           Index;
     76           1.1  jakllsch 
     77           1.1  jakllsch     for (Index = 0; ErrorCodeTable[Index].Desc; Index +=1) {
     78           1.1  jakllsch         if (ErrorCodeTable[Index].Code == Status) {
     79           1.1  jakllsch 	    StrCpy (Buffer, ErrorCodeTable[Index].Desc);
     80           1.1  jakllsch             return;
     81           1.1  jakllsch         }
     82           1.1  jakllsch     }
     83           1.1  jakllsch 
     84           1.1  jakllsch     SPrint (Buffer, 0, L"%X", Status);
     85           1.1  jakllsch }
     86