#pragma pack(1)\r
\r
typedef enum {\r
+ ///\r
+ /// A NULL-terminated ASCII string.\r
+ ///\r
EfiStringAscii,\r
+ ///\r
+ /// A double NULL-terminated Unicode string.\r
+ ///\r
EfiStringUnicode,\r
+ ///\r
+ /// An EFI_STATUS_CODE_STRING_TOKEN representing the string. The actual string\r
+ /// can be obtained by querying the HII Database.\r
+ ///\r
EfiStringToken\r
} EFI_STRING_TYPE;\r
\r
typedef struct {\r
+ ///\r
+ /// The HII handle of the string pack, which can be used to retrieve the string. \r
+ /// It is a dynamic value that may not be the same for different boots.\r
+ ///\r
FRAMEWORK_EFI_HII_HANDLE Handle;\r
+ ///\r
+ /// When combined with the HII handle, the string token can be used to retrieve the\r
+ /// string. \r
+ ///\r
STRING_REF Token;\r
} EFI_STATUS_CODE_STRING_TOKEN;\r
\r
typedef union {\r
+ ///\r
+ /// ASCII formatted string.\r
+ ///\r
CHAR8 *Ascii;\r
+ ///\r
+ /// Unicode formatted string.\r
+ ///\r
CHAR16 *Unicode;\r
+ ///\r
+ /// HII handle/token pair.\r
+ ///\r
EFI_STATUS_CODE_STRING_TOKEN Hii;\r
} EFI_STATUS_CODE_STRING;\r
\r
typedef struct {\r
+ ///\r
+ /// The data header identifying the data. The HeaderSize should be sizeof\r
+ /// (EFI_STATUS_CODE_DATA).\r
+ /// The Size should be sizeof(EFI_STATUS_CODE_STRING_DATA) - HeaderSize.\r
+ /// The Type should be EFI_STATUS_CODE_DATA_TYPE_STRING_GUID.\r
+ ///\r
EFI_STATUS_CODE_DATA DataHeader;\r
+ ///\r
+ /// Specifies if the string is ASCII or Unicode.\r
+ ///\r
EFI_STRING_TYPE StringType;\r
+ ///\r
+ /// A pointer to a null-terminated ASCII or Unicode string.\r
+ ///\r
EFI_STATUS_CODE_STRING String;\r
} EFI_STATUS_CODE_STRING_DATA;\r
#pragma pack()\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
#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