]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Framework/Protocol/SmmControl/SmmControl.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Protocol / SmmControl / SmmControl.h
1 /*++
2
3 Copyright (c) 1999 - 2002, 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
13 Module Name:
14
15 SmmControl.h
16
17 Abstract:
18
19 This file defines SMM Control abstraction protocol defined
20 by the SMM CIS.
21
22 --*/
23
24 #ifndef _SMM_CONTROL_H_
25 #define _SMM_CONTROL_H_
26
27 EFI_FORWARD_DECLARATION (EFI_SMM_CONTROL_PROTOCOL);
28
29 #define EFI_SMM_CONTROL_PROTOCOL_GUID \
30 { \
31 0x8d12e231, 0xc667, 0x4fd1, {0x98, 0xf2, 0x24, 0x49, 0xa7, 0xe7, 0xb2, 0xe5} \
32 }
33
34 //
35 // SMM Control specification constant and types
36 //
37 // typedef EFI_SMM_PERIOD UINTN
38 //
39 // SMM Access specification Data Structures
40 //
41 typedef struct {
42 UINT8 SmiTriggerRegister;
43 UINT8 SmiDataRegister;
44 } EFI_SMM_CONTROL_REGISTER;
45
46 typedef
47 EFI_STATUS
48 (EFIAPI *EFI_SMM_ACTIVATE) (
49 IN EFI_SMM_CONTROL_PROTOCOL * This,
50 IN OUT INT8 *ArgumentBuffer OPTIONAL,
51 IN OUT UINTN *ArgumentBufferSize OPTIONAL,
52 IN BOOLEAN Periodic OPTIONAL,
53 IN UINTN ActivationInterval OPTIONAL
54 );
55
56 typedef
57 EFI_STATUS
58 (EFIAPI *EFI_SMM_DEACTIVATE) (
59 IN EFI_SMM_CONTROL_PROTOCOL * This,
60 IN BOOLEAN Periodic OPTIONAL
61 );
62
63 typedef
64 EFI_STATUS
65 (EFIAPI *EFI_SMM_GET_REGISTER_INFO) (
66 IN EFI_SMM_CONTROL_PROTOCOL * This,
67 IN OUT EFI_SMM_CONTROL_REGISTER * SmiRegister
68 );
69
70 struct _EFI_SMM_CONTROL_PROTOCOL {
71 EFI_SMM_ACTIVATE Trigger;
72 EFI_SMM_DEACTIVATE Clear;
73 EFI_SMM_GET_REGISTER_INFO GetRegisterInfo;
74 UINTN MinimumTriggerPeriod;
75 };
76
77 extern EFI_GUID gEfiSmmControlProtocolGuid;
78
79 #endif