]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Compatibility/SmmControl2OnSmmControlThunk/SmmControl2OnSmmControlThunk.h
Update code to match EDKII coding style.
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / SmmControl2OnSmmControlThunk / SmmControl2OnSmmControlThunk.h
CommitLineData
9e620719 1/** @file\r
2 Include file for SMM Control2 Protocol on SMM Control Protocol Thunk driver.\r
3 \r
26a76fbc 4 Copyright (c) 2009 - 2010, Intel Corporation\r
9e620719 5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#ifndef _SMM_CONTROL2_ON_SMM_CONTROL_THUNK_H_\r
16#define _SMM_CONTROL2_ON_SMM_CONTROL_THUNK_H_\r
17\r
18#include <PiDxe.h>\r
19#include <FrameworkSmm.h>\r
20#include <Library/DebugLib.h>\r
21#include <Library/UefiBootServicesTableLib.h>\r
22#include <Library/UefiDriverEntryPoint.h>\r
23#include <Library/IoLib.h>\r
24#include <Protocol/SmmControl2.h>\r
25#include <Protocol/SmmControl.h>\r
26\r
27/**\r
28 Invokes SMI activation from either the preboot or runtime environment.\r
29\r
30 This function generates an SMI.\r
31\r
32 @param[in] This The EFI_SMM_CONTROL2_PROTOCOL instance.\r
26a76fbc
LG
33 @param[in, out] CommandPort The value written to the command port.\r
34 @param[in, out] DataPort The value written to the data port.\r
9e620719 35 @param[in] Periodic Optional mechanism to engender a periodic stream.\r
36 @param[in] ActivationInterval Optional parameter to repeat at this period one\r
37 time or, if the Periodic Boolean is set, periodically.\r
38\r
39 @retval EFI_SUCCESS The SMI/PMI has been engendered.\r
40 @retval EFI_DEVICE_ERROR The timing is unsupported.\r
41 @retval EFI_INVALID_PARAMETER The activation period is unsupported.\r
42 @retval EFI_NOT_STARTED The SMM base service has not been initialized.\r
43**/\r
44EFI_STATUS\r
45EFIAPI\r
46SmmControl2Trigger (\r
47 IN CONST EFI_SMM_CONTROL2_PROTOCOL *This,\r
48 IN OUT UINT8 *CommandPort OPTIONAL,\r
49 IN OUT UINT8 *DataPort OPTIONAL,\r
50 IN BOOLEAN Periodic OPTIONAL,\r
51 IN UINTN ActivationInterval OPTIONAL\r
52 );\r
53\r
54/**\r
55 Clears any system state that was created in response to the Trigger() call.\r
56\r
57 This function acknowledges and causes the deassertion of the SMI activation source.\r
58\r
59 @param[in] This The EFI_SMM_CONTROL2_PROTOCOL instance.\r
60 @param[in] Periodic Optional parameter to repeat at this period one time\r
61\r
62 @retval EFI_SUCCESS The SMI/PMI has been engendered.\r
63 @retval EFI_DEVICE_ERROR The source could not be cleared.\r
64 @retval EFI_INVALID_PARAMETER The service did not support the Periodic input argument.\r
65**/\r
66EFI_STATUS\r
67EFIAPI\r
68SmmControl2Clear (\r
69 IN CONST EFI_SMM_CONTROL2_PROTOCOL *This,\r
70 IN BOOLEAN Periodic OPTIONAL\r
71 );\r
72\r
73#endif \r