Add in spoon's watchdog timer app.
-Erik
This commit is contained in:
parent
8ba1b1120e
commit
ffde8673fe
13
Config.h
13
Config.h
@ -103,12 +103,6 @@
|
|||||||
//#define BB_TR
|
//#define BB_TR
|
||||||
#define BB_TRUE_FALSE
|
#define BB_TRUE_FALSE
|
||||||
#define BB_TTY
|
#define BB_TTY
|
||||||
#define BB_UPTIME
|
|
||||||
//#define BB_USLEEP
|
|
||||||
#define BB_WC
|
|
||||||
//#define BB_WGET
|
|
||||||
#define BB_WHICH
|
|
||||||
#define BB_WHOAMI
|
|
||||||
//#define BB_UUENCODE
|
//#define BB_UUENCODE
|
||||||
//#define BB_UUDECODE
|
//#define BB_UUDECODE
|
||||||
#define BB_UMOUNT
|
#define BB_UMOUNT
|
||||||
@ -116,6 +110,13 @@
|
|||||||
#define BB_UNAME
|
#define BB_UNAME
|
||||||
//#define BB_UNIX2DOS
|
//#define BB_UNIX2DOS
|
||||||
//#define BB_UPDATE
|
//#define BB_UPDATE
|
||||||
|
#define BB_UPTIME
|
||||||
|
//#define BB_USLEEP
|
||||||
|
//#define BB_WATCHDOG
|
||||||
|
#define BB_WC
|
||||||
|
//#define BB_WGET
|
||||||
|
#define BB_WHICH
|
||||||
|
#define BB_WHOAMI
|
||||||
#define BB_XARGS
|
#define BB_XARGS
|
||||||
#define BB_YES
|
#define BB_YES
|
||||||
// End of Applications List
|
// End of Applications List
|
||||||
|
@ -362,6 +362,9 @@ const struct BB_applet applets[] = {
|
|||||||
#ifdef BB_UUENCODE
|
#ifdef BB_UUENCODE
|
||||||
APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage)
|
APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef BB_WATCHDOG
|
||||||
|
APPLET("watchdog", watchdog_main, _BB_DIR_SBIN, watchdog_usage)
|
||||||
|
#endif
|
||||||
#ifdef BB_WC
|
#ifdef BB_WC
|
||||||
APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage)
|
APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1487,6 +1487,15 @@ const char uuencode_usage[] =
|
|||||||
;
|
;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined BB_WATCHDOG
|
||||||
|
const char watchdog_usage[] =
|
||||||
|
"watchdog dev\n"
|
||||||
|
#ifndef BB_FEATURE_TRIVIAL_HELP
|
||||||
|
"\nPeriodically write to watchdog device \"dev\".\n"
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined BB_WC
|
#if defined BB_WC
|
||||||
const char wc_usage[] =
|
const char wc_usage[] =
|
||||||
"wc [OPTION]... [FILE]..."
|
"wc [OPTION]... [FILE]..."
|
||||||
|
@ -62,10 +62,10 @@ gunzip, gzip, halt, head, hostid, hostname, id, init, insmod, kill, killall,
|
|||||||
length, ln, loadacm, loadfont, loadkmap, logger, logname, ls, lsmod, makedevs,
|
length, ln, loadacm, loadfont, loadkmap, logger, logname, ls, lsmod, makedevs,
|
||||||
mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc,
|
mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc,
|
||||||
nslookup, ping, poweroff, printf, ps, pwd, rdate, reboot, renice, reset, rm,
|
nslookup, ping, poweroff, printf, ps, pwd, rdate, reboot, renice, reset, rm,
|
||||||
rmdir, rmmod, sed, setkeycodes, sh, sleep, sort, swapoff, swapon, sync, syslogd,
|
rmdir, rmmod, sed, setkeycodes, sh, sleep, sort, swapoff, swapon, sync,
|
||||||
tail, tar, tee, telnet, test, touch, tr, true, tty, umount, uname, uniq,
|
syslogd, tail, tar, tee, telnet, test, touch, tr, true, tty, umount, uname,
|
||||||
unix2dos, unrpm, update, uptime, usleep, uudecode, uuencode, wc, which, whoami,
|
uniq, unix2dos, unrpm, update, uptime, usleep, uudecode, uuencode, watchdog,
|
||||||
xargs, yes, zcat, [
|
wc, which, whoami, xargs, yes, zcat, [
|
||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
@ -2095,6 +2095,14 @@ Example:
|
|||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
|
=item watchdog
|
||||||
|
|
||||||
|
Usage: watchdog device
|
||||||
|
|
||||||
|
Periodically writes to watchdog device B<device>.
|
||||||
|
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
=item wc
|
=item wc
|
||||||
|
|
||||||
Usage: wc [OPTION]... [FILE]...
|
Usage: wc [OPTION]... [FILE]...
|
||||||
@ -2322,4 +2330,4 @@ Enrique Zanardi <ezanardi@ull.es>
|
|||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
# $Id: busybox.pod,v 1.88 2001/01/25 05:12:02 andersen Exp $
|
# $Id: busybox.pod,v 1.89 2001/01/25 23:40:32 andersen Exp $
|
||||||
|
@ -3660,6 +3660,18 @@
|
|||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="watchdog">
|
||||||
|
<title>watchdog</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Usage: watchdog device
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Periodically writes to watchdog device B<device>.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="wc">
|
<sect1 id="wc">
|
||||||
<title>wc</title>
|
<title>wc</title>
|
||||||
|
|
||||||
|
@ -362,6 +362,9 @@ const struct BB_applet applets[] = {
|
|||||||
#ifdef BB_UUENCODE
|
#ifdef BB_UUENCODE
|
||||||
APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage)
|
APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef BB_WATCHDOG
|
||||||
|
APPLET("watchdog", watchdog_main, _BB_DIR_SBIN, watchdog_usage)
|
||||||
|
#endif
|
||||||
#ifdef BB_WC
|
#ifdef BB_WC
|
||||||
APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage)
|
APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage)
|
||||||
#endif
|
#endif
|
||||||
|
45
miscutils/watchdog.c
Normal file
45
miscutils/watchdog.c
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/* vi: set sw=4 ts=4: */
|
||||||
|
/*
|
||||||
|
* Mini watchdog implementation for busybox
|
||||||
|
*
|
||||||
|
* Copyright (C) 2000 spoon <spoon@ix.netcom.com>.
|
||||||
|
*
|
||||||
|
* This program 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 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "busybox.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
extern int watchdog_main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
if (argc != 2) {
|
||||||
|
usage(watchdog_usage);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((fd=open(argv[1], O_WRONLY)) == -1) {
|
||||||
|
perror_msg_and_die(argv[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
sleep(30);
|
||||||
|
write(fd, "\0", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
9
usage.c
9
usage.c
@ -1487,6 +1487,15 @@ const char uuencode_usage[] =
|
|||||||
;
|
;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined BB_WATCHDOG
|
||||||
|
const char watchdog_usage[] =
|
||||||
|
"watchdog dev\n"
|
||||||
|
#ifndef BB_FEATURE_TRIVIAL_HELP
|
||||||
|
"\nPeriodically write to watchdog device \"dev\".\n"
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined BB_WC
|
#if defined BB_WC
|
||||||
const char wc_usage[] =
|
const char wc_usage[] =
|
||||||
"wc [OPTION]... [FILE]..."
|
"wc [OPTION]... [FILE]..."
|
||||||
|
45
watchdog.c
Normal file
45
watchdog.c
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/* vi: set sw=4 ts=4: */
|
||||||
|
/*
|
||||||
|
* Mini watchdog implementation for busybox
|
||||||
|
*
|
||||||
|
* Copyright (C) 2000 spoon <spoon@ix.netcom.com>.
|
||||||
|
*
|
||||||
|
* This program 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 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "busybox.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
extern int watchdog_main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
if (argc != 2) {
|
||||||
|
usage(watchdog_usage);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((fd=open(argv[1], O_WRONLY)) == -1) {
|
||||||
|
perror_msg_and_die(argv[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
sleep(30);
|
||||||
|
write(fd, "\0", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user