add freeipmi source

This commit is contained in:
dmacias72
2016-03-24 14:02:30 -06:00
parent 46d0c3615e
commit bc10199d49
398 changed files with 89602 additions and 0 deletions

View File

@ -0,0 +1,375 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_API_H
#define IPMI_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/* ERROR CODE NOTES
*
* IPMI_ERR_BMC_BUSY vs IPMI_ERR_DRIVER_BUSY
*
* BMC_BUSY indicates the BMC cannot handle more requests, it is an
* error typically from a completion code returned from the BMC. The
* DRIVER_BUSY error indicates a driver is too busy to handle
* additional requests, the error does not come from the BMC.
*
* IPMI_ERR_MESSAGE_TIMEOUT
*
* message timeout is typical of bridging commands. The
* session/connection has not timed out and is fine, but a
* bridging command could not get its bridged response back in a
* reasonable timeframe.
*/
/* IPMI COMPLETION CODE / RMCPPLUS CODE MAPPING
*
* For most users, the high level error codes listed below will
* suffice. However, for those who want/need to see deeper IPMI
* completion code or RMCPPlus errors, the following are mappings of
* IPMI completion codes and RMCPPlus codes to their respective error
* codes.
*
* Not that other factors outside of completion codes/RMCPPlus codes
* could also lead to these IPMI errors. For example, depending on
* motherboard support of username types, a IPMI_ERR_USERNAME_INVALID
* could be returned even though no IPMI error occurred. In addition,
* completion codes/RMCPPlus codes could map to different error codes,
* depending on when the error occurred (such as during session
* authentication vs. after authentication).
*
* (*) - Completion code is specific to an IPMI command
*
* IPMI_ERR_USERNAME_INVALID
* - IPMI_COMP_CODE_GET_SESSION_CHALLENGE_INVALID_USERNAME (*)
* - IPMI_COMP_CODE_GET_SESSION_CHALLENGE_NULL_USERNAME_NOT_ENABLED (*)
*
* IPMI_ERR_PASSWORD_INVALID
* - RMCPPLUS_STATUS_INVALID_INTEGRITY_CHECK_VALUE
*
* IPMI_ERR_PRIVILEGE_LEVEL_INSUFFICIENT
* - IPMI_COMP_CODE_INSUFFICIENT_PRIVILEGE_LEVEL
*
* IPMI_ERR_PRIVILEGE_LEVEL_CANNOT_BE_OBTAINED
* - IPMI_COMP_CODE_ACTIVATE_SESSION_EXCEEDS_PRIVILEGE_LEVEL (*)
* - IPMI_COMP_CODE_INSUFFICIENT_PRIVILEGE_LEVEL
* - IPMI_COMP_CODE_SET_SESSION_PRIVILEGE_LEVEL_REQUESTED_LEVEL_NOT_AVAILABLE_FOR_USER (*)
* - IPMI_COMP_CODE_SET_SESSION_PRIVILEGE_LEVEL_REQUESTED_LEVEL_EXCEEDS_USER_PRIVILEGE_LIMIT (*)
* - RMCPPLUS_STATUS_INVALID_ROLE
* - RMCPPLUS_STATUS_UNAUTHORIZED_ROLE_OR_PRIVILEGE_LEVEL_REQUESTED
*
* IPMI_ERR_CIPHER_SUITE_ID_UNAVAILABLE
* - RMCPPLUS_STATUS_NO_CIPHER_SUITE_MATCH_WITH_PROPOSED_SECURITY_ALGORITHMS
*
* IPMI_ERR_MESSAGE_TIMEOUT
* - IPMI_COMP_CODE_COMMAND_TIMEOUT
*
* IPMI_ERR_COMMAND_INVALID_OR_UNSUPPORTED
* - IPMI_COMP_CODE_INVALID_COMMAND
* - IPMI_COMP_CODE_COMMAND_INVALID_FOR_LUN
* - IPMI_COMP_CODE_REQUEST_DATA_LENGTH_INVALID
* - IPMI_COMP_CODE_REQUEST_DATA_LENGTH_LIMIT_EXCEEDED
* - IPMI_COMP_CODE_PARAMETER_OUT_OF_RANGE
* - IPMI_COMP_CODE_INVALID_DATA_FIELD_IN_REQUEST
*
* IPMI_ERR_BMC_BUSY
* - IPMI_COMP_CODE_NODE_BUSY
* - IPMI_COMP_CODE_OUT_OF_SPACE
* - IPMI_COMP_CODE_SDR_REPOSITORY_IN_UPDATE_MODE
* - IPMI_COMP_CODE_DEVICE_IN_FIRMWARE_UPDATE_MODE
* - IPMI_COMP_CODE_BMC_INITIALIZATION_IN_PROGRESS
*
* All other IPMI completion codes will map to IPMI_ERR_BAD_COMPLETION_CODE.
* All other RMCPPlus codes will map to IPMI_ERR_BAD_RMCPPLUS_STATUS_CODE.
*/
enum ipmi_errnum
{
IPMI_ERR_SUCCESS = 0,
IPMI_ERR_CTX_NULL = 1,
IPMI_ERR_CTX_INVALID = 2,
IPMI_ERR_PERMISSION = 3,
IPMI_ERR_USERNAME_INVALID = 4,
IPMI_ERR_PASSWORD_INVALID = 5,
IPMI_ERR_K_G_INVALID = 6,
IPMI_ERR_PRIVILEGE_LEVEL_INSUFFICIENT = 7,
IPMI_ERR_PRIVILEGE_LEVEL_CANNOT_BE_OBTAINED = 8,
IPMI_ERR_AUTHENTICATION_TYPE_UNAVAILABLE = 9,
IPMI_ERR_CIPHER_SUITE_ID_UNAVAILABLE = 10,
IPMI_ERR_PASSWORD_VERIFICATION_TIMEOUT = 11,
IPMI_ERR_IPMI_2_0_UNAVAILABLE = 12,
IPMI_ERR_CONNECTION_TIMEOUT = 13,
IPMI_ERR_SESSION_TIMEOUT = 14,
IPMI_ERR_DEVICE_ALREADY_OPEN = 15,
IPMI_ERR_DEVICE_NOT_OPEN = 16,
IPMI_ERR_DEVICE_NOT_SUPPORTED = 17,
IPMI_ERR_DEVICE_NOT_FOUND = 18,
IPMI_ERR_DRIVER_BUSY = 19,
IPMI_ERR_DRIVER_TIMEOUT = 20,
IPMI_ERR_MESSAGE_TIMEOUT = 21,
IPMI_ERR_COMMAND_INVALID_FOR_SELECTED_INTERFACE = 22,
IPMI_ERR_COMMAND_INVALID_OR_UNSUPPORTED = 23,
IPMI_ERR_BAD_COMPLETION_CODE = 24,
IPMI_ERR_BAD_RMCPPLUS_STATUS_CODE = 25,
IPMI_ERR_NOT_FOUND = 26,
IPMI_ERR_BMC_BUSY = 27,
IPMI_ERR_OUT_OF_MEMORY = 28,
IPMI_ERR_HOSTNAME_INVALID = 29,
IPMI_ERR_PARAMETERS = 30,
IPMI_ERR_DRIVER_PATH_REQUIRED = 31,
IPMI_ERR_IPMI_ERROR = 32,
IPMI_ERR_SYSTEM_ERROR = 33,
IPMI_ERR_INTERNAL_ERROR = 34,
IPMI_ERR_ERRNUMRANGE = 35,
};
typedef enum ipmi_errnum ipmi_errnum_type_t;
enum ipmi_driver_type
{
IPMI_DEVICE_UNKNOWN = 0,
IPMI_DEVICE_LAN = 1,
IPMI_DEVICE_LAN_2_0 = 2,
IPMI_DEVICE_KCS = 3,
IPMI_DEVICE_SMIC = 4,
IPMI_DEVICE_BT = 5,
IPMI_DEVICE_SSIF = 6,
IPMI_DEVICE_OPENIPMI = 7,
IPMI_DEVICE_SUNBMC = 8,
IPMI_DEVICE_INTELDCMI = 9,
};
typedef enum ipmi_driver_type ipmi_driver_type_t;
#define IPMI_SESSION_TIMEOUT_DEFAULT 20000
#define IPMI_RETRANSMISSION_TIMEOUT_DEFAULT 1000
#define IPMI_WORKAROUND_FLAGS_DEFAULT 0x00000000
/* For use w/ ipmi_ctx_open_outofband() */
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_AUTHENTICATION_CAPABILITIES 0x00000001
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_ACCEPT_SESSION_ID_ZERO 0x00000002
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_FORCE_PERMSG_AUTHENTICATION 0x00000004
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_CHECK_UNEXPECTED_AUTHCODE 0x00000008
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_BIG_ENDIAN_SEQUENCE_NUMBER 0x00000010
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_NO_AUTH_CODE_CHECK 0x00000020
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_NO_CHECKSUM_CHECK 0x00000040
/* For use w/ ipmi_ctx_open_outofband_2_0() */
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_2_0_AUTHENTICATION_CAPABILITIES 0x00000001
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_2_0_INTEL_2_0_SESSION 0x00000002
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_2_0_SUPERMICRO_2_0_SESSION 0x00000004
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_2_0_SUN_2_0_SESSION 0x00000008
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_2_0_OPEN_SESSION_PRIVILEGE 0x00000010
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_2_0_NON_EMPTY_INTEGRITY_CHECK_VALUE 0x00000020
#define IPMI_WORKAROUND_FLAGS_OUTOFBAND_2_0_NO_CHECKSUM_CHECK 0x00000040
/* For use w/ ipmi_ctx_open_inband() or ipmi_ctx_find_inband() */
#define IPMI_WORKAROUND_FLAGS_INBAND_ASSUME_IO_BASE_ADDRESS 0x00000001
#define IPMI_WORKAROUND_FLAGS_INBAND_SPIN_POLL 0x00000002
/* NONBLOCKING - for inband only, do no block if device busy.
*
* NOSESSION - for outofband only, do not create an IPMI session.
* Useful for the few IPMI payloads that do not require a session for
* an IPMI command to be sent (e.g. Get Channel Authentication
* Capabilities, Get System GUID, PET Acknowledge). Can only be set
* during opening, not later using ipmi_ctx_set_flags(). If set, you
* cannot call most IPMI payload functions, only those few that send
* data without a session.
*
* DEBUG_DUMP - for all interfaces
*
* NO_VALID_CHECK - do not check if IPMI response payloads are valid
* (i.e. all required fields set). Useful to workaround non-compliant
* motherboards. For example, if an IPMI payload did not return a
* required flag in the payload, an error would be returned. The
* error might possibly be a session timeout, as no valid response
* packet was ever received. This flag would skip the checks for
* valid fields and return the packet to the user.
*
* NO_LEGAL_CHECK - do no check if IPMI response payloads have
* sufficient data (i.e. completion code fields) to be legal. Useful
* to work around non-compliant motherboards. This flag is ignores
* the legality of IPMI payloads greater than the NO_VALID_CHECK
* option. For example, NO_VALID_CHECK would still return an error if
* an IPMI payload did not return a completion code in an IPMI
* response. The NO_LEGAL_CHECK would return such a packet to the
* user without an error. If the payload did not return a completion
* code, the completion code will not be checked for.
*
* IGNORE_AUTHENTICATION_CODE - for IPMI 1.5 packets, do not check the
* authentication code on response packets. Useful to workaround
* around non-compliant motherboards implementing invalid code/hashes.
* Note that this is different than
* IPMI_WORKAROUND_FLAGS_OUTOFBAND_NO_AUTH_CODE_CHECK above. With the
* workaround flag, all authentication codes will be ignored during
* the entire IPMI session. With this flag, specific packets can have
* their authentication codes ignored.
*/
#define IPMI_FLAGS_DEFAULT 0x00000000
#define IPMI_FLAGS_NONBLOCKING 0x00000001
#define IPMI_FLAGS_NOSESSION 0x00000002
#define IPMI_FLAGS_DEBUG_DUMP 0x00000010
#define IPMI_FLAGS_NO_VALID_CHECK 0x00000100
#define IPMI_FLAGS_NO_LEGAL_CHECK 0x00000200
#define IPMI_FLAGS_IGNORE_AUTHENTICATION_CODE 0x00000400
typedef struct ipmi_ctx *ipmi_ctx_t;
ipmi_ctx_t ipmi_ctx_create (void);
int ipmi_ctx_errnum (ipmi_ctx_t ctx);
char *ipmi_ctx_strerror (int errnum);
char *ipmi_ctx_errormsg (ipmi_ctx_t ctx);
int ipmi_ctx_get_flags (ipmi_ctx_t ctx, unsigned int *flags);
/* for changing flags mid-operation for corner cases */
int ipmi_ctx_set_flags (ipmi_ctx_t ctx, unsigned int flags);
/* For IPMI 1.5 sessions */
/* For session_timeout and retransmission_timeout, specify 0 for default */
int ipmi_ctx_open_outofband (ipmi_ctx_t ctx,
const char *hostname,
const char *username,
const char *password,
uint8_t authentication_type,
uint8_t privilege_level,
unsigned int session_timeout,
unsigned int retransmission_timeout,
unsigned int workaround_flags,
unsigned int flags);
/* For IPMI 2.0 sessions */
/* For session_timeout and retransmission_timeout, specify 0 for default */
int ipmi_ctx_open_outofband_2_0 (ipmi_ctx_t ctx,
const char *hostname,
const char *username,
const char *password,
const unsigned char *k_g,
unsigned int k_g_len,
uint8_t privilege_level,
uint8_t cipher_suite_id,
unsigned int session_timeout,
unsigned int retransmission_timeout,
unsigned int workaround_flags,
unsigned int flags);
/* For inband sessions */
int ipmi_ctx_open_inband (ipmi_ctx_t ctx,
ipmi_driver_type_t driver_type,
int disable_auto_probe,
uint16_t driver_address,
uint8_t register_spacing,
const char *driver_device,
unsigned int workaround_flags,
unsigned int flags);
/* like ipmi_ctx_open_inband, but finds probes/discovers an inband device */
/* returns 1 on driver found, 0 on not found, -1 on error */
/* if specified, driver type returned in 'driver_type' */
int ipmi_ctx_find_inband (ipmi_ctx_t ctx,
ipmi_driver_type_t *driver_type,
int disable_auto_probe,
uint16_t driver_address,
uint8_t register_spacing,
const char *driver_device,
unsigned int workaround_flags,
unsigned int flags);
/* Set target channel and slave address so all ipmi_cmd() calls and
* library API calls use ipmb.
*
* To set only one parameter, pass in NULL for the other parameter.
* When only one parameter is passed, the other will be the default
* target channel of IPMI_CHANNEL_NUMBER_PRIMARY_IPMB (0x0) or the
* default rs_addr of IPMI_SLAVE_ADDRESS_BMC (0x20).
*
* To reset to defaults, pass in NULL for both parameters.
*
* Can only be called after device opened.
*/
int ipmi_ctx_set_target (ipmi_ctx_t ctx,
uint8_t *channel_number,
uint8_t *rs_addr);
int ipmi_ctx_get_target (ipmi_ctx_t ctx,
uint8_t *channel_number,
uint8_t *rs_addr);
int ipmi_cmd (ipmi_ctx_t ctx,
uint8_t lun,
uint8_t net_fn,
fiid_obj_t obj_cmd_rq,
fiid_obj_t obj_cmd_rs);
/* convenience function to perform a single bridged IPMI command.
* Will effectively call ipmi_ctx_set_target(), then ipmi_cmd(), then
* will set targets back to prior originals.
*/
int ipmi_cmd_ipmb (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t rs_addr,
uint8_t lun,
uint8_t net_fn,
fiid_obj_t obj_cmd_rq,
fiid_obj_t obj_cmd_rs);
/* for request/response, byte #1 = cmd */
/* for response, byte #2 (typically) = completion code */
/* returns length written into buf_fs on success, -1 on error */
int ipmi_cmd_raw (ipmi_ctx_t ctx,
uint8_t lun,
uint8_t net_fn,
const void *buf_rq,
unsigned int buf_rq_len,
void *buf_rs,
unsigned int buf_rs_len);
/* convenience function to perform a single bridged IPMI raw command.
* Will effectively call ipmi_ctx_set_target(), then ipmi_cmd_raw(),
* then will set targets back to prior originals.
*/
int ipmi_cmd_raw_ipmb (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t rs_addr,
uint8_t lun,
uint8_t net_fn,
const void *buf_rq,
unsigned int buf_rq_len,
void *buf_rs,
unsigned int buf_rs_len);
int ipmi_ctx_close (ipmi_ctx_t ctx);
void ipmi_ctx_destroy (ipmi_ctx_t ctx);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_API_H */

View File

@ -0,0 +1,189 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_CHASSIS_CMDS_API_H
#define IPMI_CHASSIS_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_chassis_capabilities (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_chassis_status (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_chassis_control (ipmi_ctx_t ctx,
uint8_t chassis_control,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_chassis_identify (ipmi_ctx_t ctx,
const uint8_t *identify_interval,
const uint8_t *force_identify,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_front_panel_enables (ipmi_ctx_t ctx,
uint8_t disable_power_off_button_for_power_off_only,
uint8_t disable_reset_button,
uint8_t disable_diagnostic_interrupt_button,
uint8_t disable_standby_button_for_entering_standby,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_power_restore_policy (ipmi_ctx_t ctx,
uint8_t power_restore_policy,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_power_cycle_interval (ipmi_ctx_t ctx,
uint8_t interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_restart_cause (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_boot_options (ipmi_ctx_t ctx,
uint8_t parameter_selector,
uint8_t parameter_valid,
const void *configuration_parameter_data,
unsigned int configuration_parameter_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_boot_options_set_in_progress (ipmi_ctx_t ctx,
uint8_t parameter_valid,
uint8_t state,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_boot_options_BMC_boot_flag_valid_bit_clearing (ipmi_ctx_t ctx,
uint8_t parameter_valid,
uint8_t dont_clear_on_power_up,
uint8_t dont_clear_on_pushbutton_reset_soft_reset,
uint8_t dont_clear_on_watchdog_timeout,
uint8_t dont_clear_on_chassis_control,
uint8_t dont_clear_on_PEF,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_boot_options_boot_info_acknowledge (ipmi_ctx_t ctx,
uint8_t parameter_valid,
const uint8_t *bios_or_post_handled_boot_info,
const uint8_t *os_loader_handled_boot_info,
const uint8_t *os_or_service_partition_handled_boot_info,
const uint8_t *sms_handled_boot_info,
const uint8_t *oem_handled_boot_info,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_boot_options_boot_flags (ipmi_ctx_t ctx,
uint8_t parameter_valid,
uint8_t bios_boot_type,
uint8_t boot_flags_persistent,
uint8_t boot_flags_valid,
uint8_t lock_out_reset_button,
uint8_t screen_blank,
uint8_t boot_device,
uint8_t lock_keyboard,
uint8_t cmos_clear,
uint8_t console_redirection,
uint8_t lock_out_sleep_button,
uint8_t user_password_bypass,
uint8_t force_progress_event_traps,
uint8_t firmware_bios_verbosity,
uint8_t lock_out_via_power_button,
uint8_t bios_mux_control_override,
uint8_t bios_shared_mode_override,
uint8_t device_instance_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_boot_options_boot_initiator_info (ipmi_ctx_t ctx,
uint8_t parameter_valid,
uint8_t boot_source_channel_number,
uint32_t session_id,
uint32_t boot_info_timestamp,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_boot_options_boot_initiator_mailbox (ipmi_ctx_t ctx,
uint8_t parameter_valid,
uint8_t set_selector,
const void *block_data,
unsigned int block_data_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options (ipmi_ctx_t ctx,
uint8_t parameter_selector,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_set_in_progress (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_service_partition_selector (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_service_partition_scan (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_BMC_boot_flag_valid_bit_clearing (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_boot_info_acknowledge (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_boot_flags (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_boot_initiator_info (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_boot_options_boot_initiator_mailbox (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_power_on_hours_counter (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_CHASSIS_CMDS_API_H */

View File

@ -0,0 +1,210 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/*****************************************************************************\
* Copyright (C) 2009-2015 Lawrence Livermore National Security, LLC.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Albert Chu <chu11@llnl.gov>
* LLNL-CODE-413270
*
* This file is part of Ipmi-Dcmi, tools and libraries to support the
* data center manageability interface (DCMI). For details, see
* http://www.llnl.gov/linux/.
*
* Ipmi-Dcmi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* Ipmi-Dcmi is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with Ipmi-Dcmi. If not, see <http://www.gnu.org/licenses/>.
\*****************************************************************************/
#ifndef IPMI_DCMI_CMDS_API_H
#define IPMI_DCMI_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_dcmi_get_dcmi_capability_info (ipmi_ctx_t ctx,
uint8_t parameter_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_capability_info_supported_dcmi_capabilities (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_capability_info_mandatory_platform_attributes (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_capability_info_optional_platform_attributes (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_capability_info_manageability_access_attributes (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_capability_info_enhanced_system_power_statistics_attributes (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_dcmi_configuration_parameters (ipmi_ctx_t ctx,
uint8_t parameter_selector,
uint8_t set_selector,
const void *configuration_parameter_data,
unsigned int configuration_parameter_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_dcmi_configuration_parameters_activate_dhcp (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t activate,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_dcmi_configuration_parameters_discovery_configuration (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t option_12,
uint8_t option_60_with_option_43,
uint8_t random_back_off,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_dcmi_configuration_parameters_dhcp_timing_1 (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t initial_timeout_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_dcmi_configuration_parameters_dhcp_timing_2 (ipmi_ctx_t ctx,
uint8_t set_selector,
uint16_t server_contact_timeout_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_dcmi_configuration_parameters_dhcp_timing_3 (ipmi_ctx_t ctx,
uint8_t set_selector,
uint16_t server_contact_retry_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_configuration_parameters (ipmi_ctx_t ctx,
uint8_t parameter_selector,
uint8_t set_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_configuration_parameters_discovery_configuration (ipmi_ctx_t ctx,
uint8_t set_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_configuration_parameters_dhcp_timing_1 (ipmi_ctx_t ctx,
uint8_t set_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_configuration_parameters_dhcp_timing_2 (ipmi_ctx_t ctx,
uint8_t set_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_configuration_parameters_dhcp_timing_3 (ipmi_ctx_t ctx,
uint8_t set_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_asset_tag (ipmi_ctx_t ctx,
uint8_t offset_to_read,
uint8_t number_of_bytes_to_read,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_asset_tag (ipmi_ctx_t ctx,
uint8_t offset_to_write,
uint8_t number_of_bytes_to_write,
const void *data,
unsigned int data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_management_controller_identifier_string (ipmi_ctx_t ctx,
uint8_t offset_to_read,
uint8_t number_of_bytes_to_read,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_management_controller_identifier_string (ipmi_ctx_t ctx,
uint8_t offset_to_write,
uint8_t number_of_bytes_to_write,
const void *data,
unsigned int data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_dcmi_sensor_info (ipmi_ctx_t ctx,
uint8_t sensor_type,
uint8_t entity_id,
uint8_t entity_instance,
uint8_t entity_instance_start,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_power_reading (ipmi_ctx_t ctx,
uint8_t mode,
uint8_t mode_attributes,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_power_limit (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_power_limit (ipmi_ctx_t ctx,
uint8_t exception_actions,
uint16_t power_limit_requested,
uint32_t correction_time_limit,
uint16_t management_application_statistics_sampling_period,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_activate_deactivate_power_limit (ipmi_ctx_t ctx,
uint8_t power_limit_activation,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_thermal_limit (ipmi_ctx_t ctx,
uint8_t entity_id,
uint8_t entity_instance,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_set_thermal_limit (ipmi_ctx_t ctx,
uint8_t entity_id,
uint8_t entity_instance,
uint8_t temperature_limit,
uint8_t exception_actions_log_event_to_sel_only,
uint8_t exception_actions_hard_power_off_system_and_log_event,
uint16_t exception_time,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_dcmi_get_temperature_reading (ipmi_ctx_t ctx,
uint8_t sensor_type,
uint8_t entity_id,
uint8_t entity_instance,
uint8_t entity_instance_start,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_DCMI_CMDS_API_H */

View File

@ -0,0 +1,61 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_DEVICE_GLOBAL_CMDS_API_H
#define IPMI_DEVICE_GLOBAL_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_device_id (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
int ipmi_cmd_cold_reset (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
int ipmi_cmd_warm_reset (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_acpi_power_state (ipmi_ctx_t ctx,
uint8_t system_power_state_enumeration,
uint8_t set_system_power_state,
uint8_t device_power_state_enumeration,
uint8_t set_device_power_state,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_acpi_power_state (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_self_test_results (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_device_guid (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_DEVICE_GLOBAL_CMDS_API_H */

View File

@ -0,0 +1,68 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_EVENT_CMDS_API_H
#define IPMI_EVENT_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_set_event_receiver (ipmi_ctx_t ctx,
uint8_t event_receiver_slave_address,
uint8_t event_receiver_lun,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_event_receiver_ipmb (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t slave_address,
uint8_t event_receiver_slave_address,
uint8_t event_receiver_lun,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_event_receiver (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
/* generator_id is optional */
int ipmi_cmd_platform_event (ipmi_ctx_t ctx,
uint8_t *generator_id,
uint8_t event_message_format_version,
uint8_t sensor_type,
uint8_t sensor_number,
uint8_t event_type_code,
uint8_t event_dir,
uint8_t event_data1,
uint8_t event_data2,
uint8_t event_data3,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_EVENT_CMDS_API_H */

View File

@ -0,0 +1,139 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_FIRMWARE_FIREWALL_COMMAND_DISCOVERY_CMDS_API_H
#define IPMI_FIRMWARE_FIREWALL_COMMAND_DISCOVERY_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_netfn_support (ipmi_ctx_t ctx,
uint8_t channel_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_command_support (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t operation,
uint8_t lun,
uint32_t net_fn_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_command_sub_function_support (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t lun,
uint8_t command,
uint32_t net_fn_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_configurable_commands (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t operation,
uint8_t lun,
uint32_t net_fn_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_configurable_command_sub_functions (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t lun,
uint8_t command,
uint32_t net_fn_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_command_enables (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t operation,
uint8_t lun,
uint8_t *enable_disable_bitmask,
unsigned int enable_disable_bitmask_len,
uint32_t net_fn_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_command_enables (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t operation,
uint8_t lun,
uint32_t net_fn_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_command_sub_function_enables (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t lun,
uint8_t command,
uint32_t sub_function_enables1,
uint32_t *sub_function_enables2,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_command_sub_function_enables_defining_body_code (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t lun,
uint8_t command,
uint8_t defining_body_code,
uint32_t sub_function_enables1,
uint32_t *sub_function_enables2,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_command_sub_function_enables_oem_iana (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t lun,
uint8_t command,
uint32_t oem_iana,
uint32_t sub_function_enables1,
uint32_t *sub_function_enables2,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_command_sub_function_enables (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t lun,
uint8_t command,
uint32_t net_fn_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_oem_netfn_iana_support (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t net_fn,
uint8_t list_index,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_FIRMWARE_FIREWALL_COMMAND_DISCOVERY_CMDS_API_H */

View File

@ -0,0 +1,75 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/*****************************************************************************\
* Copyright (C) 2007-2015 Lawrence Livermore National Security, LLC.
* Copyright (C) 2007 The Regents of the University of California.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Albert Chu <chu11@llnl.gov>
* UCRL-CODE-232183
*
* This file is part of Ipmi-fru, a tool used for retrieving
* motherboard field replaceable unit (FRU) information. For details,
* see http://www.llnl.gov/linux/.
*
* Ipmi-fru is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* Ipmi-fru is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with Ipmi-fru. If not, see <http://www.gnu.org/licenses/>.
\*****************************************************************************/
#ifndef IPMI_FRU_INVENTORY_DEVICE_CMDS_API_H
#define IPMI_FRU_INVENTORY_DEVICE_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_fru_inventory_area_info (ipmi_ctx_t ctx,
uint8_t fru_device_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_read_fru_data (ipmi_ctx_t ctx,
uint8_t fru_device_id,
uint16_t fru_inventory_offset_to_read,
uint8_t count_to_read,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_FRU_INVENTORY_DEVICE_CMDS_API_H */

View File

@ -0,0 +1,415 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_LAN_CMDS_API_H
#define IPMI_LAN_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_set_lan_configuration_parameters (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t parameter_selector,
const void *configuration_parameter_data,
unsigned int configuration_parameter_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t state,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_authentication_type_enables (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t callback_level_none,
uint8_t callback_level_md2,
uint8_t callback_level_md5,
uint8_t callback_level_straight_password,
uint8_t callback_level_oem_proprietary,
uint8_t user_level_none,
uint8_t user_level_md2,
uint8_t user_level_md5,
uint8_t user_level_straight_password,
uint8_t user_level_oem_proprietary,
uint8_t operator_level_none,
uint8_t operator_level_md2,
uint8_t operator_level_md5,
uint8_t operator_level_straight_password,
uint8_t operator_level_oem_proprietary,
uint8_t admin_level_none,
uint8_t admin_level_md2,
uint8_t admin_level_md5,
uint8_t admin_level_straight_password,
uint8_t admin_level_oem_proprietary,
uint8_t oem_level_none,
uint8_t oem_level_md2,
uint8_t oem_level_md5,
uint8_t oem_level_straight_password,
uint8_t oem_level_oem_proprietary,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_ip_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint32_t ip_address,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_ip_address_source (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t ip_address_source,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_subnet_mask (ipmi_ctx_t ctx,
uint8_t channel_number,
uint32_t subnet_mask,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_ipv4_header_parameters (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t time_to_live,
uint8_t flags,
uint8_t type_of_service,
uint8_t precedence,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_primary_rmcp_port_number (ipmi_ctx_t ctx,
uint8_t channel_number,
uint16_t primary_rmcp_port_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_secondary_rmcp_port_number (ipmi_ctx_t ctx,
uint8_t channel_number,
uint16_t secondary_rmcp_port_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_mac_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint64_t mac_address,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_default_gateway_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint32_t ip_address,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_default_gateway_mac_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint64_t mac_address,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_backup_gateway_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint32_t ip_address,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_backup_gateway_mac_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint64_t mac_address,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_bmc_generated_arp_control (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t bmc_generated_gratuitous_arps,
uint8_t bmc_generated_arp_responses,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_gratuitous_arp_interval (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t gratuitous_arp_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_community_string (ipmi_ctx_t ctx,
uint8_t channel_number,
const char *community_string,
unsigned int community_string_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_destination_type (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t destination_selector,
uint8_t destination_type,
uint8_t alert_acknowledge,
uint8_t alert_acknowledge_timeout,
uint8_t retries,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_destination_addresses (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t destination_selector,
uint8_t gateway_selector,
uint32_t alerting_ip_address,
uint64_t alerting_mac_address,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_vlan_id (ipmi_ctx_t ctx,
uint8_t channel_number,
uint16_t vlan_id,
uint8_t vlan_id_enable,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_vlan_priority (ipmi_ctx_t ctx,
uint8_t channel_number,
uint32_t vlan_priority,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_rmcpplus_messaging_cipher_suite_privilege_levels (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t maximum_privilege_for_cipher_suite_1,
uint8_t maximum_privilege_for_cipher_suite_2,
uint8_t maximum_privilege_for_cipher_suite_3,
uint8_t maximum_privilege_for_cipher_suite_4,
uint8_t maximum_privilege_for_cipher_suite_5,
uint8_t maximum_privilege_for_cipher_suite_6,
uint8_t maximum_privilege_for_cipher_suite_7,
uint8_t maximum_privilege_for_cipher_suite_8,
uint8_t maximum_privilege_for_cipher_suite_9,
uint8_t maximum_privilege_for_cipher_suite_10,
uint8_t maximum_privilege_for_cipher_suite_11,
uint8_t maximum_privilege_for_cipher_suite_12,
uint8_t maximum_privilege_for_cipher_suite_13,
uint8_t maximum_privilege_for_cipher_suite_14,
uint8_t maximum_privilege_for_cipher_suite_15,
uint8_t maximum_privilege_for_cipher_suite_16,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_lan_configuration_parameters_bad_password_threshold (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t user_disabled_event_message,
uint8_t bad_password_threshold_number,
uint16_t attempt_count_reset_interval,
uint16_t user_lockout_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t parameter_selector,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_authentication_type_support (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_authentication_type_enables (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_ip_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_ip_address_source (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_mac_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_subnet_mask (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_ipv4_header_parameters (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_primary_rmcp_port_number (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_secondary_rmcp_port_number (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_bmc_generated_arp_control (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_gratuitous_arp_interval (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_default_gateway_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_default_gateway_mac_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_backup_gateway_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_backup_gateway_mac_address (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_community_string (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_number_of_destinations (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_destination_type (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_destination_addresses (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_vlan_id (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_vlan_priority (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_rmcpplus_messaging_cipher_suite_entry_support (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_rmcpplus_messaging_cipher_suite_entries (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_rmcpplus_messaging_cipher_suite_privilege_levels (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_lan_configuration_parameters_bad_password_threshold (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_suspend_bmc_arps (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t gratuitous_arp_suspend,
uint8_t arp_response_suspend,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_ip_udp_rmcp_statistics (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t clear_all_statistics,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_LAN_CMDS_API_H */

View File

@ -0,0 +1,408 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_MESSAGING_SUPPORT_CMDS_API_H
#define IPMI_MESSAGING_SUPPORT_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_set_bmc_global_enables (ipmi_ctx_t ctx,
uint8_t receive_message_queue_interrupt,
uint8_t event_message_buffer_full_interrupt,
uint8_t event_message_buffer,
uint8_t system_event_logging,
uint8_t oem_0,
uint8_t oem_1,
uint8_t oem_2,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_bmc_global_enables (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_clear_message_flags (ipmi_ctx_t ctx,
uint8_t receive_message_queue,
uint8_t event_message_buffer,
uint8_t watchdog_pre_timeout_interrupt_flag,
uint8_t oem_0,
uint8_t oem_1,
uint8_t oem_2,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_message_flags (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_enable_message_channel_receive (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t channel_operation,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_message (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_send_message (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t message_authentication,
uint8_t message_encryption,
uint8_t tracking_operation,
const void *message_data,
unsigned int message_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_read_event_message_buffer (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_interface_capabilities (ipmi_ctx_t ctx,
uint8_t system_interface,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_interface_capabilities_ssif (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_interface_capabilities_kcs (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_bt_interface_capabilities (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_master_write_read (ipmi_ctx_t ctx,
uint8_t bus_type,
uint8_t bus_id,
uint8_t channel_number,
uint8_t slave_address,
uint8_t read_count,
const void *data,
unsigned int data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_channel_authentication_capabilities (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t maximum_privilege_level,
uint8_t get_ipmi_v20_extended_data,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_guid (ipmi_ctx_t ctx, fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters (ipmi_ctx_t ctx,
uint8_t parameter_selector,
const void *configuration_parameter_data,
unsigned int configuration_parameter_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t state,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_system_firmware_version_first_set (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t encoding,
uint8_t string_length,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_system_firmware_version (ipmi_ctx_t ctx,
uint8_t set_selector,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_system_name_first_set (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t encoding,
uint8_t string_length,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_system_name (ipmi_ctx_t ctx,
uint8_t set_selector,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_primary_operating_system_name_first_set (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t encoding,
uint8_t string_length,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_primary_operating_system_name (ipmi_ctx_t ctx,
uint8_t set_selector,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_operating_system_name_first_set (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t encoding,
uint8_t string_length,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_operating_system_name (ipmi_ctx_t ctx,
uint8_t set_selector,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_present_os_version_number_first_set (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t encoding,
uint8_t string_length,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_present_os_version_number (ipmi_ctx_t ctx,
uint8_t set_selector,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_bmc_url_first_set (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t encoding,
uint8_t string_length,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_bmc_url (ipmi_ctx_t ctx,
uint8_t set_selector,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_base_os_hypervisor_url_first_set (ipmi_ctx_t ctx,
uint8_t set_selector,
uint8_t encoding,
uint8_t string_length,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_system_info_parameters_base_os_hypervisor_url (ipmi_ctx_t ctx,
uint8_t set_selector,
const void *string_block,
unsigned int string_block_length,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t parameter_selector,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_system_firmware_version_first_set (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_system_firmware_version (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_system_name_first_set (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_system_name (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_primary_operating_system_name_first_set (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_primary_operating_system_name (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_operating_system_name_first_set (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_operating_system_name (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_present_os_version_number_first_set (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_present_os_version_number (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_bmc_url_first_set (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_bmc_url (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_base_os_hypervisor_url_first_set (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_system_info_parameters_base_os_hypervisor_url (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_session_challenge (ipmi_ctx_t ctx,
uint8_t authentication_type,
const char *user_name,
unsigned int user_name_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_activate_session (ipmi_ctx_t ctx,
uint8_t authentication_type,
uint8_t maximum_privilege_level,
const void *challenge_string,
unsigned int challenge_string_len,
uint32_t initial_outbound_sequence_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_session_privilege_level (ipmi_ctx_t ctx,
uint8_t privilege_level,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_close_session (ipmi_ctx_t ctx,
uint32_t session_id,
uint8_t *session_handle,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_channel_access (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t ipmi_messaging_access_mode,
uint8_t user_level_authentication,
uint8_t per_message_authentication,
uint8_t pef_alerting,
uint8_t channel_access_set,
uint8_t channel_privilege_level_limit,
uint8_t channel_privilege_level_limit_set,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_channel_access (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t channel_access_get,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_channel_info (ipmi_ctx_t ctx,
uint8_t channel_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_channel_security_keys (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t operation,
uint8_t key_id,
const void *key_value,
unsigned int key_value_len,
fiid_obj_t obj_cmd_rq);
int ipmi_cmd_set_user_access (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t user_ipmi_messaging,
uint8_t user_link_authentication,
uint8_t user_restricted_to_callback,
uint8_t change_bits_in_byte,
uint8_t user_id,
uint8_t user_privilege_level_limit,
uint8_t user_session_number_limit,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_user_access (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t user_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_user_name (ipmi_ctx_t ctx,
uint8_t user_id,
const char *user_name,
unsigned int user_name_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_user_name (ipmi_ctx_t ctx,
uint8_t user_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_user_password (ipmi_ctx_t ctx,
uint8_t user_id,
uint8_t password_size,
uint8_t operation,
const char *password,
unsigned int password_len,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_MESSAGING_SUPPORT_CMDS_API_H */

View File

@ -0,0 +1,306 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_OEM_INTEL_NODE_MANAGER_CMDS_API_H
#define IPMI_OEM_INTEL_NODE_MANAGER_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
/*******************************************
* Intel *
*******************************************/
/*
* Intel Node Manager
*
* For Intel Chips, not just Intel Motherboards. Confirmed for:
*
* Intel S5500WB/Penguin Computing Relion 700
* Intel S2600JF/Appro 512X
* Intel S2600KP
* Intel S2600WT2
* Intel S2600WTT
* Inventec 5441/Dell Xanadu II
* Inventec 5442/Dell Xanadu III
* Quanta S99Q/Dell FS12-TY
* Quanta QSSC-S4R/Appro GB812X-CN
*/
int ipmi_cmd_oem_intel_node_manager_enable_disable_node_manager_policy_control (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t policy_enable_disable,
uint8_t domain_id,
uint8_t policy_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_policy (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_enabled,
uint8_t policy_id,
uint8_t policy_trigger_type,
uint8_t policy_configuration_action,
uint8_t aggressive_cpu_power_correction,
uint8_t policy_storage_option,
uint8_t policy_exception_actions_send_alert,
uint8_t policy_exception_actions_shutdown_system,
uint8_t policy_power_domain,
uint16_t policy_target_limit,
uint32_t correction_time_limit,
uint16_t policy_trigger_limit,
uint16_t statistics_reporting_period,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_policy_boot_time_policy (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_enabled,
uint8_t policy_id,
uint8_t policy_trigger_type,
uint8_t policy_configuration_action,
uint8_t aggressive_cpu_power_correction,
uint8_t policy_storage_option,
uint8_t policy_exception_actions_send_alert,
uint8_t policy_exception_actions_shutdown_system,
uint8_t policy_power_domain,
uint8_t platform_booting_mode,
uint8_t cores_disabled,
uint32_t correction_time_limit,
uint16_t policy_trigger_limit,
uint16_t statistics_reporting_period,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_node_manager_policy (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_policy_alert_thresholds (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_id,
uint16_t *alert_threshold1,
uint16_t *alert_threshold2,
uint16_t *alert_threshold3,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_node_manager_policy_alert_thresholds (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_policy_suspend_periods (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_id,
uint8_t *policy1_suspend_start_time,
uint8_t *policy1_suspend_stop_time,
uint8_t *policy1_suspend_period_recurrence_monday,
uint8_t *policy1_suspend_period_recurrence_tuesday,
uint8_t *policy1_suspend_period_recurrence_wednesday,
uint8_t *policy1_suspend_period_recurrence_thursday,
uint8_t *policy1_suspend_period_recurrence_friday,
uint8_t *policy1_suspend_period_recurrence_saturday,
uint8_t *policy1_suspend_period_recurrence_sunday,
uint8_t *policy2_suspend_start_time,
uint8_t *policy2_suspend_stop_time,
uint8_t *policy2_suspend_period_recurrence_monday,
uint8_t *policy2_suspend_period_recurrence_tuesday,
uint8_t *policy2_suspend_period_recurrence_wednesday,
uint8_t *policy2_suspend_period_recurrence_thursday,
uint8_t *policy2_suspend_period_recurrence_friday,
uint8_t *policy2_suspend_period_recurrence_saturday,
uint8_t *policy2_suspend_period_recurrence_sunday,
uint8_t *policy3_suspend_start_time,
uint8_t *policy3_suspend_stop_time,
uint8_t *policy3_suspend_period_recurrence_monday,
uint8_t *policy3_suspend_period_recurrence_tuesday,
uint8_t *policy3_suspend_period_recurrence_wednesday,
uint8_t *policy3_suspend_period_recurrence_thursday,
uint8_t *policy3_suspend_period_recurrence_friday,
uint8_t *policy3_suspend_period_recurrence_saturday,
uint8_t *policy3_suspend_period_recurrence_sunday,
uint8_t *policy4_suspend_start_time,
uint8_t *policy4_suspend_stop_time,
uint8_t *policy4_suspend_period_recurrence_monday,
uint8_t *policy4_suspend_period_recurrence_tuesday,
uint8_t *policy4_suspend_period_recurrence_wednesday,
uint8_t *policy4_suspend_period_recurrence_thursday,
uint8_t *policy4_suspend_period_recurrence_friday,
uint8_t *policy4_suspend_period_recurrence_saturday,
uint8_t *policy4_suspend_period_recurrence_sunday,
uint8_t *policy5_suspend_start_time,
uint8_t *policy5_suspend_stop_time,
uint8_t *policy5_suspend_period_recurrence_monday,
uint8_t *policy5_suspend_period_recurrence_tuesday,
uint8_t *policy5_suspend_period_recurrence_wednesday,
uint8_t *policy5_suspend_period_recurrence_thursday,
uint8_t *policy5_suspend_period_recurrence_friday,
uint8_t *policy5_suspend_period_recurrence_saturday,
uint8_t *policy5_suspend_period_recurrence_sunday,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_node_manager_policy_suspend_periods (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_reset_node_manager_statistics (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t mode,
uint8_t domain_id,
uint8_t policy_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_node_manager_statistics (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t mode,
uint8_t domain_id,
uint8_t policy_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_node_manager_capabilities (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint8_t policy_trigger_type,
uint8_t policy_type,
uint8_t policy_power_domain,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_node_manager_version (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_power_draw_range (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
uint16_t minimum_power_draw,
uint16_t maximum_power_draw,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_alert_destination (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t channel_number,
uint8_t alert_receiver_deactivation,
uint8_t destination_information,
uint8_t alert_string_selector,
uint8_t send_alert_string,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_alert_destination_ipmb (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t channel_number,
uint8_t alert_receiver_deactivation,
uint8_t slave_address,
uint8_t alert_string_selector,
uint8_t send_alert_string,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_node_manager_alert_destination_lan (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t channel_number,
uint8_t alert_receiver_deactivation,
uint8_t destination_selector,
uint8_t alert_string_selector,
uint8_t send_alert_string,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_node_manager_alert_destination (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_set_turbo_synchronization_ratio (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t cpu_socket_number,
uint8_t active_cores_configuration,
uint8_t turbo_ratio_limit,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_turbo_synchronization_ratio (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t cpu_socket_number,
uint8_t active_cores_configuration,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_oem_intel_node_manager_get_limiting_policy_id (ipmi_ctx_t ctx,
uint8_t target_channel_number,
uint8_t target_slave_address,
uint8_t target_lun,
uint8_t domain_id,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_OEM_INTEL_NODE_MANAGER_CMDS_API_H */

View File

@ -0,0 +1,254 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_PEF_AND_ALERTING_CMDS_API_H
#define IPMI_PEF_AND_ALERTING_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_pef_capabilities (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_arm_pef_postpone_timer (ipmi_ctx_t ctx,
uint8_t pef_postpone_timeout,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters (ipmi_ctx_t ctx,
uint8_t parameter_selector,
const void *configuration_parameter_data,
unsigned int configuration_parameter_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t state,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_pef_control (ipmi_ctx_t ctx,
uint8_t pef,
uint8_t pef_event_messages,
uint8_t pef_startup_delay,
uint8_t pef_alert_startup_delay,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_pef_action_global_control (ipmi_ctx_t ctx,
uint8_t alert_action,
uint8_t power_down_action,
uint8_t reset_action,
uint8_t power_cycle_action,
uint8_t oem_action,
uint8_t diagnostic_interrupt,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_pef_startup_delay (ipmi_ctx_t ctx,
uint8_t pef_startup_delay,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_pef_alert_startup_delay (ipmi_ctx_t ctx,
uint8_t pef_alert_startup_delay,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_event_filter_table (ipmi_ctx_t ctx,
uint8_t filter_number,
uint8_t filter_configuration_type,
uint8_t filter_configuration_filter,
uint8_t event_filter_action_alert,
uint8_t event_filter_action_power_off,
uint8_t event_filter_action_reset,
uint8_t event_filter_action_power_cycle,
uint8_t event_filter_action_oem,
uint8_t event_filter_action_diagnostic_interrupt,
uint8_t event_filter_action_group_control_operation,
uint8_t alert_policy_number_policy_number,
uint8_t alert_policy_number_group_control_selector,
uint8_t event_severity,
uint8_t generator_id_byte1,
uint8_t generator_id_byte2,
uint8_t sensor_type,
uint8_t sensor_number,
uint8_t event_trigger,
uint16_t event_data1_offset_mask,
uint8_t event_data1_AND_mask,
uint8_t event_data1_compare1,
uint8_t event_data1_compare2,
uint8_t event_data2_AND_mask,
uint8_t event_data2_compare1,
uint8_t event_data2_compare2,
uint8_t event_data3_AND_mask,
uint8_t event_data3_compare1,
uint8_t event_data3_compare2,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_event_filter_table_data1_ (ipmi_ctx_t ctx,
uint8_t filter_number,
uint8_t filter_configuration_type,
uint8_t filter_configuration_filter,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_alert_policy_table (ipmi_ctx_t ctx,
uint8_t alert_policy_entry_number,
uint8_t policy_type,
uint8_t policy_enabled,
uint8_t policy_number,
uint8_t destination_selector,
uint8_t channel_number,
uint8_t alert_string_set_selector,
uint8_t event_specific_alert_string,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_alert_string_keys (ipmi_ctx_t ctx,
uint8_t string_selector,
uint8_t filter_number,
uint8_t set_number_for_string,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_pef_configuration_parameters_alert_strings (ipmi_ctx_t ctx,
uint8_t string_selector,
uint8_t block_selector,
const uint8_t *string_data,
unsigned int string_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters (ipmi_ctx_t ctx,
uint8_t parameter_selector,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_pef_control (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_pef_action_global_control (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_pef_startup_delay (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_pef_alert_startup_delay (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_number_of_event_filters (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_event_filter_table (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_event_filter_table_data1_ (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_number_of_alert_policy_entries (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_number_of_alert_strings (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_alert_string_keys (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_alert_string (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_pef_configuration_parameters_alert_policy_table (ipmi_ctx_t ctx,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_last_processed_event_id (ipmi_ctx_t ctx,
uint8_t set_record_id_for_last_record,
uint16_t record_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_last_processed_event_id (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_alert_immediate (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t destination_selector,
uint8_t operation,
uint8_t string_selector,
uint8_t send_alert_string,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_pet_acknowledge (ipmi_ctx_t ctx,
uint16_t sequence_number,
uint32_t local_timestamp,
uint8_t event_source_type,
uint8_t sensor_device,
uint8_t sensor_number,
uint32_t event_data,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_PEF_AND_ALERTING_CMDS_API_H */

View File

@ -0,0 +1,69 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_RMCPPLUS_SUPPORT_AND_PAYLOAD_CMDS_API_H
#define IPMI_RMCPPLUS_SUPPORT_AND_PAYLOAD_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_set_user_payload_access (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t user_id,
uint8_t operation,
uint8_t standard_payload_1,
uint8_t standard_payload_2,
uint8_t standard_payload_3,
uint8_t standard_payload_4,
uint8_t standard_payload_5,
uint8_t standard_payload_6,
uint8_t standard_payload_7,
uint8_t oem_payload_0,
uint8_t oem_payload_1,
uint8_t oem_payload_2,
uint8_t oem_payload_3,
uint8_t oem_payload_4,
uint8_t oem_payload_5,
uint8_t oem_payload_6,
uint8_t oem_payload_7,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_user_payload_access (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t user_id,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_RMCPPLUS_SUPPORT_AND_PAYLOAD_CMDS_API_H */

View File

@ -0,0 +1,65 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_SDR_REPOSITORY_CMDS_API_H
#define IPMI_SDR_REPOSITORY_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_sdr_repository_info (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sdr_repository_allocation_info (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_reserve_sdr_repository (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sdr (ipmi_ctx_t ctx,
uint16_t reservation_id,
uint16_t record_id,
uint8_t offset_into_record,
uint8_t bytes_to_read,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sdr_repository_time (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sdr_repository_time (ipmi_ctx_t ctx,
uint32_t time,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_SDR_REPOSITORY_CMDS_API_H */

View File

@ -0,0 +1,92 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_SEL_CMDS_API_H
#define IPMI_SEL_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_sel_info (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sel_allocation_info (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_reserve_sel (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sel_entry (ipmi_ctx_t ctx,
uint16_t reservation_id,
uint16_t record_id,
uint8_t offset_into_record,
uint8_t bytes_to_read,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_delete_sel_entry (ipmi_ctx_t ctx,
uint16_t reservation_id,
uint16_t record_id,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_clear_sel (ipmi_ctx_t ctx,
uint16_t reservation_id,
uint8_t operation,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sel_time (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sel_time (ipmi_ctx_t ctx,
uint32_t time,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sel_time_utc_offset (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sel_time_utc_offset (ipmi_ctx_t ctx,
int16_t offset,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_auxiliary_log_status (ipmi_ctx_t ctx,
uint8_t log_type,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_auxiliary_log_status (ipmi_ctx_t ctx,
uint8_t log_type,
const void *log_data,
unsigned int log_data_len,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_SEL_CMDS_API_H */

View File

@ -0,0 +1,223 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_SENSOR_CMDS_API_H
#define IPMI_SENSOR_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_get_device_sdr_info (ipmi_ctx_t ctx,
uint8_t operation,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_device_sdr (ipmi_ctx_t ctx,
uint16_t reservation_id,
uint16_t record_id,
uint8_t offset_into_record,
uint8_t bytes_to_read,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_reserve_device_sdr_repository (ipmi_ctx_t ctx,
fiid_obj_t obj_cmd_rs);
/* achu: as of IPMI 2.0 hysteresis_mask reserved for future - write as 0xFF */
int ipmi_cmd_set_sensor_hysteresis (ipmi_ctx_t ctx,
uint8_t sensor_number,
uint8_t hysteresis_mask,
uint8_t positive_going_threshold_hysteresis_value,
uint8_t negative_going_threshold_hysteresis_value,
fiid_obj_t obj_cmd_rs);
/* achu: as of IPMI 2.0 hysteresis_mask reserved for future - write as 0xFF */
int ipmi_cmd_get_sensor_hysteresis (ipmi_ctx_t ctx,
uint8_t sensor_number,
uint8_t hysteresis_mask,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sensor_thresholds (ipmi_ctx_t ctx,
uint8_t sensor_number,
const uint8_t *lower_non_critical_threshold,
const uint8_t *lower_critical_threshold,
const uint8_t *lower_non_recoverable_threshold,
const uint8_t *upper_non_critical_threshold,
const uint8_t *upper_critical_threshold,
const uint8_t *upper_non_recoverable_threshold,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_thresholds (ipmi_ctx_t ctx,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sensor_event_enable (ipmi_ctx_t ctx,
uint8_t sensor_number,
uint8_t event_message_action,
uint8_t scanning_on_this_sensor,
uint8_t all_event_messages,
uint16_t assertion_event_bitmask,
uint16_t deassertion_event_bitmask,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sensor_event_enable_threshold (ipmi_ctx_t ctx,
uint8_t sensor_number,
uint8_t event_message_action,
uint8_t scanning_on_this_sensor,
uint8_t all_event_messages,
uint8_t assertion_event_lower_non_critical_going_low,
uint8_t assertion_event_lower_non_critical_going_high,
uint8_t assertion_event_lower_critical_going_low,
uint8_t assertion_event_lower_critical_going_high,
uint8_t assertion_event_lower_non_recoverable_going_low,
uint8_t assertion_event_lower_non_recoverable_going_high,
uint8_t assertion_event_upper_non_critical_going_low,
uint8_t assertion_event_upper_non_critical_going_high,
uint8_t assertion_event_upper_critical_going_low,
uint8_t assertion_event_upper_critical_going_high,
uint8_t assertion_event_upper_non_recoverable_going_low,
uint8_t assertion_event_upper_non_recoverable_going_high,
uint8_t deassertion_event_lower_non_critical_going_low,
uint8_t deassertion_event_lower_non_critical_going_high,
uint8_t deassertion_event_lower_critical_going_low,
uint8_t deassertion_event_lower_critical_going_high,
uint8_t deassertion_event_lower_non_recoverable_going_low,
uint8_t deassertion_event_lower_non_recoverable_going_high,
uint8_t deassertion_event_upper_non_critical_going_low,
uint8_t deassertion_event_upper_non_critical_going_high,
uint8_t deassertion_event_upper_critical_going_low,
uint8_t deassertion_event_upper_critical_going_high,
uint8_t deassertion_event_upper_non_recoverable_going_low,
uint8_t deassertion_event_upper_non_recoverable_going_high,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sensor_event_enable_discrete (ipmi_ctx_t ctx,
uint8_t sensor_number,
uint8_t event_message_action,
uint8_t scanning_on_this_sensor,
uint8_t all_event_messages,
uint8_t assertion_event_state_bit_0,
uint8_t assertion_event_state_bit_1,
uint8_t assertion_event_state_bit_2,
uint8_t assertion_event_state_bit_3,
uint8_t assertion_event_state_bit_4,
uint8_t assertion_event_state_bit_5,
uint8_t assertion_event_state_bit_6,
uint8_t assertion_event_state_bit_7,
uint8_t assertion_event_state_bit_8,
uint8_t assertion_event_state_bit_9,
uint8_t assertion_event_state_bit_10,
uint8_t assertion_event_state_bit_11,
uint8_t assertion_event_state_bit_12,
uint8_t assertion_event_state_bit_13,
uint8_t assertion_event_state_bit_14,
uint8_t deassertion_event_state_bit_0,
uint8_t deassertion_event_state_bit_1,
uint8_t deassertion_event_state_bit_2,
uint8_t deassertion_event_state_bit_3,
uint8_t deassertion_event_state_bit_4,
uint8_t deassertion_event_state_bit_5,
uint8_t deassertion_event_state_bit_6,
uint8_t deassertion_event_state_bit_7,
uint8_t deassertion_event_state_bit_8,
uint8_t deassertion_event_state_bit_9,
uint8_t deassertion_event_state_bit_10,
uint8_t deassertion_event_state_bit_11,
uint8_t deassertion_event_state_bit_12,
uint8_t deassertion_event_state_bit_13,
uint8_t deassertion_event_state_bit_14,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_event_enable (ipmi_ctx_t ctx,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_event_enable_threshold (ipmi_ctx_t ctx,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_event_enable_discrete (ipmi_ctx_t ctx,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_re_arm_sensor_events (ipmi_ctx_t ctx,
uint8_t sensor_number,
uint8_t re_arm_all_event_status_from_this_sensor,
uint16_t *re_arm_assertion_event,
uint16_t *re_arm_deassertion_event,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_re_arm_sensor_events_ipmb (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t slave_address,
uint8_t lun,
uint8_t sensor_number,
uint8_t re_arm_all_event_status_from_this_sensor,
uint16_t *re_arm_assertion_event,
uint16_t *re_arm_deassertion_event,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_reading (ipmi_ctx_t ctx,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_reading_ipmb (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t slave_address,
uint8_t lun,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_reading_threshold (ipmi_ctx_t ctx,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sensor_reading_discrete (ipmi_ctx_t ctx,
uint8_t sensor_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sensor_reading_and_event_status (ipmi_ctx_t ctx,
uint8_t sensor_number,
uint8_t sensor_reading_operation,
uint8_t deassertion_bits_operation,
uint8_t assertion_bits_operation,
uint8_t event_data_bytes_operation,
uint8_t sensor_reading,
uint16_t assertion_event_bitmask,
uint16_t deassertion_event_bitmask,
uint8_t event_data1,
uint8_t event_data2,
uint8_t event_data3,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_SENSOR_CMDS_API_H */

View File

@ -0,0 +1,123 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_SERIAL_MODEM_CMDS_API_H
#define IPMI_SERIAL_MODEM_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_set_serial_modem_configuration (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t parameter_selector,
const void *configuration_parameter_data,
unsigned int configuration_parameter_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_serial_modem_configuration_set_in_progress (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t state,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_serial_modem_configuration_connection_mode (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t basic_mode,
uint8_t ppp_mode,
uint8_t terminal_mode,
uint8_t connect_mode,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_serial_modem_configuration_ipmi_messaging_comm_settings (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t dtr_hangup,
uint8_t flow_control,
uint8_t bit_rate,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_serial_modem_configuration_page_blackout_interval (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t page_blackout_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_serial_modem_configuration_call_retry_interval (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t call_retry_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_serial_modem_configuration (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t parameter_selector,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_serial_modem_configuration_set_in_progress (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_serial_modem_configuration_connection_mode (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_serial_modem_configuration_ipmi_messaging_comm_settings (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_serial_modem_configuration_page_blackout_interval (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_serial_modem_configuration_call_retry_interval (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_SERIAL_MODEM_CMDS_API_H */

View File

@ -0,0 +1,164 @@
/*
* Copyright (C) 2003-2015 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_SOL_CMDS_API_H
#define IPMI_SOL_CMDS_API_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/api/ipmi-api.h>
#include <freeipmi/fiid/fiid.h>
/*
* ipmi_cmd* functions return 0 on success, -1 on error.
*
* obj_cmd_rs must be for the function's respective fiid template
* response.
*
*/
int ipmi_cmd_set_sol_configuration_parameters (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t parameter_selector,
const void *configuration_parameter_data,
unsigned int configuration_parameter_data_len,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t state,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_sol_enable (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t sol_enable,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_sol_authentication (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t sol_privilege_level,
uint8_t force_sol_payload_authentication,
uint8_t force_sol_payload_encryption,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_character_accumulate_interval_and_send_threshold (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t character_accumulate_interval,
uint8_t character_send_threshold,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_sol_retry (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t retry_count,
uint8_t retry_interval,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_sol_non_volatile_bit_rate (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t bit_rate,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_sol_volatile_bit_rate (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t bit_rate,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_set_sol_configuration_parameters_sol_payload_port_number (ipmi_ctx_t ctx,
uint8_t channel_number,
uint16_t port_number,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t parameter_selector,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_set_in_progress (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_sol_enable (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_sol_authentication (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_character_accumulate_interval_and_send_threshold (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_sol_retry (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_sol_non_volatile_bit_rate (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_sol_volatile_bit_rate (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_sol_payload_channel (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
int ipmi_cmd_get_sol_configuration_parameters_sol_payload_port_number (ipmi_ctx_t ctx,
uint8_t channel_number,
uint8_t get_parameter,
uint8_t set_selector,
uint8_t block_selector,
fiid_obj_t obj_cmd_rs);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_SOL_CMDS_API_H */