mirror of https://github.com/acidanthera/audk.git
MdePkg: Add Ipmi2.0 definitions head file.
Re-add Ipmi2.0 definitions header files based on Ipmi category: App, Storage and etc. In V3, the file name has been changed for short. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daocheng Bu <daocheng.bu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19272 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
b0c2b79738
commit
e59a797ffb
|
@ -0,0 +1,29 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
|
||||||
|
See IPMI specification, Appendix G, Command Assignments
|
||||||
|
and Appendix H, Sub-function Assignments.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_H_
|
||||||
|
#define _IPMI_H_
|
||||||
|
|
||||||
|
#include <IndustryStandard/IpmiNetFnChassis.h>
|
||||||
|
#include <IndustryStandard/IpmiNetFnBridge.h>
|
||||||
|
#include <IndustryStandard/IpmiNetFnSensorEvent.h>
|
||||||
|
#include <IndustryStandard/IpmiNetFnApp.h>
|
||||||
|
#include <IndustryStandard/IpmiNetFnFirmware.h>
|
||||||
|
#include <IndustryStandard/IpmiNetFnStorage.h>
|
||||||
|
#include <IndustryStandard/IpmiNetFnTransport.h>
|
||||||
|
#include <IndustryStandard/IpmiNetFnGroupExtension.h>
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,618 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
|
||||||
|
This file contains all NetFn App commands, including:
|
||||||
|
IPM Device "Global" Commands (Chapter 20)
|
||||||
|
Firmware Firewall & Command Discovery Commands (Chapter 21)
|
||||||
|
BMC Watchdog Timer Commands (Chapter 27)
|
||||||
|
IPMI Messaging Support Commands (Chapter 22)
|
||||||
|
RMCP+ Support and Payload Commands (Chapter 24)
|
||||||
|
|
||||||
|
See IPMI specification, Appendix G, Command Assignments
|
||||||
|
and Appendix H, Sub-function Assignments.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_NET_FN_APP_H_
|
||||||
|
#define _IPMI_NET_FN_APP_H_
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
//
|
||||||
|
// Net function definition for App command
|
||||||
|
//
|
||||||
|
#define IPMI_NETFN_APP 0x06
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for IPM Device "Global" Commands (Chapter 20)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Device ID command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_DEVICE_ID 0x1
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Device ID" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 DeviceId;
|
||||||
|
UINT8 DeviceRevision : 4;
|
||||||
|
UINT8 Reserved : 3;
|
||||||
|
UINT8 DeviceSdr : 1;
|
||||||
|
UINT8 MajorFirmwareRev : 7;
|
||||||
|
UINT8 UpdateMode : 1;
|
||||||
|
UINT8 MinorFirmwareRev;
|
||||||
|
UINT8 SpecificationVersion;
|
||||||
|
UINT8 SensorDeviceSupport : 1;
|
||||||
|
UINT8 SdrRepositorySupport : 1;
|
||||||
|
UINT8 SelDeviceSupport : 1;
|
||||||
|
UINT8 FruInventorySupport : 1;
|
||||||
|
UINT8 IpmbMessageReceiver : 1;
|
||||||
|
UINT8 IpmbMessageGenerator : 1;
|
||||||
|
UINT8 BridgeSupport : 1;
|
||||||
|
UINT8 ChassisSupport : 1;
|
||||||
|
UINT8 ManufacturerId[3];
|
||||||
|
UINT16 ProductId;
|
||||||
|
UINT32 AuxFirmwareRevInfo;
|
||||||
|
} IPMI_MSG_GET_DEVICE_ID_RSP;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Cold Reset command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_COLD_RESET 0x2
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Cold Reset" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Warm Reset command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_WARM_RESET 0x3
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Warm Reset" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Self Results command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_SELFTEST_RESULTS 0x4
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Self Results" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Result;
|
||||||
|
UINT8 Param;
|
||||||
|
} IPMI_MSG_SELFTEST_RESULT_RSP;
|
||||||
|
|
||||||
|
#define IPMI_APP_SELFTEST_NO_ERROR 0x55
|
||||||
|
#define IPMI_APP_SELFTEST_NOT_IMPLEMENTED 0x56
|
||||||
|
#define IPMI_APP_SELFTEST_ERROR 0x57
|
||||||
|
#define IPMI_APP_SELFTEST_FATAL_HW_ERROR 0x58
|
||||||
|
#define IPMI_APP_SELFTEST_INACCESSIBLE_SEL 0x80
|
||||||
|
#define IPMI_APP_SELFTEST_INACCESSIBLE_SDR 0x40
|
||||||
|
#define IPMI_APP_SELFTEST_INACCESSIBLE_FRU 0x20
|
||||||
|
#define IPMI_APP_SELFTEST_IPMB_SIGNAL_FAIL 0x10
|
||||||
|
#define IPMI_APP_SELFTEST_SDR_REPOSITORY_EMPTY 0x08
|
||||||
|
#define IPMI_APP_SELFTEST_FRU_CORRUPT 0x04
|
||||||
|
#define IPMI_APP_SELFTEST_FW_BOOTBLOCK_CORRUPT 0x02
|
||||||
|
#define IPMI_APP_SELFTEST_FW_CORRUPT 0x01
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Manufacturing Test ON command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_MANUFACTURING_TEST_ON 0x5
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Manufacturing Test ON" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set ACPI Power State command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_ACPI_POWERSTATE 0x6
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set ACPI Power State" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 SystemPowerState : 7;
|
||||||
|
UINT8 SystemStateChange : 1;
|
||||||
|
UINT8 DevicePowerState : 7;
|
||||||
|
UINT8 DeviceStateChange : 1;
|
||||||
|
} IPMI_ACPI_POWER_STATE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get ACPI Power State command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_ACPI_POWERSTATE 0x7
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get ACPI Power State" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Device GUID command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_DEVICE_GUID 0x8
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Device GUID" command to follow here
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Message structure definition for "Get Device Guid" IPMI command
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Guid[16];
|
||||||
|
} IPMI_MSG_GET_DEVICE_GUID_RSP;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for BMC Watchdog Timer Commands (Chapter 27)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Reset WatchDog Timer command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_RESET_WATCHDOG_TIMER 0x22
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Reset WatchDog Timer" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 TimerUse : 3;
|
||||||
|
UINT8 Reserved : 3;
|
||||||
|
UINT8 TimerRunning : 1;
|
||||||
|
UINT8 TimerUseExpirationFlagLog : 1;
|
||||||
|
} IPMI_WATCHDOG_TIMER_USE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set WatchDog Timer command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_WATCHDOG_TIMER 0x24
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set WatchDog Timer" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
IPMI_WATCHDOG_TIMER_USE TimerUse;
|
||||||
|
UINT8 TimerActions;
|
||||||
|
UINT8 PretimeoutInterval;
|
||||||
|
UINT8 TimerUseExpirationFlagsClear;
|
||||||
|
UINT16 InitialCountdownValue;
|
||||||
|
} IPMI_SET_WATCHDOG_TIMER;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get WatchDog Timer command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_WATCHDOG_TIMER 0x25
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get WatchDog Timer" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
IPMI_WATCHDOG_TIMER_USE TimerUse;
|
||||||
|
UINT8 TimerActions;
|
||||||
|
UINT8 PretimeoutInterval;
|
||||||
|
UINT8 TimerUseExpirationFlagsClear;
|
||||||
|
UINT16 InitialCountdownValue;
|
||||||
|
UINT16 PresentCountdownValue;
|
||||||
|
} IPMI_GET_WATCHDOG_TIMER;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for IPMI Messaging Support Commands (Chapter 22)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set BMC Global Enables command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_BMC_GLOBAL_ENABLES 0x2E
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set BMC Global Enables " command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get BMC Global Enables command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_BMC_GLOBAL_ENABLES 0x2F
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get BMC Global Enables " command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Clear Message Flags command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_CLEAR_MESSAGE_FLAGS 0x30
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Clear Message Flags" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Message Flags command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_MESSAGE_FLAGS 0x31
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Message Flags" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Enable Message Channel Receive command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_ENABLE_MESSAGE_CHANNEL_RECEIVE 0x32
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Enable Message Channel Receive" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Message command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_MESSAGE 0x33
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Message" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Send Message command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SEND_MESSAGE 0x34
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Send Message" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Read Event Message Buffer command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_READ_EVENT_MSG_BUFFER 0x35
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Read Event Message Buffer" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get BT Interface Capabilities command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_BT_INTERFACE_CAPABILITY 0x36
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get BT Interface Capabilities" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get System GUID command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_SYSTEM_GUID 0x37
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get System GUID" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel Authentication Capabilities command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_AUTHENTICATION_CAPABILITIES 0x38
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel Authentication Capabilities" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Session Challenge command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_SESSION_CHALLENGE 0x39
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Session Challenge" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Activate Session command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_ACTIVATE_SESSION 0x3A
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Activate Session" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Session Privelege Level command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_SESSION_PRIVELEGE_LEVEL 0x3B
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Session Privelege Level" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Close Session command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_CLOSE_SESSION 0x3C
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Close Session" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Session Info command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_SESSION_INFO 0x3D
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Session Info" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Auth Code command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_AUTHCODE 0x3F
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get AuthCode" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Channel Access command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_CHANNEL_ACCESS 0x40
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Channel Access" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel Access command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_ACCESS 0x41
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel Access" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ChannelNo : 4;
|
||||||
|
UINT8 Reserve1 : 4;
|
||||||
|
UINT8 Reserve2 : 6;
|
||||||
|
UINT8 MemoryType : 2;
|
||||||
|
} IPMI_GET_CHANNEL_ACCESS_COMMAND;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 AccessMode : 3;
|
||||||
|
UINT8 UserLevelAuthEnabled : 1;
|
||||||
|
UINT8 MessageAuthEnable : 1;
|
||||||
|
UINT8 Alert : 1;
|
||||||
|
UINT8 Reserve1 : 2;
|
||||||
|
UINT8 ChannelPriviledgeLimit : 4;
|
||||||
|
UINT8 Reserve2 : 4;
|
||||||
|
} IPMI_GET_CHANNEL_ACCESS_RESPONSE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel Info command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_INFO 0x42
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel Info" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ChannelNo : 4;
|
||||||
|
UINT8 Reserve1 : 4;
|
||||||
|
UINT8 ChannelMediumType : 7;
|
||||||
|
UINT8 Reserve2 : 1;
|
||||||
|
UINT8 ChannelProtocolType : 5;
|
||||||
|
UINT8 Reserve3 : 3;
|
||||||
|
UINT8 ActiveSessionCount : 6;
|
||||||
|
UINT8 SessionSupport : 2;
|
||||||
|
UINT32 VendorId : 24;
|
||||||
|
UINT16 AuxChannelInfo : 16;
|
||||||
|
UINT8 Dummy;
|
||||||
|
} IPMI_CHANNEL_INFO;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel Info command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_INFO 0x42
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel Info" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set User Access command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_USER_ACCESS 0x43
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set User Access" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get User Access command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_USER_ACCESS 0x44
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get User Access" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set User Name command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_USER_NAME 0x45
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set User Name" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get User Name command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_USER_NAME 0x46
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get User Name" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set User Password command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_USER_PASSWORD 0x47
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set User Password" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for RMCP+ Support and Payload Commands (Chapter 24)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Activate Payload command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_ACTIVATE_PAYLOAD 0x48
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Activate Payload" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for De-Activate Payload command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_DEACTIVATE_PAYLOAD 0x49
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "DeActivate Payload" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Payload activation Status command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_PAYLOAD_ACTIVATION_STATUS 0x4a
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Payload activation Status" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Payload Instance Info command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_PAYLOAD_INSTANCE_INFO 0x4b
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Payload Instance Info" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set User Payload Access command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_USER_PAYLOAD_ACCESS 0x4C
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set User Payload Access" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get User Payload Access command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_USER_PAYLOAD_ACCESS 0x4D
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get User Payload Access" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel Payload Support command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_PAYLOAD_SUPPORT 0x4E
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel Payload Support" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel Payload Version command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_PAYLOAD_VERSION 0x4F
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel Payload Version" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel OEM Payload Info command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_OEM_PAYLOAD_INFO 0x50
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel OEM Payload Info" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Master Write-Read command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_MASTER_WRITE_READ 0x52
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Master Write Read" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Channel Cipher Suites command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_CHANNEL_CIPHER_SUITES 0x54
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Channel Cipher Suites" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for RMCP+ Support and Payload Commands (Chapter 24, Section 3)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Suspend-Resume Payload Encryption command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SUSPEND_RESUME_PAYLOAD_ENCRYPTION 0x55
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Suspend-Resume Payload Encryption" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for IPMI Messaging Support Commands (Chapter 22, Section 25 and 9)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Channel Security Keys command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_SET_CHANNEL_SECURITY_KEYS 0x56
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Channel Security Keys" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get System Interface Capabilities command
|
||||||
|
//
|
||||||
|
#define IPMI_APP_GET_SYSTEM_INTERFACE_CAPABILITIES 0x57
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get System Interface Capabilities" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
|
@ -0,0 +1,243 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
IPMI Intelligent Chassis Management Bus Bridge Specification Version 1.0,
|
||||||
|
Revision 1.3.
|
||||||
|
|
||||||
|
See IPMI specification, Appendix G, Command Assignments
|
||||||
|
and Appendix H, Sub-function Assignments.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_NET_FN_BRIDGE_H_
|
||||||
|
#define _IPMI_NET_FN_BRIDGE_H_
|
||||||
|
|
||||||
|
//
|
||||||
|
// Net function definition for Bridge command
|
||||||
|
//
|
||||||
|
#define IPMI_NETFN_BRIDGE 0x02
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Bridge State command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_STATE 0x00
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Bridge State" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Bridge State command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_STATE 0x01
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Bridge State" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get ICMB Address command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_ICMB_ADDRESS 0x02
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get ICMB Address" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set ICMB Address command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_ICMB_ADDRESS 0x03
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set ICMB Address" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Bridge Proxy Address command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_PROXY_ADDRESS 0x04
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Bridge Proxy Address" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Bridge Statistics command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_BRIDGE_STATISTICS 0x05
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Bridge Statistics" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get ICMB Capabilities command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_ICMB_CAPABILITIES 0x06
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get ICMB Capabilities" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Clear Bridge Statistics command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_CLEAR_STATISTICS 0x08
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Clear Bridge Statistics" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Bridge Proxy Address command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_PROXY_ADDRESS 0x09
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Bridge Proxy Address" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get ICMB Connector Info command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_ICMB_CONNECTOR_INFO 0x0A
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get ICMB Connector Info " command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get ICMB Connection ID command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_ICMB_CONNECTION_ID 0x0B
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get ICMB Connection ID" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get ICMB Connection ID command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SEND_ICMB_CONNECTION_ID 0x0C
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Send ICMB Connection ID" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Prepare for Discoveery command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_PREPARE_FOR_DISCOVERY 0x10
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Prepare for Discoveery" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Addresses command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_ADDRESSES 0x11
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Addresses" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Discovered command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_DISCOVERED 0x12
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Discovered" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Chassis Device ID command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_CHASSIS_DEVICEID 0x13
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Chassis Device ID" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Chassis Device ID command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_CHASSIS_DEVICEID 0x14
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Chassis Device ID" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Bridge Request command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_REQUEST 0x20
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Bridge Request" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Bridge Message command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_MESSAGE 0x21
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Bridge Message" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Event Count command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_GET_EVENT_COUNT 0x30
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Event Count" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Event Destination command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_EVENT_DESTINATION 0x31
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Event Destination" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Event Reception State command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_EVENT_RECEPTION_STATE 0x32
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Event Reception State" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Event Reception State command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SET_EVENT_RECEPTION_STATE 0x32
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Event Reception State" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Send ICMB Event Message command
|
||||||
|
//
|
||||||
|
#define IPMI_BRIDGE_SEND_ICMB_EVENT_MESSAGE 0x33
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Send ICMB Event Message" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,304 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
|
||||||
|
This file contains all NetFn Chassis commands, including:
|
||||||
|
Chassis Commands (Chapter 28)
|
||||||
|
|
||||||
|
See IPMI specification, Appendix G, Command Assignments
|
||||||
|
and Appendix H, Sub-function Assignments.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_NET_FN_CHASSIS_H_
|
||||||
|
#define _IPMI_NET_FN_CHASSIS_H_
|
||||||
|
|
||||||
|
#pragma pack (1)
|
||||||
|
//
|
||||||
|
// Net function definition for Chassis command
|
||||||
|
//
|
||||||
|
#define IPMI_NETFN_CHASSIS 0x00
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for Chassis commands (Chapter 28)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Chassis Capabilities command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_GET_CAPABILITIES 0x00
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Chassis Capabilities" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Chassis Status command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_GET_STATUS 0x01
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Chassis Status" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Chassis Control command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_CONTROL 0x02
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Chassis Control" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Chassis Reset command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_RESET 0x03
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Chassis Reset" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Chassis Identify command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_IDENTIFY 0x04
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Chassis Identify" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Chassis Capabilities command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_SET_CAPABILITIES 0x05
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Chassis Capabilities" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Power Restore Policy command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_SET_POWER_RESTORE_POLICY 0x06
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Power Restore Policy" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get System Restart Cause command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_GET_SYSTEM_RESTART_CAUSE 0x07
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get System Restart Cause" command to follow here
|
||||||
|
//
|
||||||
|
typedef enum {
|
||||||
|
Unknown,
|
||||||
|
ChassisControlCommand,
|
||||||
|
ResetViaPushButton,
|
||||||
|
PowerupViaPowerButton,
|
||||||
|
WatchdogExpiration,
|
||||||
|
Oem,
|
||||||
|
AutoPowerOnAlwaysRestore,
|
||||||
|
AutoPowerOnRestorePrevious,
|
||||||
|
ResetViaPef,
|
||||||
|
PowerCycleViaPef,
|
||||||
|
SoftReset,
|
||||||
|
PowerUpViaRtc
|
||||||
|
} IPMI_SYSTEM_RESTART_CAUSE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Cause:4;
|
||||||
|
UINT8 Reserved:4;
|
||||||
|
UINT8 ChannelNumber;
|
||||||
|
} GET_SYSTEM_RESTART_CAUSE_RESPONSE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set System BOOT options command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_SET_SYSTEM_BOOT_OPTIONS 0x08
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set System boot options" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ParameterSelector:7;
|
||||||
|
UINT8 MarkParameterInvalid:1;
|
||||||
|
UINT8 ParameterData[1];
|
||||||
|
} IPMI_SET_BOOT_OPTIONS_REQUEST;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 CompletionCode:8;
|
||||||
|
} IPMI_SET_BOOT_OPTIONS_RESPONSE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get System BOOT options command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS 0x09
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get System boot options" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Parameter;
|
||||||
|
UINT8 Valid;
|
||||||
|
UINT8 Data1;
|
||||||
|
UINT8 Data2;
|
||||||
|
UINT8 Data3;
|
||||||
|
UINT8 Data4;
|
||||||
|
UINT8 Data5;
|
||||||
|
} IPMI_GET_THE_SYSTEM_BOOT_OPTIONS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ParameterVersion;
|
||||||
|
UINT8 ParameterValid;
|
||||||
|
UINT8 ChannelNumber;
|
||||||
|
UINT32 SessionId;
|
||||||
|
UINT32 TimeStamp;
|
||||||
|
UINT8 Reserved[3];
|
||||||
|
} IPMI_BOOT_INITIATOR;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ParameterSelector;
|
||||||
|
UINT8 SetSelector;
|
||||||
|
UINT8 BlockSelector;
|
||||||
|
} IPMI_GET_BOOT_OPTIONS_REQUEST;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Response Parameters for IPMI Get Boot Options
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 SetInProgress: 2;
|
||||||
|
UINT8 Reserved: 6;
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ServicePartitionSelector;
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ServicePartitionDiscovered:1;
|
||||||
|
UINT8 ServicePartitionScanRequest:1;
|
||||||
|
UINT8 Reserved: 5;
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 BmcBootFlagValid: 5;
|
||||||
|
UINT8 Reserved: 3;
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 WriteMask;
|
||||||
|
UINT8 BootInitiatorAcknowledgeData;
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4;
|
||||||
|
|
||||||
|
#define BOOT_OPTION_HANDLED_BY_BIOS 0x01
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
//
|
||||||
|
// Data 1
|
||||||
|
//
|
||||||
|
UINT8 Reserved0:6;
|
||||||
|
UINT8 PersistentOptions:1;
|
||||||
|
UINT8 BootFlagValid:1;
|
||||||
|
//
|
||||||
|
// Data 2
|
||||||
|
//
|
||||||
|
UINT8 LockReset:1;
|
||||||
|
UINT8 ScreenBlank:1;
|
||||||
|
UINT8 BootDeviceSelector:4;
|
||||||
|
UINT8 LockKeyboard:1;
|
||||||
|
UINT8 CmosClear:1;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Data 3
|
||||||
|
UINT8 ConsoleRedirection:2;
|
||||||
|
UINT8 LockSleep:1;
|
||||||
|
UINT8 UserPasswordBypass:1;
|
||||||
|
UINT8 ForceProgressEventTrap:1;
|
||||||
|
UINT8 BiosVerbosity:2;
|
||||||
|
UINT8 LockPower:1;
|
||||||
|
//
|
||||||
|
// Data 4
|
||||||
|
//
|
||||||
|
UINT8 BiosMuxControlOverride:2;
|
||||||
|
UINT8 BiosSharedModeOverride:1;
|
||||||
|
UINT8 Reserved1:4;
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ChannelNumber:4;
|
||||||
|
UINT8 Reserved:4;
|
||||||
|
UINT8 SessionId[4];
|
||||||
|
UINT8 BootInfoTimeStamp[4];
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 SetSelector;
|
||||||
|
UINT8 BlockData[16];
|
||||||
|
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7;
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0 Parm0;
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1 Parm1;
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2 Parm2;
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3 Parm3;
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4 Parm4;
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5 Parm5;
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6 Parm6;
|
||||||
|
IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7 Parm7;
|
||||||
|
} IPMI_BOOT_OPTIONS_PARAMETERS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ParameterVersion:4;
|
||||||
|
UINT8 Reserved:4;
|
||||||
|
UINT8 ParameterSelector:7;
|
||||||
|
UINT8 ParameterValid:1;
|
||||||
|
UINT8 ParameterData[1];
|
||||||
|
} IPMI_GET_BOOT_OPTIONS_RESPONSE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set front panel button enables command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_SET_FP_BUTTON_ENABLES 0x0A
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 DisablePoweroffButton:1;
|
||||||
|
UINT8 DisableResetButton:1;
|
||||||
|
UINT8 DisableDiagnosticInterruptButton:1;
|
||||||
|
UINT8 DisableStandbyButton:1;
|
||||||
|
UINT8 Reserved:4;
|
||||||
|
} IPMI_SET_FRONT_PANEL_BUTTON_ENABLES_REQUEST;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set front panel button enables" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Power Cycle Interval command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_SET_POWER_CYCLE_INTERVALS 0x0B
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Power Cycle Interval" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get POH Counter command
|
||||||
|
//
|
||||||
|
#define IPMI_CHASSIS_GET_POH_COUNTER 0x0F
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get POH Counter" command to follow here
|
||||||
|
//
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
|
@ -0,0 +1,26 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_NET_FN_FIRMWARE_H_
|
||||||
|
#define _IPMI_NET_FN_FIRMWARE_H_
|
||||||
|
|
||||||
|
//
|
||||||
|
// Net function definition for Firmware command
|
||||||
|
//
|
||||||
|
#define IPMI_NETFN_FIRMWARE 0x08
|
||||||
|
|
||||||
|
//
|
||||||
|
// All Firmware commands and their structure definitions to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,26 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_NET_FN_GROUP_EXTENSION_H_
|
||||||
|
#define _IPMI_NET_FN_GROUP_EXTENSION_H_
|
||||||
|
|
||||||
|
//
|
||||||
|
// Net function definition for Group Extension command
|
||||||
|
//
|
||||||
|
#define IPMI_NETFN_GROUP_EXT 0x2C
|
||||||
|
|
||||||
|
//
|
||||||
|
// All Group Extension commands and their structure definitions to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,52 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
|
||||||
|
This file contains all NetFn Sensor/Event commands, including:
|
||||||
|
Event Commands (Chapter 29)
|
||||||
|
PEF and Alerting Commands (Chapter 30)
|
||||||
|
Sensor Device Commands (Chapter 35)
|
||||||
|
|
||||||
|
See IPMI specification, Appendix G, Command Assignments
|
||||||
|
and Appendix H, Sub-function Assignments.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_NET_FN_SENSOR_EVENT_H_
|
||||||
|
#define _IPMI_NET_FN_SENSOR_EVENT_H_
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
//
|
||||||
|
// Net function definition for Sensor command
|
||||||
|
//
|
||||||
|
#define IPMI_NETFN_SENSOR_EVENT 0x04
|
||||||
|
|
||||||
|
//
|
||||||
|
// All Sensor commands and their structure definitions to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Send Platform Event Message command
|
||||||
|
//
|
||||||
|
#define IPMI_SENSOR_PLATFORM_EVENT_MESSAGE 0x02
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 GeneratorId;
|
||||||
|
UINT8 EvMRevision;
|
||||||
|
UINT8 SensorType;
|
||||||
|
UINT8 SensorNumber;
|
||||||
|
UINT8 EventDirType;
|
||||||
|
UINT8 OEMEvData1;
|
||||||
|
UINT8 OEMEvData2;
|
||||||
|
UINT8 OEMEvData3;
|
||||||
|
} IPMI_PLATFORM_EVENT_MESSAGE_DATA;
|
||||||
|
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
|
@ -0,0 +1,534 @@
|
||||||
|
/** @file
|
||||||
|
IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1.
|
||||||
|
|
||||||
|
This file contains all NetFn Storage commands, including:
|
||||||
|
FRU Inventory Commands (Chapter 34)
|
||||||
|
SDR Repository (Chapter 33)
|
||||||
|
System Event Log(SEL) Commands (Chapter 31)
|
||||||
|
|
||||||
|
See IPMI specification, Appendix G, Command Assignments
|
||||||
|
and Appendix H, Sub-function Assignments.
|
||||||
|
|
||||||
|
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _IPMI_NET_FN_STORAGE_H_
|
||||||
|
#define _IPMI_NET_FN_STORAGE_H_
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
//
|
||||||
|
// Net function definition for Storage command
|
||||||
|
//
|
||||||
|
#define IPMI_NETFN_STORAGE 0x0A
|
||||||
|
|
||||||
|
//
|
||||||
|
// All Storage commands and their structure definitions to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for FRU Inventory Commands (Chapter 34)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Fru Inventory Area Info command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_FRU_INVENTORY_AREAINFO 0x10
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Fru Inventory Area Info" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Fru Data command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_READ_FRU_DATA 0x11
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Fru Data" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 FruDeviceId;
|
||||||
|
UINT16 FruOffset;
|
||||||
|
} IPMI_FRU_COMMON_DATA;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
IPMI_FRU_COMMON_DATA Data;
|
||||||
|
UINT8 Count;
|
||||||
|
} IPMI_FRU_READ_COMMAND;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Write Fru Data command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_WRITE_FRU_DATA 0x12
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Write Fru Data" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
IPMI_FRU_COMMON_DATA Data;
|
||||||
|
UINT8 FruData[16];
|
||||||
|
} IPMI_FRU_WRITE_COMMAND;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for SDR Repository (Chapter 33)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SDR Repository Info command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SDR_REPOSITORY_INFO 0x20
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SDR Repository Info" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Version;
|
||||||
|
UINT16 RecordCount;
|
||||||
|
UINT16 FreeSpace;
|
||||||
|
UINT32 RecentAdditionTimeStamp;
|
||||||
|
UINT32 RecentEraseTimeStamp;
|
||||||
|
UINT8 SdrRepAllocInfoCmd : 1;
|
||||||
|
UINT8 SdrRepReserveCmd : 1;
|
||||||
|
UINT8 PartialAddSdrCmd : 1;
|
||||||
|
UINT8 DeleteSdrRepCmd : 1;
|
||||||
|
UINT8 Reserved : 1;
|
||||||
|
UINT8 SdrRepUpdateOp : 2;
|
||||||
|
UINT8 Overflow : 1;
|
||||||
|
} IPMI_SDR_REPOSITORY_INFO;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SDR Repository Allocateion Info command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SDR_REPOSITORY_ALLOCATION_INFO 0x21
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SDR Repository Allocateion Info" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Reserve SDR Repository command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_RESERVE_SDR_REPOSITORY 0x22
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Reserve SDR Repository" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SDR command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SDR 0x23
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SDR" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT16 RecordId; // 1
|
||||||
|
UINT8 Version; // 3
|
||||||
|
UINT8 RecordType; // 4
|
||||||
|
UINT8 RecordLength; // 5
|
||||||
|
UINT8 OwnerId; // 6
|
||||||
|
UINT8 OwnerLun; // 7
|
||||||
|
UINT8 SensorNumber; // 8
|
||||||
|
UINT8 EntityId; // 9
|
||||||
|
UINT8 EntityInstance; // 10
|
||||||
|
UINT8 EventScanningEnabled : 1; // 11
|
||||||
|
UINT8 EventScanningDisabled : 1; // 11
|
||||||
|
UINT8 InitSensorType : 1; // 11
|
||||||
|
UINT8 InitHysteresis : 1; // 11
|
||||||
|
UINT8 InitThresholds : 1; // 11
|
||||||
|
UINT8 InitEvent : 1; // 11
|
||||||
|
UINT8 InitScanning : 1; // 11
|
||||||
|
UINT8 Reserved : 1; // 11
|
||||||
|
UINT8 EventMessageControl : 2; // 12
|
||||||
|
UINT8 ThresholdAccessSupport : 2; // 12
|
||||||
|
UINT8 HysteresisSupport : 2; // 12
|
||||||
|
UINT8 ReArmSupport : 1; // 12
|
||||||
|
UINT8 IgnoreSensor : 1; // 12
|
||||||
|
UINT8 SensorType; // 13
|
||||||
|
UINT8 EventType; // 14
|
||||||
|
UINT8 Reserved1[7]; // 15
|
||||||
|
UINT8 UnitType; // 22
|
||||||
|
UINT8 Reserved2; // 23
|
||||||
|
UINT8 Linearization : 7; // 24
|
||||||
|
UINT8 Reserved3 : 1; // 24
|
||||||
|
UINT8 MLo; // 25
|
||||||
|
UINT8 Toleremce : 6; // 26
|
||||||
|
UINT8 MHi : 2; // 26
|
||||||
|
UINT8 BLo; // 27
|
||||||
|
UINT8 AccuracyLow : 6; // 28
|
||||||
|
UINT8 BHi : 2; // 28
|
||||||
|
UINT8 Reserved4 : 2; // 29
|
||||||
|
UINT8 AccuracyExp : 2; // 29
|
||||||
|
UINT8 AccuracyHi : 4; // 29
|
||||||
|
UINT8 BExp : 4; // 30
|
||||||
|
UINT8 RExp : 4; // 30
|
||||||
|
UINT8 NominalReadingSpscified : 1; // 31
|
||||||
|
UINT8 NominalMaxSpscified : 1; // 31
|
||||||
|
UINT8 NominalMinSpscified : 1; // 31
|
||||||
|
UINT8 Reserved5 : 5; // 31
|
||||||
|
UINT8 NominalReading; // 32
|
||||||
|
UINT8 Reserved6[4]; // 33
|
||||||
|
UINT8 UpperNonRecoverThreshold; // 37
|
||||||
|
UINT8 UpperCriticalThreshold; // 38
|
||||||
|
UINT8 UpperNonCriticalThreshold; // 39
|
||||||
|
UINT8 LowerNonRecoverThreshold; // 40
|
||||||
|
UINT8 LowerCriticalThreshold; // 41
|
||||||
|
UINT8 LowerNonCriticalThreshold; // 42
|
||||||
|
UINT8 Reserved7[5]; // 43
|
||||||
|
UINT8 IdStringLength; // 48
|
||||||
|
UINT8 AsciiIdString[16]; // 49 - 64
|
||||||
|
} IPMI_SDR_RECORD_STRUCT_1;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT16 RecordId; // 1
|
||||||
|
UINT8 Version; // 3
|
||||||
|
UINT8 RecordType; // 4
|
||||||
|
UINT8 RecordLength; // 5
|
||||||
|
UINT8 OwnerId; // 6
|
||||||
|
UINT8 OwnerLun; // 7
|
||||||
|
UINT8 SensorNumber; // 8
|
||||||
|
UINT8 EntityId; // 9
|
||||||
|
UINT8 EntityInstance; // 10
|
||||||
|
UINT8 SensorScanning : 1; // 11
|
||||||
|
UINT8 EventScanning : 1; // 11
|
||||||
|
UINT8 InitSensorType : 1; // 11
|
||||||
|
UINT8 InitHysteresis : 1; // 11
|
||||||
|
UINT8 InitThresholds : 1; // 11
|
||||||
|
UINT8 InitEvent : 1; // 11
|
||||||
|
UINT8 InitScanning : 1; // 11
|
||||||
|
UINT8 Reserved : 1; // 11
|
||||||
|
UINT8 EventMessageControl : 2; // 12
|
||||||
|
UINT8 ThresholdAccessSupport : 2; // 12
|
||||||
|
UINT8 HysteresisSupport : 2; // 12
|
||||||
|
UINT8 ReArmSupport : 1; // 12
|
||||||
|
UINT8 IgnoreSensor : 1; // 12
|
||||||
|
UINT8 SensorType; // 13
|
||||||
|
UINT8 EventType; // 14
|
||||||
|
UINT8 Reserved1[7]; // 15
|
||||||
|
UINT8 UnitType; // 22
|
||||||
|
UINT8 Reserved2[9]; // 23
|
||||||
|
UINT8 IdStringLength; // 32
|
||||||
|
UINT8 AsciiIdString[16]; // 33 - 48
|
||||||
|
} IPMI_SDR_RECORD_STRUCT_2;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Reserved1 : 1;
|
||||||
|
UINT8 ControllerSlaveAddress : 7;
|
||||||
|
UINT8 FruDeviceId;
|
||||||
|
UINT8 BusId : 3;
|
||||||
|
UINT8 Lun : 2;
|
||||||
|
UINT8 Reserved : 2;
|
||||||
|
UINT8 LogicalFruDevice : 1;
|
||||||
|
UINT8 Reserved3 : 4;
|
||||||
|
UINT8 ChannelNumber : 4;
|
||||||
|
} IPMI_FRU_DATA_INFO;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT16 RecordId; // 1
|
||||||
|
UINT8 Version; // 3
|
||||||
|
UINT8 RecordType; // 4
|
||||||
|
UINT8 RecordLength; // 5
|
||||||
|
IPMI_FRU_DATA_INFO FruDeviceData; // 6
|
||||||
|
UINT8 Reserved1; // 10
|
||||||
|
UINT8 DeviceType; // 11
|
||||||
|
UINT8 DeviceTypeModifier; // 12
|
||||||
|
UINT8 FruEntityId; // 13
|
||||||
|
UINT8 FruEntityInstance; // 14
|
||||||
|
UINT8 OemReserved; // 15
|
||||||
|
UINT8 Length : 4; // 16
|
||||||
|
UINT8 Reserved2 : 1; // 16
|
||||||
|
UINT8 StringType : 3; // 16
|
||||||
|
UINT8 String[16]; // 17
|
||||||
|
} IPMI_SDR_RECORD_STRUCT_11;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT16 NextRecordId; //1
|
||||||
|
UINT16 RecordId; //3
|
||||||
|
UINT8 Version; //5
|
||||||
|
UINT8 RecordType; //6
|
||||||
|
UINT8 RecordLength; //7
|
||||||
|
UINT8 ManufacturerId[3]; //8
|
||||||
|
UINT8 StringChars[20];
|
||||||
|
} IPMI_SDR_RECORD_STRUCT_C0;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT16 NextRecordId; //1
|
||||||
|
UINT16 RecordId; //3
|
||||||
|
UINT8 Version; //5
|
||||||
|
UINT8 RecordType; //6
|
||||||
|
UINT8 RecordLength; //7
|
||||||
|
} IPMI_SDR_RECORD_STRUCT_HEADER;
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
IPMI_SDR_RECORD_STRUCT_1 SensorType1;
|
||||||
|
IPMI_SDR_RECORD_STRUCT_2 SensorType2;
|
||||||
|
IPMI_SDR_RECORD_STRUCT_11 SensorType11;
|
||||||
|
IPMI_SDR_RECORD_STRUCT_C0 SensorTypeC0;
|
||||||
|
IPMI_SDR_RECORD_STRUCT_HEADER SensorHeader;
|
||||||
|
} IPMI_SENSOR_RECORD_STRUCT;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT16 ReservationId;
|
||||||
|
UINT16 RecordId;
|
||||||
|
UINT8 RecordOffset;
|
||||||
|
UINT8 BytesToRead;
|
||||||
|
} IPMI_GET_SDR;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Add SDR command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_ADD_SDR 0x24
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Add SDR" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Partial Add SDR command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_PARTIAL_ADD_SDR 0x25
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Partial Add SDR" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Delete SDR command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_DELETE_SDR 0x26
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Delete SDR" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Clear SDR Repository command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_CLEAR_SDR 0x27
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Clear SDR Repository" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SDR Repository Time command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SDR_REPOSITORY_TIME 0x28
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SDR Repository Time" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set SDR Repository Time command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_SET_SDR_REPOSITORY_TIME 0x29
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set SDR Repository Time" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Enter SDR Repository Update Mode command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_ENTER_SDR_UPDATE_MODE 0x2A
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Enter SDR Repository Update Mode" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Exit SDR Repository Update Mode command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_EXIT_SDR_UPDATE_MODE 0x2B
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Exit SDR Repository Update Mode" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Run Initialize Agent command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_RUN_INIT_AGENT 0x2C
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Run Initialize Agent" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Below is Definitions for System Event Log(SEL) Commands (Chapter 31)
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SEL Info command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SEL_INFO 0x40
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SEL Info" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Version; // Version of SEL
|
||||||
|
UINT16 NoOfEntries; // No of Entries in the SEL
|
||||||
|
UINT16 FreeSpace; // Free space in Bytes
|
||||||
|
UINT32 RecentAddTimeStamp; // Most Recent Addition of Time Stamp
|
||||||
|
UINT32 RecentEraseTimeStamp; // Most Recent Erasure of Time Stamp
|
||||||
|
UINT8 OperationSupport; // Operation Support
|
||||||
|
} IPMI_SEL_INFO;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SEL Allocation Info command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SEL_ALLOCATION_INFO 0x41
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SEL Allocation Info" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Reserve SEL command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_RESERVE_SEL 0x42
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Reserve SEL" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SEL Entry command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SEL_ENTRY 0x43
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SEL Entry" command to follow here
|
||||||
|
//
|
||||||
|
#define IPMI_COMPLETE_SEL_RECORD 0xFF
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ReserveId[2]; // Reservation ID, LS Byte First
|
||||||
|
UINT8 SelRecID[2]; // Sel Record ID, LS Byte First
|
||||||
|
UINT8 Offset; // Offset Into Record
|
||||||
|
UINT8 BytesToRead; // Bytes to be Read, 0xFF for entire record
|
||||||
|
} IPMI_GET_SEL_ENTRY;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Add SEL Entry command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_ADD_SEL_ENTRY 0x44
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Add SEL Entry" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT16 RecordId;
|
||||||
|
UINT8 RecordType;
|
||||||
|
UINT32 TimeStamp;
|
||||||
|
UINT16 GeneratorId;
|
||||||
|
UINT8 EvMRevision;
|
||||||
|
UINT8 SensorType;
|
||||||
|
UINT8 SensorNumber;
|
||||||
|
UINT8 EventDirType;
|
||||||
|
UINT8 OEMEvData1;
|
||||||
|
UINT8 OEMEvData2;
|
||||||
|
UINT8 OEMEvData3;
|
||||||
|
} IPMI_SEL_RECORD_DATA;
|
||||||
|
|
||||||
|
#define IPMI_SEL_SYSTEM_RECORD 0x02
|
||||||
|
|
||||||
|
#define IPMI_EVM_REVISION 0x04
|
||||||
|
#define IPMI_BIOS_ID 0x18
|
||||||
|
#define IPMI_FORMAT_REV 0x00
|
||||||
|
#define IPMI_FORMAT_REV1 0x01
|
||||||
|
#define IPMI_SOFTWARE_ID 0x01
|
||||||
|
#define IPMI_PLATFORM_VAL_ID 0x01
|
||||||
|
#define IPMI_GENERATOR_ID(i,f) ((i << 1) | (f << 1) | IPMI_SOFTWARE_ID)
|
||||||
|
|
||||||
|
#define IPMI_SENSOR_TYPE_EVENT_CODE_DISCRETE 0x6F
|
||||||
|
|
||||||
|
#define IPMI_OEM_SPECIFIC_DATA 0x02
|
||||||
|
#define IPMI_SENSOR_SPECIFIC_DATA 0x03
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Partial Add SEL Entry command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_PARTIAL_ADD_SEL_ENTRY 0x45
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Partial Add SEL Entry" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Delete SEL Entry command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_DELETE_SEL_ENTRY 0x46
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Delete SEL Entry" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ReserveId[2]; // Reservation ID, LS byte first
|
||||||
|
UINT8 RecordToDelete[2]; // Record to Delete, LS Byte First
|
||||||
|
} IPMI_DELETE_SEL;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Clear SEL command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_CLEAR_SEL 0x47
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Clear SEL" command to follow here
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Reserve[2]; // Reserve ID, LSB first
|
||||||
|
UINT8 AscC; // Ascii for 'C' (0x43)
|
||||||
|
UINT8 AscL; // Ascii for 'L' (0x4c)
|
||||||
|
UINT8 AscR; // Ascii for 'R' (0x52)
|
||||||
|
UINT8 Erase; // 0xAA, Initiate Erase, 0x00 Get Erase Status
|
||||||
|
} IPMI_CLEAR_SEL;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get SEL Time command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_SEL_TIME 0x48
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get SEL Time" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set SEL Time command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_SET_SEL_TIME 0x49
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set SEL Time" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Get Auxillary Log Status command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_GET_AUXILLARY_LOG_STATUS 0x5A
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Get Auxillary Log Status" command to follow here
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// Definitions for Set Auxillary Log Status command
|
||||||
|
//
|
||||||
|
#define IPMI_STORAGE_SET_AUXILLARY_LOG_STATUS 0x5B
|
||||||
|
|
||||||
|
//
|
||||||
|
// Constants and Structure definitions for "Set Auxillary Log Status" command to follow here
|
||||||
|
//
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
|
@ -0,0 +1,566 @@
|
||||||
|
/** @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 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
This program and the accompanying materials
|
||||||
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#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
|
||||||
|
} 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 struct {
|
||||||
|
UINT8 NoAuth : 1;
|
||||||
|
UINT8 MD2Auth : 1;
|
||||||
|
UINT8 MD5Auth : 1;
|
||||||
|
UINT8 Reserved1 : 1;
|
||||||
|
UINT8 StraightPswd : 1;
|
||||||
|
UINT8 OemType : 1;
|
||||||
|
UINT8 Reserved2 : 2;
|
||||||
|
} IPMI_LAN_AUTH_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 IpAddress[4];
|
||||||
|
} IPMI_LAN_IP_ADDRESS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 AddressSrc : 4;
|
||||||
|
UINT8 Reserved : 4;
|
||||||
|
} IPMI_LAN_IP_ADDRESS_SRC;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 MacAddress[6];
|
||||||
|
} IPMI_LAN_MAC_ADDRESS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 IpAddress[4];
|
||||||
|
} IPMI_LAN_SUBNET_MASK;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 TimeToLive;
|
||||||
|
UINT8 IpFlag : 3;
|
||||||
|
UINT8 Reserved1 : 5;
|
||||||
|
UINT8 Precedence : 3;
|
||||||
|
UINT8 Reserved2 : 1;
|
||||||
|
UINT8 ServiceType : 4;
|
||||||
|
} IPMI_LAN_IPV4_HDR_PARAM;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 RcmpPortMsb;
|
||||||
|
UINT8 RcmpPortLsb;
|
||||||
|
} IPMI_LAN_RCMP_PORT;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 EnableBmcArpResponse : 1;
|
||||||
|
UINT8 EnableBmcGratuitousArp : 1;
|
||||||
|
UINT8 Reserved : 6;
|
||||||
|
} IPMI_LAN_BMC_GENERATED_ARP_CONTROL;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ArpInterval;
|
||||||
|
} IPMI_LAN_ARP_INTERVAL;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 Data[18];
|
||||||
|
} IPMI_LAN_COMMUNITY_STRING;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 DestinationSelector : 4;
|
||||||
|
UINT8 Reserved2 : 4;
|
||||||
|
UINT8 DestinationType : 3;
|
||||||
|
UINT8 Reserved1 : 4;
|
||||||
|
UINT8 AlertAcknowledged : 1;
|
||||||
|
} IPMI_LAN_DEST_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 DestinationSelector : 4;
|
||||||
|
UINT8 Reserved1 : 4;
|
||||||
|
UINT8 AlertingIpAddressSelector : 4;
|
||||||
|
UINT8 AddressFormat : 4;
|
||||||
|
UINT8 UseDefaultGateway : 1;
|
||||||
|
UINT8 Reserved2 : 7;
|
||||||
|
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;
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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 struct {
|
||||||
|
UINT8 NoAuthentication : 1;
|
||||||
|
UINT8 MD2Authentication : 1;
|
||||||
|
UINT8 MD5Authentication : 1;
|
||||||
|
UINT8 Reserved1 : 1;
|
||||||
|
UINT8 StraightPassword : 1;
|
||||||
|
UINT8 OemProprietary : 1;
|
||||||
|
UINT8 Reservd2 : 2;
|
||||||
|
} IPMI_EMP_AUTH_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 EnableBasicMode : 1;
|
||||||
|
UINT8 EnablePPPMode : 1;
|
||||||
|
UINT8 EnableTerminalMode : 1;
|
||||||
|
UINT8 Reserved1 : 2;
|
||||||
|
UINT8 SnoopOsPPPNegotiation : 1;
|
||||||
|
UINT8 Reserved2 : 1;
|
||||||
|
UINT8 DirectConnect : 1;
|
||||||
|
} IPMI_EMP_CONNECTION_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 InactivityTimeout : 4;
|
||||||
|
UINT8 Reserved : 4;
|
||||||
|
} IPMI_EMP_INACTIVITY_TIMEOUT;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 IpmiCallback : 1;
|
||||||
|
UINT8 CBCPCallback : 1;
|
||||||
|
UINT8 Reserved1 : 6;
|
||||||
|
UINT8 CbcpEnableNoCallback : 1;
|
||||||
|
UINT8 CbcpEnablePreSpecifiedNumber : 1;
|
||||||
|
UINT8 CbcpEnableUserSpecifiedNumber : 1;
|
||||||
|
UINT8 CbcpEnableCallbackFromList : 1;
|
||||||
|
UINT8 Reserved : 4;
|
||||||
|
UINT8 CallbackDestination1;
|
||||||
|
UINT8 CallbackDestination2;
|
||||||
|
UINT8 CallbackDestination3;
|
||||||
|
} IPMI_EMP_CHANNEL_CALLBACK_CONTROL;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 CloseSessionOnDCDLoss : 1;
|
||||||
|
UINT8 EnableSessionInactivityTimeout : 1;
|
||||||
|
UINT8 Reserved : 6;
|
||||||
|
} IPMI_EMP_SESSION_TERMINATION;
|
||||||
|
|
||||||
|
typedef 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;
|
||||||
|
} IPMI_EMP_MESSAGING_COM_SETTING;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 RingDurationInterval : 6;
|
||||||
|
UINT8 Reserved1 : 2;
|
||||||
|
UINT8 RingDeadTime : 4;
|
||||||
|
UINT8 Reserved : 4;
|
||||||
|
} 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 struct {
|
||||||
|
UINT8 Reserved5 : 4;
|
||||||
|
UINT8 DialStringSelector : 4;
|
||||||
|
} IPMI_DIAL_PAGE_DESTINATION;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 TapAccountSelector : 4;
|
||||||
|
UINT8 Reserved : 4;
|
||||||
|
} 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 struct {
|
||||||
|
UINT8 DestinationSelector : 4;
|
||||||
|
UINT8 Reserved1 : 4;
|
||||||
|
UINT8 DestinationType : 4;
|
||||||
|
UINT8 Reserved2 : 3;
|
||||||
|
UINT8 AlertAckRequired : 1;
|
||||||
|
UINT8 AlertAckTimeoutSeconds;
|
||||||
|
UINT8 NumRetriesCall : 3;
|
||||||
|
UINT8 Reserved3 : 1;
|
||||||
|
UINT8 NumRetryAlert : 3;
|
||||||
|
UINT8 Reserved4 : 1;
|
||||||
|
IPMI_DEST_TYPE_SPECIFIC DestinationTypeSpecific;
|
||||||
|
} IPMI_EMP_DESTINATION_INFO;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 DestinationSelector : 4;
|
||||||
|
UINT8 Reserved1 : 4;
|
||||||
|
UINT8 Parity : 3;
|
||||||
|
UINT8 CharacterSize : 1;
|
||||||
|
UINT8 StopBit : 1;
|
||||||
|
UINT8 DtrHangup : 1;
|
||||||
|
UINT8 FlowControl : 2;
|
||||||
|
UINT8 BitRate : 4;
|
||||||
|
UINT8 Reserved2 : 4;
|
||||||
|
UINT8 SaveSetting : 1;
|
||||||
|
UINT8 SetComPort : 1;
|
||||||
|
UINT8 Reserved3 : 6;
|
||||||
|
} IPMI_EMP_DESTINATION_COM_SETTING;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 DialStringSelector : 4;
|
||||||
|
UINT8 Reserved1 : 4;
|
||||||
|
UINT8 Reserved2;
|
||||||
|
UINT8 DialString[48];
|
||||||
|
} IPMI_DESTINATION_DIAL_STRING;
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
UINT32 IpAddressLong;
|
||||||
|
UINT8 IpAddress[4];
|
||||||
|
} IPMI_PPP_IP_ADDRESS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 IpAddressSelector : 4;
|
||||||
|
UINT8 Reserved1 : 4;
|
||||||
|
IPMI_PPP_IP_ADDRESS PppIpAddress;
|
||||||
|
} IPMI_DESTINATION_IP_ADDRESS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 TapSelector;
|
||||||
|
UINT8 TapServiceSelector : 4;
|
||||||
|
UINT8 TapDialStringSelector : 4;
|
||||||
|
} 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
|
||||||
|
//
|
||||||
|
typedef struct {
|
||||||
|
UINT8 ChannelNo : 4;
|
||||||
|
UINT8 Reserved1 : 4;
|
||||||
|
UINT8 MuxSetting : 4;
|
||||||
|
UINT8 Reserved2 : 4;
|
||||||
|
} IPMI_SET_MUX_COMMAND;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 MuxSetToBmc : 1;
|
||||||
|
UINT8 CommandStatus : 1;
|
||||||
|
UINT8 MessagingSessionActive : 1;
|
||||||
|
UINT8 AlertInProgress : 1;
|
||||||
|
UINT8 Reserved2 : 2;
|
||||||
|
UINT8 MuxToBmcAllowed : 1;
|
||||||
|
UINT8 MuxToSystemBlocked : 1;
|
||||||
|
} IPMI_MUX_CONFIG;
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
//
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
Loading…
Reference in New Issue