--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ See IPMI specification, Appendix G, Command Assignments\r
+ and Appendix H, Sub-function Assignments.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMIDEFINITIONS_H_\r
+#define _IPMIDEFINITIONS_H_\r
+\r
+#include <IndustryStandard/IpmiNetFnChassisDefinitions.h>\r
+#include <IndustryStandard/IpmiNetFnBridgeDefinitions.h>\r
+#include <IndustryStandard/IpmiNetFnSensorEventDefinitions.h>\r
+#include <IndustryStandard/IpmiNetFnAppDefinitions.h>\r
+#include <IndustryStandard/IpmiNetFnFirmwareDefinitions.h>\r
+#include <IndustryStandard/IpmiNetFnStorageDefinitions.h>\r
+#include <IndustryStandard/IpmiNetFnTransportDefinitions.h>\r
+#include <IndustryStandard/IpmiNetFnGroupExtensionDefinitions.h>\r
+\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ This file contains all NetFn App commands, including:\r
+ IPM Device "Global" Commands (Chapter 20)\r
+ Firmware Firewall & Command Discovery Commands (Chapter 21)\r
+ BMC Watchdog Timer Commands (Chapter 27)\r
+ IPMI Messaging Support Commands (Chapter 22)\r
+ RMCP+ Support and Payload Commands (Chapter 24)\r
+\r
+ See IPMI specification, Appendix G, Command Assignments\r
+ and Appendix H, Sub-function Assignments.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNAPPDEFINITIONS_H_\r
+#define _IPMINETFNAPPDEFINITIONS_H_\r
+\r
+#pragma pack(1)\r
+//\r
+// Net function definition for App command\r
+//\r
+#define IPMI_NETFN_APP 0x06\r
+\r
+//\r
+// Below is Definitions for IPM Device "Global" Commands (Chapter 20)\r
+//\r
+\r
+//\r
+// Definitions for Get Device ID command\r
+//\r
+#define IPMI_APP_GET_DEVICE_ID 0x1\r
+\r
+//\r
+// Constants and Structure definitions for "Get Device ID" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 DeviceId;\r
+ UINT8 DeviceRevision : 4;\r
+ UINT8 Reserved : 3;\r
+ UINT8 DeviceSdr : 1;\r
+ UINT8 MajorFirmwareRev : 7;\r
+ UINT8 UpdateMode : 1;\r
+ UINT8 MinorFirmwareRev;\r
+ UINT8 SpecificationVersion;\r
+ UINT8 SensorDeviceSupport : 1;\r
+ UINT8 SdrRepositorySupport : 1;\r
+ UINT8 SelDeviceSupport : 1;\r
+ UINT8 FruInventorySupport : 1;\r
+ UINT8 IpmbMessageReceiver : 1;\r
+ UINT8 IpmbMessageGenerator : 1;\r
+ UINT8 BridgeSupport : 1;\r
+ UINT8 ChassisSupport : 1;\r
+ UINT8 ManufacturerId[3];\r
+ UINT16 ProductId;\r
+ UINT32 AuxFirmwareRevInfo;\r
+} IPMI_MSG_GET_DEVICE_ID_RSP;\r
+\r
+\r
+//\r
+// Definitions for Cold Reset command\r
+//\r
+#define IPMI_APP_COLD_RESET 0x2\r
+\r
+//\r
+// Constants and Structure definitions for "Cold Reset" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Warm Reset command\r
+//\r
+#define IPMI_APP_WARM_RESET 0x3\r
+\r
+//\r
+// Constants and Structure definitions for "Warm Reset" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Self Results command\r
+//\r
+#define IPMI_APP_GET_SELFTEST_RESULTS 0x4\r
+\r
+//\r
+// Constants and Structure definitions for "Get Self Results" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 Result;\r
+ UINT8 Param;\r
+} IPMI_MSG_SELFTEST_RESULT_RSP;\r
+\r
+#define IPMI_APP_SELFTEST_NO_ERROR 0x55\r
+#define IPMI_APP_SELFTEST_NOT_IMPLEMENTED 0x56\r
+#define IPMI_APP_SELFTEST_ERROR 0x57\r
+#define IPMI_APP_SELFTEST_FATAL_HW_ERROR 0x58\r
+#define IPMI_APP_SELFTEST_INACCESSIBLE_SEL 0x80\r
+#define IPMI_APP_SELFTEST_INACCESSIBLE_SDR 0x40\r
+#define IPMI_APP_SELFTEST_INACCESSIBLE_FRU 0x20\r
+#define IPMI_APP_SELFTEST_IPMB_SIGNAL_FAIL 0x10\r
+#define IPMI_APP_SELFTEST_SDR_REPOSITORY_EMPTY 0x08\r
+#define IPMI_APP_SELFTEST_FRU_CORRUPT 0x04\r
+#define IPMI_APP_SELFTEST_FW_BOOTBLOCK_CORRUPT 0x02\r
+#define IPMI_APP_SELFTEST_FW_CORRUPT 0x01\r
+\r
+//\r
+// Definitions for Manufacturing Test ON command\r
+//\r
+#define IPMI_APP_MANUFACTURING_TEST_ON 0x5\r
+\r
+//\r
+// Constants and Structure definitions for "Manufacturing Test ON" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set ACPI Power State command\r
+//\r
+#define IPMI_APP_SET_ACPI_POWERSTATE 0x6\r
+\r
+//\r
+// Constants and Structure definitions for "Set ACPI Power State" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 SystemPowerState : 7;\r
+ UINT8 SystemStateChange : 1;\r
+ UINT8 DevicePowerState : 7;\r
+ UINT8 DeviceStateChange : 1;\r
+} IPMI_ACPI_POWER_STATE;\r
+\r
+//\r
+// Definitions for Get ACPI Power State command\r
+//\r
+#define IPMI_APP_GET_ACPI_POWERSTATE 0x7\r
+\r
+//\r
+// Constants and Structure definitions for "Get ACPI Power State" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Device GUID command\r
+//\r
+#define IPMI_APP_GET_DEVICE_GUID 0x8\r
+\r
+//\r
+// Constants and Structure definitions for "Get Device GUID" command to follow here\r
+//\r
+//\r
+// Message structure definition for "Get Device Guid" IPMI command\r
+//\r
+typedef struct {\r
+ UINT8 Guid[16];\r
+} IPMI_MSG_GET_DEVICE_GUID_RSP;\r
+\r
+//\r
+// Below is Definitions for BMC Watchdog Timer Commands (Chapter 27)\r
+//\r
+\r
+//\r
+// Definitions for Reset WatchDog Timer command\r
+//\r
+#define IPMI_APP_RESET_WATCHDOG_TIMER 0x22\r
+\r
+//\r
+// Constants and Structure definitions for "Reset WatchDog Timer" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 TimerUse : 3;\r
+ UINT8 Reserved : 3;\r
+ UINT8 TimerRunning : 1;\r
+ UINT8 TimerUseExpirationFlagLog : 1;\r
+} IPMI_WATCHDOG_TIMER_USE;\r
+\r
+//\r
+// Definitions for Set WatchDog Timer command\r
+//\r
+#define IPMI_APP_SET_WATCHDOG_TIMER 0x24\r
+\r
+//\r
+// Constants and Structure definitions for "Set WatchDog Timer" command to follow here\r
+//\r
+typedef struct {\r
+ IPMI_WATCHDOG_TIMER_USE TimerUse;\r
+ UINT8 TimerActions;\r
+ UINT8 PretimeoutInterval;\r
+ UINT8 TimerUseExpirationFlagsClear;\r
+ UINT16 InitialCountdownValue;\r
+} IPMI_SET_WATCHDOG_TIMER;\r
+\r
+//\r
+// Definitions for Get WatchDog Timer command\r
+//\r
+#define IPMI_APP_GET_WATCHDOG_TIMER 0x25\r
+\r
+//\r
+// Constants and Structure definitions for "Get WatchDog Timer" command to follow here\r
+//\r
+typedef struct {\r
+ IPMI_WATCHDOG_TIMER_USE TimerUse;\r
+ UINT8 TimerActions;\r
+ UINT8 PretimeoutInterval;\r
+ UINT8 TimerUseExpirationFlagsClear;\r
+ UINT16 InitialCountdownValue;\r
+ UINT16 PresentCountdownValue;\r
+} IPMI_WATCHDOG_TIMER;\r
+\r
+//\r
+// The following srucure is temporary, need to be removed later\r
+//\r
+typedef struct {\r
+ UINT8 TimerUse : 3;\r
+ UINT8 Reserved1 : 3;\r
+ UINT8 StartTimer : 1;\r
+ UINT8 DontLog : 1;\r
+ union {\r
+ struct {\r
+ UINT8 TimeoutAction : 3;\r
+ UINT8 Reserved2 : 1;\r
+ UINT8 PreTimeoutIntr : 3;\r
+ UINT8 Reserved3 : 1;\r
+ } Byte2Bmp;\r
+ UINT8 Data8;\r
+ } Byte2;\r
+\r
+ UINT8 PreTimeoutInterval;\r
+ UINT8 ExpirationReserved1 : 1;\r
+ UINT8 BiosFrb2TimerExpirationFlag : 1;\r
+ UINT8 BiosPostTimerExpirationFlag : 1;\r
+ UINT8 OsLoadTimerExpirationFlag : 1;\r
+ UINT8 ExpirationReserved2 : 4;\r
+ UINT16 Timeout;\r
+ UINT16 CurrCountdown;\r
+ UINT16 Reserved4;\r
+} IPMI_FRB_TIMER;\r
+\r
+//\r
+// Below is Definitions for IPMI Messaging Support Commands (Chapter 22)\r
+//\r
+\r
+//\r
+// Definitions for Set BMC Global Enables command\r
+//\r
+#define IPMI_APP_SET_BMC_GLOBAL_ENABLES 0x2E\r
+\r
+//\r
+// Constants and Structure definitions for "Set BMC Global Enables " command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get BMC Global Enables command\r
+//\r
+#define IPMI_APP_GET_BMC_GLOBAL_ENABLES 0x2F\r
+\r
+//\r
+// Constants and Structure definitions for "Get BMC Global Enables " command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Clear Message Flags command\r
+//\r
+#define IPMI_APP_CLEAR_MESSAGE_FLAGS 0x30\r
+\r
+//\r
+// Constants and Structure definitions for "Clear Message Flags" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Message Flags command\r
+//\r
+#define IPMI_APP_GET_MESSAGE_FLAGS 0x31\r
+\r
+//\r
+// Constants and Structure definitions for "Get Message Flags" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Enable Message Channel Receive command\r
+//\r
+#define IPMI_APP_ENABLE_MESSAGE_CHANNEL_RECEIVE 0x32\r
+\r
+//\r
+// Constants and Structure definitions for "Enable Message Channel Receive" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Message command\r
+//\r
+#define IPMI_APP_GET_MESSAGE 0x33\r
+\r
+//\r
+// Constants and Structure definitions for "Get Message" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Send Message command\r
+//\r
+#define IPMI_APP_SEND_MESSAGE 0x34\r
+\r
+//\r
+// Constants and Structure definitions for "Send Message" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Read Event Message Buffer command\r
+//\r
+#define IPMI_APP_READ_EVENT_MSG_BUFFER 0x35\r
+\r
+//\r
+// Constants and Structure definitions for "Read Event Message Buffer" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get BT Interface Capabilities command\r
+//\r
+#define IPMI_APP_GET_BT_INTERFACE_CAPABILITY 0x36\r
+\r
+//\r
+// Constants and Structure definitions for "Get BT Interface Capabilities" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get System GUID command\r
+//\r
+#define IPMI_APP_GET_SYSTEM_GUID 0x37\r
+\r
+//\r
+// Constants and Structure definitions for "Get System GUID" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Channel Authentication Capabilities command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_AUTHENTICATION_CAPABILITIES 0x38\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel Authentication Capabilities" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Session Challenge command\r
+//\r
+#define IPMI_APP_GET_SESSION_CHALLENGE 0x39\r
+\r
+//\r
+// Constants and Structure definitions for "Get Session Challenge" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Activate Session command\r
+//\r
+#define IPMI_APP_ACTIVATE_SESSION 0x3A\r
+\r
+//\r
+// Constants and Structure definitions for "Activate Session" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Session Privelege Level command\r
+//\r
+#define IPMI_APP_SET_SESSION_PRIVELEGE_LEVEL 0x3B\r
+\r
+//\r
+// Constants and Structure definitions for "Set Session Privelege Level" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Close Session command\r
+//\r
+#define IPMI_APP_CLOSE_SESSION 0x3C\r
+\r
+//\r
+// Constants and Structure definitions for "Close Session" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Session Info command\r
+//\r
+#define IPMI_APP_GET_SESSION_INFO 0x3D\r
+\r
+//\r
+// Constants and Structure definitions for "Get Session Info" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Auth Code command\r
+//\r
+#define IPMI_APP_GET_AUTHCODE 0x3F\r
+\r
+//\r
+// Constants and Structure definitions for "Get AuthCode" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Channel Access command\r
+//\r
+#define IPMI_APP_SET_CHANNEL_ACCESS 0x40\r
+\r
+//\r
+// Constants and Structure definitions for "Set Channel Access" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Channel Access command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_ACCESS 0x41\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel Access" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 ChannelNo : 4;\r
+ UINT8 Reserve1 : 4;\r
+ UINT8 Reserve2 : 6;\r
+ UINT8 MemoryType : 2;\r
+} IPMI_GET_CHANNEL_ACCESS_COMMAND;\r
+\r
+typedef struct {\r
+ UINT8 AccessMode : 3;\r
+ UINT8 UserLevelAuthEnabled : 1;\r
+ UINT8 MessageAuthEnable : 1;\r
+ UINT8 Alert : 1;\r
+ UINT8 Reserve1 : 2;\r
+ UINT8 ChannelPriviledgeLimit : 4;\r
+ UINT8 Reserve2 : 4;\r
+} IPMI_GET_CHANNEL_ACCESS_RESPONSE;\r
+\r
+//\r
+// Definitions for Get Channel Info command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_INFO 0x42\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel Info" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 ChannelNo : 4;\r
+ UINT8 Reserve1 : 4;\r
+ UINT8 ChannelMediumType : 7;\r
+ UINT8 Reserve2 : 1;\r
+ UINT8 ChannelProtocolType : 5;\r
+ UINT8 Reserve3 : 3;\r
+ UINT8 ActiveSessionCount : 6;\r
+ UINT8 SessionSupport : 2;\r
+ UINT32 VendorId : 24;\r
+ UINT16 AuxChannelInfo : 16;\r
+ UINT8 Dummy;\r
+} IPMI_CHANNEL_INFO;\r
+\r
+//\r
+// Definitions for Get Channel Info command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_INFO 0x42\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel Info" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set User Access command\r
+//\r
+#define IPMI_APP_SET_USER_ACCESS 0x43\r
+\r
+//\r
+// Constants and Structure definitions for "Set User Access" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get User Access command\r
+//\r
+#define IPMI_APP_GET_USER_ACCESS 0x44\r
+\r
+//\r
+// Constants and Structure definitions for "Get User Access" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set User Name command\r
+//\r
+#define IPMI_APP_SET_USER_NAME 0x45\r
+\r
+//\r
+// Constants and Structure definitions for "Set User Name" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get User Name command\r
+//\r
+#define IPMI_APP_GET_USER_NAME 0x46\r
+\r
+//\r
+// Constants and Structure definitions for "Get User Name" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set User Password command\r
+//\r
+#define IPMI_APP_SET_USER_PASSWORD 0x47\r
+\r
+//\r
+// Constants and Structure definitions for "Set User Password" command to follow here\r
+//\r
+\r
+//\r
+// Below is Definitions for RMCP+ Support and Payload Commands (Chapter 24)\r
+//\r
+\r
+//\r
+// Definitions for Activate Payload command\r
+//\r
+#define IPMI_APP_ACTIVATE_PAYLOAD 0x48\r
+\r
+//\r
+// Constants and Structure definitions for "Activate Payload" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for De-Activate Payload command\r
+//\r
+#define IPMI_APP_DEACTIVATE_PAYLOAD 0x49\r
+\r
+//\r
+// Constants and Structure definitions for "DeActivate Payload" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Payload activation Status command\r
+//\r
+#define IPMI_APP_GET_PAYLOAD_ACTIVATION_STATUS 0x4a\r
+\r
+//\r
+// Constants and Structure definitions for "Get Payload activation Status" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Payload Instance Info command\r
+//\r
+#define IPMI_APP_GET_PAYLOAD_INSTANCE_INFO 0x4b\r
+\r
+//\r
+// Constants and Structure definitions for "Get Payload Instance Info" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set User Payload Access command\r
+//\r
+#define IPMI_APP_SET_USER_PAYLOAD_ACCESS 0x4C\r
+\r
+//\r
+// Constants and Structure definitions for "Set User Payload Access" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get User Payload Access command\r
+//\r
+#define IPMI_APP_GET_USER_PAYLOAD_ACCESS 0x4D\r
+\r
+//\r
+// Constants and Structure definitions for "Get User Payload Access" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Channel Payload Support command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_PAYLOAD_SUPPORT 0x4E\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel Payload Support" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Channel Payload Version command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_PAYLOAD_VERSION 0x4F\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel Payload Version" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Channel OEM Payload Info command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_OEM_PAYLOAD_INFO 0x50\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel OEM Payload Info" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Master Write-Read command\r
+//\r
+#define IPMI_APP_MASTER_WRITE_READ 0x52\r
+\r
+//\r
+// Constants and Structure definitions for "Master Write Read" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Channel Cipher Suites command\r
+//\r
+#define IPMI_APP_GET_CHANNEL_CIPHER_SUITES 0x54\r
+\r
+//\r
+// Constants and Structure definitions for "Get Channel Cipher Suites" command to follow here\r
+//\r
+\r
+//\r
+// Below is Definitions for RMCP+ Support and Payload Commands (Chapter 24, Section 3)\r
+//\r
+\r
+//\r
+// Definitions for Suspend-Resume Payload Encryption command\r
+//\r
+#define IPMI_APP_SUSPEND_RESUME_PAYLOAD_ENCRYPTION 0x55\r
+\r
+//\r
+// Constants and Structure definitions for "Suspend-Resume Payload Encryption" command to follow here\r
+//\r
+\r
+//\r
+// Below is Definitions for IPMI Messaging Support Commands (Chapter 22, Section 25 and 9)\r
+//\r
+\r
+//\r
+// Definitions for Set Channel Security Keys command\r
+//\r
+#define IPMI_APP_SET_CHANNEL_SECURITY_KEYS 0x56\r
+\r
+//\r
+// Constants and Structure definitions for "Set Channel Security Keys" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get System Interface Capabilities command\r
+//\r
+#define IPMI_APP_GET_SYSTEM_INTERFACE_CAPABILITIES 0x57\r
+\r
+//\r
+// Constants and Structure definitions for "Get System Interface Capabilities" command to follow here\r
+//\r
+\r
+#pragma pack()\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+ IPMI Intelligent Chassis Management Bus Bridge Specification Version 1.0,\r
+ Revision 1.3.\r
+\r
+ See IPMI specification, Appendix G, Command Assignments\r
+ and Appendix H, Sub-function Assignments.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNBRIDGEDEFINITIONS_H_\r
+#define _IPMINETFNBRIDGEDEFINITIONS_H_\r
+\r
+//\r
+// Net function definition for Bridge command\r
+//\r
+#define IPMI_NETFN_BRIDGE 0x02\r
+\r
+//\r
+// Definitions for Get Bridge State command\r
+//\r
+#define IPMI_BRIDGE_GET_STATE 0x00\r
+\r
+//\r
+// Constants and Structure definitions for "Get Bridge State" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Bridge State command\r
+//\r
+#define IPMI_BRIDGE_SET_STATE 0x01\r
+\r
+//\r
+// Constants and Structure definitions for "Set Bridge State" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get ICMB Address command\r
+//\r
+#define IPMI_BRIDGE_GET_ICMB_ADDRESS 0x02\r
+\r
+//\r
+// Constants and Structure definitions for "Get ICMB Address" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set ICMB Address command\r
+//\r
+#define IPMI_BRIDGE_SET_ICMB_ADDRESS 0x03\r
+\r
+//\r
+// Constants and Structure definitions for "Set ICMB Address" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Bridge Proxy Address command\r
+//\r
+#define IPMI_BRIDGE_SET_PROXY_ADDRESS 0x04\r
+\r
+//\r
+// Constants and Structure definitions for "Set Bridge Proxy Address" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Bridge Statistics command\r
+//\r
+#define IPMI_BRIDGE_GET_BRIDGE_STATISTICS 0x05\r
+\r
+//\r
+// Constants and Structure definitions for "Get Bridge Statistics" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get ICMB Capabilities command\r
+//\r
+#define IPMI_BRIDGE_GET_ICMB_CAPABILITIES 0x06\r
+\r
+//\r
+// Constants and Structure definitions for "Get ICMB Capabilities" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Clear Bridge Statistics command\r
+//\r
+#define IPMI_BRIDGE_CLEAR_STATISTICS 0x08\r
+\r
+//\r
+// Constants and Structure definitions for "Clear Bridge Statistics" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Bridge Proxy Address command\r
+//\r
+#define IPMI_BRIDGE_GET_PROXY_ADDRESS 0x09\r
+\r
+//\r
+// Constants and Structure definitions for "Get Bridge Proxy Address" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get ICMB Connector Info command\r
+//\r
+#define IPMI_BRIDGE_GET_ICMB_CONNECTOR_INFO 0x0A\r
+\r
+//\r
+// Constants and Structure definitions for "Get ICMB Connector Info " command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get ICMB Connection ID command\r
+//\r
+#define IPMI_BRIDGE_GET_ICMB_CONNECTION_ID 0x0B\r
+\r
+//\r
+// Constants and Structure definitions for "Get ICMB Connection ID" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get ICMB Connection ID command\r
+//\r
+#define IPMI_BRIDGE_SEND_ICMB_CONNECTION_ID 0x0C\r
+\r
+//\r
+// Constants and Structure definitions for "Send ICMB Connection ID" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Prepare for Discoveery command\r
+//\r
+#define IPMI_BRIDGE_PREPARE_FOR_DISCOVERY 0x10\r
+\r
+//\r
+// Constants and Structure definitions for "Prepare for Discoveery" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Addresses command\r
+//\r
+#define IPMI_BRIDGE_GET_ADDRESSES 0x11\r
+\r
+//\r
+// Constants and Structure definitions for "Get Addresses" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Discovered command\r
+//\r
+#define IPMI_BRIDGE_SET_DISCOVERED 0x12\r
+\r
+//\r
+// Constants and Structure definitions for "Set Discovered" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Chassis Device ID command\r
+//\r
+#define IPMI_BRIDGE_GET_CHASSIS_DEVICEID 0x13\r
+\r
+//\r
+// Constants and Structure definitions for "Get Chassis Device ID" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Chassis Device ID command\r
+//\r
+#define IPMI_BRIDGE_SET_CHASSIS_DEVICEID 0x14\r
+\r
+//\r
+// Constants and Structure definitions for "Set Chassis Device ID" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Bridge Request command\r
+//\r
+#define IPMI_BRIDGE_REQUEST 0x20\r
+\r
+//\r
+// Constants and Structure definitions for "Bridge Request" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Bridge Message command\r
+//\r
+#define IPMI_BRIDGE_MESSAGE 0x21\r
+\r
+//\r
+// Constants and Structure definitions for "Bridge Message" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Event Count command\r
+//\r
+#define IPMI_BRIDGE_GET_EVENT_COUNT 0x30\r
+\r
+//\r
+// Constants and Structure definitions for "Get Event Count" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Event Destination command\r
+//\r
+#define IPMI_BRIDGE_SET_EVENT_DESTINATION 0x31\r
+\r
+//\r
+// Constants and Structure definitions for "Set Event Destination" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Event Reception State command\r
+//\r
+#define IPMI_BRIDGE_SET_EVENT_RECEPTION_STATE 0x32\r
+\r
+//\r
+// Constants and Structure definitions for "Set Event Reception State" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Event Reception State command\r
+//\r
+#define IPMI_BRIDGE_SET_EVENT_RECEPTION_STATE 0x32\r
+\r
+//\r
+// Constants and Structure definitions for "Set Event Reception State" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Send ICMB Event Message command\r
+//\r
+#define IPMI_BRIDGE_SEND_ICMB_EVENT_MESSAGE 0x33\r
+\r
+//\r
+// Constants and Structure definitions for "Send ICMB Event Message" command to follow here\r
+//\r
+\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ This file contains all NetFn Chassis commands, including:\r
+ Chassis Commands (Chapter 28)\r
+\r
+ See IPMI specification, Appendix G, Command Assignments\r
+ and Appendix H, Sub-function Assignments.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNCHASSISDEFINITIONS_H_\r
+#define _IPMINETFNCHASSISDEFINITIONS_H_\r
+\r
+#pragma pack (1)\r
+//\r
+// Net function definition for Chassis command\r
+//\r
+#define IPMI_NETFN_CHASSIS 0x00\r
+\r
+//\r
+// Below is Definitions for Chassis commands (Chapter 28)\r
+//\r
+\r
+//\r
+// Definitions for Get Chassis Capabilities command\r
+//\r
+#define IPMI_CHASSIS_GET_CAPABILITIES 0x00\r
+\r
+//\r
+// Constants and Structure definitions for "Get Chassis Capabilities" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Chassis Status command\r
+//\r
+#define IPMI_CHASSIS_GET_STATUS 0x01\r
+\r
+//\r
+// Constants and Structure definitions for "Get Chassis Status" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Chassis Control command\r
+//\r
+#define IPMI_CHASSIS_CONTROL 0x02\r
+\r
+//\r
+// Constants and Structure definitions for "Chassis Control" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Chassis Reset command\r
+//\r
+#define IPMI_CHASSIS_RESET 0x03\r
+\r
+//\r
+// Constants and Structure definitions for "Chassis Reset" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Chassis Identify command\r
+//\r
+#define IPMI_CHASSIS_IDENTIFY 0x04\r
+\r
+//\r
+// Constants and Structure definitions for "Chassis Identify" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Chassis Capabilities command\r
+//\r
+#define IPMI_CHASSIS_SET_CAPABILITIES 0x05\r
+\r
+//\r
+// Constants and Structure definitions for "Set Chassis Capabilities" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Power Restore Policy command\r
+//\r
+#define IPMI_CHASSIS_SET_POWER_RESTORE_POLICY 0x06\r
+\r
+//\r
+// Constants and Structure definitions for "Set Power Restore Policy" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get System Restart Cause command\r
+//\r
+#define IPMI_CHASSIS_GET_SYSTEM_RESTART_CAUSE 0x07\r
+\r
+//\r
+// Constants and Structure definitions for "Get System Restart Cause" command to follow here\r
+//\r
+typedef enum {\r
+ Unknown,\r
+ ChassisControlCommand,\r
+ ResetViaPushButton,\r
+ PowerupViaPowerButton,\r
+ WatchdogExpiration,\r
+ Oem,\r
+ AutoPowerOnAlwaysRestore,\r
+ AutoPowerOnRestorePrevious,\r
+ ResetViaPef,\r
+ PowerCycleViaPef,\r
+ SoftReset,\r
+ PowerUpViaRtc\r
+} IPMI_SYSTEM_RESTART_CAUSE;\r
+\r
+typedef struct {\r
+ UINT8 Cause:4;\r
+ UINT8 Reserved:4;\r
+ UINT8 ChannelNumber;\r
+} GET_SYSTEM_RESTART_CAUSE_RESPONSE;\r
+\r
+//\r
+// Definitions for Set System BOOT options command\r
+//\r
+#define IPMI_CHASSIS_SET_SYSTEM_BOOT_OPTIONS 0x08\r
+\r
+//\r
+// Constants and Structure definitions for "Set System boot options" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 ParameterSelector:7;\r
+ UINT8 MarkParameterInvalid:1;\r
+ UINT8 ParameterData[1];\r
+} IPMI_SET_BOOT_OPTIONS_REQUEST;\r
+\r
+typedef struct {\r
+ UINT8 CompletionCode:8;\r
+} IPMI_SET_BOOT_OPTIONS_RESPONSE;\r
+\r
+//\r
+// Definitions for Get System BOOT options command\r
+//\r
+#define IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS 0x09\r
+\r
+//\r
+// Constants and Structure definitions for "Get System boot options" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 Parameter;\r
+ UINT8 Valid;\r
+ UINT8 Data1;\r
+ UINT8 Data2;\r
+ UINT8 Data3;\r
+ UINT8 Data4;\r
+ UINT8 Data5;\r
+} IPMI_GET_THE_SYSTEM_BOOT_OPTIONS;\r
+\r
+typedef struct {\r
+ UINT8 ParameterVersion;\r
+ UINT8 ParameterValid;\r
+ UINT8 ChannelNumber;\r
+ UINT32 SessionId;\r
+ UINT32 TimeStamp;\r
+ UINT8 Reserved[3];\r
+} IPMI_BOOT_INITIATOR;\r
+\r
+typedef struct {\r
+ UINT8 ParameterSelector;\r
+ UINT8 SetSelector;\r
+ UINT8 BlockSelector;\r
+} IPMI_GET_BOOT_OPTIONS_REQUEST;\r
+\r
+//\r
+// Response Parameters for IPMI Get Boot Options\r
+//\r
+typedef struct {\r
+ UINT8 SetInProgress: 2;\r
+ UINT8 Reserved: 6;\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0;\r
+\r
+typedef struct {\r
+ UINT8 ServicePartitionSelector;\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1;\r
+\r
+typedef struct {\r
+ UINT8 ServicePartitionDiscovered:1;\r
+ UINT8 ServicePartitionScanRequest:1;\r
+ UINT8 Reserved: 5;\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2;\r
+\r
+typedef struct {\r
+ UINT8 BmcBootFlagValid: 5;\r
+ UINT8 Reserved: 3;\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3;\r
+\r
+typedef struct {\r
+ UINT8 WriteMask;\r
+ UINT8 BootInitiatorAcknowledgeData;\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4;\r
+\r
+#define BOOT_OPTION_HANDLED_BY_BIOS 0x01\r
+\r
+typedef struct {\r
+ //\r
+ // Data 1\r
+ //\r
+ UINT8 Reserved0:6;\r
+ UINT8 PersistentOptions:1;\r
+ UINT8 BootFlagValid:1;\r
+ //\r
+ // Data 2\r
+ //\r
+ UINT8 LockReset:1;\r
+ UINT8 ScreenBlank:1;\r
+ UINT8 BootDeviceSelector:4;\r
+ UINT8 LockKeyboard:1;\r
+ UINT8 CmosClear:1;\r
+ //\r
+ //\r
+ // Data 3\r
+ UINT8 ConsoleRedirection:2;\r
+ UINT8 LockSleep:1;\r
+ UINT8 UserPasswordBypass:1;\r
+ UINT8 ForceProgressEventTrap:1;\r
+ UINT8 BiosVerbosity:2;\r
+ UINT8 LockPower:1;\r
+ //\r
+ // Data 4\r
+ //\r
+ UINT8 BiosMuxControlOverride:2;\r
+ UINT8 BiosSharedModeOverride:1;\r
+ UINT8 Reserved1:4;\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5;\r
+\r
+typedef struct {\r
+ UINT8 ChannelNumber:4;\r
+ UINT8 Reserved:4;\r
+ UINT8 SessionId[4];\r
+ UINT8 BootInfoTimeStamp[4];\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6;\r
+\r
+typedef struct {\r
+ UINT8 SetSelector;\r
+ UINT8 BlockData[16];\r
+} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7;\r
+\r
+typedef union {\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0 Parm0;\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1 Parm1;\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2 Parm2;\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3 Parm3;\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4 Parm4;\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5 Parm5;\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6 Parm6;\r
+ IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7 Parm7;\r
+} IPMI_BOOT_OPTIONS_PARAMETERS;\r
+\r
+typedef struct {\r
+ UINT8 ParameterVersion:4;\r
+ UINT8 Reserved:4;\r
+ UINT8 ParameterSelector:7;\r
+ UINT8 ParameterValid:1;\r
+ UINT8 ParameterData[1];\r
+} IPMI_GET_BOOT_OPTIONS_RESPONSE;\r
+\r
+//\r
+// Definitions for Set front panel button enables command\r
+//\r
+#define IPMI_CHASSIS_SET_FP_BUTTON_ENABLES 0x0A\r
+\r
+typedef struct {\r
+ UINT8 DisablePoweroffButton:1;\r
+ UINT8 DisableResetButton:1;\r
+ UINT8 DisableDiagnosticInterruptButton:1;\r
+ UINT8 DisableStandbyButton:1;\r
+ UINT8 Reserved:4;\r
+} IPMI_SET_FRONT_PANEL_BUTTON_ENABLES_REQUEST;\r
+\r
+//\r
+// Constants and Structure definitions for "Set front panel button enables" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Power Cycle Interval command\r
+//\r
+#define IPMI_CHASSIS_SET_POWER_CYCLE_INTERVALS 0x0B\r
+\r
+//\r
+// Constants and Structure definitions for "Set Power Cycle Interval" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get POH Counter command\r
+//\r
+#define IPMI_CHASSIS_GET_POH_COUNTER 0x0F\r
+\r
+//\r
+// Constants and Structure definitions for "Get POH Counter" command to follow here\r
+//\r
+#pragma pack()\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNFIRMWAREDEFINITIONS_H_\r
+#define _IPMINETFNFIRMWAREDEFINITIONS_H_\r
+\r
+//\r
+// Net function definition for Firmware command\r
+//\r
+#define IPMI_NETFN_FIRMWARE 0x08\r
+\r
+//\r
+// All Firmware commands and their structure definitions to follow here\r
+//\r
+\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNGROUPEXTDEFINITIONS_H_\r
+#define _IPMINETFNGROUPEXTDEFINITIONS_H_\r
+\r
+//\r
+// Net function definition for Group Extension command\r
+//\r
+#define IPMI_NETFN_GROUP_EXT 0x2C\r
+\r
+//\r
+// All Group Extension commands and their structure definitions to follow here\r
+//\r
+\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ This file contains all NetFn Sensor/Event commands, including:\r
+ Event Commands (Chapter 29)\r
+ PEF and Alerting Commands (Chapter 30)\r
+ Sensor Device Commands (Chapter 35)\r
+\r
+ See IPMI specification, Appendix G, Command Assignments\r
+ and Appendix H, Sub-function Assignments.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNSENSORDEFINITIONS_H_\r
+#define _IPMINETFNSENSORDEFINITIONS_H_\r
+\r
+#pragma pack(1)\r
+//\r
+// Net function definition for Sensor command\r
+//\r
+#define IPMI_NETFN_SENSOR_EVENT 0x04\r
+\r
+//\r
+// All Sensor commands and their structure definitions to follow here\r
+//\r
+\r
+//\r
+// Definitions for Send Platform Event Message command\r
+//\r
+#define IPMI_SENSOR_PLATFORM_EVENT_MESSAGE 0x02\r
+\r
+typedef struct {\r
+ UINT8 GeneratorId;\r
+ UINT8 EvMRevision;\r
+ UINT8 SensorType;\r
+ UINT8 SensorNumber;\r
+ UINT8 EventDirType;\r
+ UINT8 OEMEvData1;\r
+ UINT8 OEMEvData2;\r
+ UINT8 OEMEvData3;\r
+} IPMI_PLATFORM_EVENT_MESSAGE_DATA;\r
+\r
+#pragma pack()\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ This file contains all NetFn Storage commands, including:\r
+ FRU Inventory Commands (Chapter 34)\r
+ SDR Repository (Chapter 33)\r
+ System Event Log(SEL) Commands (Chapter 31)\r
+\r
+ See IPMI specification, Appendix G, Command Assignments\r
+ and Appendix H, Sub-function Assignments.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNSTORAGEDEFINITIONS_H_\r
+#define _IPMINETFNSTORAGEDEFINITIONS_H_\r
+\r
+#pragma pack(1)\r
+//\r
+// Net function definition for Storage command\r
+//\r
+#define IPMI_NETFN_STORAGE 0x0A\r
+\r
+//\r
+// All Storage commands and their structure definitions to follow here\r
+//\r
+\r
+//\r
+// Below is Definitions for FRU Inventory Commands (Chapter 34)\r
+//\r
+\r
+//\r
+// Definitions for Get Fru Inventory Area Info command\r
+//\r
+#define IPMI_STORAGE_GET_FRU_INVENTORY_AREAINFO 0x10\r
+\r
+//\r
+// Constants and Structure definitions for "Get Fru Inventory Area Info" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Fru Data command\r
+//\r
+#define IPMI_STORAGE_READ_FRU_DATA 0x11\r
+\r
+//\r
+// Constants and Structure definitions for "Get Fru Data" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 FruDeviceId;\r
+ UINT16 FruOffset;\r
+} IPMI_FRU_COMMON_DATA;\r
+\r
+typedef struct {\r
+ IPMI_FRU_COMMON_DATA Data;\r
+ UINT8 Count;\r
+} IPMI_FRU_READ_COMMAND;\r
+\r
+//\r
+// Definitions for Write Fru Data command\r
+//\r
+#define IPMI_STORAGE_WRITE_FRU_DATA 0x12\r
+\r
+//\r
+// Constants and Structure definitions for "Write Fru Data" command to follow here\r
+//\r
+typedef struct {\r
+ IPMI_FRU_COMMON_DATA Data;\r
+ UINT8 FruData[16];\r
+} IPMI_FRU_WRITE_COMMAND;\r
+\r
+//\r
+// Below is Definitions for SDR Repository (Chapter 33)\r
+//\r
+\r
+//\r
+// Definitions for Get SDR Repository Info command\r
+//\r
+#define IPMI_STORAGE_GET_SDR_REPOSITORY_INFO 0x20\r
+\r
+//\r
+// Constants and Structure definitions for "Get SDR Repository Info" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 Version;\r
+ UINT16 RecordCount;\r
+ UINT16 FreeSpace;\r
+ UINT32 RecentAdditionTimeStamp;\r
+ UINT32 RecentEraseTimeStamp;\r
+ UINT8 SdrRepAllocInfoCmd : 1;\r
+ UINT8 SdrRepReserveCmd : 1;\r
+ UINT8 PartialAddSdrCmd : 1;\r
+ UINT8 DeleteSdrRepCmd : 1;\r
+ UINT8 Reserved : 1;\r
+ UINT8 SdrRepUpdateOp : 2;\r
+ UINT8 Overflow : 1;\r
+} IPMI_SDR_REPOSITORY_INFO;\r
+\r
+//\r
+// Definitions for Get SDR Repository Allocateion Info command\r
+//\r
+#define IPMI_STORAGE_GET_SDR_REPOSITORY_ALLOCATION_INFO 0x21\r
+\r
+//\r
+// Constants and Structure definitions for "Get SDR Repository Allocateion Info" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Reserve SDR Repository command\r
+//\r
+#define IPMI_STORAGE_RESERVE_SDR_REPOSITORY 0x22\r
+\r
+//\r
+// Constants and Structure definitions for "Reserve SDR Repository" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get SDR command\r
+//\r
+#define IPMI_STORAGE_GET_SDR 0x23\r
+\r
+//\r
+// Constants and Structure definitions for "Get SDR" command to follow here\r
+//\r
+\r
+typedef struct {\r
+ UINT16 RecordId; // 1\r
+ UINT8 Version; // 3\r
+ UINT8 RecordType; // 4\r
+ UINT8 RecordLength; // 5\r
+ UINT8 OwnerId; // 6\r
+ UINT8 OwnerLun; // 7\r
+ UINT8 SensorNumber; // 8\r
+ UINT8 EntityId; // 9\r
+ UINT8 EntityInstance; // 10\r
+ UINT8 EventScanningEnabled : 1; // 11\r
+ UINT8 EventScanningDisabled : 1; // 11\r
+ UINT8 InitSensorType : 1; // 11\r
+ UINT8 InitHysteresis : 1; // 11\r
+ UINT8 InitThresholds : 1; // 11\r
+ UINT8 InitEvent : 1; // 11\r
+ UINT8 InitScanning : 1; // 11\r
+ UINT8 Reserved : 1; // 11\r
+ UINT8 EventMessageControl : 2; // 12\r
+ UINT8 ThresholdAccessSupport : 2; // 12\r
+ UINT8 HysteresisSupport : 2; // 12\r
+ UINT8 ReArmSupport : 1; // 12\r
+ UINT8 IgnoreSensor : 1; // 12\r
+ UINT8 SensorType; // 13\r
+ UINT8 EventType; // 14\r
+ UINT8 Reserved1[7]; // 15\r
+ UINT8 UnitType; // 22\r
+ UINT8 Reserved2; // 23\r
+ UINT8 Linearization : 7; // 24\r
+ UINT8 Reserved3 : 1; // 24\r
+ UINT8 MLo; // 25\r
+ UINT8 Toleremce : 6; // 26\r
+ UINT8 MHi : 2; // 26\r
+ UINT8 BLo; // 27\r
+ UINT8 AccuracyLow : 6; // 28\r
+ UINT8 BHi : 2; // 28\r
+ UINT8 Reserved4 : 2; // 29\r
+ UINT8 AccuracyExp : 2; // 29\r
+ UINT8 AccuracyHi : 4; // 29\r
+ UINT8 BExp : 4; // 30\r
+ UINT8 RExp : 4; // 30\r
+ UINT8 NominalReadingSpscified : 1; // 31\r
+ UINT8 NominalMaxSpscified : 1; // 31\r
+ UINT8 NominalMinSpscified : 1; // 31\r
+ UINT8 Reserved5 : 5; // 31\r
+ UINT8 NominalReading; // 32\r
+ UINT8 Reserved6[4]; // 33\r
+ UINT8 UpperNonRecoverThreshold; // 37\r
+ UINT8 UpperCriticalThreshold; // 38\r
+ UINT8 UpperNonCriticalThreshold; // 39\r
+ UINT8 LowerNonRecoverThreshold; // 40\r
+ UINT8 LowerCriticalThreshold; // 41\r
+ UINT8 LowerNonCriticalThreshold; // 42\r
+ UINT8 Reserved7[5]; // 43\r
+ UINT8 IdStringLength; // 48\r
+ UINT8 AsciiIdString[16]; // 49 - 64\r
+} IPMI_SDR_RECORD_STRUCT_1;\r
+\r
+typedef struct {\r
+ UINT16 RecordId; // 1\r
+ UINT8 Version; // 3\r
+ UINT8 RecordType; // 4\r
+ UINT8 RecordLength; // 5\r
+ UINT8 OwnerId; // 6\r
+ UINT8 OwnerLun; // 7\r
+ UINT8 SensorNumber; // 8\r
+ UINT8 EntityId; // 9\r
+ UINT8 EntityInstance; // 10\r
+ UINT8 SensorScanning : 1; // 11\r
+ UINT8 EventScanning : 1; // 11\r
+ UINT8 InitSensorType : 1; // 11\r
+ UINT8 InitHysteresis : 1; // 11\r
+ UINT8 InitThresholds : 1; // 11\r
+ UINT8 InitEvent : 1; // 11\r
+ UINT8 InitScanning : 1; // 11\r
+ UINT8 Reserved : 1; // 11\r
+ UINT8 EventMessageControl : 2; // 12\r
+ UINT8 ThresholdAccessSupport : 2; // 12\r
+ UINT8 HysteresisSupport : 2; // 12\r
+ UINT8 ReArmSupport : 1; // 12\r
+ UINT8 IgnoreSensor : 1; // 12\r
+ UINT8 SensorType; // 13\r
+ UINT8 EventType; // 14\r
+ UINT8 Reserved1[7]; // 15\r
+ UINT8 UnitType; // 22\r
+ UINT8 Reserved2[9]; // 23\r
+ UINT8 IdStringLength; // 32\r
+ UINT8 AsciiIdString[16]; // 33 - 48\r
+} IPMI_SDR_RECORD_STRUCT_2;\r
+\r
+typedef struct {\r
+ UINT8 Reserved1 : 1;\r
+ UINT8 ControllerSlaveAddress : 7;\r
+ UINT8 FruDeviceId;\r
+ UINT8 BusId : 3;\r
+ UINT8 Lun : 2;\r
+ UINT8 Reserved : 2;\r
+ UINT8 LogicalFruDevice : 1;\r
+ UINT8 Reserved3 : 4;\r
+ UINT8 ChannelNumber : 4;\r
+} IPMI_FRU_DATA_INFO;\r
+\r
+typedef struct {\r
+ UINT16 RecordId; // 1\r
+ UINT8 Version; // 3\r
+ UINT8 RecordType; // 4\r
+ UINT8 RecordLength; // 5\r
+ IPMI_FRU_DATA_INFO FruDeviceData; // 6\r
+ UINT8 Reserved1; // 10\r
+ UINT8 DeviceType; // 11\r
+ UINT8 DeviceTypeModifier; // 12\r
+ UINT8 FruEntityId; // 13\r
+ UINT8 FruEntityInstance; // 14\r
+ UINT8 OemReserved; // 15\r
+ UINT8 Length : 4; // 16\r
+ UINT8 Reserved2 : 1; // 16\r
+ UINT8 StringType : 3; // 16\r
+ UINT8 String[16]; // 17\r
+} IPMI_SDR_RECORD_STRUCT_11;\r
+\r
+typedef struct {\r
+ UINT16 NextRecordId; //1\r
+ UINT16 RecordId; //3\r
+ UINT8 Version; //5\r
+ UINT8 RecordType; //6\r
+ UINT8 RecordLength; //7\r
+ UINT8 ManufacturerId[3]; //8\r
+ UINT8 StringChars[20];\r
+} IPMI_SDR_RECORD_STRUCT_C0;\r
+\r
+typedef struct {\r
+ UINT16 NextRecordId; //1\r
+ UINT16 RecordId; //3\r
+ UINT8 Version; //5\r
+ UINT8 RecordType; //6\r
+ UINT8 RecordLength; //7\r
+} IPMI_SDR_RECORD_STRUCT_HEADER;\r
+\r
+typedef union {\r
+ IPMI_SDR_RECORD_STRUCT_1 SensorType1;\r
+ IPMI_SDR_RECORD_STRUCT_2 SensorType2;\r
+ IPMI_SDR_RECORD_STRUCT_11 SensorType11;\r
+ IPMI_SDR_RECORD_STRUCT_C0 SensorTypeC0;\r
+ IPMI_SDR_RECORD_STRUCT_HEADER SensorHeader;\r
+} IPMI_SENSOR_RECORD_STRUCT;\r
+\r
+typedef struct {\r
+ UINT16 ReservationId;\r
+ UINT16 RecordId;\r
+ UINT8 RecordOffset;\r
+ UINT8 BytesToRead;\r
+} IPMI_GET_SDR;\r
+\r
+//\r
+// Definitions for Add SDR command\r
+//\r
+#define IPMI_STORAGE_ADD_SDR 0x24\r
+\r
+//\r
+// Constants and Structure definitions for "Add SDR" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Partial Add SDR command\r
+//\r
+#define IPMI_STORAGE_PARTIAL_ADD_SDR 0x25\r
+\r
+//\r
+// Constants and Structure definitions for "Partial Add SDR" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Delete SDR command\r
+//\r
+#define IPMI_STORAGE_DELETE_SDR 0x26\r
+\r
+//\r
+// Constants and Structure definitions for "Delete SDR" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Clear SDR Repository command\r
+//\r
+#define IPMI_STORAGE_CLEAR_SDR 0x27\r
+\r
+//\r
+// Constants and Structure definitions for "Clear SDR Repository" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get SDR Repository Time command\r
+//\r
+#define IPMI_STORAGE_GET_SDR_REPOSITORY_TIME 0x28\r
+\r
+//\r
+// Constants and Structure definitions for "Get SDR Repository Time" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set SDR Repository Time command\r
+//\r
+#define IPMI_STORAGE_SET_SDR_REPOSITORY_TIME 0x29\r
+\r
+//\r
+// Constants and Structure definitions for "Set SDR Repository Time" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Enter SDR Repository Update Mode command\r
+//\r
+#define IPMI_STORAGE_ENTER_SDR_UPDATE_MODE 0x2A\r
+\r
+//\r
+// Constants and Structure definitions for "Enter SDR Repository Update Mode" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Exit SDR Repository Update Mode command\r
+//\r
+#define IPMI_STORAGE_EXIT_SDR_UPDATE_MODE 0x2B\r
+\r
+//\r
+// Constants and Structure definitions for "Exit SDR Repository Update Mode" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Run Initialize Agent command\r
+//\r
+#define IPMI_STORAGE_RUN_INIT_AGENT 0x2C\r
+\r
+//\r
+// Constants and Structure definitions for "Run Initialize Agent" command to follow here\r
+//\r
+\r
+//\r
+// Below is Definitions for System Event Log(SEL) Commands (Chapter 31)\r
+//\r
+\r
+//\r
+// Definitions for Get SEL Info command\r
+//\r
+#define IPMI_STORAGE_GET_SEL_INFO 0x40\r
+\r
+//\r
+// Constants and Structure definitions for "Get SEL Info" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 Version; // Version of SEL\r
+ UINT16 NoOfEntries; // No of Entries in the SEL\r
+ UINT16 FreeSpace; // Free space in Bytes\r
+ UINT32 RecentAddTimeStamp; // Most Recent Addition of Time Stamp\r
+ UINT32 RecentEraseTimeStamp; // Most Recent Erasure of Time Stamp\r
+ UINT8 OperationSupport; // Operation Support\r
+} IPMI_SEL_INFO;\r
+\r
+//\r
+// Definitions for Get SEL Allocation Info command\r
+//\r
+#define IPMI_STORAGE_GET_SEL_ALLOCATION_INFO 0x41\r
+\r
+//\r
+// Constants and Structure definitions for "Get SEL Allocation Info" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Reserve SEL command\r
+//\r
+#define IPMI_STORAGE_RESERVE_SEL 0x42\r
+\r
+//\r
+// Constants and Structure definitions for "Reserve SEL" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get SEL Entry command\r
+//\r
+#define IPMI_STORAGE_GET_SEL_ENTRY 0x43\r
+\r
+//\r
+// Constants and Structure definitions for "Get SEL Entry" command to follow here\r
+//\r
+#define IPMI_COMPLETE_SEL_RECORD 0xFF\r
+\r
+typedef struct {\r
+ UINT8 ReserveId[2]; // Reservation ID, LS Byte First\r
+ UINT8 SelRecID[2]; // Sel Record ID, LS Byte First\r
+ UINT8 Offset; // Offset Into Record\r
+ UINT8 BytesToRead; // Bytes to be Read, 0xFF for entire record\r
+} IPMI_GET_SEL_ENTRY;\r
+\r
+//\r
+// Definitions for Add SEL Entry command\r
+//\r
+#define IPMI_STORAGE_ADD_SEL_ENTRY 0x44\r
+\r
+//\r
+// Constants and Structure definitions for "Add SEL Entry" command to follow here\r
+//\r
+typedef struct {\r
+ UINT16 RecordId;\r
+ UINT8 RecordType;\r
+ UINT32 TimeStamp;\r
+ UINT16 GeneratorId;\r
+ UINT8 EvMRevision;\r
+ UINT8 SensorType;\r
+ UINT8 SensorNumber;\r
+ UINT8 EventDirType;\r
+ UINT8 OEMEvData1;\r
+ UINT8 OEMEvData2;\r
+ UINT8 OEMEvData3;\r
+} IPMI_SEL_RECORD_DATA;\r
+\r
+#define IPMI_SEL_SYSTEM_RECORD 0x02\r
+\r
+#define IPMI_EVM_REVISION 0x04\r
+#define IPMI_BIOS_ID 0x18\r
+#define IPMI_FORMAT_REV 0x00\r
+#define IPMI_FORMAT_REV1 0x01\r
+#define IPMI_SOFTWARE_ID 0x01\r
+#define IPMI_PLATFORM_VAL_ID 0x01\r
+#define IPMI_GENERATOR_ID(i,f) ((i << 1) | (f << 1) | IPMI_SOFTWARE_ID)\r
+\r
+#define IPMI_SENSOR_TYPE_EVENT_CODE_DISCRETE 0x6F\r
+\r
+#define IPMI_OEM_SPECIFIC_DATA 0x02\r
+#define IPMI_SENSOR_SPECIFIC_DATA 0x03\r
+\r
+//\r
+// Definitions for Partial Add SEL Entry command\r
+//\r
+#define IPMI_STORAGE_PARTIAL_ADD_SEL_ENTRY 0x45\r
+\r
+//\r
+// Constants and Structure definitions for "Partial Add SEL Entry" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Delete SEL Entry command\r
+//\r
+#define IPMI_STORAGE_DELETE_SEL_ENTRY 0x46\r
+\r
+//\r
+// Constants and Structure definitions for "Delete SEL Entry" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 ReserveId[2]; // Reservation ID, LS byte first\r
+ UINT8 RecordToDelete[2]; // Record to Delete, LS Byte First\r
+} IPMI_DELETE_SEL;\r
+\r
+//\r
+// Definitions for Clear SEL command\r
+//\r
+#define IPMI_STORAGE_CLEAR_SEL 0x47\r
+\r
+//\r
+// Constants and Structure definitions for "Clear SEL" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 Reserve[2]; // Reserve ID, LSB first\r
+ UINT8 AscC; // Ascii for 'C' (0x43)\r
+ UINT8 AscL; // Ascii for 'L' (0x4c)\r
+ UINT8 AscR; // Ascii for 'R' (0x52)\r
+ UINT8 Erase; // 0xAA, Initiate Erase, 0x00 Get Erase Status\r
+} IPMI_CLEAR_SEL;\r
+\r
+//\r
+// Definitions for Get SEL Time command\r
+//\r
+#define IPMI_STORAGE_GET_SEL_TIME 0x48\r
+\r
+//\r
+// Constants and Structure definitions for "Get SEL Time" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set SEL Time command\r
+//\r
+#define IPMI_STORAGE_SET_SEL_TIME 0x49\r
+\r
+//\r
+// Constants and Structure definitions for "Set SEL Time" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get Auxillary Log Status command\r
+//\r
+#define IPMI_STORAGE_GET_AUXILLARY_LOG_STATUS 0x5A\r
+\r
+//\r
+// Constants and Structure definitions for "Get Auxillary Log Status" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Auxillary Log Status command\r
+//\r
+#define IPMI_STORAGE_SET_AUXILLARY_LOG_STATUS 0x5B\r
+\r
+//\r
+// Constants and Structure definitions for "Set Auxillary Log Status" command to follow here\r
+//\r
+#pragma pack()\r
+#endif\r
--- /dev/null
+/** @file\r
+ IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.\r
+\r
+ This file contains all NetFn Transport commands, including:\r
+ IPM LAN Commands (Chapter 23)\r
+ IPMI Serial/Modem Commands (Chapter 25)\r
+ SOL Commands (Chapter 26)\r
+ Command Forwarding Commands (Chapter 35b)\r
+\r
+ See IPMI specification, Appendix G, Command Assignments\r
+ and Appendix H, Sub-function Assignments.\r
+\r
+ Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#ifndef _IPMINETFNTRANSPORTDEFINITIONS_H_\r
+#define _IPMINETFNTRANSPORTDEFINITIONS_H_\r
+\r
+#pragma pack(1)\r
+//\r
+// Net function definition for Transport command\r
+//\r
+#define IPMI_NETFN_TRANSPORT 0x0C\r
+\r
+//\r
+// Below is Definitions for IPM LAN Commands (Chapter 23)\r
+//\r
+\r
+//\r
+// Definitions for Set Lan Configuration Parameters command\r
+//\r
+#define IPMI_TRANSPORT_SET_LAN_CONFIG_PARAMETERS 0x01\r
+\r
+//\r
+// Constants and Structure definitions for "Set Lan Configuration Parameters" command to follow here\r
+//\r
+\r
+//\r
+// LAN Management Structure\r
+//\r
+typedef enum {\r
+ IpmiLanReserved1,\r
+ IpmiLanReserved2,\r
+ IpmiLanAuthType,\r
+ IpmiLanIpAddress,\r
+ IpmiLanIpAddressSource,\r
+ IpmiLanMacAddress,\r
+ IpmiLanSubnetMask,\r
+ IpmiLanIpv4HeaderParam,\r
+ IpmiLanPrimaryRcmpPort,\r
+ IpmiLanSecondaryRcmpPort,\r
+ IpmiLanBmcGeneratedArpCtrl,\r
+ IpmiLanArpInterval,\r
+ IpmiLanDefaultGateway,\r
+ IpmiLanDefaultGatewayMac,\r
+ IpmiLanBackupGateway,\r
+ IpmiLanBackupGatewayMac,\r
+ IpmiLanCommunityString,\r
+ IpmiLanReserved3,\r
+ IpmiLanDestinationType,\r
+ IpmiLanDestinationAddress\r
+} IPMI_LAN_OPTION_TYPE;\r
+\r
+//\r
+// IP Address Source\r
+//\r
+typedef enum {\r
+ IpmiUnspecified,\r
+ IpmiStaticAddrsss,\r
+ IpmiDynamicAddressBmcDhcp,\r
+ IpmiDynamicAddressBiosDhcp,\r
+ IpmiDynamicAddressBmcNonDhcp\r
+} IPMI_IP_ADDRESS_SRC;\r
+\r
+//\r
+// Destination Type\r
+//\r
+typedef enum {\r
+ IpmiPetTrapDestination,\r
+ IpmiDirectedEventDestination,\r
+ IpmiReserved1,\r
+ IpmiReserved2,\r
+ IpmiReserved3,\r
+ IpmiReserved4,\r
+ IpmiReserved5,\r
+ IpmiOem1,\r
+ IpmiOem2\r
+} IPMI_LAN_DEST_TYPE_DEST_TYPE;\r
+\r
+typedef struct {\r
+ UINT8 NoAuth : 1;\r
+ UINT8 MD2Auth : 1;\r
+ UINT8 MD5Auth : 1;\r
+ UINT8 Reserved1 : 1;\r
+ UINT8 StraightPswd : 1;\r
+ UINT8 OemType : 1;\r
+ UINT8 Reserved2 : 2;\r
+} IPMI_LAN_AUTH_TYPE;\r
+\r
+typedef struct {\r
+ UINT8 IpAddress[4];\r
+} IPMI_LAN_IP_ADDRESS;\r
+\r
+typedef struct {\r
+ UINT8 AddressSrc : 4;\r
+ UINT8 Reserved : 4;\r
+} IPMI_LAN_IP_ADDRESS_SRC;\r
+\r
+typedef struct {\r
+ UINT8 MacAddress[6];\r
+} IPMI_LAN_MAC_ADDRESS;\r
+\r
+typedef struct {\r
+ UINT8 IpAddress[4];\r
+} IPMI_LAN_SUBNET_MASK;\r
+\r
+typedef struct {\r
+ UINT8 TimeToLive;\r
+ UINT8 IpFlag : 3;\r
+ UINT8 Reserved1 : 5;\r
+ UINT8 Precedence : 3;\r
+ UINT8 Reserved2 : 1;\r
+ UINT8 ServiceType : 4;\r
+} IPMI_LAN_IPV4_HDR_PARAM;\r
+\r
+typedef struct {\r
+ UINT8 RcmpPortMsb;\r
+ UINT8 RcmpPortLsb;\r
+} IPMI_LAN_RCMP_PORT;\r
+\r
+typedef struct {\r
+ UINT8 EnableBmcArpResponse : 1;\r
+ UINT8 EnableBmcGratuitousArp : 1;\r
+ UINT8 Reserved : 6;\r
+} IPMI_LAN_BMC_GENERATED_ARP_CONTROL;\r
+\r
+typedef struct {\r
+ UINT8 ArpInterval;\r
+} IPMI_LAN_ARP_INTERVAL;\r
+\r
+typedef struct {\r
+ UINT8 Data[18];\r
+} IPMI_LAN_COMMUNITY_STRING;\r
+\r
+typedef struct {\r
+ UINT8 DestinationSelector : 4;\r
+ UINT8 Reserved2 : 4;\r
+ UINT8 DestinationType : 3;\r
+ UINT8 Reserved1 : 4;\r
+ UINT8 AlertAcknowledged : 1;\r
+} IPMI_LAN_DEST_TYPE;\r
+\r
+typedef struct {\r
+ UINT8 DestinationSelector : 4;\r
+ UINT8 Reserved1 : 4;\r
+ UINT8 AlertingIpAddressSelector : 4;\r
+ UINT8 AddressFormat : 4;\r
+ UINT8 UseDefaultGateway : 1;\r
+ UINT8 Reserved2 : 7;\r
+ IPMI_LAN_IP_ADDRESS AlertingIpAddress;\r
+ IPMI_LAN_MAC_ADDRESS AlertingMacAddress;\r
+} IPMI_LAN_DEST_ADDRESS;\r
+\r
+typedef union {\r
+ IPMI_LAN_AUTH_TYPE IpmiLanAuthType;\r
+ IPMI_LAN_IP_ADDRESS IpmiLanIpAddress;\r
+ IPMI_LAN_IP_ADDRESS_SRC IpmiLanIpAddressSrc;\r
+ IPMI_LAN_MAC_ADDRESS IpmiLanMacAddress;\r
+ IPMI_LAN_SUBNET_MASK IpmiLanSubnetMask;\r
+ IPMI_LAN_IPV4_HDR_PARAM IpmiLanIpv4HdrParam;\r
+ IPMI_LAN_RCMP_PORT IpmiLanPrimaryRcmpPort;\r
+ IPMI_LAN_BMC_GENERATED_ARP_CONTROL IpmiLanArpControl;\r
+ IPMI_LAN_ARP_INTERVAL IpmiLanArpInterval;\r
+ IPMI_LAN_COMMUNITY_STRING IpmiLanCommunityString;\r
+ IPMI_LAN_DEST_TYPE IpmiLanDestType;\r
+ IPMI_LAN_DEST_ADDRESS IpmiLanDestAddress;\r
+} IPMI_LAN_OPTIONS;\r
+\r
+//\r
+// Definitions for Get Lan Configuration Parameters command\r
+//\r
+#define IPMI_TRANSPORT_GET_LAN_CONFIG_PARAMETERS 0x02\r
+\r
+//\r
+// Constants and Structure definitions for "Get Lan Configuration Parameters" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Suspend BMC ARPs command\r
+//\r
+#define IPMI_TRANSPORT_SUSPEND_BMC_ARPS 0x03\r
+\r
+//\r
+// Constants and Structure definitions for "Suspend BMC ARPs" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get IP-UDP-RMCP Statistics command\r
+//\r
+#define IPMI_TRANSPORT_GET_PACKET_STATISTICS 0x04\r
+\r
+//\r
+// Constants and Structure definitions for "Get IP-UDP-RMCP Statistics" command to follow here\r
+//\r
+\r
+//\r
+// Below is Definitions for IPMI Serial/Modem Commands (Chapter 25)\r
+//\r
+\r
+//\r
+// Definitions for Set Serial/Modem Configuration command\r
+//\r
+#define IPMI_TRANSPORT_SET_SERIAL_CONFIGURATION 0x10\r
+\r
+//\r
+// Constants and Structure definitions for "Set Serial/Modem Configuration" command to follow here\r
+//\r
+\r
+//\r
+// EMP OPTION DATA\r
+//\r
+typedef struct {\r
+ UINT8 NoAuthentication : 1;\r
+ UINT8 MD2Authentication : 1;\r
+ UINT8 MD5Authentication : 1;\r
+ UINT8 Reserved1 : 1;\r
+ UINT8 StraightPassword : 1;\r
+ UINT8 OemProprietary : 1;\r
+ UINT8 Reservd2 : 2;\r
+} IPMI_EMP_AUTH_TYPE;\r
+\r
+typedef struct {\r
+ UINT8 EnableBasicMode : 1;\r
+ UINT8 EnablePPPMode : 1;\r
+ UINT8 EnableTerminalMode : 1;\r
+ UINT8 Reserved1 : 2;\r
+ UINT8 SnoopOsPPPNegotiation : 1;\r
+ UINT8 Reserved2 : 1;\r
+ UINT8 DirectConnect : 1;\r
+} IPMI_EMP_CONNECTION_TYPE;\r
+\r
+typedef struct {\r
+ UINT8 InactivityTimeout : 4;\r
+ UINT8 Reserved : 4;\r
+} IPMI_EMP_INACTIVITY_TIMEOUT;\r
+\r
+typedef struct {\r
+ UINT8 IpmiCallback : 1;\r
+ UINT8 CBCPCallback : 1;\r
+ UINT8 Reserved1 : 6;\r
+ UINT8 CbcpEnableNoCallback : 1;\r
+ UINT8 CbcpEnablePreSpecifiedNumber : 1;\r
+ UINT8 CbcpEnableUserSpecifiedNumber : 1;\r
+ UINT8 CbcpEnableCallbackFromList : 1;\r
+ UINT8 Reserved : 4;\r
+ UINT8 CallbackDestination1;\r
+ UINT8 CallbackDestination2;\r
+ UINT8 CallbackDestination3;\r
+} IPMI_EMP_CHANNEL_CALLBACK_CONTROL;\r
+\r
+typedef struct {\r
+ UINT8 CloseSessionOnDCDLoss : 1;\r
+ UINT8 EnableSessionInactivityTimeout : 1;\r
+ UINT8 Reserved : 6;\r
+} IPMI_EMP_SESSION_TERMINATION;\r
+\r
+typedef struct {\r
+ UINT8 Reserved1 : 5;\r
+ UINT8 EnableDtrHangup : 1;\r
+ UINT8 FlowControl : 2;\r
+ UINT8 BitRate : 4;\r
+ UINT8 Reserved2 : 4;\r
+ UINT8 SaveSetting : 1;\r
+ UINT8 SetComPort : 1;\r
+ UINT8 Reserved3 : 6;\r
+} IPMI_EMP_MESSAGING_COM_SETTING;\r
+\r
+typedef struct {\r
+ UINT8 RingDurationInterval : 6;\r
+ UINT8 Reserved1 : 2;\r
+ UINT8 RingDeadTime : 4;\r
+ UINT8 Reserved : 4;\r
+} IPMI_EMP_MODEM_RING_TIME;\r
+\r
+typedef struct {\r
+ UINT8 Reserved;\r
+ UINT8 InitString[48];\r
+} IPMI_EMP_MODEM_INIT_STRING;\r
+\r
+typedef struct {\r
+ UINT8 EscapeSequence[5];\r
+} IPMI_EMP_MODEM_ESC_SEQUENCE;\r
+\r
+typedef struct {\r
+ UINT8 HangupSequence[8];\r
+} IPMI_EMP_MODEM_HANGUP_SEQUENCE;\r
+\r
+typedef struct {\r
+ UINT8 ModelDialCommend[8];\r
+} IPMI_MODEM_DIALUP_COMMAND;\r
+\r
+typedef struct {\r
+ UINT8 PageBlackoutInterval;\r
+} IPMI_PAGE_BLACKOUT_INTERVAL;\r
+\r
+typedef struct {\r
+ UINT8 CommunityString[18];\r
+} IPMI_EMP_COMMUNITY_STRING;\r
+\r
+typedef struct {\r
+ UINT8 DestinationSelector : 4;\r
+ UINT8 Reserved1 : 4;\r
+ UINT8 DestinationType : 4;\r
+ UINT8 Reserved2 : 3;\r
+ UINT8 AlertAckRequired : 1;\r
+ UINT8 AlertAckTimeoutSeconds;\r
+ UINT8 NumRetriesCall : 3;\r
+ UINT8 Reserved3 : 1;\r
+ UINT8 NumRetryAlert : 3;\r
+ UINT8 Reserved4 : 1;\r
+ union {\r
+ struct {\r
+ UINT8 Reserved5 : 4;\r
+ UINT8 DialStringSelector : 4;\r
+ } DIAL_PAGE_DESTINATION;\r
+ struct {\r
+ UINT8 TapAccountSelector : 4;\r
+ UINT8 Reserved : 4;\r
+ } TAP_PAGE_DESTINATION;\r
+ struct {\r
+ UINT8 PPPAccountSetSelector;\r
+ UINT8 DialStringSelector;\r
+ } PPP_ALERT_DESTINATION;\r
+ } DEST_TYPE_SPECIFIC;\r
+} IPMI_EMP_DESTINATION_INFO;\r
+\r
+typedef struct {\r
+ UINT8 DestinationSelector : 4;\r
+ UINT8 Reserved1 : 4;\r
+ UINT8 Parity : 3;\r
+ UINT8 CharacterSize : 1;\r
+ UINT8 StopBit : 1;\r
+ UINT8 DtrHangup : 1;\r
+ UINT8 FlowControl : 2;\r
+ UINT8 BitRate : 4;\r
+ UINT8 Reserved2 : 4;\r
+ UINT8 SaveSetting : 1;\r
+ UINT8 SetComPort : 1;\r
+ UINT8 Reserved3 : 6;\r
+} IPMI_EMP_DESTINATION_COM_SETTING;\r
+\r
+typedef struct {\r
+ UINT8 DialStringSelector : 4;\r
+ UINT8 Reserved1 : 4;\r
+ UINT8 Reserved2;\r
+ UINT8 DialString[48];\r
+} IPMI_DESTINATION_DIAL_STRING;\r
+\r
+typedef struct {\r
+ UINT8 IpAddressSelector : 4;\r
+ UINT8 Reserved1 : 4;\r
+ union {\r
+ UINT32 IpAddressLong;\r
+ UINT8 IpAddress[4];\r
+ } PPP_IP_ADDRESS;\r
+} IPMI_DESTINATION_IP_ADDRESS;\r
+\r
+typedef struct {\r
+ UINT8 TapSelector;\r
+ UINT8 TapServiceSelector : 4;\r
+ UINT8 TapDialStringSelector : 4;\r
+} IPMI_DESTINATION_TAP_ACCOUNT;\r
+\r
+typedef struct {\r
+ UINT8 TapSelector;\r
+ UINT8 PagerIdString[16];\r
+} IPMI_TAP_PAGER_ID_STRING;\r
+\r
+typedef union {\r
+ UINT8 OptionData;\r
+ IPMI_EMP_AUTH_TYPE EmpAuthType;\r
+ IPMI_EMP_CONNECTION_TYPE EmpConnectionType;\r
+ IPMI_EMP_INACTIVITY_TIMEOUT EmpInactivityTimeout;\r
+ IPMI_EMP_CHANNEL_CALLBACK_CONTROL EmpCallbackControl;\r
+ IPMI_EMP_SESSION_TERMINATION EmpSessionTermination;\r
+ IPMI_EMP_MESSAGING_COM_SETTING EmpMessagingComSetting;\r
+ IPMI_EMP_MODEM_RING_TIME EmpModemRingTime;\r
+ IPMI_EMP_MODEM_INIT_STRING EmpModemInitString;\r
+ IPMI_EMP_MODEM_ESC_SEQUENCE EmpModemEscSequence;\r
+ IPMI_EMP_MODEM_HANGUP_SEQUENCE EmpModemHangupSequence;\r
+ IPMI_MODEM_DIALUP_COMMAND EmpModemDialupCommand;\r
+ IPMI_PAGE_BLACKOUT_INTERVAL EmpPageBlackoutInterval;\r
+ IPMI_EMP_COMMUNITY_STRING EmpCommunityString;\r
+ IPMI_EMP_DESTINATION_INFO EmpDestinationInfo;\r
+ IPMI_EMP_DESTINATION_COM_SETTING EmpDestinationComSetting;\r
+ UINT8 CallRetryBusySignalInterval;\r
+ IPMI_DESTINATION_DIAL_STRING DestinationDialString;\r
+ IPMI_DESTINATION_IP_ADDRESS DestinationIpAddress;\r
+ IPMI_DESTINATION_TAP_ACCOUNT DestinationTapAccount;\r
+ IPMI_TAP_PAGER_ID_STRING TapPagerIdString;\r
+} IPMI_EMP_OPTIONS;\r
+\r
+//\r
+// Definitions for Get Serial/Modem Configuration command\r
+//\r
+#define IPMI_TRANSPORT_GET_SERIAL_CONFIGURATION 0x11\r
+\r
+//\r
+// Constants and Structure definitions for "Get Serial/Modem Configuration" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set Serial/Modem Mux command\r
+//\r
+#define IPMI_TRANSPORT_SET_SERIAL_MUX 0x12\r
+\r
+//\r
+// Constants and Structure definitions for "Set Serial/Modem Mux" command to follow here\r
+//\r
+typedef struct {\r
+ UINT8 ChannelNo : 4;\r
+ UINT8 Reserved1 : 4;\r
+ UINT8 MuxSetting : 4;\r
+ UINT8 Reserved2 : 4;\r
+} IPMI_SET_MUX_COMMAND;\r
+\r
+typedef struct {\r
+ UINT8 MuxSetToBmc : 1;\r
+ UINT8 CommandStatus : 1;\r
+ UINT8 MessagingSessionActive : 1;\r
+ UINT8 AlertInProgress : 1;\r
+ UINT8 Reserved2 : 2;\r
+ UINT8 MuxToBmcAllowed : 1;\r
+ UINT8 MuxToSystemBlocked : 1;\r
+} IPMI_MUX_CONFIG;\r
+\r
+//\r
+// Definitions for Get TAP Response Code command\r
+//\r
+#define IPMI_TRANSPORT_GET_TAP_RESPONSE_CODE 0x13\r
+\r
+//\r
+// Constants and Structure definitions for "Get TAP Response Code" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set PPP UDP Proxy Transmit Data command\r
+//\r
+#define IPMI_TRANSPORT_SET_PPP_UDP_PROXY_TXDATA 0x14\r
+\r
+//\r
+// Constants and Structure definitions for "Set PPP UDP Proxy Transmit Data" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get PPP UDP Proxy Transmit Data command\r
+//\r
+#define IPMI_TRANSPORT_GET_PPP_UDP_PROXY_TXDATA 0x15\r
+\r
+//\r
+// Constants and Structure definitions for "Get PPP UDP Proxy Transmit Data" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Send PPP UDP Proxy Packet command\r
+//\r
+#define IPMI_TRANSPORT_SEND_PPP_UDP_PROXY_PACKET 0x16\r
+\r
+//\r
+// Constants and Structure definitions for "Send PPP UDP Proxy Packet" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get PPP UDP Proxy Receive Data command\r
+//\r
+#define IPMI_TRANSPORT_GET_PPP_UDP_PROXY_RX 0x17\r
+\r
+//\r
+// Constants and Structure definitions for "Get PPP UDP Proxy Receive Data" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Serial/Modem connection active command\r
+//\r
+#define IPMI_TRANSPORT_SERIAL_CONNECTION_ACTIVE 0x18\r
+\r
+//\r
+// Constants and Structure definitions for "Serial/Modem connection active" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Callback command\r
+//\r
+#define IPMI_TRANSPORT_CALLBACK 0x19\r
+\r
+//\r
+// Constants and Structure definitions for "Callback" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set user Callback Options command\r
+//\r
+#define IPMI_TRANSPORT_SET_USER_CALLBACK_OPTIONS 0x1A\r
+\r
+//\r
+// Constants and Structure definitions for "Set user Callback Options" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get user Callback Options command\r
+//\r
+#define IPMI_TRANSPORT_GET_USER_CALLBACK_OPTIONS 0x1B\r
+\r
+//\r
+// Constants and Structure definitions for "Get user Callback Options" command to follow here\r
+//\r
+\r
+//\r
+// Below is Definitions for SOL Commands (Chapter 26)\r
+//\r
+\r
+//\r
+// Definitions for SOL activating command\r
+//\r
+#define IPMI_TRANSPORT_SOL_ACTIVATING 0x20\r
+\r
+//\r
+// Constants and Structure definitions for "SOL activating" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Set SOL Configuration Parameters command\r
+//\r
+#define IPMI_TRANSPORT_SET_SOL_CONFIG_PARAM 0x21\r
+\r
+//\r
+// Constants and Structure definitions for "Set SOL Configuration Parameters" command to follow here\r
+//\r
+\r
+//\r
+// Definitions for Get SOL Configuration Parameters command\r
+//\r
+#define IPMI_TRANSPORT_GET_SOL_CONFIG_PARAM 0x22\r
+\r
+//\r
+// Constants and Structure definitions for "Get SOL Configuration Parameters" command to follow here\r
+//\r
+#pragma pack()\r
+#endif\r