Add in spoon's watchdog timer app.

-Erik
This commit is contained in:
Eric Andersen 2001-01-25 23:40:32 +00:00
parent 8ba1b1120e
commit ffde8673fe
9 changed files with 146 additions and 11 deletions

View File

@ -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

View File

@ -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

View File

@ -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]..."

View 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 $

View File

@ -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>

View File

@ -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
View 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;
}

View File

@ -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
View 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;
}