]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Framework/Protocol/SmmControl/SmmControl.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Protocol / SmmControl / SmmControl.h
CommitLineData
3eb9473e 1/*++\r
2\r
f57387d5
HT
3Copyright (c) 1999 - 2002, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials\r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12\r
13Module Name:\r
14\r
15 SmmControl.h\r
16\r
17Abstract:\r
18\r
19 This file defines SMM Control abstraction protocol defined \r
20 by the SMM CIS.\r
21\r
22--*/\r
23\r
24#ifndef _SMM_CONTROL_H_\r
25#define _SMM_CONTROL_H_\r
26\r
27EFI_FORWARD_DECLARATION (EFI_SMM_CONTROL_PROTOCOL);\r
28\r
29#define EFI_SMM_CONTROL_PROTOCOL_GUID \\r
30 { \\r
7ccf38a3 31 0x8d12e231, 0xc667, 0x4fd1, {0x98, 0xf2, 0x24, 0x49, 0xa7, 0xe7, 0xb2, 0xe5} \\r
3eb9473e 32 }\r
33\r
34//\r
35// SMM Control specification constant and types\r
36//\r
37// typedef EFI_SMM_PERIOD UINTN\r
38//\r
39// SMM Access specification Data Structures\r
40//\r
41typedef struct {\r
42 UINT8 SmiTriggerRegister;\r
43 UINT8 SmiDataRegister;\r
44} EFI_SMM_CONTROL_REGISTER;\r
45\r
46typedef\r
47EFI_STATUS\r
48(EFIAPI *EFI_SMM_ACTIVATE) (\r
49 IN EFI_SMM_CONTROL_PROTOCOL * This,\r
50 IN OUT INT8 *ArgumentBuffer OPTIONAL,\r
51 IN OUT UINTN *ArgumentBufferSize OPTIONAL,\r
52 IN BOOLEAN Periodic OPTIONAL,\r
53 IN UINTN ActivationInterval OPTIONAL\r
54 );\r
55\r
56typedef\r
57EFI_STATUS\r
58(EFIAPI *EFI_SMM_DEACTIVATE) (\r
59 IN EFI_SMM_CONTROL_PROTOCOL * This,\r
60 IN BOOLEAN Periodic OPTIONAL\r
61 );\r
62\r
63typedef\r
64EFI_STATUS\r
65(EFIAPI *EFI_SMM_GET_REGISTER_INFO) (\r
66 IN EFI_SMM_CONTROL_PROTOCOL * This,\r
67 IN OUT EFI_SMM_CONTROL_REGISTER * SmiRegister\r
68 );\r
69\r
5d46191d 70struct _EFI_SMM_CONTROL_PROTOCOL {\r
3eb9473e 71 EFI_SMM_ACTIVATE Trigger;\r
72 EFI_SMM_DEACTIVATE Clear;\r
73 EFI_SMM_GET_REGISTER_INFO GetRegisterInfo;\r
74 UINTN MinimumTriggerPeriod;\r
5d46191d 75};\r
3eb9473e 76\r
77extern EFI_GUID gEfiSmmControlProtocolGuid;\r
78\r
79#endif\r