diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-01-25 23:40:32 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-01-25 23:40:32 +0000 |
commit | ffde8673fe8b2c32076aa3e01eab1fefc5f08e86 (patch) | |
tree | ca0bf058a242ffb3d2f10d8f862d47a6557cd8eb | |
parent | 8ba1b1120ee08b281f8bae2837c8f3307d166872 (diff) | |
download | busybox-w32-ffde8673fe8b2c32076aa3e01eab1fefc5f08e86.tar.gz busybox-w32-ffde8673fe8b2c32076aa3e01eab1fefc5f08e86.tar.bz2 busybox-w32-ffde8673fe8b2c32076aa3e01eab1fefc5f08e86.zip |
Add in spoon's watchdog timer app.
-Erik
-rw-r--r-- | Config.h | 13 | ||||
-rw-r--r-- | applets.h | 3 | ||||
-rw-r--r-- | applets/usage.c | 9 | ||||
-rw-r--r-- | docs/busybox.pod | 18 | ||||
-rw-r--r-- | docs/busybox.sgml | 12 | ||||
-rw-r--r-- | include/applets.h | 3 | ||||
-rw-r--r-- | miscutils/watchdog.c | 45 | ||||
-rw-r--r-- | usage.c | 9 | ||||
-rw-r--r-- | watchdog.c | 45 |
9 files changed, 146 insertions, 11 deletions
@@ -103,12 +103,6 @@ | |||
103 | //#define BB_TR | 103 | //#define BB_TR |
104 | #define BB_TRUE_FALSE | 104 | #define BB_TRUE_FALSE |
105 | #define BB_TTY | 105 | #define BB_TTY |
106 | #define BB_UPTIME | ||
107 | //#define BB_USLEEP | ||
108 | #define BB_WC | ||
109 | //#define BB_WGET | ||
110 | #define BB_WHICH | ||
111 | #define BB_WHOAMI | ||
112 | //#define BB_UUENCODE | 106 | //#define BB_UUENCODE |
113 | //#define BB_UUDECODE | 107 | //#define BB_UUDECODE |
114 | #define BB_UMOUNT | 108 | #define BB_UMOUNT |
@@ -116,6 +110,13 @@ | |||
116 | #define BB_UNAME | 110 | #define BB_UNAME |
117 | //#define BB_UNIX2DOS | 111 | //#define BB_UNIX2DOS |
118 | //#define BB_UPDATE | 112 | //#define BB_UPDATE |
113 | #define BB_UPTIME | ||
114 | //#define BB_USLEEP | ||
115 | //#define BB_WATCHDOG | ||
116 | #define BB_WC | ||
117 | //#define BB_WGET | ||
118 | #define BB_WHICH | ||
119 | #define BB_WHOAMI | ||
119 | #define BB_XARGS | 120 | #define BB_XARGS |
120 | #define BB_YES | 121 | #define BB_YES |
121 | // End of Applications List | 122 | // End of Applications List |
@@ -362,6 +362,9 @@ const struct BB_applet applets[] = { | |||
362 | #ifdef BB_UUENCODE | 362 | #ifdef BB_UUENCODE |
363 | APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage) | 363 | APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage) |
364 | #endif | 364 | #endif |
365 | #ifdef BB_WATCHDOG | ||
366 | APPLET("watchdog", watchdog_main, _BB_DIR_SBIN, watchdog_usage) | ||
367 | #endif | ||
365 | #ifdef BB_WC | 368 | #ifdef BB_WC |
366 | APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage) | 369 | APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage) |
367 | #endif | 370 | #endif |
diff --git a/applets/usage.c b/applets/usage.c index 534958e7d..a27ff92e2 100644 --- a/applets/usage.c +++ b/applets/usage.c | |||
@@ -1487,6 +1487,15 @@ const char uuencode_usage[] = | |||
1487 | ; | 1487 | ; |
1488 | #endif | 1488 | #endif |
1489 | 1489 | ||
1490 | #if defined BB_WATCHDOG | ||
1491 | const char watchdog_usage[] = | ||
1492 | "watchdog dev\n" | ||
1493 | #ifndef BB_FEATURE_TRIVIAL_HELP | ||
1494 | "\nPeriodically write to watchdog device \"dev\".\n" | ||
1495 | #endif | ||
1496 | ; | ||
1497 | #endif | ||
1498 | |||
1490 | #if defined BB_WC | 1499 | #if defined BB_WC |
1491 | const char wc_usage[] = | 1500 | const char wc_usage[] = |
1492 | "wc [OPTION]... [FILE]..." | 1501 | "wc [OPTION]... [FILE]..." |
diff --git a/docs/busybox.pod b/docs/busybox.pod index e3da284f1..4c0810234 100644 --- a/docs/busybox.pod +++ b/docs/busybox.pod | |||
@@ -62,10 +62,10 @@ gunzip, gzip, halt, head, hostid, hostname, id, init, insmod, kill, killall, | |||
62 | length, ln, loadacm, loadfont, loadkmap, logger, logname, ls, lsmod, makedevs, | 62 | length, ln, loadacm, loadfont, loadkmap, logger, logname, ls, lsmod, makedevs, |
63 | mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc, | 63 | mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp, more, mount, mt, mv, nc, |
64 | nslookup, ping, poweroff, printf, ps, pwd, rdate, reboot, renice, reset, rm, | 64 | nslookup, ping, poweroff, printf, ps, pwd, rdate, reboot, renice, reset, rm, |
65 | rmdir, rmmod, sed, setkeycodes, sh, sleep, sort, swapoff, swapon, sync, syslogd, | 65 | rmdir, rmmod, sed, setkeycodes, sh, sleep, sort, swapoff, swapon, sync, |
66 | tail, tar, tee, telnet, test, touch, tr, true, tty, umount, uname, uniq, | 66 | syslogd, tail, tar, tee, telnet, test, touch, tr, true, tty, umount, uname, |
67 | unix2dos, unrpm, update, uptime, usleep, uudecode, uuencode, wc, which, whoami, | 67 | uniq, unix2dos, unrpm, update, uptime, usleep, uudecode, uuencode, watchdog, |
68 | xargs, yes, zcat, [ | 68 | wc, which, whoami, xargs, yes, zcat, [ |
69 | 69 | ||
70 | ------------------------------- | 70 | ------------------------------- |
71 | 71 | ||
@@ -2095,6 +2095,14 @@ Example: | |||
2095 | 2095 | ||
2096 | ------------------------------- | 2096 | ------------------------------- |
2097 | 2097 | ||
2098 | =item watchdog | ||
2099 | |||
2100 | Usage: watchdog device | ||
2101 | |||
2102 | Periodically writes to watchdog device B<device>. | ||
2103 | |||
2104 | ------------------------------- | ||
2105 | |||
2098 | =item wc | 2106 | =item wc |
2099 | 2107 | ||
2100 | Usage: wc [OPTION]... [FILE]... | 2108 | Usage: wc [OPTION]... [FILE]... |
@@ -2322,4 +2330,4 @@ Enrique Zanardi <ezanardi@ull.es> | |||
2322 | 2330 | ||
2323 | =cut | 2331 | =cut |
2324 | 2332 | ||
2325 | # $Id: busybox.pod,v 1.88 2001/01/25 05:12:02 andersen Exp $ | 2333 | # $Id: busybox.pod,v 1.89 2001/01/25 23:40:32 andersen Exp $ |
diff --git a/docs/busybox.sgml b/docs/busybox.sgml index 58d7df859..017d0d1f5 100644 --- a/docs/busybox.sgml +++ b/docs/busybox.sgml | |||
@@ -3660,6 +3660,18 @@ | |||
3660 | </para> | 3660 | </para> |
3661 | </sect1> | 3661 | </sect1> |
3662 | 3662 | ||
3663 | <sect1 id="watchdog"> | ||
3664 | <title>watchdog</title> | ||
3665 | |||
3666 | <para> | ||
3667 | Usage: watchdog device | ||
3668 | </para> | ||
3669 | |||
3670 | <para> | ||
3671 | Periodically writes to watchdog device B<device>. | ||
3672 | </para> | ||
3673 | </sect1> | ||
3674 | |||
3663 | <sect1 id="wc"> | 3675 | <sect1 id="wc"> |
3664 | <title>wc</title> | 3676 | <title>wc</title> |
3665 | 3677 | ||
diff --git a/include/applets.h b/include/applets.h index 4837cb564..80ff1feb3 100644 --- a/include/applets.h +++ b/include/applets.h | |||
@@ -362,6 +362,9 @@ const struct BB_applet applets[] = { | |||
362 | #ifdef BB_UUENCODE | 362 | #ifdef BB_UUENCODE |
363 | APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage) | 363 | APPLET("uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage) |
364 | #endif | 364 | #endif |
365 | #ifdef BB_WATCHDOG | ||
366 | APPLET("watchdog", watchdog_main, _BB_DIR_SBIN, watchdog_usage) | ||
367 | #endif | ||
365 | #ifdef BB_WC | 368 | #ifdef BB_WC |
366 | APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage) | 369 | APPLET("wc", wc_main, _BB_DIR_USR_BIN, wc_usage) |
367 | #endif | 370 | #endif |
diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c new file mode 100644 index 000000000..d297afa02 --- /dev/null +++ b/miscutils/watchdog.c | |||
@@ -0,0 +1,45 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Mini watchdog implementation for busybox | ||
4 | * | ||
5 | * Copyright (C) 2000 spoon <spoon@ix.netcom.com>. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #include "busybox.h" | ||
24 | #include <stdio.h> | ||
25 | #include <fcntl.h> | ||
26 | |||
27 | extern int watchdog_main(int argc, char **argv) | ||
28 | { | ||
29 | int fd; | ||
30 | |||
31 | if (argc != 2) { | ||
32 | usage(watchdog_usage); | ||
33 | } | ||
34 | |||
35 | if ((fd=open(argv[1], O_WRONLY)) == -1) { | ||
36 | perror_msg_and_die(argv[1]); | ||
37 | } | ||
38 | |||
39 | while (1) { | ||
40 | sleep(30); | ||
41 | write(fd, "\0", 1); | ||
42 | } | ||
43 | |||
44 | return EXIT_FAILURE; | ||
45 | } | ||
@@ -1487,6 +1487,15 @@ const char uuencode_usage[] = | |||
1487 | ; | 1487 | ; |
1488 | #endif | 1488 | #endif |
1489 | 1489 | ||
1490 | #if defined BB_WATCHDOG | ||
1491 | const char watchdog_usage[] = | ||
1492 | "watchdog dev\n" | ||
1493 | #ifndef BB_FEATURE_TRIVIAL_HELP | ||
1494 | "\nPeriodically write to watchdog device \"dev\".\n" | ||
1495 | #endif | ||
1496 | ; | ||
1497 | #endif | ||
1498 | |||
1490 | #if defined BB_WC | 1499 | #if defined BB_WC |
1491 | const char wc_usage[] = | 1500 | const char wc_usage[] = |
1492 | "wc [OPTION]... [FILE]..." | 1501 | "wc [OPTION]... [FILE]..." |
diff --git a/watchdog.c b/watchdog.c new file mode 100644 index 000000000..d297afa02 --- /dev/null +++ b/watchdog.c | |||
@@ -0,0 +1,45 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Mini watchdog implementation for busybox | ||
4 | * | ||
5 | * Copyright (C) 2000 spoon <spoon@ix.netcom.com>. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #include "busybox.h" | ||
24 | #include <stdio.h> | ||
25 | #include <fcntl.h> | ||
26 | |||
27 | extern int watchdog_main(int argc, char **argv) | ||
28 | { | ||
29 | int fd; | ||
30 | |||
31 | if (argc != 2) { | ||
32 | usage(watchdog_usage); | ||
33 | } | ||
34 | |||
35 | if ((fd=open(argv[1], O_WRONLY)) == -1) { | ||
36 | perror_msg_and_die(argv[1]); | ||
37 | } | ||
38 | |||
39 | while (1) { | ||
40 | sleep(30); | ||
41 | write(fd, "\0", 1); | ||
42 | } | ||
43 | |||
44 | return EXIT_FAILURE; | ||
45 | } | ||