blob: 58046432ebc41aba54c6c6347b19d2f0b02b1605 [file] [log] [blame]
Ronak Kanabar1ae366f2023-06-07 01:21:56 +05301/** @file
2 IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
3
4 This file contains all NetFn Transport commands, including:
5 IPM LAN Commands (Chapter 23)
6 IPMI Serial/Modem Commands (Chapter 25)
7 SOL Commands (Chapter 26)
8 Command Forwarding Commands (Chapter 35b)
9
10 See IPMI specification, Appendix G, Command Assignments
11 and Appendix H, Sub-function Assignments.
12
13 Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
14 Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
15 SPDX-License-Identifier: BSD-2-Clause-Patent
16**/
17
18#ifndef _IPMI_NET_FN_TRANSPORT_H_
19#define _IPMI_NET_FN_TRANSPORT_H_
20
21#pragma pack(1)
22//
23// Net function definition for Transport command
24//
25#define IPMI_NETFN_TRANSPORT 0x0C
26
27//
28// Below is Definitions for IPM LAN Commands (Chapter 23)
29//
30
31//
32// Definitions for Set Lan Configuration Parameters command
33//
34#define IPMI_TRANSPORT_SET_LAN_CONFIG_PARAMETERS 0x01
35
36//
37// Constants and Structure definitions for "Set Lan Configuration Parameters" command to follow here
38//
39
40//
41// LAN Management Structure
42//
43typedef enum {
44 IpmiLanReserved1,
45 IpmiLanReserved2,
46 IpmiLanAuthType,
47 IpmiLanIpAddress,
48 IpmiLanIpAddressSource,
49 IpmiLanMacAddress,
50 IpmiLanSubnetMask,
51 IpmiLanIpv4HeaderParam,
52 IpmiLanPrimaryRcmpPort,
53 IpmiLanSecondaryRcmpPort,
54 IpmiLanBmcGeneratedArpCtrl,
55 IpmiLanArpInterval,
56 IpmiLanDefaultGateway,
57 IpmiLanDefaultGatewayMac,
58 IpmiLanBackupGateway,
59 IpmiLanBackupGatewayMac,
60 IpmiLanCommunityString,
61 IpmiLanReserved3,
62 IpmiLanDestinationType,
63 IpmiLanDestinationAddress,
64 IpmiLanVlanId = 0x14,
65 IpmiIpv4OrIpv6Support = 0x32,
66 IpmiIpv4OrIpv6AddressEnable,
67 IpmiIpv6HdrStatTrafficClass,
68 IpmiIpv6HdrStatHopLimit,
69 IpmiIpv6HdrFlowLabel,
70 IpmiIpv6Status,
71 IpmiIpv6StaticAddress,
72 IpmiIpv6DhcpStaticDuidLen,
73 IpmiIpv6DhcpStaticDuid,
74 IpmiIpv6DhcpAddress,
75 IpmiIpv6DhcpDynamicDuidLen,
76 IpmiIpv6DhcpDynamicDuid,
77 IpmiIpv6RouterConfig = 0x40,
78 IpmiIpv6StaticRouter1IpAddr,
79 IpmiIpv6DynamicRouterIpAddr = 0x4a
80} IPMI_LAN_OPTION_TYPE;
81
82//
83// IP Address Source
84//
85typedef enum {
86 IpmiUnspecified,
87 IpmiStaticAddrsss,
88 IpmiDynamicAddressBmcDhcp,
89 IpmiDynamicAddressBiosDhcp,
90 IpmiDynamicAddressBmcNonDhcp
91} IPMI_IP_ADDRESS_SRC;
92
93//
94// Destination Type
95//
96typedef enum {
97 IpmiPetTrapDestination,
98 IpmiDirectedEventDestination,
99 IpmiReserved1,
100 IpmiReserved2,
101 IpmiReserved3,
102 IpmiReserved4,
103 IpmiReserved5,
104 IpmiOem1,
105 IpmiOem2
106} IPMI_LAN_DEST_TYPE_DEST_TYPE;
107
108//
109// Destination address format
110//
111typedef enum {
112 IpmiDestinationAddressVersion4,
113 IpmiDestinationAddressVersion6
114} IPMI_LAN_DEST_ADDRESS_VERSION;
115
116typedef union {
117 struct {
118 UINT8 NoAuth : 1;
119 UINT8 MD2Auth : 1;
120 UINT8 MD5Auth : 1;
121 UINT8 Reserved1 : 1;
122 UINT8 StraightPswd : 1;
123 UINT8 OemType : 1;
124 UINT8 Reserved2 : 2;
125 } Bits;
126 UINT8 Uint8;
127} IPMI_LAN_AUTH_TYPE;
128
129typedef struct {
130 UINT8 IpAddress[4];
131} IPMI_LAN_IP_ADDRESS;
132
133typedef union {
134 struct {
135 UINT8 AddressSrc : 4;
136 UINT8 Reserved : 4;
137 } Bits;
138 UINT8 Uint8;
139} IPMI_LAN_IP_ADDRESS_SRC;
140
141typedef struct {
142 UINT8 MacAddress[6];
143} IPMI_LAN_MAC_ADDRESS;
144
145typedef struct {
146 UINT8 IpAddress[4];
147} IPMI_LAN_SUBNET_MASK;
148
149typedef union {
150 struct {
151 UINT8 IpFlag : 3;
152 UINT8 Reserved : 5;
153 } Bits;
154 UINT8 Uint8;
155} IPMI_LAN_IPV4_HDR_PARAM_DATA_2;
156
157typedef union {
158 struct {
159 UINT8 Precedence : 3;
160 UINT8 Reserved : 1;
161 UINT8 ServiceType : 4;
162 } Bits;
163 UINT8 Uint8;
164} IPMI_LAN_IPV4_HDR_PARAM_DATA_3;
165
166typedef struct {
167 UINT8 TimeToLive;
168 IPMI_LAN_IPV4_HDR_PARAM_DATA_2 Data2;
169 IPMI_LAN_IPV4_HDR_PARAM_DATA_3 Data3;
170} IPMI_LAN_IPV4_HDR_PARAM;
171
172typedef struct {
173 UINT8 RcmpPortMsb;
174 UINT8 RcmpPortLsb;
175} IPMI_LAN_RCMP_PORT;
176
177typedef union {
178 struct {
179 UINT8 EnableBmcArpResponse : 1;
180 UINT8 EnableBmcGratuitousArp : 1;
181 UINT8 Reserved : 6;
182 } Bits;
183 UINT8 Uint8;
184} IPMI_LAN_BMC_GENERATED_ARP_CONTROL;
185
186typedef struct {
187 UINT8 ArpInterval;
188} IPMI_LAN_ARP_INTERVAL;
189
190typedef struct {
191 UINT8 IpAddress[4];
192} IPMI_LAN_DEFAULT_GATEWAY;
193
194typedef struct {
195 UINT8 Data[18];
196} IPMI_LAN_COMMUNITY_STRING;
197
198typedef union {
199 struct {
200 UINT8 DestinationSelector : 4;
201 UINT8 Reserved : 4;
202 } Bits;
203 UINT8 Uint8;
204} IPMI_LAN_SET_SELECTOR;
205
206typedef union {
207 struct {
208 UINT8 DestinationType : 3;
209 UINT8 Reserved : 4;
210 UINT8 AlertAcknowledged : 1;
211 } Bits;
212 UINT8 Uint8;
213} IPMI_LAN_DEST_TYPE_DESTINATION_TYPE;
214
215typedef struct {
216 IPMI_LAN_SET_SELECTOR SetSelector;
217 IPMI_LAN_DEST_TYPE_DESTINATION_TYPE DestinationType;
218} IPMI_LAN_DEST_TYPE;
219
220typedef union {
221 struct {
222 UINT8 AlertingIpAddressSelector : 4;
223 UINT8 AddressFormat : 4;
224 } Bits;
225 UINT8 Uint8;
226} IPMI_LAN_ADDRESS_FORMAT;
227
228typedef union {
229 struct {
230 UINT8 UseDefaultGateway : 1;
231 UINT8 Reserved2 : 7;
232 } Bits;
233 UINT8 Uint8;
234} IPMI_LAN_GATEWAY_SELECTOR;
235
236typedef struct {
237 IPMI_LAN_SET_SELECTOR SetSelector;
238 IPMI_LAN_ADDRESS_FORMAT AddressFormat;
239 IPMI_LAN_GATEWAY_SELECTOR GatewaySelector;
240 IPMI_LAN_IP_ADDRESS AlertingIpAddress;
241 IPMI_LAN_MAC_ADDRESS AlertingMacAddress;
242} IPMI_LAN_DEST_ADDRESS;
243
244typedef struct {
245 UINT8 VanIdLowByte;
246} IPMI_LAN_VLAN_ID_DATA1;
247
248typedef union {
249 struct {
250 UINT8 VanIdHighByte : 4;
251 UINT8 Reserved : 3;
252 UINT8 Enabled : 1;
253 } Bits;
254 UINT8 Uint8;
255} IPMI_LAN_VLAN_ID_DATA2;
256
257typedef struct {
258 IPMI_LAN_VLAN_ID_DATA1 Data1;
259 IPMI_LAN_VLAN_ID_DATA2 Data2;
260} IPMI_LAN_VLAN_ID;
261
262typedef union {
263 IPMI_LAN_AUTH_TYPE IpmiLanAuthType;
264 IPMI_LAN_IP_ADDRESS IpmiLanIpAddress;
265 IPMI_LAN_IP_ADDRESS_SRC IpmiLanIpAddressSrc;
266 IPMI_LAN_MAC_ADDRESS IpmiLanMacAddress;
267 IPMI_LAN_SUBNET_MASK IpmiLanSubnetMask;
268 IPMI_LAN_IPV4_HDR_PARAM IpmiLanIpv4HdrParam;
269 IPMI_LAN_RCMP_PORT IpmiLanPrimaryRcmpPort;
270 IPMI_LAN_BMC_GENERATED_ARP_CONTROL IpmiLanArpControl;
271 IPMI_LAN_ARP_INTERVAL IpmiLanArpInterval;
272 IPMI_LAN_COMMUNITY_STRING IpmiLanCommunityString;
273 IPMI_LAN_DEST_TYPE IpmiLanDestType;
274 IPMI_LAN_DEST_ADDRESS IpmiLanDestAddress;
275} IPMI_LAN_OPTIONS;
276
277typedef union {
278 struct {
279 UINT8 AddressSourceType : 4;
280 UINT8 Reserved : 3;
281 UINT8 EnableStatus : 1;
282 } Bits;
283 UINT8 Uint8;
284} IPMI_LAN_IPV6_ADDRESS_SOURCE_TYPE;
285
286typedef struct {
287 UINT8 SetSelector;
288 IPMI_LAN_IPV6_ADDRESS_SOURCE_TYPE AddressSourceType;
289 UINT8 Ipv6Address[16];
290 UINT8 AddressPrefixLen;
291 UINT8 AddressStatus;
292} IPMI_LAN_IPV6_STATIC_ADDRESS;
293
294//
295// Set in progress parameter
296//
297typedef union {
298 struct {
299 UINT8 SetInProgress : 2;
300 UINT8 Reserved : 6;
301 } Bits;
302 UINT8 Uint8;
303} IPMI_LAN_SET_IN_PROGRESS;
304
305typedef union {
306 struct {
307 UINT8 ChannelNo : 4;
308 UINT8 Reserved : 4;
309 } Bits;
310 UINT8 Uint8;
311} IPMI_SET_LAN_CONFIG_CHANNEL_NUM;
312
313typedef struct {
314 IPMI_SET_LAN_CONFIG_CHANNEL_NUM ChannelNumber;
315 UINT8 ParameterSelector;
316 UINT8 ParameterData[0];
317} IPMI_SET_LAN_CONFIGURATION_PARAMETERS_COMMAND_REQUEST;
318
319//
320// Definitions for Get Lan Configuration Parameters command
321//
322#define IPMI_TRANSPORT_GET_LAN_CONFIG_PARAMETERS 0x02
323
324//
325// Constants and Structure definitions for "Get Lan Configuration Parameters" command to follow here
326//
327typedef union {
328 struct {
329 UINT8 ChannelNo : 4;
330 UINT8 Reserved : 3;
331 UINT8 GetParameter : 1;
332 } Bits;
333 UINT8 Uint8;
334} IPMI_GET_LAN_CONFIG_CHANNEL_NUM;
335
336typedef struct {
337 IPMI_GET_LAN_CONFIG_CHANNEL_NUM ChannelNumber;
338 UINT8 ParameterSelector;
339 UINT8 SetSelector;
340 UINT8 BlockSelector;
341} IPMI_GET_LAN_CONFIGURATION_PARAMETERS_REQUEST;
342
343typedef struct {
344 UINT8 CompletionCode;
345 UINT8 ParameterRevision;
346 UINT8 ParameterData[0];
347} IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE;
348
349//
350// Definitions for Suspend BMC ARPs command
351//
352#define IPMI_TRANSPORT_SUSPEND_BMC_ARPS 0x03
353
354//
355// Constants and Structure definitions for "Suspend BMC ARPs" command to follow here
356//
357
358//
359// Definitions for Get IP-UDP-RMCP Statistics command
360//
361#define IPMI_TRANSPORT_GET_PACKET_STATISTICS 0x04
362
363//
364// Constants and Structure definitions for "Get IP-UDP-RMCP Statistics" command to follow here
365//
366
367//
368// Below is Definitions for IPMI Serial/Modem Commands (Chapter 25)
369//
370
371//
372// Definitions for Set Serial/Modem Configuration command
373//
374#define IPMI_TRANSPORT_SET_SERIAL_CONFIGURATION 0x10
375
376//
377// Constants and Structure definitions for "Set Serial/Modem Configuration" command to follow here
378//
379
380//
381// EMP OPTION DATA
382//
383typedef union {
384 struct {
385 UINT8 NoAuthentication : 1;
386 UINT8 MD2Authentication : 1;
387 UINT8 MD5Authentication : 1;
388 UINT8 Reserved1 : 1;
389 UINT8 StraightPassword : 1;
390 UINT8 OemProprietary : 1;
391 UINT8 Reservd2 : 2;
392 } Bits;
393 UINT8 Uint8;
394} IPMI_EMP_AUTH_TYPE;
395
396typedef union {
397 struct {
398 UINT8 EnableBasicMode : 1;
399 UINT8 EnablePPPMode : 1;
400 UINT8 EnableTerminalMode : 1;
401 UINT8 Reserved1 : 2;
402 UINT8 SnoopOsPPPNegotiation : 1;
403 UINT8 Reserved2 : 1;
404 UINT8 DirectConnect : 1;
405 } Bits;
406 UINT8 Uint8;
407} IPMI_EMP_CONNECTION_TYPE;
408
409typedef union {
410 struct {
411 UINT8 InactivityTimeout : 4;
412 UINT8 Reserved : 4;
413 } Bits;
414 UINT8 Uint8;
415} IPMI_EMP_INACTIVITY_TIMEOUT;
416
417typedef union {
418 struct {
419 UINT8 IpmiCallback : 1;
420 UINT8 CBCPCallback : 1;
421 UINT8 Reserved : 6;
422 } Bits;
423 UINT8 Uint8;
424} IPMI_CHANNEL_CALLBACK_CONTROL_ENABLE;
425
426typedef union {
427 struct {
428 UINT8 CbcpEnableNoCallback : 1;
429 UINT8 CbcpEnablePreSpecifiedNumber : 1;
430 UINT8 CbcpEnableUserSpecifiedNumber : 1;
431 UINT8 CbcpEnableCallbackFromList : 1;
432 UINT8 Reserved : 4;
433 } Bits;
434 UINT8 Uint8;
435} IPMI_CHANNEL_CALLBACK_CONTROL_CBCP;
436
437typedef struct {
438 IPMI_CHANNEL_CALLBACK_CONTROL_ENABLE CallbackEnable;
439 IPMI_CHANNEL_CALLBACK_CONTROL_CBCP CBCPNegotiation;
440 UINT8 CallbackDestination1;
441 UINT8 CallbackDestination2;
442 UINT8 CallbackDestination3;
443} IPMI_EMP_CHANNEL_CALLBACK_CONTROL;
444
445typedef union {
446 struct {
447 UINT8 CloseSessionOnDCDLoss : 1;
448 UINT8 EnableSessionInactivityTimeout : 1;
449 UINT8 Reserved : 6;
450 } Bits;
451 UINT8 Uint8;
452} IPMI_EMP_SESSION_TERMINATION;
453
454typedef union {
455 struct {
456 UINT8 Reserved1 : 5;
457 UINT8 EnableDtrHangup : 1;
458 UINT8 FlowControl : 2;
459 UINT8 BitRate : 4;
460 UINT8 Reserved2 : 4;
461 UINT8 SaveSetting : 1;
462 UINT8 SetComPort : 1;
463 UINT8 Reserved3 : 6;
464 } Bits;
465 UINT8 Uint8;
466 UINT16 Uint16;
467} IPMI_EMP_MESSAGING_COM_SETTING;
468
469typedef union {
470 struct {
471 UINT8 RingDurationInterval : 6;
472 UINT8 Reserved1 : 2;
473 UINT8 RingDeadTime : 4;
474 UINT8 Reserved2 : 4;
475 } Bits;
476 UINT8 Uint8;
477} IPMI_EMP_MODEM_RING_TIME;
478
479typedef struct {
480 UINT8 Reserved;
481 UINT8 InitString[48];
482} IPMI_EMP_MODEM_INIT_STRING;
483
484typedef struct {
485 UINT8 EscapeSequence[5];
486} IPMI_EMP_MODEM_ESC_SEQUENCE;
487
488typedef struct {
489 UINT8 HangupSequence[8];
490} IPMI_EMP_MODEM_HANGUP_SEQUENCE;
491
492typedef struct {
493 UINT8 ModelDialCommend[8];
494} IPMI_MODEM_DIALUP_COMMAND;
495
496typedef struct {
497 UINT8 PageBlackoutInterval;
498} IPMI_PAGE_BLACKOUT_INTERVAL;
499
500typedef struct {
501 UINT8 CommunityString[18];
502} IPMI_EMP_COMMUNITY_STRING;
503
504typedef union {
505 struct {
506 UINT8 Reserved : 4;
507 UINT8 DialStringSelector : 4;
508 } Bits;
509 UINT8 Uint8;
510} IPMI_DIAL_PAGE_DESTINATION;
511
512typedef union {
513 struct {
514 UINT8 TapAccountSelector : 4;
515 UINT8 Reserved : 4;
516 } Bits;
517 UINT8 Uint8;
518} IPMI_TAP_PAGE_DESTINATION;
519
520typedef struct {
521 UINT8 PPPAccountSetSelector;
522 UINT8 DialStringSelector;
523} IPMI_PPP_ALERT_DESTINATION;
524
525typedef union {
526 IPMI_DIAL_PAGE_DESTINATION DialPageDestination;
527 IPMI_TAP_PAGE_DESTINATION TapPageDestination;
528 IPMI_PPP_ALERT_DESTINATION PppAlertDestination;
529} IPMI_DEST_TYPE_SPECIFIC;
530
531typedef union {
532 struct {
533 UINT8 DestinationSelector : 4;
534 UINT8 Reserved : 4;
535 } Bits;
536 UINT8 Uint8;
537} IPMI_EMP_DESTINATION_SELECTOR;
538
539typedef union {
540 struct {
541 UINT8 DestinationType : 4;
542 UINT8 Reserved : 3;
543 UINT8 AlertAckRequired : 1;
544 } Bits;
545 UINT8 Uint8;
546} IPMI_EMP_DESTINATION_TYPE;
547
548typedef union {
549 struct {
550 UINT8 NumRetriesCall : 3;
551 UINT8 Reserved1 : 1;
552 UINT8 NumRetryAlert : 3;
553 UINT8 Reserved2 : 1;
554 } Bits;
555 UINT8 Uint8;
556} IPMI_EMP_RETRIES;
557
558typedef struct {
559 IPMI_EMP_DESTINATION_SELECTOR DestinationSelector;
560 IPMI_EMP_DESTINATION_TYPE DestinationType;
561 UINT8 AlertAckTimeoutSeconds;
562 IPMI_EMP_RETRIES Retries;
563 IPMI_DEST_TYPE_SPECIFIC DestinationTypeSpecific;
564} IPMI_EMP_DESTINATION_INFO;
565
566typedef union {
567 struct {
568 UINT8 Parity : 3;
569 UINT8 CharacterSize : 1;
570 UINT8 StopBit : 1;
571 UINT8 DtrHangup : 1;
572 UINT8 FlowControl : 2;
573 } Bits;
574 UINT8 Uint8;
575} IPMI_EMP_DESTINATION_COM_SETTING_DATA_2;
576
577typedef union {
578 struct {
579 UINT8 BitRate : 4;
580 UINT8 Reserved : 4;
581 } Bits;
582 UINT8 Uint8;
583} IPMI_EMP_BIT_RATE;
584
585typedef struct {
586 IPMI_EMP_DESTINATION_SELECTOR DestinationSelector;
587 IPMI_EMP_DESTINATION_COM_SETTING_DATA_2 Data2;
588 IPMI_EMP_BIT_RATE BitRate;
589} IPMI_EMP_DESTINATION_COM_SETTING;
590
591typedef union {
592 struct {
593 UINT8 DialStringSelector : 4;
594 UINT8 Reserved : 4;
595 } Bits;
596 UINT8 Uint8;
597} IPMI_DIAL_STRING_SELECTOR;
598
599typedef struct {
600 IPMI_DIAL_STRING_SELECTOR DestinationSelector;
601 UINT8 Reserved;
602 UINT8 DialString[48];
603} IPMI_DESTINATION_DIAL_STRING;
604
605typedef union {
606 UINT32 IpAddressLong;
607 UINT8 IpAddress[4];
608} IPMI_PPP_IP_ADDRESS;
609
610typedef union {
611 struct {
612 UINT8 IpAddressSelector : 4;
613 UINT8 Reserved : 4;
614 } Bits;
615 UINT8 Uint8;
616} IPMI_DESTINATION_IP_ADDRESS_SELECTOR;
617
618typedef struct {
619 IPMI_DESTINATION_IP_ADDRESS_SELECTOR DestinationSelector;
620 IPMI_PPP_IP_ADDRESS PppIpAddress;
621} IPMI_DESTINATION_IP_ADDRESS;
622
623typedef union {
624 struct {
625 UINT8 TapServiceSelector : 4;
626 UINT8 TapDialStringSelector : 4;
627 } Bits;
628 UINT8 Uint8;
629} IPMI_TAP_DIAL_STRING_SERVICE_SELECTOR;
630
631typedef struct {
632 UINT8 TapSelector;
633 IPMI_TAP_DIAL_STRING_SERVICE_SELECTOR TapDialStringServiceSelector;
634} IPMI_DESTINATION_TAP_ACCOUNT;
635
636typedef struct {
637 UINT8 TapSelector;
638 UINT8 PagerIdString[16];
639} IPMI_TAP_PAGER_ID_STRING;
640
641typedef union {
642 UINT8 OptionData;
643 IPMI_EMP_AUTH_TYPE EmpAuthType;
644 IPMI_EMP_CONNECTION_TYPE EmpConnectionType;
645 IPMI_EMP_INACTIVITY_TIMEOUT EmpInactivityTimeout;
646 IPMI_EMP_CHANNEL_CALLBACK_CONTROL EmpCallbackControl;
647 IPMI_EMP_SESSION_TERMINATION EmpSessionTermination;
648 IPMI_EMP_MESSAGING_COM_SETTING EmpMessagingComSetting;
649 IPMI_EMP_MODEM_RING_TIME EmpModemRingTime;
650 IPMI_EMP_MODEM_INIT_STRING EmpModemInitString;
651 IPMI_EMP_MODEM_ESC_SEQUENCE EmpModemEscSequence;
652 IPMI_EMP_MODEM_HANGUP_SEQUENCE EmpModemHangupSequence;
653 IPMI_MODEM_DIALUP_COMMAND EmpModemDialupCommand;
654 IPMI_PAGE_BLACKOUT_INTERVAL EmpPageBlackoutInterval;
655 IPMI_EMP_COMMUNITY_STRING EmpCommunityString;
656 IPMI_EMP_DESTINATION_INFO EmpDestinationInfo;
657 IPMI_EMP_DESTINATION_COM_SETTING EmpDestinationComSetting;
658 UINT8 CallRetryBusySignalInterval;
659 IPMI_DESTINATION_DIAL_STRING DestinationDialString;
660 IPMI_DESTINATION_IP_ADDRESS DestinationIpAddress;
661 IPMI_DESTINATION_TAP_ACCOUNT DestinationTapAccount;
662 IPMI_TAP_PAGER_ID_STRING TapPagerIdString;
663} IPMI_EMP_OPTIONS;
664
665//
666// Definitions for Get Serial/Modem Configuration command
667//
668#define IPMI_TRANSPORT_GET_SERIAL_CONFIGURATION 0x11
669
670//
671// Constants and Structure definitions for "Get Serial/Modem Configuration" command to follow here
672//
673
674//
675// Definitions for Set Serial/Modem Mux command
676//
677#define IPMI_TRANSPORT_SET_SERIAL_MUX 0x12
678
679//
680// Constants and Structure definitions for "Set Serial/Modem Mux" command to follow here
681//
682
683//
684// Set Serial/Modem Mux command request return status
685//
686#define IPMI_MUX_SETTING_REQUEST_REJECTED 0x00
687#define IPMI_MUX_SETTING_REQUEST_ACCEPTED 0x01
688
689//
690// Definitions for serial multiplex settings
691//
692#define IPMI_MUX_SETTING_GET_MUX_SETTING 0x0
693#define IPMI_MUX_SETTING_REQUEST_MUX_TO_SYSTEM 0x1
694#define IPMI_MUX_SETTING_REQUEST_MUX_TO_BMC 0x2
695#define IPMI_MUX_SETTING_FORCE_MUX_TO_SYSTEM 0x3
696#define IPMI_MUX_SETTING_FORCE_MUX_TO_BMC 0x4
697#define IPMI_MUX_SETTING_BLOCK_REQUEST_MUX_TO_SYSTEM 0x5
698#define IPMI_MUX_SETTING_ALLOW_REQUEST_MUX_TO_SYSTEM 0x6
699#define IPMI_MUX_SETTING_BLOCK_REQUEST_MUX_TO_BMC 0x7
700#define IPMI_MUX_SETTING_ALLOW_REQUEST_MUX_TO_BMC 0x8
701
702typedef union {
703 struct {
704 UINT8 ChannelNo : 4;
705 UINT8 Reserved : 4;
706 } Bits;
707 UINT8 Uint8;
708} IPMI_MUX_CHANNEL_NUM;
709
710typedef union {
711 struct {
712 UINT8 MuxSetting : 4;
713 UINT8 Reserved : 4;
714 } Bits;
715 UINT8 Uint8;
716} IPMI_MUX_SETTING_REQUEST;
717
718typedef struct {
719 IPMI_MUX_CHANNEL_NUM ChannelNumber;
720 IPMI_MUX_SETTING_REQUEST MuxSetting;
721} IPMI_SET_SERIAL_MODEM_MUX_COMMAND_REQUEST;
722
723typedef union {
724 struct {
725 UINT8 MuxSetToBmc : 1;
726 UINT8 CommandStatus : 1;
727 UINT8 MessagingSessionActive : 1;
728 UINT8 AlertInProgress : 1;
729 UINT8 Reserved : 2;
730 UINT8 MuxToBmcAllowed : 1;
731 UINT8 MuxToSystemBlocked : 1;
732 } Bits;
733 UINT8 Uint8;
734} IPMI_MUX_SETTING_PRESENT_STATE;
735
736typedef struct {
737 UINT8 CompletionCode;
738 IPMI_MUX_SETTING_PRESENT_STATE MuxSetting;
739} IPMI_SET_SERIAL_MODEM_MUX_COMMAND_RESPONSE;
740
741//
742// Definitions for Get TAP Response Code command
743//
744#define IPMI_TRANSPORT_GET_TAP_RESPONSE_CODE 0x13
745
746//
747// Constants and Structure definitions for "Get TAP Response Code" command to follow here
748//
749
750//
751// Definitions for Set PPP UDP Proxy Transmit Data command
752//
753#define IPMI_TRANSPORT_SET_PPP_UDP_PROXY_TXDATA 0x14
754
755//
756// Constants and Structure definitions for "Set PPP UDP Proxy Transmit Data" command to follow here
757//
758
759//
760// Definitions for Get PPP UDP Proxy Transmit Data command
761//
762#define IPMI_TRANSPORT_GET_PPP_UDP_PROXY_TXDATA 0x15
763
764//
765// Constants and Structure definitions for "Get PPP UDP Proxy Transmit Data" command to follow here
766//
767
768//
769// Definitions for Send PPP UDP Proxy Packet command
770//
771#define IPMI_TRANSPORT_SEND_PPP_UDP_PROXY_PACKET 0x16
772
773//
774// Constants and Structure definitions for "Send PPP UDP Proxy Packet" command to follow here
775//
776
777//
778// Definitions for Get PPP UDP Proxy Receive Data command
779//
780#define IPMI_TRANSPORT_GET_PPP_UDP_PROXY_RX 0x17
781
782//
783// Constants and Structure definitions for "Get PPP UDP Proxy Receive Data" command to follow here
784//
785
786//
787// Definitions for Serial/Modem connection active command
788//
789#define IPMI_TRANSPORT_SERIAL_CONNECTION_ACTIVE 0x18
790
791//
792// Constants and Structure definitions for "Serial/Modem connection active" command to follow here
793//
794
795//
796// Definitions for Callback command
797//
798#define IPMI_TRANSPORT_CALLBACK 0x19
799
800//
801// Constants and Structure definitions for "Callback" command to follow here
802//
803
804//
805// Definitions for Set user Callback Options command
806//
807#define IPMI_TRANSPORT_SET_USER_CALLBACK_OPTIONS 0x1A
808
809//
810// Constants and Structure definitions for "Set user Callback Options" command to follow here
811//
812
813//
814// Definitions for Get user Callback Options command
815//
816#define IPMI_TRANSPORT_GET_USER_CALLBACK_OPTIONS 0x1B
817
818//
819// Constants and Structure definitions for "Get user Callback Options" command to follow here
820//
821
822//
823// Below is Definitions for SOL Commands (Chapter 26)
824//
825
826//
827// Definitions for SOL activating command
828//
829#define IPMI_TRANSPORT_SOL_ACTIVATING 0x20
830
831//
832// Constants and Structure definitions for "SOL activating" command to follow here
833//
834typedef union {
835 struct {
836 UINT8 SessionState : 4;
837 UINT8 Reserved : 4;
838 } Bits;
839 UINT8 Uint8;
840} IPMI_SOL_SESSION_STATE;
841
842typedef struct {
843 IPMI_SOL_SESSION_STATE SessionState;
844 UINT8 PayloadInstance;
845 UINT8 FormatVersionMajor; // 1
846 UINT8 FormatVersionMinor; // 0
847} IPMI_SOL_ACTIVATING_REQUEST;
848
849//
850// Definitions for Set SOL Configuration Parameters command
851//
852#define IPMI_TRANSPORT_SET_SOL_CONFIG_PARAM 0x21
853
854//
855// Constants and Structure definitions for "Set SOL Configuration Parameters" command to follow here
856//
857
858//
859// SOL Configuration Parameters selector
860//
861#define IPMI_SOL_CONFIGURATION_PARAMETER_SET_IN_PROGRESS 0
862#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_ENABLE 1
863#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_AUTHENTICATION 2
864#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_CHARACTER_PARAM 3
865#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_RETRY 4
866#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_NV_BIT_RATE 5
867#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_VOLATILE_BIT_RATE 6
868#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_PAYLOAD_CHANNEL 7
869#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_PAYLOAD_PORT 8
870
871typedef union {
872 struct {
873 UINT8 ChannelNumber : 4;
874 UINT8 Reserved : 4;
875 } Bits;
876 UINT8 Uint8;
877} IPMI_SET_SOL_CONFIG_PARAM_CHANNEL_NUM;
878
879typedef struct {
880 IPMI_SET_SOL_CONFIG_PARAM_CHANNEL_NUM ChannelNumber;
881 UINT8 ParameterSelector;
882 UINT8 ParameterData[0];
883} IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST;
884
885//
886// Definitions for Get SOL Configuration Parameters command
887//
888#define IPMI_TRANSPORT_GET_SOL_CONFIG_PARAM 0x22
889
890//
891// Constants and Structure definitions for "Get SOL Configuration Parameters" command to follow here
892//
893typedef union {
894 struct {
895 UINT8 ChannelNumber : 4;
896 UINT8 Reserved : 3;
897 UINT8 GetParameter : 1;
898 } Bits;
899 UINT8 Uint8;
900} IPMI_GET_SOL_CONFIG_PARAM_CHANNEL_NUM;
901
902typedef struct {
903 IPMI_GET_SOL_CONFIG_PARAM_CHANNEL_NUM ChannelNumber;
904 UINT8 ParameterSelector;
905 UINT8 SetSelector;
906 UINT8 BlockSelector;
907} IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST;
908
909typedef struct {
910 UINT8 CompletionCode;
911 UINT8 ParameterRevision;
912 UINT8 ParameterData[0];
913} IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE;
914
915#pragma pack()
916#endif