mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-08-31 06:15:15 +00:00
generic chip printing routine for sensors prog, by Bob Schlarmann and Luuk Kleiweg
git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4362 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
@@ -27,7 +27,7 @@ PROGSENSORSMAN1FILES := $(MODULE_DIR)/sensors.1
|
|||||||
# Regrettably, even 'simply expanded variables' will not put their currently
|
# Regrettably, even 'simply expanded variables' will not put their currently
|
||||||
# defined value verbatim into the command-list of rules...
|
# defined value verbatim into the command-list of rules...
|
||||||
PROGSENSORSTARGETS := $(MODULE_DIR)/sensors
|
PROGSENSORSTARGETS := $(MODULE_DIR)/sensors
|
||||||
PROGSENSORSSOURCES := $(MODULE_DIR)/main.c $(MODULE_DIR)/chips.c
|
PROGSENSORSSOURCES := $(MODULE_DIR)/main.c $(MODULE_DIR)/chips.c $(MODULE_DIR)/chips_generic.c
|
||||||
|
|
||||||
# Include all dependency files. We use '.rd' to indicate this will create
|
# Include all dependency files. We use '.rd' to indicate this will create
|
||||||
# executables.
|
# executables.
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#include "lib/error.h"
|
#include "lib/error.h"
|
||||||
#include "chips.h"
|
#include "chips.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
#include "chips_generic.h"
|
||||||
|
|
||||||
#define PROGRAM "sensors"
|
#define PROGRAM "sensors"
|
||||||
#define VERSION LM_VERSION
|
#define VERSION LM_VERSION
|
||||||
@@ -54,7 +55,7 @@ static const char *sprintf_chip_name(sensors_chip_name name);
|
|||||||
#define CHIPS_MAX 20
|
#define CHIPS_MAX 20
|
||||||
sensors_chip_name chips[CHIPS_MAX];
|
sensors_chip_name chips[CHIPS_MAX];
|
||||||
int chips_count=0;
|
int chips_count=0;
|
||||||
int do_sets, do_unknown, fahrenheit, hide_adapter, hide_unknown;
|
int do_sets, do_unknown, fahrenheit, hide_adapter, hide_unknown, do_generic;
|
||||||
|
|
||||||
char degstr[5]; /* store the correct string to print degrees */
|
char degstr[5]; /* store the correct string to print degrees */
|
||||||
|
|
||||||
@@ -74,6 +75,7 @@ void print_long_help(void)
|
|||||||
printf(" -U, --no-unknown Do not show unknown chips\n");
|
printf(" -U, --no-unknown Do not show unknown chips\n");
|
||||||
printf(" -u, --unknown Treat chips as unknown ones (testing only)\n");
|
printf(" -u, --unknown Treat chips as unknown ones (testing only)\n");
|
||||||
printf(" -v, --version Display the program version\n");
|
printf(" -v, --version Display the program version\n");
|
||||||
|
printf(" -g, --generic Use generic printing routine for all chips (testing only)\n");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("Use `-' after `-c' to read the config file from stdin.\n");
|
printf("Use `-' after `-c' to read the config file from stdin.\n");
|
||||||
printf("If no chips are specified, all chip info will be printed.\n");
|
printf("If no chips are specified, all chip info will be printed.\n");
|
||||||
@@ -161,6 +163,7 @@ int main (int argc, char *argv[])
|
|||||||
{ "unknown", no_argument, NULL, 'u' },
|
{ "unknown", no_argument, NULL, 'u' },
|
||||||
/* next option accepted for compatibility, but otherwise ignored */
|
/* next option accepted for compatibility, but otherwise ignored */
|
||||||
{ "algorithm", no_argument, NULL, 'a' },
|
{ "algorithm", no_argument, NULL, 'a' },
|
||||||
|
{ "generic", no_argument, NULL, 'g'},
|
||||||
{ 0,0,0,0 }
|
{ 0,0,0,0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -170,8 +173,9 @@ int main (int argc, char *argv[])
|
|||||||
do_sets = 0;
|
do_sets = 0;
|
||||||
hide_adapter = 0;
|
hide_adapter = 0;
|
||||||
hide_unknown = 0;
|
hide_unknown = 0;
|
||||||
|
do_generic = 0;
|
||||||
while (1) {
|
while (1) {
|
||||||
c = getopt_long(argc,argv,"hsvfaAUc:u",long_opts,NULL);
|
c = getopt_long(argc,argv,"hsvfaAUc:ug",long_opts,NULL);
|
||||||
if (c == EOF)
|
if (c == EOF)
|
||||||
break;
|
break;
|
||||||
switch(c) {
|
switch(c) {
|
||||||
@@ -206,6 +210,9 @@ int main (int argc, char *argv[])
|
|||||||
case 'a':
|
case 'a':
|
||||||
/* Ignore for compatibility */
|
/* Ignore for compatibility */
|
||||||
break;
|
break;
|
||||||
|
case 'g':
|
||||||
|
do_generic = 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
fprintf(stderr,"Internal error while parsing options!\n");
|
fprintf(stderr,"Internal error while parsing options!\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
@@ -447,9 +454,11 @@ void do_a_print(sensors_chip_name name)
|
|||||||
}
|
}
|
||||||
if (do_unknown)
|
if (do_unknown)
|
||||||
print_unknown_chip(&name);
|
print_unknown_chip(&name);
|
||||||
|
else if(do_generic)
|
||||||
|
print_generic_chip(&name);
|
||||||
else {
|
else {
|
||||||
if(m->prefix == NULL)
|
if(m->prefix == NULL)
|
||||||
print_unknown_chip(&name);
|
print_generic_chip(&name);
|
||||||
else
|
else
|
||||||
m->fn(&name);
|
m->fn(&name);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user