mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
enable sensor command
This commit is contained in:
parent
a56df3a244
commit
320853217c
@ -38,5 +38,5 @@ ipmitooldir = $(includedir)/ipmitool
|
||||
|
||||
ipmitool_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_sdr.h ipmi_sel.h ipmi_sol.h ipmi_bmc.h ipmi_sensor.h
|
||||
|
||||
|
@ -436,5 +436,10 @@ struct ipmi_sdr_iterator * ipmi_sdr_start(struct ipmi_intf * intf);
|
||||
struct sdr_get_rs * ipmi_sdr_get_next_header(struct ipmi_intf * intf, struct ipmi_sdr_iterator * i);
|
||||
unsigned char * ipmi_sdr_get_record(struct ipmi_intf * intf, struct sdr_get_rs * header, struct ipmi_sdr_iterator * i);
|
||||
void ipmi_sdr_end(struct ipmi_intf * intf, struct ipmi_sdr_iterator * i);
|
||||
void ipmi_sdr_print_sdr(struct ipmi_intf * intf, unsigned char type);
|
||||
const char * ipmi_sdr_get_status(unsigned char stat);
|
||||
float sdr_convert_sensor_reading(struct sdr_record_full_sensor * sensor, unsigned char val);
|
||||
struct ipmi_rs * ipmi_sdr_get_sensor_reading(struct ipmi_intf * intf, unsigned char sensor);
|
||||
|
||||
|
||||
#endif /* IPMI_SDR_H */
|
||||
|
@ -37,7 +37,8 @@ MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
noinst_LTLIBRARIES = libipmitool.la
|
||||
libipmitool_la_SOURCES = helper.c ipmi_sdr.c ipmi_sel.c ipmi_sol.c ipmi_lanp.c \
|
||||
ipmi_fru.c ipmi_chassis.c ipmi_bmc.c ipmi_intf.c dimm_spd.c
|
||||
ipmi_fru.c ipmi_chassis.c ipmi_bmc.c ipmi_intf.c dimm_spd.c \
|
||||
ipmi_sensor.c
|
||||
libipmitool_la_LDFLAGS = -export-dynamic
|
||||
libipmitool_la_LIBADD = -lm $(LIBLTDL)
|
||||
libipmitool_la_DEPENDENCIES = $(LIBLTDL)
|
||||
|
@ -55,7 +55,7 @@ int utos(unsigned val, unsigned bits)
|
||||
else return val;
|
||||
}
|
||||
|
||||
static float
|
||||
float
|
||||
sdr_convert_sensor_reading(struct sdr_record_full_sensor * sensor, unsigned char val)
|
||||
{
|
||||
int m, b, k1, k2;
|
||||
@ -88,7 +88,7 @@ sdr_convert_sensor_reading(struct sdr_record_full_sensor * sensor, unsigned char
|
||||
#define GET_SENSOR_THRES 0x27
|
||||
#define GET_SENSOR_TYPE 0x2f
|
||||
|
||||
static inline struct ipmi_rs *
|
||||
struct ipmi_rs *
|
||||
ipmi_sdr_get_sensor_reading(struct ipmi_intf * intf, unsigned char sensor)
|
||||
{
|
||||
struct ipmi_rs * rsp;
|
||||
@ -117,7 +117,7 @@ ipmi_sdr_get_sensor_type_desc(const unsigned char type)
|
||||
return "OEM reserved";
|
||||
}
|
||||
|
||||
static const char *
|
||||
const char *
|
||||
ipmi_sdr_get_status(unsigned char stat)
|
||||
{
|
||||
/* cr = critical
|
||||
@ -187,7 +187,7 @@ ipmi_sdr_get_next_header(struct ipmi_intf * intf, struct ipmi_sdr_iterator * itr
|
||||
{
|
||||
struct sdr_get_rs *header;
|
||||
|
||||
if (itr->next >= itr->total)
|
||||
if (itr->next > itr->total)
|
||||
return NULL;
|
||||
|
||||
if (!(header = ipmi_sdr_get_header(intf, itr->reservation, itr->next)))
|
||||
@ -232,7 +232,7 @@ ipmi_sdr_print_sensor_full(struct ipmi_intf * intf,
|
||||
rsp = ipmi_sdr_get_sensor_reading(intf, sensor->keys.sensor_num);
|
||||
|
||||
if (!rsp) {
|
||||
printf("Error reading sensor %d\n", sensor->keys.sensor_num);
|
||||
printf("Error reading sensor %s (#%02x)\n", desc, sensor->keys.sensor_num);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -242,7 +242,8 @@ ipmi_sdr_print_sensor_full(struct ipmi_intf * intf,
|
||||
val = 0.0;
|
||||
validread = 0;
|
||||
} else {
|
||||
printf("Error reading sensor %d, %s\n",
|
||||
printf("Error reading sensor %s (#%02x), %s\n",
|
||||
desc,
|
||||
sensor->keys.sensor_num,
|
||||
val2str(rsp->ccode, completion_code_vals));
|
||||
return;
|
||||
@ -751,7 +752,7 @@ ipmi_sdr_print_fru_locator(struct ipmi_intf * intf,
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
ipmi_sdr_print_sdr(struct ipmi_intf * intf, unsigned char type)
|
||||
{
|
||||
struct sdr_get_rs * header;
|
||||
|
@ -55,6 +55,7 @@
|
||||
#include <ipmitool/ipmi_lanp.h>
|
||||
#include <ipmitool/ipmi_chassis.h>
|
||||
#include <ipmitool/ipmi_bmc.h>
|
||||
#include <ipmitool/ipmi_sensor.h>
|
||||
|
||||
struct ipmi_session lan_session;
|
||||
int csv_output = 0;
|
||||
@ -350,6 +351,9 @@ int main(int argc, char ** argv)
|
||||
else if (!strncmp(argv[optind], "sel", 3)) {
|
||||
submain = ipmi_sel_main;
|
||||
}
|
||||
else if (!strncmp(argv[optind], "sensor", 6)) {
|
||||
submain = ipmi_sensor_main;
|
||||
}
|
||||
else if (!strncmp(argv[optind], "sol", 3)) {
|
||||
submain = ipmi_sol_main;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user