mirror of
https://git.busybox.net/busybox.git
synced 2024-11-24 06:03:27 +08:00
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_TRUE_FALSE
|
||||
#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_UUDECODE
|
||||
#define BB_UMOUNT
|
||||
@ -116,6 +110,13 @@
|
||||
#define BB_UNAME
|
||||
//#define BB_UNIX2DOS
|
||||
//#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_YES
|
||||
// End of Applications List
|
||||
|
@ -362,6 +362,9 @@ const struct BB_applet applets[] = {
|
||||
#ifdef BB_UUENCODE
|
||||
APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage)
|
||||
#endif
|
||||
#ifdef BB_WATCHDOG
|
||||
APPLET("watchdog", watchdog_main, _BB_DIR_SBIN, watchdog_usage)
|
||||
#endif
|
||||
#ifdef BB_WC
|
||||
APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage)
|
||||
#endif
|
||||
|
@ -1487,6 +1487,15 @@ const char uuencode_usage[] =
|
||||
;
|
||||
#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
|
||||
const char wc_usage[] =
|
||||
"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,
|
||||
mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc,
|
||||
nslookup, ping, poweroff, printf, ps, pwd, rdate, reboot, renice, reset, rm,
|
||||
rmdir, rmmod, sed, setkeycodes, sh, sleep, sort, swapoff, swapon, sync, syslogd,
|
||||
tail, tar, tee, telnet, test, touch, tr, true, tty, umount, uname, uniq,
|
||||
unix2dos, unrpm, update, uptime, usleep, uudecode, uuencode, wc, which, whoami,
|
||||
xargs, yes, zcat, [
|
||||
rmdir, rmmod, sed, setkeycodes, sh, sleep, sort, swapoff, swapon, sync,
|
||||
syslogd, tail, tar, tee, telnet, test, touch, tr, true, tty, umount, uname,
|
||||
uniq, unix2dos, unrpm, update, uptime, usleep, uudecode, uuencode, watchdog,
|
||||
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
|
||||
|
||||
Usage: wc [OPTION]... [FILE]...
|
||||
@ -2322,4 +2330,4 @@ Enrique Zanardi <ezanardi@ull.es>
|
||||
|
||||
=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>
|
||||
</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">
|
||||
<title>wc</title>
|
||||
|
||||
|
@ -362,6 +362,9 @@ const struct BB_applet applets[] = {
|
||||
#ifdef BB_UUENCODE
|
||||
APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage)
|
||||
#endif
|
||||
#ifdef BB_WATCHDOG
|
||||
APPLET("watchdog", watchdog_main, _BB_DIR_SBIN, watchdog_usage)
|
||||
#endif
|
||||
#ifdef BB_WC
|
||||
APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage)
|
||||
#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
|
||||
|
||||
#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
|
||||
const char wc_usage[] =
|
||||
"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