root/lm-sensors/branches/lm-sensors-3.0.0/prog/sensord/sensord.h @ 4828

Revision 4828, 2.6 KB (checked in by khali, 7 years ago)

Scan chip features only once at initialization time, rather than on
each update. The chip list and chip features do not change until
sensors_cleanup() is called, so there's no point in doing the
same work over and over again.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1/*
2 * sensord
3 *
4 * A daemon that periodically logs sensor information to syslog.
5 *
6 * Copyright (c) 1999-2002 Merlin Hughes <merlin@merlin.org>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23#include "lib/sensors.h"
24
25extern void sensorLog (int priority, const char *fmt, ...);
26
27/* from args.c */
28
29extern int isDaemon;
30extern const char *sensorsCfgFile;
31extern const char *pidFile;
32extern const char *rrdFile;
33extern const char *cgiDir;
34extern int scanTime;
35extern int logTime;
36extern int rrdTime;
37extern int rrdNoAverage;
38extern int syslogFacility;
39extern int doScan;
40extern int doSet;
41extern int doCGI;
42extern int doLoad;
43extern int debug;
44extern sensors_chip_name chipNames[];
45extern int numChipNames;
46
47extern int parseArgs (int argc, char **argv);
48extern int parseChips (int argc, char **argv);
49
50/* from lib.c */
51
52extern int initLib (void);
53extern int loadLib (void);
54extern int reloadLib (void);
55extern int unloadLib (void);
56
57/* from sense.c */
58
59extern int getRawLabel (const sensors_chip_name *name, int feature, const char **label);
60
61extern int readChips (void);
62extern int scanChips (void);
63extern int setChips (void);
64extern int rrdChips (void);
65
66/* from rrd.c */
67
68extern char rrdBuff[];
69extern int rrdInit (void);
70extern int rrdUpdate (void);
71extern int rrdCGI (void);
72
73/* from chips.c */
74
75#define MAX_DATA 5
76
77typedef const char * (*FormatterFN) (const double values[], int alarm, int beep);
78
79typedef const char * (*RRDFN) (const double values[]);
80
81typedef enum {
82  DataType_voltage = 0,
83  DataType_rpm,
84  DataType_temperature,
85  DataType_other = -1
86} DataType;
87
88typedef struct {
89  FormatterFN format;
90  RRDFN rrd;
91  DataType type;
92  int alarmNumber;
93  int beepNumber;
94  int dataNumbers[MAX_DATA + 1]; /* First entry is used for the label */
95} FeatureDescriptor;
96
97typedef struct {
98  const sensors_chip_name *name;
99  FeatureDescriptor *features;
100} ChipDescriptor;
101
102extern ChipDescriptor * knownChips;
103extern int initKnownChips (void);
104extern void freeKnownChips (void);
Note: See TracBrowser for help on using the browser.