]>
Commit | Line | Data |
---|---|---|
54b330a4 DB |
1 | /** @file\r |
2 | Protocol of Ipmi for both SMS and SMM.\r | |
3 | \r | |
4 | Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>\r | |
9d510e61 | 5 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
54b330a4 DB |
6 | \r |
7 | **/\r | |
8 | \r | |
9 | #ifndef _IPMI_PROTOCOL_H_\r | |
10 | #define _IPMI_PROTOCOL_H_\r | |
11 | \r | |
12 | typedef struct _IPMI_PROTOCOL IPMI_PROTOCOL;\r | |
13 | \r | |
14 | #define IPMI_PROTOCOL_GUID \\r | |
15 | { \\r | |
16 | 0xdbc6381f, 0x5554, 0x4d14, 0x8f, 0xfd, 0x76, 0xd7, 0x87, 0xb8, 0xac, 0xbf \\r | |
17 | }\r | |
18 | \r | |
19 | #define SMM_IPMI_PROTOCOL_GUID \\r | |
20 | { \\r | |
21 | 0x5169af60, 0x8c5a, 0x4243, 0xb3, 0xe9, 0x56, 0xc5, 0x6d, 0x18, 0xee, 0x26 \\r | |
22 | }\r | |
23 | \r | |
24 | \r | |
25 | /**\r | |
26 | This service enables submitting commands via Ipmi.\r | |
27 | \r | |
28 | @param[in] This This point for IPMI_PROTOCOL structure.\r | |
29 | @param[in] NetFunction Net function of the command.\r | |
30 | @param[in] Command IPMI Command.\r | |
31 | @param[in] RequestData Command Request Data.\r | |
32 | @param[in] RequestDataSize Size of Command Request Data.\r | |
33 | @param[out] ResponseData Command Response Data. The completion code is the first byte of response data.\r | |
34 | @param[in, out] ResponseDataSize Size of Command Response Data.\r | |
35 | \r | |
36 | @retval EFI_SUCCESS The command byte stream was successfully submit to the device and a response was successfully received.\r | |
37 | @retval EFI_NOT_FOUND The command was not successfully sent to the device or a response was not successfully received from the device.\r | |
38 | @retval EFI_NOT_READY Ipmi Device is not ready for Ipmi command access.\r | |
39 | @retval EFI_DEVICE_ERROR Ipmi Device hardware error.\r | |
40 | @retval EFI_TIMEOUT The command time out.\r | |
41 | @retval EFI_UNSUPPORTED The command was not successfully sent to the device.\r | |
42 | @retval EFI_OUT_OF_RESOURCES The resource allcation is out of resource or data size error.\r | |
43 | **/\r | |
44 | typedef\r | |
45 | EFI_STATUS\r | |
46 | (EFIAPI *IPMI_SUBMIT_COMMAND) (\r | |
47 | IN IPMI_PROTOCOL *This,\r | |
48 | IN UINT8 NetFunction,\r | |
49 | IN UINT8 Command,\r | |
50 | IN UINT8 *RequestData,\r | |
51 | IN UINT32 RequestDataSize,\r | |
52 | OUT UINT8 *ResponseData,\r | |
53 | IN OUT UINT32 *ResponseDataSize\r | |
54 | );\r | |
55 | \r | |
56 | //\r | |
57 | // IPMI COMMAND PROTOCOL\r | |
58 | //\r | |
59 | struct _IPMI_PROTOCOL{\r | |
60 | IPMI_SUBMIT_COMMAND IpmiSubmitCommand;\r | |
61 | };\r | |
62 | \r | |
63 | extern EFI_GUID gIpmiProtocolGuid;\r | |
64 | extern EFI_GUID gSmmIpmiProtocolGuid;\r | |
65 | \r | |
66 | #endif\r |