1 Star 0 Fork 0

叶海丰/ipmi-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
docs
goipmi
open
utils/md2
.gitignore
CONTRIBUTING.md
LICENSE
Makefile
README.md
client.go
client_auth_code.go
client_auth_code_test.go
cmd_activate_session.go
cmd_add_sel_entry.go
cmd_chassis_control.go
cmd_chassis_identify.go
cmd_chassis_reset.go
cmd_clear_message_flags.go
cmd_clear_sel.go
cmd_close_session.go
cmd_cold_reset.go
cmd_delete_sel_entry.go
cmd_enable_message_channel_receive.go
cmd_get_acpi_power_state.go
cmd_get_auth_code.go
cmd_get_bmc_global_enables.go
cmd_get_bt_interface_capabilities.go
cmd_get_channel_access.go
cmd_get_channel_authentication_capabilities.go
cmd_get_channel_cipher_suites.go
cmd_get_channel_info.go
cmd_get_chassis_capabilities.go
cmd_get_chassis_status.go
cmd_get_command_enables.go
cmd_get_command_subfunction_support.go
cmd_get_command_support.go
cmd_get_configurable_commands.go
cmd_get_device_guid.go
cmd_get_device_id.go
cmd_get_device_sdr.go
cmd_get_device_sdr_info.go
cmd_get_event_receiver.go
cmd_get_fru_inventory_area_info.go
cmd_get_frus.go
cmd_get_ip_statistics.go
cmd_get_lan_config_params.go
cmd_get_message.go
cmd_get_message_flags.go
cmd_get_netfn_support.go
cmd_get_pef_capabilities.go
cmd_get_poh_counter.go
cmd_get_sdr.go
cmd_get_sdr_repo_alloc_info.go
cmd_get_sdr_repo_info.go
cmd_get_sel_alloc_info.go
cmd_get_sel_entry.go
cmd_get_sel_info.go
cmd_get_sel_time.go
cmd_get_sel_time_utc_offset.go
cmd_get_self_test_results.go
cmd_get_sensor_event_enable.go
cmd_get_sensor_event_status.go
cmd_get_sensor_hysteresis.go
cmd_get_sensor_reading.go
cmd_get_sensor_reading_factors.go
cmd_get_sensor_thresholds.go
cmd_get_sensor_type.go
cmd_get_sensors.go
cmd_get_session_challenge.go
cmd_get_session_info.go
cmd_get_sol_config_params.go
cmd_get_supermicro_bios_version.go
cmd_get_system_boot_options.go
cmd_get_system_guid.go
cmd_get_system_interface_capabilities.go
cmd_get_system_restart_cause.go
cmd_get_user_access.go
cmd_get_username.go
cmd_get_watchdog_timer.go
cmd_manufacturing_test_on.go
cmd_master_write_read.go
cmd_open_session.go
cmd_platform_event_message.go
cmd_rakp_message_1_2.go
cmd_rakp_message_3_4.go
cmd_raw.go
cmd_read_event_message_buffer.go
cmd_read_fru_data.go
cmd_reserve_device_sdr_repo.go
cmd_reserve_sel.go
cmd_reset_watchdog_timer.go
cmd_rmcp_ping_request.go
cmd_send_message.go
cmd_set_acpi_power_state.go
cmd_set_bmc_global_enables.go
cmd_set_channel_access.go
cmd_set_chassis_capabilities.go
cmd_set_event_receiver.go
cmd_set_front_panel_enables.go
cmd_set_lan_config_params.go
cmd_set_power_cycle_interval.go
cmd_set_power_restore_policy.go
cmd_set_sel_time.go
cmd_set_sel_time_utc_offset.go
cmd_set_sensor_hysteresis.go
cmd_set_sensor_reading_and_event_status.go
cmd_set_sensor_thresholds.go
cmd_set_sensor_type.go
cmd_set_session_privilege_level.go
cmd_set_sol_config_params.go
cmd_set_system_boot_options.go
cmd_set_system_boot_options_others.go
cmd_set_user_access.go
cmd_set_user_password.go
cmd_set_username.go
cmd_set_watchdog_timer.go
cmd_sol_activating.go
cmd_sol_info.go
cmd_suspend_bmc_arps.go
cmd_warm_reset.go
cmd_write_fru_data.go
cspell.json
errors.go
go.mod
go.sum
helpers.go
helpers_hmac.go
helpers_hmac_test.go
helpers_test.go
interface_lan.go
interface_system.go
interface_tool.go
types_boot_option_parameter.go
types_channel.go
types_cipher_suite_id.go
types_command.go
types_completion_code.go
types_entity.go
types_event.go
types_events.go
types_fru.go
types_generator.go
types_ipmi.go
types_lan_params.go
types_netfn.go
types_oem.go
types_payload.go
types_rmcp.go
types_sdr.go
types_sdr_compact.go
types_sdr_full.go
types_sdr_others.go
types_sdr_others_test.go
types_sel.go
types_sensor.go
types_sensor_test.go
types_session.go
types_sol_config_params.go
types_spd.go
udpclient.go
克隆/下载
cmd_get_command_enables.go 1.75 KB
一键复制 编辑 原始数据 按行查看 历史
叶海丰 提交于 12个月前 . init
package ipmi
// 21.8 Get Command Enables Command
type GetCommandEnablesRequest struct {
ChannelNumber uint8
CommandRangeMask CommandRangeMask
NetFn NetFn
LUN uint8
CodeForNetFn2C uint8
OEM_IANA uint32 // 3 bytes only
}
type GetCommandEnablesResponse struct {
// Todo
CommandEnableMask []byte
}
func (req *GetCommandEnablesRequest) Command() Command {
return CommandGetCommandEnables
}
func (req *GetCommandEnablesRequest) Pack() []byte {
out := make([]byte, 6)
packUint8(req.ChannelNumber, out, 0)
netfn := uint8(req.NetFn) & (uint8(req.CommandRangeMask) << 6)
packUint8(netfn, out, 1)
packUint8(req.LUN&0x03, out, 2)
if uint8(req.NetFn) == 0x2c {
packUint8(req.CodeForNetFn2C, out, 3)
return out[0:4]
}
if uint8(req.NetFn) == 0x2e {
packUint24L(req.OEM_IANA, out, 3)
return out[0:6]
}
return out[0:3]
}
func (res *GetCommandEnablesResponse) Unpack(msg []byte) error {
if len(msg) < 16 {
return ErrUnpackedDataTooShortWith(len(msg), 16)
}
res.CommandEnableMask, _, _ = unpackBytes(msg, 0, 16)
return nil
}
func (*GetCommandEnablesResponse) CompletionCodes() map[uint8]string {
// no command-specific cc
return map[uint8]string{}
}
func (res *GetCommandEnablesResponse) Format() string {
// Todo
return ""
}
func (c *Client) GetCommandEnables(channelNumber uint8, commandRangeMask CommandRangeMask, netFn NetFn, lun uint8, code uint8, oemIANA uint32) (response *GetCommandEnablesResponse, err error) {
request := &GetCommandEnablesRequest{
ChannelNumber: channelNumber,
CommandRangeMask: commandRangeMask,
NetFn: netFn,
LUN: lun,
CodeForNetFn2C: code,
OEM_IANA: oemIANA,
}
response = &GetCommandEnablesResponse{}
err = c.Exchange(request, response)
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/rogax/ipmi-go.git
git@gitee.com:rogax/ipmi-go.git
rogax
ipmi-go
ipmi-go
86ae46cfb58e

搜索帮助