diff --git a/ipmitool/include/ipmitool/Makefile.am b/ipmitool/include/ipmitool/Makefile.am index bc758d8..ac5697b 100644 --- a/ipmitool/include/ipmitool/Makefile.am +++ b/ipmitool/include/ipmitool/Makefile.am @@ -40,5 +40,5 @@ noinst_HEADERS = bswap.h helper.h ipmi.h ipmi_intf.h \ ipmi_chassis.h ipmi_entity.h ipmi_fru.h ipmi_lanp.h \ ipmi_sdr.h ipmi_sel.h ipmi_sol.h ipmi_bmc.h \ ipmi_channel.h ipmi_sensor.h ipmi_event.h ipmi_session.h \ - ipmi_strings.h ipmi_constants.h + ipmi_strings.h ipmi_constants.h ipmi_isol.h diff --git a/ipmitool/include/ipmitool/ipmi.h b/ipmitool/include/ipmitool/ipmi.h index e31e9fb..aa1f22e 100644 --- a/ipmitool/include/ipmitool/ipmi.h +++ b/ipmitool/include/ipmitool/ipmi.h @@ -202,7 +202,7 @@ struct ipmi_rs { #define IPMI_NETFN_FIRMWARE 0x8 #define IPMI_NETFN_STORAGE 0xa #define IPMI_NETFN_TRANSPORT 0xc -#define IPMI_NETFN_SOL 0x34 +#define IPMI_NETFN_ISOL 0x34 #define IPMI_BMC_SLAVE_ADDR 0x20 #define IPMI_REMOTE_SWID 0x81 diff --git a/ipmitool/include/ipmitool/ipmi_constants.h b/ipmitool/include/ipmitool/ipmi_constants.h index ce2cd37..4910beb 100644 --- a/ipmitool/include/ipmitool/ipmi_constants.h +++ b/ipmitool/include/ipmitool/ipmi_constants.h @@ -42,7 +42,9 @@ * COMMANDS */ #define IPMI_GET_SDR_REPOSITORY_INFO 0x20 - +#define IMPI_SOL_ACTIVATING 0x20 +#define IMPI_SET_SOL_CONFIG_PARAMETERS 0x21 +#define IMPI_GET_SOL_CONFIG_PARAMETERS 0x22 #define IPMI_SESSION_AUTHTYPE_NONE 0x0 #define IPMI_SESSION_AUTHTYPE_MD2 0x1 diff --git a/ipmitool/include/ipmitool/ipmi_isol.h b/ipmitool/include/ipmitool/ipmi_isol.h new file mode 100644 index 0000000..7ed3204 --- /dev/null +++ b/ipmitool/include/ipmitool/ipmi_isol.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * Redistribution of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * Redistribution in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of Sun Microsystems, Inc. or the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * This software is provided "AS IS," without a warranty of any kind. + * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, + * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A + * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. + * SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE + * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING + * OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL + * SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, + * OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR + * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF + * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, + * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + * + * You acknowledge that this software is not designed or intended for use + * in the design, construction, operation or maintenance of any nuclear + * facility. + */ + +#ifndef IPMI_ISOL_H +#define IPMI_ISOL_H + +#include + +#define ACTIVATE_ISOL 0x01 +#define SET_ISOL_CONFIG 0x03 +#define GET_ISOL_CONFIG 0x04 + +#define ISOL_ENABLE_PARAM 0x01 +#define ISOL_AUTHENTICATION_PARAM 0x02 +#define ISOL_ENABLE_FLAG 0x01 +#define ISOL_PRIVILEGE_LEVEL_USER 0x02 +#define ISOL_BAUD_RATE_PARAM 0x05 +#define ISOL_PREFERRED_BAUD_RATE 0x07 + +int ipmi_isol_main(struct ipmi_intf *, int, char **); + +#endif /* IPMI_SOL_H */ diff --git a/ipmitool/include/ipmitool/ipmi_sol.h b/ipmitool/include/ipmitool/ipmi_sol.h index 7379221..a46bbeb 100644 --- a/ipmitool/include/ipmitool/ipmi_sol.h +++ b/ipmitool/include/ipmitool/ipmi_sol.h @@ -39,17 +39,38 @@ #include -#define ACTIVATE_SOL 0x01 -#define SET_SOL_CONFIG 0x03 -#define GET_SOL_CONFIG 0x04 +//#define ACTIVATE_SOL 0x01 +//#define SET_SOL_CONFIG 0x03 +//#define GET_SOL_CONFIG 0x04 + +//#define SOL_ENABLE_PARAM 0x01 +//#define SOL_AUTHENTICATION_PARAM 0x02 +//#define SOL_ENABLE_FLAG 0x01 +//#define SOL_PRIVILEGE_LEVEL_USER 0x02 +//#define SOL_BAUD_RATE_PARAM 0x05 +//#define SOL_PREFERRED_BAUD_RATE 0x07 + +struct sol_config_parameters { + unsigned char set_in_progress; + unsigned char enabled; + unsigned char force_encryption; + unsigned char force_authentication; + unsigned char privilege_level; + unsigned char character_accumulate_level; + unsigned char character_send_threshold; + unsigned char retry_count; + unsigned char retry_interval; + unsigned char non_volatile_bit_rate; + unsigned char volatile_bit_rate; + unsigned char payload_channel; + unsigned short payload_port; +}; -#define SOL_ENABLE_PARAM 0x01 -#define SOL_AUTHENTICATION_PARAM 0x02 -#define SOL_ENABLE_FLAG 0x01 -#define SOL_PRIVILEGE_LEVEL_USER 0x02 -#define SOL_BAUD_RATE_PARAM 0x05 -#define SOL_PREFERRED_BAUD_RATE 0x07 int ipmi_sol_main(struct ipmi_intf *, int, char **); +int ipmi_get_sol_info(struct ipmi_intf * intf, + unsigned char channel, + struct sol_config_parameters * params); + #endif /* IPMI_SOL_H */ diff --git a/ipmitool/include/ipmitool/ipmi_strings.h b/ipmitool/include/ipmitool/ipmi_strings.h index ab51683..ae64cb2 100644 --- a/ipmitool/include/ipmitool/ipmi_strings.h +++ b/ipmitool/include/ipmitool/ipmi_strings.h @@ -41,6 +41,7 @@ extern const struct valstr ipmi_channel_activity_type_vals[]; extern const struct valstr ipmi_privlvl_vals[]; +extern const struct valstr impi_bit_rate_vals[]; #endif /*IPMI_STRINGS_H*/