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