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