]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / IpmiNetFnApp.h
CommitLineData
e59a797f
DB
1/** @file\r
2 IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
3\r
4 This file contains all NetFn App commands, including:\r
5 IPM Device "Global" Commands (Chapter 20)\r
6 Firmware Firewall & Command Discovery Commands (Chapter 21)\r
7 BMC Watchdog Timer Commands (Chapter 27)\r
8 IPMI Messaging Support Commands (Chapter 22)\r
9 RMCP+ Support and Payload Commands (Chapter 24)\r
10\r
11 See IPMI specification, Appendix G, Command Assignments\r
12 and Appendix H, Sub-function Assignments.\r
13\r
25517f7c 14 Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>\r
cabcc685 15 Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>\r
9344f092 16 SPDX-License-Identifier: BSD-2-Clause-Patent\r
e59a797f
DB
17**/\r
18\r
19#ifndef _IPMI_NET_FN_APP_H_\r
20#define _IPMI_NET_FN_APP_H_\r
21\r
22#pragma pack(1)\r
23//\r
24// Net function definition for App command\r
25//\r
26#define IPMI_NETFN_APP 0x06\r
27\r
28//\r
29// Below is Definitions for IPM Device "Global" Commands (Chapter 20)\r
30//\r
31\r
32//\r
33// Definitions for Get Device ID command\r
34//\r
2f88bd3a 35#define IPMI_APP_GET_DEVICE_ID 0x1\r
e59a797f
DB
36\r
37//\r
38// Constants and Structure definitions for "Get Device ID" command to follow here\r
39//\r
aeb6f576
HW
40typedef union {\r
41 struct {\r
2f88bd3a
MK
42 UINT8 DeviceRevision : 4;\r
43 UINT8 Reserved : 3;\r
44 UINT8 DeviceSdr : 1;\r
aeb6f576 45 } Bits;\r
2f88bd3a 46 UINT8 Uint8;\r
aeb6f576
HW
47} IPMI_GET_DEVICE_ID_DEVICE_REV;\r
48\r
49typedef union {\r
50 struct {\r
2f88bd3a
MK
51 UINT8 MajorFirmwareRev : 7;\r
52 UINT8 UpdateMode : 1;\r
aeb6f576 53 } Bits;\r
2f88bd3a 54 UINT8 Uint8;\r
aeb6f576
HW
55} IPMI_GET_DEVICE_ID_FIRMWARE_REV_1;\r
56\r
57typedef union {\r
58 struct {\r
2f88bd3a
MK
59 UINT8 SensorDeviceSupport : 1;\r
60 UINT8 SdrRepositorySupport : 1;\r
61 UINT8 SelDeviceSupport : 1;\r
62 UINT8 FruInventorySupport : 1;\r
63 UINT8 IpmbMessageReceiver : 1;\r
64 UINT8 IpmbMessageGenerator : 1;\r
65 UINT8 BridgeSupport : 1;\r
66 UINT8 ChassisSupport : 1;\r
aeb6f576
HW
67 } Bits;\r
68 UINT8 Uint8;\r
69} IPMI_GET_DEVICE_ID_DEVICE_SUPPORT;\r
70\r
e59a797f 71typedef struct {\r
2f88bd3a
MK
72 UINT8 CompletionCode;\r
73 UINT8 DeviceId;\r
74 IPMI_GET_DEVICE_ID_DEVICE_REV DeviceRevision;\r
75 IPMI_GET_DEVICE_ID_FIRMWARE_REV_1 FirmwareRev1;\r
76 UINT8 MinorFirmwareRev;\r
77 UINT8 SpecificationVersion;\r
78 IPMI_GET_DEVICE_ID_DEVICE_SUPPORT DeviceSupport;\r
79 UINT8 ManufacturerId[3];\r
80 UINT16 ProductId;\r
81 UINT32 AuxFirmwareRevInfo;\r
aeff1d6e 82} IPMI_GET_DEVICE_ID_RESPONSE;\r
e59a797f 83\r
e59a797f
DB
84//\r
85// Definitions for Cold Reset command\r
86//\r
87#define IPMI_APP_COLD_RESET 0x2\r
88\r
89//\r
90// Constants and Structure definitions for "Cold Reset" command to follow here\r
91//\r
92\r
93//\r
94// Definitions for Warm Reset command\r
95//\r
96#define IPMI_APP_WARM_RESET 0x3\r
97\r
98//\r
99// Constants and Structure definitions for "Warm Reset" command to follow here\r
100//\r
101\r
102//\r
103// Definitions for Get Self Results command\r
104//\r
105#define IPMI_APP_GET_SELFTEST_RESULTS 0x4\r
106\r
107//\r
aeff1d6e 108// Constants and Structure definitions for "Get Self Test Results" command to follow here\r
e59a797f
DB
109//\r
110typedef struct {\r
2f88bd3a
MK
111 UINT8 CompletionCode;\r
112 UINT8 Result;\r
113 UINT8 Param;\r
aeff1d6e 114} IPMI_SELF_TEST_RESULT_RESPONSE;\r
e59a797f 115\r
2f88bd3a
MK
116#define IPMI_APP_SELFTEST_NO_ERROR 0x55\r
117#define IPMI_APP_SELFTEST_NOT_IMPLEMENTED 0x56\r
118#define IPMI_APP_SELFTEST_ERROR 0x57\r
119#define IPMI_APP_SELFTEST_FATAL_HW_ERROR 0x58\r
120#define IPMI_APP_SELFTEST_INACCESSIBLE_SEL 0x80\r
121#define IPMI_APP_SELFTEST_INACCESSIBLE_SDR 0x40\r
122#define IPMI_APP_SELFTEST_INACCESSIBLE_FRU 0x20\r
123#define IPMI_APP_SELFTEST_IPMB_SIGNAL_FAIL 0x10\r
124#define IPMI_APP_SELFTEST_SDR_REPOSITORY_EMPTY 0x08\r
125#define IPMI_APP_SELFTEST_FRU_CORRUPT 0x04\r
126#define IPMI_APP_SELFTEST_FW_BOOTBLOCK_CORRUPT 0x02\r
127#define IPMI_APP_SELFTEST_FW_CORRUPT 0x01\r
e59a797f
DB
128\r
129//\r
130// Definitions for Manufacturing Test ON command\r
131//\r
2f88bd3a 132#define IPMI_APP_MANUFACTURING_TEST_ON 0x5\r
e59a797f
DB
133\r
134//\r
135// Constants and Structure definitions for "Manufacturing Test ON" command to follow here\r
136//\r
137\r
138//\r
139// Definitions for Set ACPI Power State command\r
140//\r
2f88bd3a 141#define IPMI_APP_SET_ACPI_POWERSTATE 0x6\r
e59a797f
DB
142\r
143//\r
144// Constants and Structure definitions for "Set ACPI Power State" command to follow here\r
145//\r
25517f7c
HW
146\r
147//\r
148// Definitions for System Power State\r
149//\r
150// Working\r
2f88bd3a
MK
151#define IPMI_SYSTEM_POWER_STATE_S0_G0 0x0\r
152#define IPMI_SYSTEM_POWER_STATE_S1 0x1\r
153#define IPMI_SYSTEM_POWER_STATE_S2 0x2\r
154#define IPMI_SYSTEM_POWER_STATE_S3 0x3\r
155#define IPMI_SYSTEM_POWER_STATE_S4 0x4\r
25517f7c 156// Soft off\r
2f88bd3a 157#define IPMI_SYSTEM_POWER_STATE_S5_G2 0x5\r
25517f7c 158// Sent when message source cannot differentiate between S4 and S5\r
2f88bd3a 159#define IPMI_SYSTEM_POWER_STATE_S4_S5 0x6\r
25517f7c 160// Mechanical off\r
2f88bd3a 161#define IPMI_SYSTEM_POWER_STATE_G3 0x7\r
25517f7c 162// Sleeping - cannot differentiate between S1-S3\r
2f88bd3a 163#define IPMI_SYSTEM_POWER_STATE_SLEEPING 0x8\r
25517f7c
HW
164// Sleeping - cannot differentiate between S1-S4\r
165#define IPMI_SYSTEM_POWER_STATE_G1_SLEEPING 0x9\r
166// S5 entered by override\r
2f88bd3a
MK
167#define IPMI_SYSTEM_POWER_STATE_OVERRIDE 0xA\r
168#define IPMI_SYSTEM_POWER_STATE_LEGACY_ON 0x20\r
169#define IPMI_SYSTEM_POWER_STATE_LEGACY_OFF 0x21\r
170#define IPMI_SYSTEM_POWER_STATE_UNKNOWN 0x2A\r
171#define IPMI_SYSTEM_POWER_STATE_NO_CHANGE 0x7F\r
25517f7c
HW
172\r
173//\r
174// Definitions for Device Power State\r
175//\r
2f88bd3a
MK
176#define IPMI_DEVICE_POWER_STATE_D0 0x0\r
177#define IPMI_DEVICE_POWER_STATE_D1 0x1\r
178#define IPMI_DEVICE_POWER_STATE_D2 0x2\r
179#define IPMI_DEVICE_POWER_STATE_D3 0x3\r
180#define IPMI_DEVICE_POWER_STATE_UNKNOWN 0x2A\r
181#define IPMI_DEVICE_POWER_STATE_NO_CHANGE 0x7F\r
25517f7c 182\r
aeb6f576
HW
183typedef union {\r
184 struct {\r
2f88bd3a
MK
185 UINT8 PowerState : 7;\r
186 UINT8 StateChange : 1;\r
aeb6f576 187 } Bits;\r
2f88bd3a 188 UINT8 Uint8;\r
aeb6f576
HW
189} IPMI_ACPI_POWER_STATE;\r
190\r
e59a797f 191typedef struct {\r
2f88bd3a
MK
192 IPMI_ACPI_POWER_STATE SystemPowerState;\r
193 IPMI_ACPI_POWER_STATE DevicePowerState;\r
aeff1d6e 194} IPMI_SET_ACPI_POWER_STATE_REQUEST;\r
e59a797f
DB
195\r
196//\r
197// Definitions for Get ACPI Power State command\r
198//\r
2f88bd3a 199#define IPMI_APP_GET_ACPI_POWERSTATE 0x7\r
e59a797f
DB
200\r
201//\r
202// Constants and Structure definitions for "Get ACPI Power State" command to follow here\r
203//\r
204\r
205//\r
206// Definitions for Get Device GUID command\r
207//\r
2f88bd3a 208#define IPMI_APP_GET_DEVICE_GUID 0x8\r
e59a797f
DB
209\r
210//\r
211// Constants and Structure definitions for "Get Device GUID" command to follow here\r
212//\r
213//\r
214// Message structure definition for "Get Device Guid" IPMI command\r
215//\r
216typedef struct {\r
2f88bd3a
MK
217 UINT8 CompletionCode;\r
218 UINT8 Guid[16];\r
aeff1d6e 219} IPMI_GET_DEVICE_GUID_RESPONSE;\r
e59a797f
DB
220\r
221//\r
222// Below is Definitions for BMC Watchdog Timer Commands (Chapter 27)\r
223//\r
224\r
225//\r
226// Definitions for Reset WatchDog Timer command\r
227//\r
228#define IPMI_APP_RESET_WATCHDOG_TIMER 0x22\r
229\r
230//\r
25517f7c
HW
231// Definitions for Set WatchDog Timer command\r
232//\r
233#define IPMI_APP_SET_WATCHDOG_TIMER 0x24\r
234\r
235//\r
236// Constants and Structure definitions for "Set WatchDog Timer" command to follow here\r
237//\r
238\r
239//\r
240// Definitions for watchdog timer use\r
241//\r
242#define IPMI_WATCHDOG_TIMER_BIOS_FRB2 0x1\r
243#define IPMI_WATCHDOG_TIMER_BIOS_POST 0x2\r
244#define IPMI_WATCHDOG_TIMER_OS_LOADER 0x3\r
245#define IPMI_WATCHDOG_TIMER_SMS 0x4\r
246#define IPMI_WATCHDOG_TIMER_OEM 0x5\r
247\r
248//\r
249// Structure definition for timer Use\r
e59a797f 250//\r
aeb6f576
HW
251typedef union {\r
252 struct {\r
2f88bd3a
MK
253 UINT8 TimerUse : 3;\r
254 UINT8 Reserved : 3;\r
255 UINT8 TimerRunning : 1;\r
256 UINT8 TimerUseExpirationFlagLog : 1;\r
aeb6f576 257 } Bits;\r
2f88bd3a 258 UINT8 Uint8;\r
e59a797f
DB
259} IPMI_WATCHDOG_TIMER_USE;\r
260\r
261//\r
25517f7c 262// Definitions for watchdog timeout action\r
e59a797f 263//\r
25517f7c
HW
264#define IPMI_WATCHDOG_TIMER_ACTION_NO_ACTION 0x0\r
265#define IPMI_WATCHDOG_TIMER_ACTION_HARD_RESET 0x1\r
266#define IPMI_WATCHDOG_TIMER_ACTION_POWER_DONW 0x2\r
267#define IPMI_WATCHDOG_TIMER_ACTION_POWER_CYCLE 0x3\r
e59a797f
DB
268\r
269//\r
25517f7c
HW
270// Definitions for watchdog pre-timeout interrupt\r
271//\r
272#define IPMI_WATCHDOG_PRE_TIMEOUT_INTERRUPT_NONE 0x0\r
273#define IPMI_WATCHDOG_PRE_TIMEOUT_INTERRUPT_SMI 0x1\r
274#define IPMI_WATCHDOG_PRE_TIMEOUT_INTERRUPT_NMI 0x2\r
275#define IPMI_WATCHDOG_PRE_TIMEOUT_INTERRUPT_MESSAGING 0x3\r
276\r
277//\r
278// Structure definitions for Timer Actions\r
e59a797f 279//\r
aeb6f576
HW
280typedef union {\r
281 struct {\r
2f88bd3a
MK
282 UINT8 TimeoutAction : 3;\r
283 UINT8 Reserved1 : 1;\r
284 UINT8 PreTimeoutInterrupt : 3;\r
285 UINT8 Reserved2 : 1;\r
aeb6f576 286 } Bits;\r
2f88bd3a 287 UINT8 Uint8;\r
25517f7c
HW
288} IPMI_WATCHDOG_TIMER_ACTIONS;\r
289\r
290//\r
291// Bit definitions for Timer use expiration flags\r
292//\r
293#define IPMI_WATCHDOG_TIMER_EXPIRATION_FLAG_BIOS_FRB2 BIT1\r
294#define IPMI_WATCHDOG_TIMER_EXPIRATION_FLAG_BIOS_POST BIT2\r
295#define IPMI_WATCHDOG_TIMER_EXPIRATION_FLAG_OS_LOAD BIT3\r
296#define IPMI_WATCHDOG_TIMER_EXPIRATION_FLAG_SMS_OS BIT4\r
297#define IPMI_WATCHDOG_TIMER_EXPIRATION_FLAG_OEM BIT5\r
298\r
e59a797f 299typedef struct {\r
2f88bd3a
MK
300 IPMI_WATCHDOG_TIMER_USE TimerUse;\r
301 IPMI_WATCHDOG_TIMER_ACTIONS TimerActions;\r
302 UINT8 PretimeoutInterval;\r
303 UINT8 TimerUseExpirationFlagsClear;\r
304 UINT16 InitialCountdownValue;\r
aeff1d6e 305} IPMI_SET_WATCHDOG_TIMER_REQUEST;\r
e59a797f
DB
306\r
307//\r
308// Definitions for Get WatchDog Timer command\r
309//\r
310#define IPMI_APP_GET_WATCHDOG_TIMER 0x25\r
311\r
312//\r
313// Constants and Structure definitions for "Get WatchDog Timer" command to follow here\r
314//\r
315typedef struct {\r
2f88bd3a
MK
316 UINT8 CompletionCode;\r
317 IPMI_WATCHDOG_TIMER_USE TimerUse;\r
318 IPMI_WATCHDOG_TIMER_ACTIONS TimerActions;\r
319 UINT8 PretimeoutInterval;\r
320 UINT8 TimerUseExpirationFlagsClear;\r
321 UINT16 InitialCountdownValue;\r
322 UINT16 PresentCountdownValue;\r
aeff1d6e 323} IPMI_GET_WATCHDOG_TIMER_RESPONSE;\r
e59a797f
DB
324\r
325//\r
326// Below is Definitions for IPMI Messaging Support Commands (Chapter 22)\r
327//\r
328\r
329//\r
330// Definitions for Set BMC Global Enables command\r
331//\r
332#define IPMI_APP_SET_BMC_GLOBAL_ENABLES 0x2E\r
333\r
334//\r
335// Constants and Structure definitions for "Set BMC Global Enables " command to follow here\r
336//\r
aeb6f576
HW
337typedef union {\r
338 struct {\r
2f88bd3a
MK
339 UINT8 ReceiveMessageQueueInterrupt : 1;\r
340 UINT8 EventMessageBufferFullInterrupt : 1;\r
341 UINT8 EventMessageBuffer : 1;\r
342 UINT8 SystemEventLogging : 1;\r
343 UINT8 Reserved : 1;\r
344 UINT8 Oem0Enable : 1;\r
345 UINT8 Oem1Enable : 1;\r
346 UINT8 Oem2Enable : 1;\r
aeb6f576 347 } Bits;\r
2f88bd3a 348 UINT8 Uint8;\r
aeb6f576
HW
349} IPMI_BMC_GLOBAL_ENABLES;\r
350\r
25517f7c 351typedef struct {\r
2f88bd3a 352 IPMI_BMC_GLOBAL_ENABLES SetEnables;\r
25517f7c 353} IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST;\r
e59a797f
DB
354\r
355//\r
356// Definitions for Get BMC Global Enables command\r
357//\r
358#define IPMI_APP_GET_BMC_GLOBAL_ENABLES 0x2F\r
359\r
360//\r
361// Constants and Structure definitions for "Get BMC Global Enables " command to follow here\r
362//\r
25517f7c 363typedef struct {\r
2f88bd3a
MK
364 UINT8 CompletionCode;\r
365 IPMI_BMC_GLOBAL_ENABLES GetEnables;\r
25517f7c 366} IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE;\r
e59a797f
DB
367\r
368//\r
369// Definitions for Clear Message Flags command\r
370//\r
2f88bd3a 371#define IPMI_APP_CLEAR_MESSAGE_FLAGS 0x30\r
e59a797f
DB
372\r
373//\r
374// Constants and Structure definitions for "Clear Message Flags" command to follow here\r
375//\r
aeb6f576
HW
376typedef union {\r
377 struct {\r
2f88bd3a
MK
378 UINT8 ReceiveMessageQueue : 1;\r
379 UINT8 EventMessageBuffer : 1;\r
380 UINT8 Reserved1 : 1;\r
381 UINT8 WatchdogPerTimeoutInterrupt : 1;\r
382 UINT8 Reserved2 : 1;\r
383 UINT8 Oem0 : 1;\r
384 UINT8 Oem1 : 1;\r
385 UINT8 Oem2 : 1;\r
aeb6f576
HW
386 } Bits;\r
387 UINT8 Uint8;\r
388} IPMI_MESSAGE_FLAGS;\r
389\r
25517f7c 390typedef struct {\r
2f88bd3a 391 IPMI_MESSAGE_FLAGS ClearFlags;\r
25517f7c 392} IPMI_CLEAR_MESSAGE_FLAGS_REQUEST;\r
e59a797f
DB
393\r
394//\r
395// Definitions for Get Message Flags command\r
396//\r
2f88bd3a 397#define IPMI_APP_GET_MESSAGE_FLAGS 0x31\r
e59a797f
DB
398\r
399//\r
400// Constants and Structure definitions for "Get Message Flags" command to follow here\r
401//\r
25517f7c 402typedef struct {\r
2f88bd3a
MK
403 UINT8 CompletionCode;\r
404 IPMI_MESSAGE_FLAGS GetFlags;\r
25517f7c 405} IPMI_GET_MESSAGE_FLAGS_RESPONSE;\r
e59a797f
DB
406\r
407//\r
408// Definitions for Enable Message Channel Receive command\r
409//\r
410#define IPMI_APP_ENABLE_MESSAGE_CHANNEL_RECEIVE 0x32\r
411\r
412//\r
413// Constants and Structure definitions for "Enable Message Channel Receive" command to follow here\r
414//\r
415\r
416//\r
417// Definitions for Get Message command\r
418//\r
2f88bd3a 419#define IPMI_APP_GET_MESSAGE 0x33\r
e59a797f
DB
420\r
421//\r
422// Constants and Structure definitions for "Get Message" command to follow here\r
423//\r
aeb6f576
HW
424typedef union {\r
425 struct {\r
2f88bd3a
MK
426 UINT8 ChannelNumber : 4;\r
427 UINT8 InferredPrivilegeLevel : 4;\r
aeb6f576 428 } Bits;\r
2f88bd3a 429 UINT8 Uint8;\r
aeb6f576
HW
430} IPMI_GET_MESSAGE_CHANNEL_NUMBER;\r
431\r
25517f7c 432typedef struct {\r
2f88bd3a
MK
433 UINT8 CompletionCode;\r
434 IPMI_GET_MESSAGE_CHANNEL_NUMBER ChannelNumber;\r
435 UINT8 MessageData[0];\r
25517f7c 436} IPMI_GET_MESSAGE_RESPONSE;\r
e59a797f
DB
437\r
438//\r
439// Definitions for Send Message command\r
440//\r
441#define IPMI_APP_SEND_MESSAGE 0x34\r
442\r
443//\r
444// Constants and Structure definitions for "Send Message" command to follow here\r
445//\r
aeb6f576
HW
446typedef union {\r
447 struct {\r
2f88bd3a
MK
448 UINT8 ChannelNumber : 4;\r
449 UINT8 Authentication : 1;\r
450 UINT8 Encryption : 1;\r
451 UINT8 Tracking : 2;\r
aeb6f576 452 } Bits;\r
2f88bd3a 453 UINT8 Uint8;\r
aeb6f576
HW
454} IPMI_SEND_MESSAGE_CHANNEL_NUMBER;\r
455\r
25517f7c 456typedef struct {\r
2f88bd3a
MK
457 UINT8 CompletionCode;\r
458 IPMI_SEND_MESSAGE_CHANNEL_NUMBER ChannelNumber;\r
459 UINT8 MessageData[0];\r
25517f7c
HW
460} IPMI_SEND_MESSAGE_REQUEST;\r
461\r
462typedef struct {\r
2f88bd3a
MK
463 UINT8 CompletionCode;\r
464 UINT8 ResponseData[0];\r
25517f7c 465} IPMI_SEND_MESSAGE_RESPONSE;\r
e59a797f
DB
466\r
467//\r
468// Definitions for Read Event Message Buffer command\r
469//\r
2f88bd3a 470#define IPMI_APP_READ_EVENT_MSG_BUFFER 0x35\r
e59a797f
DB
471\r
472//\r
473// Constants and Structure definitions for "Read Event Message Buffer" command to follow here\r
474//\r
475\r
476//\r
477// Definitions for Get BT Interface Capabilities command\r
478//\r
2f88bd3a 479#define IPMI_APP_GET_BT_INTERFACE_CAPABILITY 0x36\r
e59a797f
DB
480\r
481//\r
482// Constants and Structure definitions for "Get BT Interface Capabilities" command to follow here\r
483//\r
484\r
485//\r
486// Definitions for Get System GUID command\r
487//\r
2f88bd3a 488#define IPMI_APP_GET_SYSTEM_GUID 0x37\r
e59a797f 489\r
cabcc685
AC
490typedef struct {\r
491 UINT8 CompletionCode;\r
492 EFI_GUID SystemUuid;\r
493} IPMI_GET_SYSTEM_UUID_RESPONSE;\r
494\r
e59a797f
DB
495//\r
496// Constants and Structure definitions for "Get System GUID" command to follow here\r
497//\r
498\r
499//\r
500// Definitions for Get Channel Authentication Capabilities command\r
501//\r
2f88bd3a 502#define IPMI_APP_GET_CHANNEL_AUTHENTICATION_CAPABILITIES 0x38\r
e59a797f
DB
503\r
504//\r
505// Constants and Structure definitions for "Get Channel Authentication Capabilities" command to follow here\r
506//\r
507\r
508//\r
509// Definitions for Get Session Challenge command\r
510//\r
2f88bd3a 511#define IPMI_APP_GET_SESSION_CHALLENGE 0x39\r
e59a797f
DB
512\r
513//\r
514// Constants and Structure definitions for "Get Session Challenge" command to follow here\r
515//\r
516\r
517//\r
518// Definitions for Activate Session command\r
519//\r
520#define IPMI_APP_ACTIVATE_SESSION 0x3A\r
521\r
522//\r
523// Constants and Structure definitions for "Activate Session" command to follow here\r
524//\r
525\r
526//\r
527// Definitions for Set Session Privelege Level command\r
528//\r
2f88bd3a 529#define IPMI_APP_SET_SESSION_PRIVELEGE_LEVEL 0x3B\r
e59a797f
DB
530\r
531//\r
532// Constants and Structure definitions for "Set Session Privelege Level" command to follow here\r
533//\r
534\r
535//\r
536// Definitions for Close Session command\r
537//\r
2f88bd3a 538#define IPMI_APP_CLOSE_SESSION 0x3C\r
e59a797f
DB
539\r
540//\r
541// Constants and Structure definitions for "Close Session" command to follow here\r
542//\r
543\r
544//\r
545// Definitions for Get Session Info command\r
546//\r
547#define IPMI_APP_GET_SESSION_INFO 0x3D\r
548\r
549//\r
550// Constants and Structure definitions for "Get Session Info" command to follow here\r
551//\r
552\r
553//\r
554// Definitions for Get Auth Code command\r
555//\r
556#define IPMI_APP_GET_AUTHCODE 0x3F\r
557\r
558//\r
559// Constants and Structure definitions for "Get AuthCode" command to follow here\r
560//\r
561\r
562//\r
563// Definitions for Set Channel Access command\r
564//\r
565#define IPMI_APP_SET_CHANNEL_ACCESS 0x40\r
566\r
567//\r
568// Constants and Structure definitions for "Set Channel Access" command to follow here\r
569//\r
570\r
571//\r
572// Definitions for Get Channel Access command\r
573//\r
574#define IPMI_APP_GET_CHANNEL_ACCESS 0x41\r
575\r
576//\r
577// Constants and Structure definitions for "Get Channel Access" command to follow here\r
578//\r
25517f7c
HW
579\r
580//\r
581// Definitions for channel access memory type in Get Channel Access command request\r
582//\r
583#define IPMI_CHANNEL_ACCESS_MEMORY_TYPE_NON_VOLATILE 0x1\r
584#define IPMI_CHANNEL_ACCESS_MEMORY_TYPE_PRESENT_VOLATILE_SETTING 0x2\r
585\r
586//\r
587// Definitions for channel access modes in Get Channel Access command response\r
588//\r
589#define IPMI_CHANNEL_ACCESS_MODES_DISABLED 0x0\r
590#define IPMI_CHANNEL_ACCESS_MODES_PRE_BOOT_ONLY 0x1\r
591#define IPMI_CHANNEL_ACCESS_MODES_ALWAYS_AVAILABLE 0x2\r
592#define IPMI_CHANNEL_ACCESS_MODES_SHARED 0x3\r
593\r
aeb6f576
HW
594typedef union {\r
595 struct {\r
2f88bd3a
MK
596 UINT8 ChannelNo : 4;\r
597 UINT8 Reserved : 4;\r
aeb6f576 598 } Bits;\r
2f88bd3a 599 UINT8 Uint8;\r
aeb6f576
HW
600} IPMI_GET_CHANNEL_ACCESS_CHANNEL_NUMBER;\r
601\r
602typedef union {\r
603 struct {\r
2f88bd3a
MK
604 UINT8 Reserved : 6;\r
605 UINT8 MemoryType : 2;\r
aeb6f576 606 } Bits;\r
2f88bd3a 607 UINT8 Uint8;\r
aeb6f576
HW
608} IPMI_GET_CHANNEL_ACCESS_TYPE;\r
609\r
e59a797f 610typedef struct {\r
2f88bd3a
MK
611 IPMI_GET_CHANNEL_ACCESS_CHANNEL_NUMBER ChannelNumber;\r
612 IPMI_GET_CHANNEL_ACCESS_TYPE AccessType;\r
aeff1d6e 613} IPMI_GET_CHANNEL_ACCESS_REQUEST;\r
e59a797f 614\r
aeb6f576
HW
615typedef union {\r
616 struct {\r
2f88bd3a
MK
617 UINT8 AccessMode : 3;\r
618 UINT8 UserLevelAuthEnabled : 1;\r
619 UINT8 MessageAuthEnable : 1;\r
620 UINT8 Alert : 1;\r
621 UINT8 Reserved : 2;\r
aeb6f576 622 } Bits;\r
2f88bd3a 623 UINT8 Uint8;\r
aeb6f576
HW
624} IPMI_GET_CHANNEL_ACCESS_CHANNEL_ACCESS;\r
625\r
626typedef union {\r
627 struct {\r
2f88bd3a
MK
628 UINT8 ChannelPriviledgeLimit : 4;\r
629 UINT8 Reserved : 4;\r
aeb6f576 630 } Bits;\r
2f88bd3a 631 UINT8 Uint8;\r
aeb6f576
HW
632} IPMI_GET_CHANNEL_ACCESS_PRIVILEGE_LIMIT;\r
633\r
e59a797f 634typedef struct {\r
2f88bd3a
MK
635 UINT8 CompletionCode;\r
636 IPMI_GET_CHANNEL_ACCESS_CHANNEL_ACCESS ChannelAccess;\r
637 IPMI_GET_CHANNEL_ACCESS_PRIVILEGE_LIMIT PrivilegeLimit;\r
e59a797f
DB
638} IPMI_GET_CHANNEL_ACCESS_RESPONSE;\r
639\r
640//\r
641// Definitions for Get Channel Info command\r
642//\r
643#define IPMI_APP_GET_CHANNEL_INFO 0x42\r
644\r
645//\r
646// Constants and Structure definitions for "Get Channel Info" command to follow here\r
647//\r
25517f7c
HW
648\r
649//\r
650// Definitions for channel media type\r
651//\r
652// IPMB (I2C)\r
2f88bd3a 653#define IPMI_CHANNEL_MEDIA_TYPE_IPMB 0x1\r
25517f7c 654// ICMB v1.0\r
2f88bd3a 655#define IPMI_CHANNEL_MEDIA_TYPE_ICMB_1_0 0x2\r
25517f7c 656// ICMB v0.9\r
2f88bd3a 657#define IPMI_CHANNEL_MEDIA_TYPE_ICMB_0_9 0x3\r
25517f7c 658// 802.3 LAN\r
2f88bd3a 659#define IPMI_CHANNEL_MEDIA_TYPE_802_3_LAN 0x4\r
25517f7c 660// Asynch. Serial/Modem (RS-232)\r
2f88bd3a 661#define IPMI_CHANNEL_MEDIA_TYPE_RS_232 0x5\r
25517f7c 662// Other LAN\r
2f88bd3a 663#define IPMI_CHANNEL_MEDIA_TYPE_OTHER_LAN 0x6\r
25517f7c 664// PCI SMBus\r
2f88bd3a 665#define IPMI_CHANNEL_MEDIA_TYPE_PCI_SM_BUS 0x7\r
25517f7c 666// SMBus v1.0/1.1\r
2f88bd3a 667#define IPMI_CHANNEL_MEDIA_TYPE_SM_BUS_V1 0x8\r
25517f7c 668// SMBus v2.0\r
2f88bd3a 669#define IPMI_CHANNEL_MEDIA_TYPE_SM_BUS_V2 0x9\r
25517f7c 670// USB 1.x\r
2f88bd3a 671#define IPMI_CHANNEL_MEDIA_TYPE_USB1 0xA\r
25517f7c 672// USB 2.x\r
2f88bd3a 673#define IPMI_CHANNEL_MEDIA_TYPE_USB2 0xB\r
25517f7c
HW
674// System Interface (KCS, SMIC, or BT)\r
675#define IPMI_CHANNEL_MEDIA_TYPE_SYSTEM_INTERFACE 0xC\r
676// OEM\r
2f88bd3a
MK
677#define IPMI_CHANNEL_MEDIA_TYPE_OEM_START 0x60\r
678#define IPMI_CHANNEL_MEDIA_TYPE_OEM_END 0x7F\r
25517f7c 679\r
cabcc685
AC
680//\r
681// Definitions for channel protocol type\r
682//\r
683// Not available\r
684#define IPMI_CHANNEL_PROTOCOL_TYPE_NA 0x00\r
685// IPMB-1.0\r
686#define IPMI_CHANNEL_PROTOCOL_TYPE_IPMB_1_0 0x01\r
687// ICMB-1.0\r
688#define IPMI_CHANNEL_PROTOCOL_TYPE_ICMB_1_0 0x02\r
689// Reserved\r
690#define IPMI_CHANNEL_PROTOCOL_TYPE_RESERVED 0x03\r
691// IPMI SMBUS\r
692#define IPMI_CHANNEL_PROTOCOL_TYPE_IPMI_SMBUS 0x04\r
693// KCS\r
694#define IPMI_CHANNEL_PROTOCOL_TYPE_KCS 0x05\r
695// SMIC\r
696#define IPMI_CHANNEL_PROTOCOL_TYPE_SMIC 0x06\r
697// BT-10\r
698#define IPMI_CHANNEL_PROTOCOL_TYPE_BT_10 0x07\r
699// BT-15\r
700#define IPMI_CHANNEL_PROTOCOL_TYPE_BT_15 0x08\r
701// TMode\r
702#define IPMI_CHANNEL_PROTOCOL_TYPE_TMODE 0x09\r
703\r
aeb6f576
HW
704typedef union {\r
705 struct {\r
2f88bd3a
MK
706 UINT8 ChannelNo : 4;\r
707 UINT8 Reserved : 4;\r
aeb6f576 708 } Bits;\r
2f88bd3a 709 UINT8 Uint8;\r
aeb6f576
HW
710} IPMI_CHANNEL_INFO_CHANNEL_NUMBER;\r
711\r
712typedef union {\r
713 struct {\r
2f88bd3a
MK
714 UINT8 ChannelMediumType : 7;\r
715 UINT8 Reserved : 1;\r
aeb6f576 716 } Bits;\r
2f88bd3a 717 UINT8 Uint8;\r
aeb6f576
HW
718} IPMI_CHANNEL_INFO_MEDIUM_TYPE;\r
719\r
720typedef union {\r
721 struct {\r
2f88bd3a
MK
722 UINT8 ChannelProtocolType : 5;\r
723 UINT8 Reserved : 3;\r
aeb6f576 724 } Bits;\r
2f88bd3a 725 UINT8 Uint8;\r
aeb6f576
HW
726} IPMI_CHANNEL_INFO_PROTOCOL_TYPE;\r
727\r
728typedef union {\r
729 struct {\r
2f88bd3a
MK
730 UINT8 ActiveSessionCount : 6;\r
731 UINT8 SessionSupport : 2;\r
aeb6f576 732 } Bits;\r
2f88bd3a 733 UINT8 Uint8;\r
aeb6f576
HW
734} IPMI_CHANNEL_INFO_SESSION_SUPPORT;\r
735\r
e59a797f 736typedef struct {\r
2f88bd3a
MK
737 UINT8 CompletionCode;\r
738 IPMI_CHANNEL_INFO_CHANNEL_NUMBER ChannelNumber;\r
739 IPMI_CHANNEL_INFO_MEDIUM_TYPE MediumType;\r
740 IPMI_CHANNEL_INFO_PROTOCOL_TYPE ProtocolType;\r
741 IPMI_CHANNEL_INFO_SESSION_SUPPORT SessionSupport;\r
742 UINT8 VendorId[3];\r
743 UINT16 AuxChannelInfo;\r
aeff1d6e 744} IPMI_GET_CHANNEL_INFO_RESPONSE;\r
e59a797f 745\r
cabcc685
AC
746typedef struct {\r
747 IPMI_CHANNEL_INFO_CHANNEL_NUMBER ChannelNumber;\r
748} IPMI_GET_CHANNEL_INFO_REQUEST;\r
e59a797f
DB
749\r
750//\r
751// Constants and Structure definitions for "Get Channel Info" command to follow here\r
752//\r
753\r
754//\r
755// Definitions for Set User Access command\r
756//\r
2f88bd3a 757#define IPMI_APP_SET_USER_ACCESS 0x43\r
e59a797f
DB
758\r
759//\r
760// Constants and Structure definitions for "Set User Access" command to follow here\r
761//\r
762\r
763//\r
764// Definitions for Get User Access command\r
765//\r
2f88bd3a 766#define IPMI_APP_GET_USER_ACCESS 0x44\r
e59a797f
DB
767\r
768//\r
769// Constants and Structure definitions for "Get User Access" command to follow here\r
770//\r
aeb6f576
HW
771typedef union {\r
772 struct {\r
2f88bd3a
MK
773 UINT8 ChannelNo : 4;\r
774 UINT8 Reserved : 4;\r
aeb6f576 775 } Bits;\r
2f88bd3a 776 UINT8 Uint8;\r
aeb6f576
HW
777} IPMI_GET_USER_ACCESS_CHANNEL_NUMBER;\r
778\r
779typedef union {\r
780 struct {\r
2f88bd3a
MK
781 UINT8 UserId : 6;\r
782 UINT8 Reserved : 2;\r
aeb6f576 783 } Bits;\r
2f88bd3a 784 UINT8 Uint8;\r
aeb6f576
HW
785} IPMI_USER_ID;\r
786\r
25517f7c 787typedef struct {\r
2f88bd3a
MK
788 IPMI_GET_USER_ACCESS_CHANNEL_NUMBER ChannelNumber;\r
789 IPMI_USER_ID UserId;\r
25517f7c
HW
790} IPMI_GET_USER_ACCESS_REQUEST;\r
791\r
aeb6f576
HW
792typedef union {\r
793 struct {\r
2f88bd3a
MK
794 UINT8 MaxUserId : 6;\r
795 UINT8 Reserved : 2;\r
aeb6f576 796 } Bits;\r
2f88bd3a 797 UINT8 Uint8;\r
aeb6f576
HW
798} IPMI_GET_USER_ACCESS_MAX_USER_ID;\r
799\r
800typedef union {\r
801 struct {\r
2f88bd3a
MK
802 UINT8 CurrentUserId : 6;\r
803 UINT8 UserIdEnableStatus : 2;\r
aeb6f576 804 } Bits;\r
2f88bd3a 805 UINT8 Uint8;\r
aeb6f576
HW
806} IPMI_GET_USER_ACCESS_CURRENT_USER;\r
807\r
808typedef union {\r
809 struct {\r
2f88bd3a
MK
810 UINT8 FixedUserId : 6;\r
811 UINT8 Reserved : 2;\r
aeb6f576 812 } Bits;\r
2f88bd3a 813 UINT8 Uint8;\r
aeb6f576
HW
814} IPMI_GET_USER_ACCESS_FIXED_NAME_USER;\r
815\r
816typedef union {\r
817 struct {\r
2f88bd3a
MK
818 UINT8 UserPrivilegeLimit : 4;\r
819 UINT8 EnableIpmiMessaging : 1;\r
820 UINT8 EnableUserLinkAuthetication : 1;\r
821 UINT8 UserAccessAvailable : 1;\r
822 UINT8 Reserved : 1;\r
aeb6f576 823 } Bits;\r
2f88bd3a 824 UINT8 Uint8;\r
aeb6f576
HW
825} IPMI_GET_USER_ACCESS_CHANNEL_ACCESS;\r
826\r
25517f7c 827typedef struct {\r
2f88bd3a
MK
828 UINT8 CompletionCode;\r
829 IPMI_GET_USER_ACCESS_MAX_USER_ID MaxUserId;\r
830 IPMI_GET_USER_ACCESS_CURRENT_USER CurrentUser;\r
831 IPMI_GET_USER_ACCESS_FIXED_NAME_USER FixedNameUser;\r
832 IPMI_GET_USER_ACCESS_CHANNEL_ACCESS ChannelAccess;\r
25517f7c 833} IPMI_GET_USER_ACCESS_RESPONSE;\r
e59a797f
DB
834\r
835//\r
836// Definitions for Set User Name command\r
837//\r
2f88bd3a 838#define IPMI_APP_SET_USER_NAME 0x45\r
e59a797f
DB
839\r
840//\r
841// Constants and Structure definitions for "Set User Name" command to follow here\r
842//\r
25517f7c 843typedef struct {\r
2f88bd3a
MK
844 IPMI_USER_ID UserId;\r
845 UINT8 UserName[16];\r
25517f7c 846} IPMI_SET_USER_NAME_REQUEST;\r
e59a797f
DB
847\r
848//\r
849// Definitions for Get User Name command\r
850//\r
2f88bd3a 851#define IPMI_APP_GET_USER_NAME 0x46\r
e59a797f
DB
852\r
853//\r
854// Constants and Structure definitions for "Get User Name" command to follow here\r
855//\r
25517f7c 856typedef struct {\r
2f88bd3a 857 IPMI_USER_ID UserId;\r
25517f7c
HW
858} IPMI_GET_USER_NAME_REQUEST;\r
859\r
860typedef struct {\r
2f88bd3a
MK
861 UINT8 CompletionCode;\r
862 UINT8 UserName[16];\r
25517f7c 863} IPMI_GET_USER_NAME_RESPONSE;\r
e59a797f
DB
864\r
865//\r
866// Definitions for Set User Password command\r
867//\r
2f88bd3a 868#define IPMI_APP_SET_USER_PASSWORD 0x47\r
e59a797f
DB
869\r
870//\r
871// Constants and Structure definitions for "Set User Password" command to follow here\r
872//\r
873\r
25517f7c
HW
874//\r
875// Definitions for Set User password command operation type\r
876//\r
877#define IPMI_SET_USER_PASSWORD_OPERATION_TYPE_DISABLE_USER 0x0\r
878#define IPMI_SET_USER_PASSWORD_OPERATION_TYPE_ENABLE_USER 0x1\r
879#define IPMI_SET_USER_PASSWORD_OPERATION_TYPE_SET_PASSWORD 0x2\r
880#define IPMI_SET_USER_PASSWORD_OPERATION_TYPE_TEST_PASSWORD 0x3\r
881\r
882//\r
883// Definitions for Set user password command password size\r
884//\r
885#define IPMI_SET_USER_PASSWORD_PASSWORD_SIZE_16 0x0\r
886#define IPMI_SET_USER_PASSWORD_PASSWORD_SIZE_20 0x1\r
887\r
aeb6f576
HW
888typedef union {\r
889 struct {\r
2f88bd3a
MK
890 UINT8 UserId : 6;\r
891 UINT8 Reserved : 1;\r
892 UINT8 PasswordSize : 1;\r
aeb6f576 893 } Bits;\r
2f88bd3a 894 UINT8 Uint8;\r
aeb6f576
HW
895} IPMI_SET_USER_PASSWORD_USER_ID;\r
896\r
897typedef union {\r
898 struct {\r
2f88bd3a
MK
899 UINT8 Operation : 2;\r
900 UINT8 Reserved : 6;\r
aeb6f576 901 } Bits;\r
2f88bd3a 902 UINT8 Uint8;\r
aeb6f576
HW
903} IPMI_SET_USER_PASSWORD_OPERATION;\r
904\r
25517f7c 905typedef struct {\r
2f88bd3a
MK
906 IPMI_SET_USER_PASSWORD_USER_ID UserId;\r
907 IPMI_SET_USER_PASSWORD_OPERATION Operation;\r
908 UINT8 PasswordData[0]; // 16 or 20 bytes, depending on the 'PasswordSize' field\r
25517f7c
HW
909} IPMI_SET_USER_PASSWORD_REQUEST;\r
910\r
e59a797f
DB
911//\r
912// Below is Definitions for RMCP+ Support and Payload Commands (Chapter 24)\r
913//\r
914\r
915//\r
916// Definitions for Activate Payload command\r
917//\r
918#define IPMI_APP_ACTIVATE_PAYLOAD 0x48\r
919\r
920//\r
921// Constants and Structure definitions for "Activate Payload" command to follow here\r
922//\r
923\r
924//\r
925// Definitions for De-Activate Payload command\r
926//\r
927#define IPMI_APP_DEACTIVATE_PAYLOAD 0x49\r
928\r
929//\r
930// Constants and Structure definitions for "DeActivate Payload" command to follow here\r
931//\r
932\r
933//\r
934// Definitions for Get Payload activation Status command\r
935//\r
2f88bd3a 936#define IPMI_APP_GET_PAYLOAD_ACTIVATION_STATUS 0x4a\r
e59a797f
DB
937\r
938//\r
939// Constants and Structure definitions for "Get Payload activation Status" command to follow here\r
940//\r
941\r
942//\r
943// Definitions for Get Payload Instance Info command\r
944//\r
2f88bd3a 945#define IPMI_APP_GET_PAYLOAD_INSTANCE_INFO 0x4b\r
e59a797f
DB
946\r
947//\r
948// Constants and Structure definitions for "Get Payload Instance Info" command to follow here\r
949//\r
950\r
951//\r
952// Definitions for Set User Payload Access command\r
953//\r
2f88bd3a 954#define IPMI_APP_SET_USER_PAYLOAD_ACCESS 0x4C\r
e59a797f
DB
955\r
956//\r
957// Constants and Structure definitions for "Set User Payload Access" command to follow here\r
958//\r
959\r
960//\r
961// Definitions for Get User Payload Access command\r
962//\r
2f88bd3a 963#define IPMI_APP_GET_USER_PAYLOAD_ACCESS 0x4D\r
e59a797f
DB
964\r
965//\r
966// Constants and Structure definitions for "Get User Payload Access" command to follow here\r
967//\r
968\r
969//\r
970// Definitions for Get Channel Payload Support command\r
971//\r
2f88bd3a 972#define IPMI_APP_GET_CHANNEL_PAYLOAD_SUPPORT 0x4E\r
e59a797f
DB
973\r
974//\r
975// Constants and Structure definitions for "Get Channel Payload Support" command to follow here\r
976//\r
977\r
978//\r
979// Definitions for Get Channel Payload Version command\r
980//\r
2f88bd3a 981#define IPMI_APP_GET_CHANNEL_PAYLOAD_VERSION 0x4F\r
e59a797f
DB
982\r
983//\r
984// Constants and Structure definitions for "Get Channel Payload Version" command to follow here\r
985//\r
986\r
987//\r
988// Definitions for Get Channel OEM Payload Info command\r
989//\r
990#define IPMI_APP_GET_CHANNEL_OEM_PAYLOAD_INFO 0x50\r
991\r
992//\r
993// Constants and Structure definitions for "Get Channel OEM Payload Info" command to follow here\r
994//\r
995\r
996//\r
997// Definitions for Master Write-Read command\r
998//\r
2f88bd3a 999#define IPMI_APP_MASTER_WRITE_READ 0x52\r
e59a797f
DB
1000\r
1001//\r
1002// Constants and Structure definitions for "Master Write Read" command to follow here\r
1003//\r
1004\r
1005//\r
1006// Definitions for Get Channel Cipher Suites command\r
1007//\r
2f88bd3a 1008#define IPMI_APP_GET_CHANNEL_CIPHER_SUITES 0x54\r
e59a797f
DB
1009\r
1010//\r
1011// Constants and Structure definitions for "Get Channel Cipher Suites" command to follow here\r
1012//\r
1013\r
1014//\r
1015// Below is Definitions for RMCP+ Support and Payload Commands (Chapter 24, Section 3)\r
1016//\r
1017\r
1018//\r
1019// Definitions for Suspend-Resume Payload Encryption command\r
1020//\r
2f88bd3a 1021#define IPMI_APP_SUSPEND_RESUME_PAYLOAD_ENCRYPTION 0x55\r
e59a797f
DB
1022\r
1023//\r
1024// Constants and Structure definitions for "Suspend-Resume Payload Encryption" command to follow here\r
1025//\r
1026\r
1027//\r
1028// Below is Definitions for IPMI Messaging Support Commands (Chapter 22, Section 25 and 9)\r
1029//\r
1030\r
1031//\r
1032// Definitions for Set Channel Security Keys command\r
1033//\r
2f88bd3a 1034#define IPMI_APP_SET_CHANNEL_SECURITY_KEYS 0x56\r
e59a797f
DB
1035\r
1036//\r
1037// Constants and Structure definitions for "Set Channel Security Keys" command to follow here\r
1038//\r
1039\r
1040//\r
1041// Definitions for Get System Interface Capabilities command\r
1042//\r
2f88bd3a 1043#define IPMI_APP_GET_SYSTEM_INTERFACE_CAPABILITIES 0x57\r
e59a797f
DB
1044\r
1045//\r
1046// Constants and Structure definitions for "Get System Interface Capabilities" command to follow here\r
1047//\r
1048\r
25517f7c
HW
1049//\r
1050// Definitions for Get System Interface Capabilities command SSIF transaction support\r
1051//\r
1052#define IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_SSIF_TRANSACTION_SUPPORT_SINGLE_PARTITION_RW 0x0\r
1053#define IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_SSIF_TRANSACTION_SUPPORT_MULTI_PARTITION_RW 0x1\r
1054#define IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_SSIF_TRANSACTION_SUPPORT_MULTI_PARTITION_RW_WITH_MIDDLE 0x2\r
1055\r
e59a797f
DB
1056#pragma pack()\r
1057#endif\r