1 /*++
2 
3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution.  The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8 
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 
12 Module Name:
13 
14   DataHubSubClass.h
15 
16 Abstract:
17 
18   Definitions for data hub data records that contains a sub class header
19 
20 Revision History
21 
22 --*/
23 
24 #ifndef _DATA_HUB_SUBCLASS_H_
25 #define _DATA_HUB_SUBCLASS_H_
26 
27 //
28 // Sub Class Header type1
29 //
30 
31 #define EFI_SUBCLASS_INSTANCE_RESERVED       0
32 #define EFI_SUBCLASS_INSTANCE_NON_APPLICABLE 0xFFFF  //16 bit
33 
34 typedef struct {
35   UINT32    Version;
36   UINT32    HeaderSize;
37   UINT16    Instance;
38   UINT16    SubInstance;
39   UINT32    RecordType;
40 } EFI_SUBCLASS_TYPE1_HEADER;
41 
42 //
43 // EXP data
44 //
45 
46 typedef struct {
47   INT16     Value;
48   INT16     Exponent;
49 } EFI_EXP_BASE10_DATA;
50 
51 typedef struct {
52   UINT16    Value;
53   UINT16    Exponent;
54 } EFI_EXP_BASE2_DATA;
55 
56 //
57 // Inter link data that references another data record
58 //
59 
60 typedef struct {
61   EFI_GUID    ProducerName;
62   UINT16      Instance;
63   UINT16      SubInstance;
64 } EFI_INTER_LINK_DATA;
65 
66 
67 //
68 // String Token Definition
69 //
70 #define EFI_STRING_TOKEN    UINT16
71 
72 
73 #endif
74