mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-08-31 06:15:15 +00:00
Some library cleanup; no interface changes
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@120 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
41
lib/access.c
41
lib/access.c
@@ -58,7 +58,7 @@ int sensors_match_chip(sensors_chip_name chip1, sensors_chip_name chip2)
|
||||
Note that this visits the list of chips from last to first. Usually,
|
||||
you want the match that was latest in the config file. */
|
||||
sensors_chip *sensors_for_all_config_chips(sensors_chip_name chip_name,
|
||||
sensors_chip *last)
|
||||
const sensors_chip *last)
|
||||
{
|
||||
int nr,i;
|
||||
sensors_chip_name_list chips;
|
||||
@@ -77,10 +77,11 @@ sensors_chip *sensors_for_all_config_chips(sensors_chip_name chip_name,
|
||||
/* Look up a resource in the intern chip list, and return a pointer to it.
|
||||
Do not modify the struct the return value points to! Returns NULL if
|
||||
not found.*/
|
||||
sensors_chip_feature *sensors_lookup_feature_nr(const char *prefix, int feature)
|
||||
const sensors_chip_feature *sensors_lookup_feature_nr(const char *prefix,
|
||||
int feature)
|
||||
{
|
||||
int i,j;
|
||||
sensors_chip_feature *features;
|
||||
const sensors_chip_feature *features;
|
||||
for (i = 0; sensors_chip_features_list[i].prefix; i++)
|
||||
if (!strcmp(sensors_chip_features_list[i].prefix,prefix)) {
|
||||
features = sensors_chip_features_list[i].feature;
|
||||
@@ -94,11 +95,11 @@ sensors_chip_feature *sensors_lookup_feature_nr(const char *prefix, int feature)
|
||||
/* Look up a resource in the intern chip list, and return a pointer to it.
|
||||
Do not modify the struct the return value points to! Returns NULL if
|
||||
not found.*/
|
||||
sensors_chip_feature *sensors_lookup_feature_name(const char *prefix,
|
||||
const char *feature)
|
||||
const sensors_chip_feature *sensors_lookup_feature_name(const char *prefix,
|
||||
const char *feature)
|
||||
{
|
||||
int i,j;
|
||||
sensors_chip_feature *features;
|
||||
const sensors_chip_feature *features;
|
||||
for (i = 0; sensors_chip_features_list[i].prefix; i++)
|
||||
if (!strcmp(sensors_chip_features_list[i].prefix,prefix)) {
|
||||
features = sensors_chip_features_list[i].feature;
|
||||
@@ -129,8 +130,8 @@ int sensors_chip_name_has_wildcards(sensors_chip_name chip)
|
||||
This function will return 0 on success, and <0 on failure. */
|
||||
int sensors_get_label(sensors_chip_name name, int feature, char **result)
|
||||
{
|
||||
sensors_chip *chip;
|
||||
sensors_chip_feature *featureptr;
|
||||
const sensors_chip *chip;
|
||||
const sensors_chip_feature *featureptr;
|
||||
int i;
|
||||
|
||||
if (sensors_chip_name_has_wildcards(name))
|
||||
@@ -151,13 +152,13 @@ int sensors_get_label(sensors_chip_name name, int feature, char **result)
|
||||
|
||||
/* Read the value of a feature of a certain chip. Note that chip should not
|
||||
contain wildcard values! This function will return 0 on success, and <0
|
||||
on failure. */
|
||||
on failure. */
|
||||
int sensors_get_feature(sensors_chip_name name, int feature, double *result)
|
||||
{
|
||||
sensors_chip_feature *main_feature;
|
||||
sensors_chip_feature *alt_feature;
|
||||
sensors_chip *chip;
|
||||
sensors_expr *expr = NULL;
|
||||
const sensors_chip_feature *main_feature;
|
||||
const sensors_chip_feature *alt_feature;
|
||||
const sensors_chip *chip;
|
||||
const sensors_expr *expr = NULL;
|
||||
double val;
|
||||
int res,i;
|
||||
int final_expr=0;
|
||||
@@ -194,12 +195,12 @@ int sensors_get_feature(sensors_chip_name name, int feature, double *result)
|
||||
|
||||
/* Set the value of a feature of a certain chip. Note that chip should not
|
||||
contain wildcard values! This function will return 0 on success, and <0
|
||||
on failure. */
|
||||
on failure. BUGGY! */
|
||||
int sensors_set_feature(sensors_chip_name name, int feature, double value)
|
||||
{
|
||||
sensors_chip_feature *featureptr;
|
||||
sensors_chip *chip;
|
||||
sensors_expr *expr = NULL;
|
||||
const sensors_chip_feature *featureptr;
|
||||
const sensors_chip *chip;
|
||||
const sensors_expr *expr = NULL;
|
||||
int i,res;
|
||||
|
||||
if (sensors_chip_name_has_wildcards(name))
|
||||
@@ -280,12 +281,12 @@ const sensors_feature_data *sensors_get_all_features (sensors_chip_name name,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int sensors_eval_expr(sensors_chip_name chipname, sensors_expr *expr,
|
||||
int sensors_eval_expr(sensors_chip_name chipname, const sensors_expr *expr,
|
||||
double val, double *result)
|
||||
{
|
||||
double res1,res2;
|
||||
int res;
|
||||
sensors_chip_feature *feature;
|
||||
const sensors_chip_feature *feature;
|
||||
|
||||
if (expr->kind == sensors_kind_val) {
|
||||
*result = expr->data.val;
|
||||
@@ -329,5 +330,3 @@ int sensors_eval_expr(sensors_chip_name chipname, sensors_expr *expr,
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
13
lib/access.h
13
lib/access.h
@@ -31,19 +31,19 @@
|
||||
Note that this visits the list of chips from last to first. Usually,
|
||||
you want the match that was latest in the config file. */
|
||||
extern sensors_chip *sensors_for_all_config_chips(sensors_chip_name chip_name,
|
||||
sensors_chip *last);
|
||||
const sensors_chip *last);
|
||||
|
||||
/* Look up a resource in the intern chip list, and return a pointer to it.
|
||||
Do not modify the struct the return value points to! Returns NULL if
|
||||
not found. */
|
||||
extern sensors_chip_feature *sensors_lookup_feature_nr(const char *prefix,
|
||||
int feature);
|
||||
extern const sensors_chip_feature *sensors_lookup_feature_nr(const char *prefix,
|
||||
int feature);
|
||||
|
||||
/* Look up a resource in the intern chip list, and return a pointer to it.
|
||||
Do not modify the struct the return value points to! Returns NULL if
|
||||
not found.*/
|
||||
extern sensors_chip_feature *sensors_lookup_feature_name(const char *prefix,
|
||||
const char *feature);
|
||||
extern const sensors_chip_feature *sensors_lookup_feature_name
|
||||
(const char *prefix, const char *feature);
|
||||
|
||||
/* Substitute configuration bus numbers with real-world /proc bus numbers
|
||||
in the chips lists */
|
||||
@@ -55,7 +55,8 @@ extern int sensors_substitute_busses(void);
|
||||
extern int sensors_parse_i2cbus_name(const char *name, int *res);
|
||||
|
||||
/* Evaluate an expression */
|
||||
extern int sensors_eval_expr(sensors_chip_name chipname, sensors_expr *expr,
|
||||
extern int sensors_eval_expr(sensors_chip_name chipname,
|
||||
const sensors_expr *expr,
|
||||
double val, double *result);
|
||||
|
||||
|
||||
|
@@ -52,7 +52,7 @@ const char *sensors_strerror(int errnum)
|
||||
|
||||
void sensors_default_parse_error(const char *err, int lineno)
|
||||
{
|
||||
fprintf(stderr,"Line %d: %s\n",lineno,err);
|
||||
fprintf(stderr,"Error: Line %d: %s\n",lineno,err);
|
||||
}
|
||||
|
||||
void sensors_default_fatal_error(const char *proc, const char *err)
|
||||
|
17
lib/proc.c
17
lib/proc.c
@@ -67,20 +67,24 @@ int sensors_read_proc_chips(void)
|
||||
int buflen = BUF_LEN;
|
||||
char *bufptr = buf;
|
||||
sensors_proc_chips_entry entry;
|
||||
int res;
|
||||
int res,lineno;
|
||||
|
||||
if (sysctl(name, 3, bufptr, &buflen, NULL, 0))
|
||||
return -SENSORS_ERR_PROC;
|
||||
|
||||
lineno = 1;
|
||||
while (buflen >= sizeof(struct sensors_chips_data)) {
|
||||
if ((res =
|
||||
sensors_parse_chip_name(((struct sensors_chips_data *) bufptr)->name,
|
||||
&entry.name)))
|
||||
&entry.name))) {
|
||||
sensors_parse_error("Parsing /proc/sys/dev/sensors/chips",lineno);
|
||||
return res;
|
||||
}
|
||||
entry.sysctl = ((struct sensors_chips_data *) bufptr)->sysctl_id;
|
||||
add_proc_chips(&entry);
|
||||
bufptr += sizeof(struct sensors_chips_data);
|
||||
buflen -= sizeof(struct sensors_chips_data);
|
||||
lineno++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -91,9 +95,12 @@ int sensors_read_proc_bus(void)
|
||||
char line[255];
|
||||
char *border;
|
||||
sensors_bus entry;
|
||||
int lineno;
|
||||
|
||||
f = fopen("/proc/bus/i2c","r");
|
||||
if (!f)
|
||||
return -SENSORS_ERR_PROC;
|
||||
lineno=1;
|
||||
while (fgets(line,255,f)) {
|
||||
if (strlen(line) > 0)
|
||||
line[strlen(line)-1] = '\0';
|
||||
@@ -117,12 +124,14 @@ int sensors_read_proc_bus(void)
|
||||
sensors_strip_of_spaces(entry.algorithm);
|
||||
sensors_strip_of_spaces(entry.adapter);
|
||||
add_bus(&entry);
|
||||
lineno++;
|
||||
}
|
||||
fclose(f);
|
||||
return 0;
|
||||
FAT_ERROR:
|
||||
sensors_fatal_error("sensors_read_proc_bus","Allocating entry");
|
||||
ERROR:
|
||||
sensors_parse_error("Parsing /proc/bus/i2c",lineno);
|
||||
fclose(f);
|
||||
return -SENSORS_ERR_PROC;
|
||||
}
|
||||
@@ -142,7 +151,7 @@ int sensors_get_chip_id(sensors_chip_name name)
|
||||
int sensors_read_proc(sensors_chip_name name, int feature, double *value)
|
||||
{
|
||||
int sysctl_name[4] = { CTL_DEV, DEV_SENSORS };
|
||||
sensors_chip_feature *the_feature;
|
||||
const sensors_chip_feature *the_feature;
|
||||
int buflen = BUF_LEN;
|
||||
int mag;
|
||||
|
||||
@@ -164,7 +173,7 @@ int sensors_read_proc(sensors_chip_name name, int feature, double *value)
|
||||
int sensors_write_proc(sensors_chip_name name, int feature, double value)
|
||||
{
|
||||
int sysctl_name[4] = { CTL_DEV, DEV_SENSORS };
|
||||
sensors_chip_feature *the_feature;
|
||||
const sensors_chip_feature *the_feature;
|
||||
int buflen = BUF_LEN;
|
||||
int mag;
|
||||
|
||||
|
Reference in New Issue
Block a user