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