error.c 2.4 KB

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