1 /** @file
2   GUID used to identify Data Hub records logged by Status Code Protocol.
3 
4 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
9 
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 #ifndef __DATA_HUB_STATUS_CODE_RECORD_H__
16 #define __DATA_HUB_STATUS_CODE_RECORD_H__
17 
18 ///
19 /// The Global ID used to identify a structure of type DATA_HUB_STATUS_CODE_DATA_RECORD.
20 ///
21 #define EFI_DATA_HUB_STATUS_CODE_RECORD_GUID \
22   { \
23     0xd083e94c, 0x6560, 0x42e4, {0xb6, 0xd4, 0x2d, 0xf7, 0x5a, 0xdf, 0x6a, 0x2a } \
24   }
25 
26 ///
27 /// The Data Hub data record that is used to store all the parameters passed into
28 /// the ReportStatusCode() service of the EFI_STATUS_CODE_PROTOCOL.
29 ///
30 typedef struct {
31   ///
32   /// Status Code type to be reported.
33   ///
34   EFI_STATUS_CODE_TYPE   CodeType;
35 
36   ///
37   /// An operation, plus value information about the class and subclass, used to
38   /// classify the hardware and software entity.
39   ///
40   EFI_STATUS_CODE_VALUE  Value;
41 
42   ///
43   /// The enumeration of a hardware or software entity within
44   /// the system.  Valid instance numbers start with 1.
45   ///
46   UINT32                 Instance;
47 
48   ///
49   /// Identify the caller.
50   ///
51   EFI_GUID               CallerId;
52 
53   ///
54   /// Additional status code data.
55   ///
56   EFI_STATUS_CODE_DATA   Data;
57 } DATA_HUB_STATUS_CODE_DATA_RECORD;
58 
59 extern EFI_GUID gEfiDataHubStatusCodeRecordGuid;
60 
61 #endif
62