]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Include/IndustryStandard/AlertStandardFormatTable.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Include / IndustryStandard / AlertStandardFormatTable.h
1 /*++
2
3 Copyright (c) 2007, 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 AlertStandardFormatTable.h
15
16 Abstract:
17
18 ACPI Alert Standard Format Description Table ASF! as described
19 in the ASF2.0 Specification
20
21 --*/
22
23 #ifndef _ALERT_STANDARD_FORMAT_TABLE_H
24 #define _ALERT_STANDARD_FORMAT_TABLE_H
25
26 #include "Acpi2_0.h"
27
28 //
29 // Ensure proper structure formats
30 //
31 #pragma pack (1)
32
33 //
34 // Information Record header that appears at the beginning of each record
35 //
36 typedef struct {
37 UINT8 Type;
38 UINT8 Reserved;
39 UINT16 RecordLength;
40 } EFI_ACPI_ASF_RECORD_HEADER;
41
42 //
43 // This structure contains information that identifies the system type
44 // and configuration
45 //
46 typedef struct {
47 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
48 UINT8 MinWatchDogResetValue;
49 UINT8 MinPollingInterval;
50 UINT16 SystemID;
51 UINT32 IANAManufactureID;
52 UINT8 FeatureFlags;
53 UINT8 Reserved[3];
54 } EFI_ACPI_ASF_INFO;
55
56 //
57 // Alert sensors definition
58 //
59 #define ASF_ALRT_SENSOR_ARRAY_LENGTH 36
60
61 typedef struct {
62 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
63 UINT8 AssertionEventBitMask;
64 UINT8 DeassertionEventBitMask;
65 UINT8 NumberOfAlerts;
66 UINT8 ArrayElementLength;
67 UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH];
68 } EFI_ACPI_ASF_ALRT;
69
70 //
71 // Alert Remote Control System Actions
72 //
73 #define ASF_RCTL_DEVICES_ARRAY_LENGTH 16
74 typedef struct {
75 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
76 UINT8 NumberOfControls;
77 UINT8 ArrayElementLength;
78 UINT16 RctlReserved;
79 UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH];
80 } EFI_ACPI_ASF_RCTL;
81
82 //
83 // Remote Control Capabilities
84 //
85 typedef struct {
86 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
87 UINT8 RemoteControlCapabilities[7];
88 UINT8 RMCPCompletionCode;
89 UINT32 RMCPIANA;
90 UINT8 RMCPSpecialCommand;
91 UINT8 RMCPSpecialCommandParameter[2];
92 UINT8 RMCPBootOptions[2];
93 UINT8 RMCPOEMParameters[2];
94 } EFI_ACPI_ASF_RMCP;
95
96 //
97 // SMBus Devices with fixed addresses
98 //
99 #define ASF_ADDR_DEVICE_ARRAY_LENGTH 16
100 typedef struct {
101 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
102 UINT8 SEEPROMAddress;
103 UINT8 NumberOfDevices;
104 UINT8 FixedSmbusAddresses[ASF_ADDR_DEVICE_ARRAY_LENGTH];
105 } EFI_ACPI_ASF_ADDR;
106
107 typedef struct {
108 EFI_ACPI_DESCRIPTION_HEADER Header;
109 EFI_ACPI_ASF_INFO AsfInfo;
110 EFI_ACPI_ASF_ALRT AsfAlert;
111 EFI_ACPI_ASF_RCTL AsfRctl;
112 EFI_ACPI_ASF_RMCP AsfRmcp;
113 EFI_ACPI_ASF_ADDR AsfAddr;
114 } EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE;
115
116 //
117 // "ASF!" ASF Description Table Signature
118 //
119 #define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE 0x21465341
120
121 #pragma pack ()
122
123 #endif // _ALERT_STANDARD_FORMAT_TABLE_H