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