THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
- Module Name: StatusCodeDataTypeId.h\r
-\r
@par Revision Reference:\r
GUIDs defined in Status Codes Specification 0.92\r
\r
#ifndef __STATUS_CODE_DATA_TYPE_ID_GUID_H__\r
#define __STATUS_CODE_DATA_TYPE_ID_GUID_H__\r
\r
-#include <PiPei.h>\r
#include <Framework/StatusCode.h>\r
-#include <Framework/DataHubRecords.h>\r
#include <Protocol/DebugSupport.h>\r
#include <Protocol/FrameworkHii.h>\r
\r
#pragma pack(1)\r
\r
typedef enum {\r
- EfiStringAscii,\r
- EfiStringUnicode,\r
- EfiStringToken\r
+ EfiStringAscii, ///< A NULL-terminated ASCII string.\r
+ EfiStringUnicode, ///< A double NULL-terminated Unicode string.\r
+ EfiStringToken ///< An EFI_STATUS_CODE_STRING_TOKEN representing the string. \r
+ ///< The actual string can be obtained by querying the HII Database.\r
} EFI_STRING_TYPE;\r
\r
typedef struct {\r
- FRAMEWORK_EFI_HII_HANDLE Handle;\r
- STRING_REF Token;\r
+ FRAMEWORK_EFI_HII_HANDLE Handle; ///< The HII handle of the string pack, which can be\r
+ ///< used to retrieve the string. It is a dynamic value\r
+ ///< that may not be the same for different boots.\r
+ STRING_REF Token; ///< When combined with the HII handle, the string \r
+ ///< token can be used to retrieve the string.\r
+\r
} EFI_STATUS_CODE_STRING_TOKEN;\r
\r
typedef union {\r
- CHAR8 *Ascii;\r
- CHAR16 *Unicode;\r
- EFI_STATUS_CODE_STRING_TOKEN Hii;\r
+ CHAR8 *Ascii; ///< ASCII formatted string.\r
+ CHAR16 *Unicode; ///< Unicode formatted string.\r
+ EFI_STATUS_CODE_STRING_TOKEN Hii; ///< HII handle/token pair.\r
} EFI_STATUS_CODE_STRING;\r
\r
typedef struct {\r
- EFI_STATUS_CODE_DATA DataHeader;\r
- EFI_STRING_TYPE StringType;\r
- EFI_STATUS_CODE_STRING String;\r
+ EFI_STATUS_CODE_DATA DataHeader; ///< The data header identifying the data.\r
+ EFI_STRING_TYPE StringType; ///< Specifies if the string is ASCII or Unicode.\r
+ EFI_STATUS_CODE_STRING String; ///< A pointer to a null-terminated ASCII or Unicode string.\r
} EFI_STATUS_CODE_STRING_DATA;\r
#pragma pack()\r
\r
EFI_HANDLE Handle;\r
} EFI_DEVICE_HANDLE_EXTENDED_DATA;\r
\r
-\r
+///\r
+/// Extended data about the device path, which is used for many errors and \r
+/// progress codes to point to the device.\r
+///\r
typedef struct {\r
EFI_STATUS_CODE_DATA DataHeader;\r
UINT8 *DevicePath;\r
} EFI_DEVICE_PATH_EXTENDED_DATA;\r
\r
+///\r
+/// This structure defines extended data describing a PCI resource allocation error.\r
+///\r
typedef struct {\r
EFI_STATUS_CODE_DATA DataHeader;\r
UINT32 Bar;\r
///\r
/// The error syndrome, vendor-specific ECC syndrome, or CRC data associated with \r
/// the error. If unknown, should be initialized to 0.\r
+ /// Inconsistent with specification here: \r
+ /// This field in StatusCodes spec0.9 is defined as UINT32, keep code unchanged.\r
///\r
UINTN Syndrome;\r
///\r
///\r
#define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff\r
\r
-\r
-\r
-\r
-//\r
-// Debug Assert Data. This is part of Status Code Specification\r
-//\r
-#define EFI_STATUS_CODE_DATA_TYPE_ASSERT_GUID \\r
- { 0xDA571595, 0x4D99, 0x487C, { 0x82, 0x7C, 0x26, 0x22, 0x67, 0x7D, 0x33, 0x07 } }\r
-\r
-\r
-extern EFI_GUID gEfiStatusCodeDataTypeAssertGuid;\r
-\r
-//\r
-// Debug DataType defintions. User Defined Data Types.\r
-//\r
-#define EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID \\r
- { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xb9 } }\r
-\r
-extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid;\r
-\r
-//\r
-// Progress Code. User Defined Data Type Guid.\r
-//\r
-#define EFI_STATUS_CODE_DATA_TYPE_ERROR_GUID \\r
- { 0xAB359CE3, 0x99B3, 0xAE18, { 0xC8, 0x9D, 0x95, 0xD3, 0xB0, 0x72, 0xE1, 0x9B } }\r
-\r
-extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid;\r
-\r
-//\r
-// Progress Code. User Defined Data Type Guid.\r
-//\r
-#define EFI_STATUS_CODE_DATA_TYPE_PROGRESS_CODE_GUID \\r
- { 0xA356AB39, 0x35C4, 0x35DA, { 0xB3, 0x7A, 0xF8, 0xEA, 0x9E, 0x8B, 0x36, 0xA3 } }\r
-\r
-extern EFI_GUID gEfiStatusCodeDataTypeProgressCodeGuid;\r
-\r
-\r
#endif\r