mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-27 12:15:19 +01:00
886 lines
22 KiB
C
886 lines
22 KiB
C
|
/** @file
|
||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||
|
|
||
|
This file contains all NetFn Transport commands, including:
|
||
|
IPM LAN Commands (Chapter 23)
|
||
|
IPMI Serial/Modem Commands (Chapter 25)
|
||
|
SOL Commands (Chapter 26)
|
||
|
Command Forwarding Commands (Chapter 35b)
|
||
|
|
||
|
See IPMI specification, Appendix G, Command Assignments
|
||
|
and Appendix H, Sub-function Assignments.
|
||
|
|
||
|
Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
|
||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
**/
|
||
|
|
||
|
#ifndef _IPMI_NET_FN_TRANSPORT_H_
|
||
|
#define _IPMI_NET_FN_TRANSPORT_H_
|
||
|
|
||
|
#pragma pack(1)
|
||
|
//
|
||
|
// Net function definition for Transport command
|
||
|
//
|
||
|
#define IPMI_NETFN_TRANSPORT 0x0C
|
||
|
|
||
|
//
|
||
|
// Below is Definitions for IPM LAN Commands (Chapter 23)
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Set Lan Configuration Parameters command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SET_LAN_CONFIG_PARAMETERS 0x01
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Set Lan Configuration Parameters" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// LAN Management Structure
|
||
|
//
|
||
|
typedef enum {
|
||
|
IpmiLanReserved1,
|
||
|
IpmiLanReserved2,
|
||
|
IpmiLanAuthType,
|
||
|
IpmiLanIpAddress,
|
||
|
IpmiLanIpAddressSource,
|
||
|
IpmiLanMacAddress,
|
||
|
IpmiLanSubnetMask,
|
||
|
IpmiLanIpv4HeaderParam,
|
||
|
IpmiLanPrimaryRcmpPort,
|
||
|
IpmiLanSecondaryRcmpPort,
|
||
|
IpmiLanBmcGeneratedArpCtrl,
|
||
|
IpmiLanArpInterval,
|
||
|
IpmiLanDefaultGateway,
|
||
|
IpmiLanDefaultGatewayMac,
|
||
|
IpmiLanBackupGateway,
|
||
|
IpmiLanBackupGatewayMac,
|
||
|
IpmiLanCommunityString,
|
||
|
IpmiLanReserved3,
|
||
|
IpmiLanDestinationType,
|
||
|
IpmiLanDestinationAddress,
|
||
|
IpmiIpv4OrIpv6Support = 0x32,
|
||
|
IpmiIpv4OrIpv6AddressEnable,
|
||
|
IpmiIpv6HdrStatTrafficClass,
|
||
|
IpmiIpv6HdrStatHopLimit,
|
||
|
IpmiIpv6HdrFlowLabel,
|
||
|
IpmiIpv6Status,
|
||
|
IpmiIpv6StaticAddress,
|
||
|
IpmiIpv6DhcpStaticDuidLen,
|
||
|
IpmiIpv6DhcpStaticDuid,
|
||
|
IpmiIpv6DhcpAddress,
|
||
|
IpmiIpv6DhcpDynamicDuidLen,
|
||
|
IpmiIpv6DhcpDynamicDuid,
|
||
|
IpmiIpv6RouterConfig = 0x40,
|
||
|
IpmiIpv6StaticRouter1IpAddr,
|
||
|
IpmiIpv6DynamicRouterIpAddr = 0x4a
|
||
|
} IPMI_LAN_OPTION_TYPE;
|
||
|
|
||
|
//
|
||
|
// IP Address Source
|
||
|
//
|
||
|
typedef enum {
|
||
|
IpmiUnspecified,
|
||
|
IpmiStaticAddrsss,
|
||
|
IpmiDynamicAddressBmcDhcp,
|
||
|
IpmiDynamicAddressBiosDhcp,
|
||
|
IpmiDynamicAddressBmcNonDhcp
|
||
|
} IPMI_IP_ADDRESS_SRC;
|
||
|
|
||
|
//
|
||
|
// Destination Type
|
||
|
//
|
||
|
typedef enum {
|
||
|
IpmiPetTrapDestination,
|
||
|
IpmiDirectedEventDestination,
|
||
|
IpmiReserved1,
|
||
|
IpmiReserved2,
|
||
|
IpmiReserved3,
|
||
|
IpmiReserved4,
|
||
|
IpmiReserved5,
|
||
|
IpmiOem1,
|
||
|
IpmiOem2
|
||
|
} IPMI_LAN_DEST_TYPE_DEST_TYPE;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 NoAuth : 1;
|
||
|
UINT8 MD2Auth : 1;
|
||
|
UINT8 MD5Auth : 1;
|
||
|
UINT8 Reserved1 : 1;
|
||
|
UINT8 StraightPswd : 1;
|
||
|
UINT8 OemType : 1;
|
||
|
UINT8 Reserved2 : 2;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_AUTH_TYPE;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 IpAddress[4];
|
||
|
} IPMI_LAN_IP_ADDRESS;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 AddressSrc : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_IP_ADDRESS_SRC;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 MacAddress[6];
|
||
|
} IPMI_LAN_MAC_ADDRESS;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 IpAddress[4];
|
||
|
} IPMI_LAN_SUBNET_MASK;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 IpFlag : 3;
|
||
|
UINT8 Reserved : 5;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_IPV4_HDR_PARAM_DATA_2;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 Precedence : 3;
|
||
|
UINT8 Reserved : 1;
|
||
|
UINT8 ServiceType : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_IPV4_HDR_PARAM_DATA_3;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 TimeToLive;
|
||
|
IPMI_LAN_IPV4_HDR_PARAM_DATA_2 Data2;
|
||
|
IPMI_LAN_IPV4_HDR_PARAM_DATA_3 Data3;
|
||
|
} IPMI_LAN_IPV4_HDR_PARAM;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 RcmpPortMsb;
|
||
|
UINT8 RcmpPortLsb;
|
||
|
} IPMI_LAN_RCMP_PORT;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 EnableBmcArpResponse : 1;
|
||
|
UINT8 EnableBmcGratuitousArp : 1;
|
||
|
UINT8 Reserved : 6;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_BMC_GENERATED_ARP_CONTROL;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 ArpInterval;
|
||
|
} IPMI_LAN_ARP_INTERVAL;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 Data[18];
|
||
|
} IPMI_LAN_COMMUNITY_STRING;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 DestinationSelector : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_SET_SELECTOR;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 DestinationType : 3;
|
||
|
UINT8 Reserved : 4;
|
||
|
UINT8 AlertAcknowledged : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_DEST_TYPE_DESTINATION_TYPE;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_LAN_SET_SELECTOR SetSelector;
|
||
|
IPMI_LAN_DEST_TYPE_DESTINATION_TYPE DestinationType;
|
||
|
} IPMI_LAN_DEST_TYPE;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 AlertingIpAddressSelector : 4;
|
||
|
UINT8 AddressFormat : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_ADDRESS_FORMAT;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 UseDefaultGateway : 1;
|
||
|
UINT8 Reserved2 : 7;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_GATEWAY_SELECTOR;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_LAN_SET_SELECTOR SetSelector;
|
||
|
IPMI_LAN_ADDRESS_FORMAT AddressFormat;
|
||
|
IPMI_LAN_GATEWAY_SELECTOR GatewaySelector;
|
||
|
IPMI_LAN_IP_ADDRESS AlertingIpAddress;
|
||
|
IPMI_LAN_MAC_ADDRESS AlertingMacAddress;
|
||
|
} IPMI_LAN_DEST_ADDRESS;
|
||
|
|
||
|
typedef union {
|
||
|
IPMI_LAN_AUTH_TYPE IpmiLanAuthType;
|
||
|
IPMI_LAN_IP_ADDRESS IpmiLanIpAddress;
|
||
|
IPMI_LAN_IP_ADDRESS_SRC IpmiLanIpAddressSrc;
|
||
|
IPMI_LAN_MAC_ADDRESS IpmiLanMacAddress;
|
||
|
IPMI_LAN_SUBNET_MASK IpmiLanSubnetMask;
|
||
|
IPMI_LAN_IPV4_HDR_PARAM IpmiLanIpv4HdrParam;
|
||
|
IPMI_LAN_RCMP_PORT IpmiLanPrimaryRcmpPort;
|
||
|
IPMI_LAN_BMC_GENERATED_ARP_CONTROL IpmiLanArpControl;
|
||
|
IPMI_LAN_ARP_INTERVAL IpmiLanArpInterval;
|
||
|
IPMI_LAN_COMMUNITY_STRING IpmiLanCommunityString;
|
||
|
IPMI_LAN_DEST_TYPE IpmiLanDestType;
|
||
|
IPMI_LAN_DEST_ADDRESS IpmiLanDestAddress;
|
||
|
} IPMI_LAN_OPTIONS;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 AddressSourceType : 4;
|
||
|
UINT8 Reserved : 3;
|
||
|
UINT8 EnableStatus : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_IPV6_ADDRESS_SOURCE_TYPE;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 SetSelector;
|
||
|
IPMI_LAN_IPV6_ADDRESS_SOURCE_TYPE AddressSourceType;
|
||
|
UINT8 Ipv6Address[16];
|
||
|
UINT8 AddressPrefixLen;
|
||
|
UINT8 AddressStatus;
|
||
|
} IPMI_LAN_IPV6_STATIC_ADDRESS;
|
||
|
|
||
|
//
|
||
|
// Set in progress parameter
|
||
|
//
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 SetInProgress:2;
|
||
|
UINT8 Reserved:6;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_LAN_SET_IN_PROGRESS;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 ChannelNo : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_SET_LAN_CONFIG_CHANNEL_NUM;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_SET_LAN_CONFIG_CHANNEL_NUM ChannelNumber;
|
||
|
UINT8 ParameterSelector;
|
||
|
UINT8 ParameterData[0];
|
||
|
} IPMI_SET_LAN_CONFIGURATION_PARAMETERS_COMMAND_REQUEST;
|
||
|
|
||
|
//
|
||
|
// Definitions for Get Lan Configuration Parameters command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_LAN_CONFIG_PARAMETERS 0x02
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get Lan Configuration Parameters" command to follow here
|
||
|
//
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 ChannelNo : 4;
|
||
|
UINT8 Reserved : 3;
|
||
|
UINT8 GetParameter : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_GET_LAN_CONFIG_CHANNEL_NUM;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_GET_LAN_CONFIG_CHANNEL_NUM ChannelNumber;
|
||
|
UINT8 ParameterSelector;
|
||
|
UINT8 SetSelector;
|
||
|
UINT8 BlockSelector;
|
||
|
} IPMI_GET_LAN_CONFIGURATION_PARAMETERS_REQUEST;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 CompletionCode;
|
||
|
UINT8 ParameterRevision;
|
||
|
UINT8 ParameterData[0];
|
||
|
} IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE;
|
||
|
|
||
|
//
|
||
|
// Definitions for Suspend BMC ARPs command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SUSPEND_BMC_ARPS 0x03
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Suspend BMC ARPs" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Get IP-UDP-RMCP Statistics command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_PACKET_STATISTICS 0x04
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get IP-UDP-RMCP Statistics" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Below is Definitions for IPMI Serial/Modem Commands (Chapter 25)
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Set Serial/Modem Configuration command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SET_SERIAL_CONFIGURATION 0x10
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Set Serial/Modem Configuration" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// EMP OPTION DATA
|
||
|
//
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 NoAuthentication : 1;
|
||
|
UINT8 MD2Authentication : 1;
|
||
|
UINT8 MD5Authentication : 1;
|
||
|
UINT8 Reserved1 : 1;
|
||
|
UINT8 StraightPassword : 1;
|
||
|
UINT8 OemProprietary : 1;
|
||
|
UINT8 Reservd2 : 2;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_AUTH_TYPE;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 EnableBasicMode : 1;
|
||
|
UINT8 EnablePPPMode : 1;
|
||
|
UINT8 EnableTerminalMode : 1;
|
||
|
UINT8 Reserved1 : 2;
|
||
|
UINT8 SnoopOsPPPNegotiation : 1;
|
||
|
UINT8 Reserved2 : 1;
|
||
|
UINT8 DirectConnect : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_CONNECTION_TYPE;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 InactivityTimeout : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_INACTIVITY_TIMEOUT;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 IpmiCallback : 1;
|
||
|
UINT8 CBCPCallback : 1;
|
||
|
UINT8 Reserved : 6;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_CHANNEL_CALLBACK_CONTROL_ENABLE;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 CbcpEnableNoCallback : 1;
|
||
|
UINT8 CbcpEnablePreSpecifiedNumber : 1;
|
||
|
UINT8 CbcpEnableUserSpecifiedNumber : 1;
|
||
|
UINT8 CbcpEnableCallbackFromList : 1;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_CHANNEL_CALLBACK_CONTROL_CBCP;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_CHANNEL_CALLBACK_CONTROL_ENABLE CallbackEnable;
|
||
|
IPMI_CHANNEL_CALLBACK_CONTROL_CBCP CBCPNegotiation;
|
||
|
UINT8 CallbackDestination1;
|
||
|
UINT8 CallbackDestination2;
|
||
|
UINT8 CallbackDestination3;
|
||
|
} IPMI_EMP_CHANNEL_CALLBACK_CONTROL;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 CloseSessionOnDCDLoss : 1;
|
||
|
UINT8 EnableSessionInactivityTimeout : 1;
|
||
|
UINT8 Reserved : 6;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_SESSION_TERMINATION;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 Reserved1 : 5;
|
||
|
UINT8 EnableDtrHangup : 1;
|
||
|
UINT8 FlowControl : 2;
|
||
|
UINT8 BitRate : 4;
|
||
|
UINT8 Reserved2 : 4;
|
||
|
UINT8 SaveSetting : 1;
|
||
|
UINT8 SetComPort : 1;
|
||
|
UINT8 Reserved3 : 6;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
UINT16 Uint16;
|
||
|
} IPMI_EMP_MESSAGING_COM_SETTING;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 RingDurationInterval : 6;
|
||
|
UINT8 Reserved1 : 2;
|
||
|
UINT8 RingDeadTime : 4;
|
||
|
UINT8 Reserved2 : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_MODEM_RING_TIME;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 Reserved;
|
||
|
UINT8 InitString[48];
|
||
|
} IPMI_EMP_MODEM_INIT_STRING;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 EscapeSequence[5];
|
||
|
} IPMI_EMP_MODEM_ESC_SEQUENCE;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 HangupSequence[8];
|
||
|
} IPMI_EMP_MODEM_HANGUP_SEQUENCE;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 ModelDialCommend[8];
|
||
|
} IPMI_MODEM_DIALUP_COMMAND;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 PageBlackoutInterval;
|
||
|
} IPMI_PAGE_BLACKOUT_INTERVAL;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 CommunityString[18];
|
||
|
} IPMI_EMP_COMMUNITY_STRING;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 Reserved : 4;
|
||
|
UINT8 DialStringSelector : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_DIAL_PAGE_DESTINATION;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 TapAccountSelector : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_TAP_PAGE_DESTINATION;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 PPPAccountSetSelector;
|
||
|
UINT8 DialStringSelector;
|
||
|
} IPMI_PPP_ALERT_DESTINATION;
|
||
|
|
||
|
typedef union {
|
||
|
IPMI_DIAL_PAGE_DESTINATION DialPageDestination;
|
||
|
IPMI_TAP_PAGE_DESTINATION TapPageDestination;
|
||
|
IPMI_PPP_ALERT_DESTINATION PppAlertDestination;
|
||
|
} IPMI_DEST_TYPE_SPECIFIC;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 DestinationSelector : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_DESTINATION_SELECTOR;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 DestinationType : 4;
|
||
|
UINT8 Reserved : 3;
|
||
|
UINT8 AlertAckRequired : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_DESTINATION_TYPE;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 NumRetriesCall : 3;
|
||
|
UINT8 Reserved1 : 1;
|
||
|
UINT8 NumRetryAlert : 3;
|
||
|
UINT8 Reserved2 : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_RETRIES;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_EMP_DESTINATION_SELECTOR DestinationSelector;
|
||
|
IPMI_EMP_DESTINATION_TYPE DestinationType;
|
||
|
UINT8 AlertAckTimeoutSeconds;
|
||
|
IPMI_EMP_RETRIES Retries;
|
||
|
IPMI_DEST_TYPE_SPECIFIC DestinationTypeSpecific;
|
||
|
} IPMI_EMP_DESTINATION_INFO;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 Parity : 3;
|
||
|
UINT8 CharacterSize : 1;
|
||
|
UINT8 StopBit : 1;
|
||
|
UINT8 DtrHangup : 1;
|
||
|
UINT8 FlowControl : 2;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_DESTINATION_COM_SETTING_DATA_2;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 BitRate : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_EMP_BIT_RATE;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_EMP_DESTINATION_SELECTOR DestinationSelector;
|
||
|
IPMI_EMP_DESTINATION_COM_SETTING_DATA_2 Data2;
|
||
|
IPMI_EMP_BIT_RATE BitRate;
|
||
|
} IPMI_EMP_DESTINATION_COM_SETTING;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 DialStringSelector : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_DIAL_STRING_SELECTOR;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_DIAL_STRING_SELECTOR DestinationSelector;
|
||
|
UINT8 Reserved;
|
||
|
UINT8 DialString[48];
|
||
|
} IPMI_DESTINATION_DIAL_STRING;
|
||
|
|
||
|
typedef union {
|
||
|
UINT32 IpAddressLong;
|
||
|
UINT8 IpAddress[4];
|
||
|
} IPMI_PPP_IP_ADDRESS;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 IpAddressSelector : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_DESTINATION_IP_ADDRESS_SELECTOR;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_DESTINATION_IP_ADDRESS_SELECTOR DestinationSelector;
|
||
|
IPMI_PPP_IP_ADDRESS PppIpAddress;
|
||
|
} IPMI_DESTINATION_IP_ADDRESS;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 TapServiceSelector : 4;
|
||
|
UINT8 TapDialStringSelector : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_TAP_DIAL_STRING_SERVICE_SELECTOR;
|
||
|
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 TapSelector;
|
||
|
IPMI_TAP_DIAL_STRING_SERVICE_SELECTOR TapDialStringServiceSelector;
|
||
|
} IPMI_DESTINATION_TAP_ACCOUNT;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 TapSelector;
|
||
|
UINT8 PagerIdString[16];
|
||
|
} IPMI_TAP_PAGER_ID_STRING;
|
||
|
|
||
|
typedef union {
|
||
|
UINT8 OptionData;
|
||
|
IPMI_EMP_AUTH_TYPE EmpAuthType;
|
||
|
IPMI_EMP_CONNECTION_TYPE EmpConnectionType;
|
||
|
IPMI_EMP_INACTIVITY_TIMEOUT EmpInactivityTimeout;
|
||
|
IPMI_EMP_CHANNEL_CALLBACK_CONTROL EmpCallbackControl;
|
||
|
IPMI_EMP_SESSION_TERMINATION EmpSessionTermination;
|
||
|
IPMI_EMP_MESSAGING_COM_SETTING EmpMessagingComSetting;
|
||
|
IPMI_EMP_MODEM_RING_TIME EmpModemRingTime;
|
||
|
IPMI_EMP_MODEM_INIT_STRING EmpModemInitString;
|
||
|
IPMI_EMP_MODEM_ESC_SEQUENCE EmpModemEscSequence;
|
||
|
IPMI_EMP_MODEM_HANGUP_SEQUENCE EmpModemHangupSequence;
|
||
|
IPMI_MODEM_DIALUP_COMMAND EmpModemDialupCommand;
|
||
|
IPMI_PAGE_BLACKOUT_INTERVAL EmpPageBlackoutInterval;
|
||
|
IPMI_EMP_COMMUNITY_STRING EmpCommunityString;
|
||
|
IPMI_EMP_DESTINATION_INFO EmpDestinationInfo;
|
||
|
IPMI_EMP_DESTINATION_COM_SETTING EmpDestinationComSetting;
|
||
|
UINT8 CallRetryBusySignalInterval;
|
||
|
IPMI_DESTINATION_DIAL_STRING DestinationDialString;
|
||
|
IPMI_DESTINATION_IP_ADDRESS DestinationIpAddress;
|
||
|
IPMI_DESTINATION_TAP_ACCOUNT DestinationTapAccount;
|
||
|
IPMI_TAP_PAGER_ID_STRING TapPagerIdString;
|
||
|
} IPMI_EMP_OPTIONS;
|
||
|
|
||
|
//
|
||
|
// Definitions for Get Serial/Modem Configuration command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_SERIAL_CONFIGURATION 0x11
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get Serial/Modem Configuration" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Set Serial/Modem Mux command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SET_SERIAL_MUX 0x12
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Set Serial/Modem Mux" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Set Serial/Modem Mux command request return status
|
||
|
//
|
||
|
#define IPMI_MUX_SETTING_REQUEST_REJECTED 0x00
|
||
|
#define IPMI_MUX_SETTING_REQUEST_ACCEPTED 0x01
|
||
|
|
||
|
//
|
||
|
// Definitions for serial multiplex settings
|
||
|
//
|
||
|
#define IPMI_MUX_SETTING_GET_MUX_SETTING 0x0
|
||
|
#define IPMI_MUX_SETTING_REQUEST_MUX_TO_SYSTEM 0x1
|
||
|
#define IPMI_MUX_SETTING_REQUEST_MUX_TO_BMC 0x2
|
||
|
#define IPMI_MUX_SETTING_FORCE_MUX_TO_SYSTEM 0x3
|
||
|
#define IPMI_MUX_SETTING_FORCE_MUX_TO_BMC 0x4
|
||
|
#define IPMI_MUX_SETTING_BLOCK_REQUEST_MUX_TO_SYSTEM 0x5
|
||
|
#define IPMI_MUX_SETTING_ALLOW_REQUEST_MUX_TO_SYSTEM 0x6
|
||
|
#define IPMI_MUX_SETTING_BLOCK_REQUEST_MUX_TO_BMC 0x7
|
||
|
#define IPMI_MUX_SETTING_ALLOW_REQUEST_MUX_TO_BMC 0x8
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 ChannelNo : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_MUX_CHANNEL_NUM;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 MuxSetting : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_MUX_SETTING_REQUEST;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_MUX_CHANNEL_NUM ChannelNumber;
|
||
|
IPMI_MUX_SETTING_REQUEST MuxSetting;
|
||
|
} IPMI_SET_SERIAL_MODEM_MUX_COMMAND_REQUEST;
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 MuxSetToBmc : 1;
|
||
|
UINT8 CommandStatus : 1;
|
||
|
UINT8 MessagingSessionActive : 1;
|
||
|
UINT8 AlertInProgress : 1;
|
||
|
UINT8 Reserved : 2;
|
||
|
UINT8 MuxToBmcAllowed : 1;
|
||
|
UINT8 MuxToSystemBlocked : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_MUX_SETTING_PRESENT_STATE;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 CompletionCode;
|
||
|
IPMI_MUX_SETTING_PRESENT_STATE MuxSetting;
|
||
|
} IPMI_SET_SERIAL_MODEM_MUX_COMMAND_RESPONSE;
|
||
|
|
||
|
//
|
||
|
// Definitions for Get TAP Response Code command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_TAP_RESPONSE_CODE 0x13
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get TAP Response Code" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Set PPP UDP Proxy Transmit Data command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SET_PPP_UDP_PROXY_TXDATA 0x14
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Set PPP UDP Proxy Transmit Data" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Get PPP UDP Proxy Transmit Data command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_PPP_UDP_PROXY_TXDATA 0x15
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get PPP UDP Proxy Transmit Data" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Send PPP UDP Proxy Packet command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SEND_PPP_UDP_PROXY_PACKET 0x16
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Send PPP UDP Proxy Packet" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Get PPP UDP Proxy Receive Data command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_PPP_UDP_PROXY_RX 0x17
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get PPP UDP Proxy Receive Data" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Serial/Modem connection active command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SERIAL_CONNECTION_ACTIVE 0x18
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Serial/Modem connection active" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Callback command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_CALLBACK 0x19
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Callback" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Set user Callback Options command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SET_USER_CALLBACK_OPTIONS 0x1A
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Set user Callback Options" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for Get user Callback Options command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_USER_CALLBACK_OPTIONS 0x1B
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get user Callback Options" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Below is Definitions for SOL Commands (Chapter 26)
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// Definitions for SOL activating command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SOL_ACTIVATING 0x20
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "SOL activating" command to follow here
|
||
|
//
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 SessionState : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_SOL_SESSION_STATE;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_SOL_SESSION_STATE SessionState;
|
||
|
UINT8 PayloadInstance;
|
||
|
UINT8 FormatVersionMajor; // 1
|
||
|
UINT8 FormatVersionMinor; // 0
|
||
|
} IPMI_SOL_ACTIVATING_REQUEST;
|
||
|
|
||
|
//
|
||
|
// Definitions for Set SOL Configuration Parameters command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_SET_SOL_CONFIG_PARAM 0x21
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Set SOL Configuration Parameters" command to follow here
|
||
|
//
|
||
|
|
||
|
//
|
||
|
// SOL Configuration Parameters selector
|
||
|
//
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SET_IN_PROGRESS 0
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_ENABLE 1
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_AUTHENTICATION 2
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_CHARACTER_PARAM 3
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_RETRY 4
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_NV_BIT_RATE 5
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_VOLATILE_BIT_RATE 6
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_PAYLOAD_CHANNEL 7
|
||
|
#define IPMI_SOL_CONFIGURATION_PARAMETER_SOL_PAYLOAD_PORT 8
|
||
|
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 ChannelNumber : 4;
|
||
|
UINT8 Reserved : 4;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_SET_SOL_CONFIG_PARAM_CHANNEL_NUM;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_SET_SOL_CONFIG_PARAM_CHANNEL_NUM ChannelNumber;
|
||
|
UINT8 ParameterSelector;
|
||
|
UINT8 ParameterData[0];
|
||
|
} IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST;
|
||
|
|
||
|
//
|
||
|
// Definitions for Get SOL Configuration Parameters command
|
||
|
//
|
||
|
#define IPMI_TRANSPORT_GET_SOL_CONFIG_PARAM 0x22
|
||
|
|
||
|
//
|
||
|
// Constants and Structure definitions for "Get SOL Configuration Parameters" command to follow here
|
||
|
//
|
||
|
typedef union {
|
||
|
struct {
|
||
|
UINT8 ChannelNumber : 4;
|
||
|
UINT8 Reserved : 3;
|
||
|
UINT8 GetParameter : 1;
|
||
|
} Bits;
|
||
|
UINT8 Uint8;
|
||
|
} IPMI_GET_SOL_CONFIG_PARAM_CHANNEL_NUM;
|
||
|
|
||
|
typedef struct {
|
||
|
IPMI_GET_SOL_CONFIG_PARAM_CHANNEL_NUM ChannelNumber;
|
||
|
UINT8 ParameterSelector;
|
||
|
UINT8 SetSelector;
|
||
|
UINT8 BlockSelector;
|
||
|
} IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST;
|
||
|
|
||
|
typedef struct {
|
||
|
UINT8 CompletionCode;
|
||
|
UINT8 ParameterRevision;
|
||
|
UINT8 ParameterData[0];
|
||
|
} IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE;
|
||
|
|
||
|
#pragma pack()
|
||
|
#endif
|