add freeipmi source
This commit is contained in:
375
source/freeipmi/usr/include/freeipmi/api/ipmi-api.h
Normal file
375
source/freeipmi/usr/include/freeipmi/api/ipmi-api.h
Normal 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 */
|
189
source/freeipmi/usr/include/freeipmi/api/ipmi-chassis-cmds-api.h
Normal file
189
source/freeipmi/usr/include/freeipmi/api/ipmi-chassis-cmds-api.h
Normal 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 */
|
210
source/freeipmi/usr/include/freeipmi/api/ipmi-dcmi-cmds-api.h
Normal file
210
source/freeipmi/usr/include/freeipmi/api/ipmi-dcmi-cmds-api.h
Normal 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 */
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
415
source/freeipmi/usr/include/freeipmi/api/ipmi-lan-cmds-api.h
Normal file
415
source/freeipmi/usr/include/freeipmi/api/ipmi-lan-cmds-api.h
Normal 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 */
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
@ -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 */
|
92
source/freeipmi/usr/include/freeipmi/api/ipmi-sel-cmds-api.h
Normal file
92
source/freeipmi/usr/include/freeipmi/api/ipmi-sel-cmds-api.h
Normal 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 */
|
223
source/freeipmi/usr/include/freeipmi/api/ipmi-sensor-cmds-api.h
Normal file
223
source/freeipmi/usr/include/freeipmi/api/ipmi-sensor-cmds-api.h
Normal 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 */
|
@ -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 */
|
164
source/freeipmi/usr/include/freeipmi/api/ipmi-sol-cmds-api.h
Normal file
164
source/freeipmi/usr/include/freeipmi/api/ipmi-sol-cmds-api.h
Normal 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 */
|
Reference in New Issue
Block a user