14#ifndef _IPMI_NET_FN_CHASSIS_H_
15#define _IPMI_NET_FN_CHASSIS_H_
21#define IPMI_NETFN_CHASSIS 0x00
30#define IPMI_CHASSIS_GET_CAPABILITIES 0x00
37 UINT8 CapabilitiesFlags;
38 UINT8 ChassisFruInfoDeviceAddress;
39 UINT8 ChassisSDRDeviceAddress;
40 UINT8 ChassisSELDeviceAddress;
41 UINT8 ChassisSystemManagementDeviceAddress;
42 UINT8 ChassisBridgeDeviceAddress;
48#define IPMI_CHASSIS_GET_STATUS 0x01
55 UINT8 CurrentPowerState;
57 UINT8 MiscChassisState;
58 UINT8 FrontPanelButtonCapabilities;
64#define IPMI_CHASSIS_CONTROL 0x02
71 UINT8 ChassisControl : 4;
84#define IPMI_CHASSIS_RESET 0x03
93#define IPMI_CHASSIS_IDENTIFY 0x04
102#define IPMI_CHASSIS_SET_CAPABILITIES 0x05
111#define IPMI_CHASSIS_SET_POWER_RESTORE_POLICY 0x06
118 UINT8 PowerRestorePolicy : 3;
129 UINT8 CompletionCode;
130 UINT8 PowerRestorePolicySupport;
136#define IPMI_CHASSIS_GET_SYSTEM_RESTART_CAUSE 0x07
141#define IPMI_SYSTEM_RESTART_CAUSE_UNKNOWN 0x0
142#define IPMI_SYSTEM_RESTART_CAUSE_CHASSIS_CONTROL_COMMAND 0x1
143#define IPMI_SYSTEM_RESTART_CAUSE_PUSHBUTTON_RESET 0x2
144#define IPMI_SYSTEM_RESTART_CAUSE_PUSHBUTTON_POWERUP 0x3
145#define IPMI_SYSTEM_RESTART_CAUSE_WATCHDOG_EXPIRE 0x4
146#define IPMI_SYSTEM_RESTART_CAUSE_OEM 0x5
147#define IPMI_SYSTEM_RESTART_CAUSE_AUTO_POWER_ALWAYS_RESTORE 0x6
148#define IPMI_SYSTEM_RESTART_CAUSE_AUTO_POWER_RESTORE_PREV 0x7
149#define IPMI_SYSTEM_RESTART_CAUSE_PEF_RESET 0x8
150#define IPMI_SYSTEM_RESTART_CAUSE_PEF_POWERCYCLE 0x9
151#define IPMI_SYSTEM_RESTART_CAUSE_SOFT_RESET 0xA
152#define IPMI_SYSTEM_RESTART_CAUSE_RTC_POWERUP 0xB
163 UINT8 CompletionCode;
171#define IPMI_CHASSIS_SET_SYSTEM_BOOT_OPTIONS 0x08
178 UINT8 ParameterSelector : 7;
179 UINT8 MarkParameterInvalid : 1;
186 UINT8 ParameterData[0];
190 UINT8 CompletionCode : 8;
196#define IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS 0x09
203 UINT8 ParameterSelector : 7;
226 UINT8 ParameterVersion;
227 UINT8 ParameterValid;
237#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SET_IN_PROGRESS 0x0
238#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SELECTOR 0x1
239#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SCAN 0x2
240#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_BMC_BOOT_FLAG 0x3
241#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INFO_ACK 0x4
242#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_FLAGS 0x5
243#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_INFO 0x6
244#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_MAILBOX 0x7
245#define IPMI_BOOT_OPTIONS_PARAMETER_OEM_BEGIN 0x60
246#define IPMI_BOOT_OPTIONS_PARAMETER_OEM_END 0x7F
253 UINT8 SetInProgress : 2;
260 UINT8 ServicePartitionSelector;
265 UINT8 ServicePartitionDiscovered : 1;
266 UINT8 ServicePartitionScanRequest : 1;
274 UINT8 BmcBootFlagValid : 5;
282 UINT8 BootInitiatorAcknowledgeData;
288#define IPMI_BOOT_DEVICE_SELECTOR_NO_OVERRIDE 0x0
289#define IPMI_BOOT_DEVICE_SELECTOR_PXE 0x1
290#define IPMI_BOOT_DEVICE_SELECTOR_HARDDRIVE 0x2
291#define IPMI_BOOT_DEVICE_SELECTOR_HARDDRIVE_SAFE_MODE 0x3
292#define IPMI_BOOT_DEVICE_SELECTOR_DIAGNOSTIC_PARTITION 0x4
293#define IPMI_BOOT_DEVICE_SELECTOR_CD_DVD 0x5
294#define IPMI_BOOT_DEVICE_SELECTOR_BIOS_SETUP 0x6
295#define IPMI_BOOT_DEVICE_SELECTOR_REMOTE_FLOPPY 0x7
296#define IPMI_BOOT_DEVICE_SELECTOR_REMOTE_CD_DVD 0x8
297#define IPMI_BOOT_DEVICE_SELECTOR_PRIMARY_REMOTE_MEDIA 0x9
298#define IPMI_BOOT_DEVICE_SELECTOR_REMOTE_HARDDRIVE 0xB
299#define IPMI_BOOT_DEVICE_SELECTOR_FLOPPY 0xF
301#define BOOT_OPTION_HANDLED_BY_BIOS 0x01
306#define BIOS_MUX_CONTROL_OVERRIDE_RECOMMEND_SETTING 0x00
307#define BIOS_MUX_CONTROL_OVERRIDE_FORCE_TO_BMC 0x01
308#define BIOS_MUX_CONTROL_OVERRIDE_FORCE_TO_SYSTEM 0x02
313 UINT8 BiosBootType : 1;
314 UINT8 PersistentOptions : 1;
315 UINT8 BootFlagValid : 1;
323 UINT8 ScreenBlank : 1;
324 UINT8 BootDeviceSelector : 4;
325 UINT8 LockKeyboard : 1;
333 UINT8 ConsoleRedirection : 2;
335 UINT8 UserPasswordBypass : 1;
336 UINT8 ForceProgressEventTrap : 1;
337 UINT8 BiosVerbosity : 2;
345 UINT8 BiosMuxControlOverride : 3;
346 UINT8 BiosSharedModeOverride : 1;
354 UINT8 DeviceInstanceSelector : 5;
370 UINT8 ChannelNumber : 4;
379 UINT8 BootInfoTimeStamp[4];
400 UINT8 ParameterVersion : 4;
408 UINT8 ParameterSelector : 7;
409 UINT8 ParameterValid : 1;
415 UINT8 CompletionCode;
418 UINT8 ParameterData[0];
424#define IPMI_CHASSIS_SET_FRONT_PANEL_BUTTON_ENABLES 0x0A
431 UINT8 DisablePoweroffButton : 1;
432 UINT8 DisableResetButton : 1;
433 UINT8 DisableDiagnosticInterruptButton : 1;
434 UINT8 DisableStandbyButton : 1;
447#define IPMI_CHASSIS_SET_POWER_CYCLE_INTERVALS 0x0B
456#define IPMI_CHASSIS_GET_POH_COUNTER 0x0F