mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@919 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
483 lines
9.0 KiB
C
483 lines
9.0 KiB
C
/* $Id$
|
|
* $URL$
|
|
*
|
|
* plugin handler for the Evaluator
|
|
*
|
|
* Copyright (C) 2003 Michael Reinelt <michael@reinelt.co.at>
|
|
* Copyright (C) 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
|
|
*
|
|
* This file is part of LCD4Linux.
|
|
*
|
|
* LCD4Linux is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* LCD4Linux is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* exported functions:
|
|
*
|
|
* int plugin_init (void)
|
|
* initializes the expression evaluator
|
|
* adds some handy constants and functions
|
|
*
|
|
*/
|
|
|
|
|
|
#include "config.h"
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#include "debug.h"
|
|
#include "plugin.h"
|
|
|
|
|
|
char *Plugins[] = {
|
|
"cfg",
|
|
"math",
|
|
"string",
|
|
"test",
|
|
"time",
|
|
#ifdef PLUGIN_APM
|
|
"apm",
|
|
#endif
|
|
#ifdef PLUGIN_ASTERISK
|
|
"asterisk",
|
|
#endif
|
|
#ifdef PLUGIN_BUTTON_EXEC
|
|
"button_exec",
|
|
#endif
|
|
#ifdef PLUGIN_CPUINFO
|
|
"cpuinfo",
|
|
#endif
|
|
#ifdef PLUGIN_DISKSTATS
|
|
"diskstats",
|
|
#endif
|
|
#ifdef PLUGIN_DVB
|
|
"dvb",
|
|
#endif
|
|
#ifdef PLUGIN_EXEC
|
|
"exec",
|
|
#endif
|
|
#ifdef PLUGIN_FIFO
|
|
"fifo",
|
|
#endif
|
|
#ifdef PLUGIN_FILE
|
|
"file",
|
|
#endif
|
|
#ifdef PLUGIN_GPS
|
|
"gps",
|
|
#endif
|
|
#ifdef PLUGIN_HDDTEMP
|
|
"hddtemp",
|
|
#endif
|
|
#ifdef PLUGIN_I2C_SENSORS
|
|
"i2c_sensors",
|
|
#endif
|
|
#ifdef PLUGIN_ICONV
|
|
"iconv",
|
|
#endif
|
|
#ifdef PLUGIN_IMON
|
|
"imon",
|
|
#endif
|
|
#ifdef PLUGIN_ISDN
|
|
"isdn",
|
|
#endif
|
|
#ifdef PLUGIN_KVV
|
|
"kvv",
|
|
#endif
|
|
#ifdef PLUGIN_LOADAVG
|
|
"loadavg",
|
|
#endif
|
|
#ifdef PLUGIN_MEMINFO
|
|
"meminfo",
|
|
#endif
|
|
#ifdef PLUGIN_MPD
|
|
"mpd",
|
|
#endif
|
|
#ifdef PLUGIN_MYSQL
|
|
"mysql",
|
|
#endif
|
|
#ifdef PLUGIN_NETDEV
|
|
"netdev",
|
|
#endif
|
|
#ifdef PLUGIN_NETINFO
|
|
"netinfo",
|
|
#endif
|
|
#ifdef PLUGIN_POP3
|
|
"pop3",
|
|
#endif
|
|
#ifdef PLUGIN_PPP
|
|
"ppp",
|
|
#endif
|
|
#ifdef PLUGIN_PROC_STAT
|
|
"proc_stat",
|
|
#endif
|
|
#ifdef PLUGIN_PYTHON
|
|
"python",
|
|
#endif
|
|
#ifdef PLUGIN_SAMPLE
|
|
"sample",
|
|
#endif
|
|
#ifdef PLUGIN_SETI
|
|
"seti",
|
|
#endif
|
|
#ifdef PLUGIN_STATFS
|
|
"statfs",
|
|
#endif
|
|
#ifdef PLUGIN_UNAME
|
|
"uname",
|
|
#endif
|
|
#ifdef PLUGIN_UPTIME
|
|
"uptime",
|
|
#endif
|
|
#ifdef PLUGIN_W1RETAP
|
|
"w1retap",
|
|
#endif
|
|
#ifdef PLUGIN_WIRELESS
|
|
"wireless",
|
|
#endif
|
|
#ifdef PLUGIN_XMMS
|
|
"xmms",
|
|
#endif
|
|
NULL,
|
|
};
|
|
|
|
|
|
/* Prototypes */
|
|
int plugin_init_cfg(void);
|
|
void plugin_exit_cfg(void);
|
|
int plugin_init_math(void);
|
|
void plugin_exit_math(void);
|
|
int plugin_init_string(void);
|
|
void plugin_exit_string(void);
|
|
int plugin_init_test(void);
|
|
void plugin_exit_test(void);
|
|
int plugin_init_time(void);
|
|
void plugin_exit_time(void);
|
|
|
|
int plugin_init_apm(void);
|
|
void plugin_exit_apm(void);
|
|
int plugin_init_asterisk(void);
|
|
void plugin_exit_asterisk(void);
|
|
int plugin_init_button_exec(void);
|
|
void plugin_exit_button_exec(void);
|
|
int plugin_init_cpuinfo(void);
|
|
void plugin_exit_cpuinfo(void);
|
|
int plugin_init_diskstats(void);
|
|
void plugin_exit_diskstats(void);
|
|
int plugin_init_dvb(void);
|
|
void plugin_exit_dvb(void);
|
|
int plugin_init_exec(void);
|
|
void plugin_exit_exec(void);
|
|
int plugin_init_fifo(void);
|
|
void plugin_exit_fifo(void);
|
|
int plugin_init_file(void);
|
|
void plugin_exit_file(void);
|
|
int plugin_init_gps(void);
|
|
void plugin_exit_gps(void);
|
|
int plugin_init_hddtemp(void);
|
|
void plugin_exit_hddtemp(void);
|
|
int plugin_init_i2c_sensors(void);
|
|
void plugin_exit_i2c_sensors(void);
|
|
int plugin_init_imon(void);
|
|
void plugin_exit_imon(void);
|
|
int plugin_init_iconv(void);
|
|
void plugin_exit_iconv(void);
|
|
int plugin_init_isdn(void);
|
|
void plugin_exit_isdn(void);
|
|
int plugin_init_kvv(void);
|
|
void plugin_exit_kvv(void);
|
|
int plugin_init_loadavg(void);
|
|
void plugin_exit_loadavg(void);
|
|
int plugin_init_meminfo(void);
|
|
void plugin_exit_meminfo(void);
|
|
int plugin_init_mpd(void);
|
|
void plugin_exit_mpd(void);
|
|
int plugin_init_mysql(void);
|
|
void plugin_exit_mysql(void);
|
|
int plugin_init_netdev(void);
|
|
void plugin_exit_netdev(void);
|
|
int plugin_init_netinfo(void);
|
|
void plugin_exit_netinfo(void);
|
|
int plugin_init_pop3(void);
|
|
void plugin_exit_pop3(void);
|
|
int plugin_init_ppp(void);
|
|
void plugin_exit_ppp(void);
|
|
int plugin_init_proc_stat(void);
|
|
void plugin_exit_proc_stat(void);
|
|
int plugin_init_python(void);
|
|
void plugin_exit_python(void);
|
|
int plugin_init_sample(void);
|
|
void plugin_exit_sample(void);
|
|
int plugin_init_seti(void);
|
|
void plugin_exit_seti(void);
|
|
int plugin_init_statfs(void);
|
|
void plugin_exit_statfs(void);
|
|
int plugin_init_uname(void);
|
|
void plugin_exit_uname(void);
|
|
int plugin_init_uptime(void);
|
|
void plugin_exit_uptime(void);
|
|
int plugin_init_w1retap(void);
|
|
void plugin_exit_w1retap(void);
|
|
int plugin_init_wireless(void);
|
|
void plugin_exit_wireless(void);
|
|
int plugin_init_xmms(void);
|
|
void plugin_exit_xmms(void);
|
|
|
|
|
|
int plugin_list(void)
|
|
{
|
|
int i;
|
|
|
|
printf("available plugins:\n ");
|
|
|
|
for (i = 0; Plugins[i]; i++) {
|
|
printf("%s", Plugins[i]);
|
|
if (Plugins[i + 1])
|
|
printf(", ");
|
|
}
|
|
printf("\n");
|
|
return 0;
|
|
}
|
|
|
|
|
|
int plugin_init(void)
|
|
{
|
|
plugin_init_cfg();
|
|
plugin_init_math();
|
|
plugin_init_string();
|
|
plugin_init_test();
|
|
plugin_init_time();
|
|
|
|
#ifdef PLUGIN_APM
|
|
plugin_init_apm();
|
|
#endif
|
|
#ifdef PLUGIN_ASTERISK
|
|
plugin_init_asterisk();
|
|
#endif
|
|
#ifdef PLUGIN_BUTTON_EXEC
|
|
plugin_init_button_exec();
|
|
#endif
|
|
#ifdef PLUGIN_CPUINFO
|
|
plugin_init_cpuinfo();
|
|
#endif
|
|
#ifdef PLUGIN_DISKSTATS
|
|
plugin_init_diskstats();
|
|
#endif
|
|
#ifdef PLUGIN_DVB
|
|
plugin_init_dvb();
|
|
#endif
|
|
#ifdef PLUGIN_EXEC
|
|
plugin_init_exec();
|
|
#endif
|
|
#ifdef PLUGIN_FIFO
|
|
plugin_init_fifo();
|
|
#endif
|
|
#ifdef PLUGIN_FILE
|
|
plugin_init_file();
|
|
#endif
|
|
#ifdef PLUGIN_GPS
|
|
plugin_init_gps();
|
|
#endif
|
|
#ifdef PLUGIN_HDDTEMP
|
|
plugin_init_hddtemp();
|
|
#endif
|
|
#ifdef PLUGIN_I2C_SENSORS
|
|
plugin_init_i2c_sensors();
|
|
#endif
|
|
#ifdef PLUGIN_ICONV
|
|
plugin_init_iconv();
|
|
#endif
|
|
#ifdef PLUGIN_IMON
|
|
plugin_init_imon();
|
|
#endif
|
|
#ifdef PLUGIN_ISDN
|
|
plugin_init_isdn();
|
|
#endif
|
|
#ifdef PLUGIN_KVV
|
|
plugin_init_kvv();
|
|
#endif
|
|
#ifdef PLUGIN_LOADAVG
|
|
plugin_init_loadavg();
|
|
#endif
|
|
#ifdef PLUGIN_MEMINFO
|
|
plugin_init_meminfo();
|
|
#endif
|
|
#ifdef PLUGIN_MPD
|
|
plugin_init_mpd();
|
|
#endif
|
|
#ifdef PLUGIN_MYSQL
|
|
plugin_init_mysql();
|
|
#endif
|
|
#ifdef PLUGIN_NETDEV
|
|
plugin_init_netdev();
|
|
#endif
|
|
#ifdef PLUGIN_NETINFO
|
|
plugin_init_netinfo();
|
|
#endif
|
|
#ifdef PLUGIN_POP3
|
|
plugin_init_pop3();
|
|
#endif
|
|
#ifdef PLUGIN_PPP
|
|
plugin_init_ppp();
|
|
#endif
|
|
#ifdef PLUGIN_PROC_STAT
|
|
plugin_init_proc_stat();
|
|
#endif
|
|
#ifdef PLUGIN_PYTHON
|
|
plugin_init_python();
|
|
#endif
|
|
#ifdef PLUGIN_SAMPLE
|
|
plugin_init_sample();
|
|
#endif
|
|
#ifdef PLUGIN_SETI
|
|
plugin_init_seti();
|
|
#endif
|
|
#ifdef PLUGIN_STATFS
|
|
plugin_init_statfs();
|
|
#endif
|
|
#ifdef PLUGIN_UNAME
|
|
plugin_init_uname();
|
|
#endif
|
|
#ifdef PLUGIN_UPTIME
|
|
plugin_init_uptime();
|
|
#endif
|
|
#ifdef PLUGIN_W1RETAP
|
|
plugin_init_w1retap();
|
|
#endif
|
|
#ifdef PLUGIN_WIRELESS
|
|
plugin_init_wireless();
|
|
#endif
|
|
#ifdef PLUGIN_XMMS
|
|
plugin_init_xmms();
|
|
#endif
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
void plugin_exit(void)
|
|
{
|
|
#ifdef PLUGIN_APM
|
|
plugin_exit_apm();
|
|
#endif
|
|
#ifdef PLUGIN_ASTERISK
|
|
plugin_exit_asterisk();
|
|
#endif
|
|
#ifdef PLUGIN_BUTTON_EXEC
|
|
plugin_exit_button_exec();
|
|
#endif
|
|
#ifdef PLUGIN_CPUINFO
|
|
plugin_exit_cpuinfo();
|
|
#endif
|
|
#ifdef PLUGIN_DISKSTATS
|
|
plugin_exit_diskstats();
|
|
#endif
|
|
#ifdef PLUGIN_DVB
|
|
plugin_exit_dvb();
|
|
#endif
|
|
#ifdef PLUGIN_EXEC
|
|
plugin_exit_exec();
|
|
#endif
|
|
#ifdef PLUGIN_FIFO
|
|
plugin_exit_fifo();
|
|
#endif
|
|
#ifdef PLUGIN_FILE
|
|
plugin_exit_file();
|
|
#endif
|
|
#ifdef PLUGIN_GPS
|
|
plugin_exit_gps();
|
|
#endif
|
|
#ifdef PLUGIN_I2C_SENSORS
|
|
plugin_exit_i2c_sensors();
|
|
#endif
|
|
#ifdef PLUGIN_ICONV
|
|
plugin_exit_iconv();
|
|
#endif
|
|
#ifdef PLUGIN_IMON
|
|
plugin_exit_imon();
|
|
#endif
|
|
#ifdef PLUGIN_ISDN
|
|
plugin_exit_isdn();
|
|
#endif
|
|
#ifdef PLUGIN_KVV
|
|
plugin_exit_kvv();
|
|
#endif
|
|
#ifdef PLUGIN_LOADAVG
|
|
plugin_exit_loadavg();
|
|
#endif
|
|
#ifdef PLUGIN_MEMINFO
|
|
plugin_exit_meminfo();
|
|
#endif
|
|
#ifdef PLUGIN_MPD
|
|
plugin_exit_mpd();
|
|
#endif
|
|
#ifdef PLUGIN_MYSQL
|
|
plugin_exit_mysql();
|
|
#endif
|
|
#ifdef PLUGIN_NETDEV
|
|
plugin_exit_netdev();
|
|
#endif
|
|
#ifdef PLUGIN_NETINFO
|
|
plugin_exit_netinfo();
|
|
#endif
|
|
#ifdef PLUGIN_POP3
|
|
plugin_exit_pop3();
|
|
#endif
|
|
#ifdef PLUGIN_PPP
|
|
plugin_exit_ppp();
|
|
#endif
|
|
#ifdef PLUGIN_PROC_STAT
|
|
plugin_exit_proc_stat();
|
|
#endif
|
|
#ifdef PLUGIN_PYTHON
|
|
plugin_exit_python();
|
|
#endif
|
|
#ifdef PLUGIN_SAMPLE
|
|
plugin_exit_sample();
|
|
#endif
|
|
#ifdef PLUGIN_SETI
|
|
plugin_exit_seti();
|
|
#endif
|
|
#ifdef PLUGIN_STATFS
|
|
plugin_exit_statfs();
|
|
#endif
|
|
#ifdef PLUGIN_UNAME
|
|
plugin_exit_uname();
|
|
#endif
|
|
#ifdef PLUGIN_UPTIME
|
|
plugin_exit_uptime();
|
|
#endif
|
|
#ifdef PLUGIN_W1RETAP
|
|
plugin_exit_w1retap();
|
|
#endif
|
|
#ifdef PLUGIN_WIRELESS
|
|
plugin_exit_wireless();
|
|
#endif
|
|
#ifdef PLUGIN_XMMS
|
|
plugin_exit_xmms();
|
|
#endif
|
|
|
|
plugin_exit_cfg();
|
|
plugin_exit_math();
|
|
plugin_exit_string();
|
|
plugin_exit_test();
|
|
plugin_exit_time();
|
|
|
|
DeleteFunctions();
|
|
DeleteVariables();
|
|
}
|