]>
Commit | Line | Data |
---|---|---|
3cbfba02 DW |
1 | /**\r |
2 | **/\r | |
3 | /**\r | |
4 | \r | |
5 | Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved\r | |
6 | \r | |
7 | This program and the accompanying materials are licensed and made available under\r | |
8 | the terms and conditions of the BSD License that accompanies this distribution.\r | |
9 | The full text of the license may be found at\r | |
10 | http://opensource.org/licenses/bsd-license.php.\r | |
11 | \r | |
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
14 | \r | |
15 | \r | |
16 | \r | |
17 | @file\r | |
18 | PchReset.h\r | |
19 | \r | |
20 | @brief\r | |
21 | PCH Reset Protocol\r | |
22 | \r | |
23 | **/\r | |
24 | #ifndef _PCH_RESET_H_\r | |
25 | #define _PCH_RESET_H_\r | |
26 | \r | |
27 | \r | |
28 | //\r | |
29 | #define PCH_RESET_PROTOCOL_GUID \\r | |
30 | { \\r | |
31 | 0xdb63592c, 0xb8cc, 0x44c8, 0x91, 0x8c, 0x51, 0xf5, 0x34, 0x59, 0x8a, 0x5a \\r | |
32 | }\r | |
33 | #define PCH_RESET_CALLBACK_PROTOCOL_GUID \\r | |
34 | { \\r | |
35 | 0x3a3300ab, 0xc929, 0x487d, 0xab, 0x34, 0x15, 0x9b, 0xc1, 0x35, 0x62, 0xc0 \\r | |
36 | }\r | |
37 | extern EFI_GUID gPchResetProtocolGuid;\r | |
38 | extern EFI_GUID gPchResetCallbackProtocolGuid;\r | |
39 | \r | |
40 | ///\r | |
41 | /// Forward reference for ANSI C compatibility\r | |
42 | ///\r | |
43 | typedef struct _PCH_RESET_PROTOCOL PCH_RESET_PROTOCOL;\r | |
44 | \r | |
45 | typedef struct _PCH_RESET_CALLBACK_PROTOCOL PCH_RESET_CALLBACK_PROTOCOL;\r | |
46 | \r | |
47 | ///\r | |
48 | /// Related Definitions\r | |
49 | ///\r | |
50 | ///\r | |
51 | /// PCH Reset Types\r | |
52 | ///\r | |
53 | typedef enum {\r | |
54 | ColdReset,\r | |
55 | WarmReset,\r | |
56 | ShutdownReset,\r | |
57 | PowerCycleReset,\r | |
58 | GlobalReset,\r | |
59 | GlobalResetWithEc\r | |
60 | } PCH_RESET_TYPE;\r | |
61 | \r | |
62 | ///\r | |
63 | /// Member functions\r | |
64 | ///\r | |
65 | typedef\r | |
66 | EFI_STATUS\r | |
67 | (EFIAPI *PCH_RESET) (\r | |
68 | IN PCH_RESET_PROTOCOL * This,\r | |
69 | IN PCH_RESET_TYPE PchResetType\r | |
70 | )\r | |
71 | /**\r | |
72 | \r | |
73 | @brief\r | |
74 | Execute Pch Reset from the host controller.\r | |
75 | \r | |
76 | @param[in] This Pointer to the PCH_RESET_PROTOCOL instance.\r | |
77 | @param[in] PchResetType Pch Reset Types which includes ColdReset, WarmReset, ShutdownReset,\r | |
78 | PowerCycleReset, GlobalReset, GlobalResetWithEc\r | |
79 | \r | |
80 | @retval EFI_SUCCESS Successfully completed.\r | |
81 | @retval EFI_INVALID_PARAMETER If ResetType is invalid.\r | |
82 | \r | |
83 | **/\r | |
84 | ;\r | |
85 | \r | |
86 | typedef\r | |
87 | EFI_STATUS\r | |
88 | (EFIAPI *PCH_RESET_CALLBACK) (\r | |
89 | IN PCH_RESET_TYPE PchResetType\r | |
90 | )\r | |
91 | /**\r | |
92 | \r | |
93 | @brief\r | |
94 | Execute call back function for Pch Reset.\r | |
95 | \r | |
96 | @param[in] PchResetType Pch Reset Types which includes PowerCycle, Globalreset.\r | |
97 | \r | |
98 | @retval EFI_SUCCESS The callback function has been done successfully\r | |
99 | @retval EFI_NOT_FOUND Failed to find Pch Reset Callback protocol. Or, none of\r | |
100 | callback protocol is installed.\r | |
101 | @retval Others Do not do any reset from PCH\r | |
102 | \r | |
103 | **/\r | |
104 | ;\r | |
105 | \r | |
106 | ///\r | |
107 | /// Interface structure for the Pch Reset Protocol\r | |
108 | ///\r | |
109 | struct _PCH_RESET_PROTOCOL {\r | |
110 | PCH_RESET Reset;\r | |
111 | };\r | |
112 | \r | |
113 | ///\r | |
114 | /// PCH_RESET_CALLBACK_PROTOCOL Structure Definition\r | |
115 | ///\r | |
116 | struct _PCH_RESET_CALLBACK_PROTOCOL {\r | |
117 | PCH_RESET_CALLBACK ResetCallback;\r | |
118 | };\r | |
119 | \r | |
120 | #endif\r |