diff options
| author | aldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2005-10-28 20:37:03 +0000 |
|---|---|---|
| committer | aldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2005-10-28 20:37:03 +0000 |
| commit | fb00143be3e4021275e60310de7e8a1b400c74f3 (patch) | |
| tree | b0a5ae0270677ce2bbe0a62dbd514b3245fb88da /miscutils | |
| parent | 21b67bbc363290274e103fd5774ac02de2dba3eb (diff) | |
| download | busybox-w32-fb00143be3e4021275e60310de7e8a1b400c74f3.tar.gz busybox-w32-fb00143be3e4021275e60310de7e8a1b400c74f3.tar.bz2 busybox-w32-fb00143be3e4021275e60310de7e8a1b400c74f3.zip | |
- add BB_APPLET_RUNLEVEL used by emdebian via /etc/init.d/rc.
Note that we leave the buggy CONFIG_* namespace now, so please fix any applet you thouch.
git-svn-id: svn://busybox.net/trunk/busybox@11965 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'miscutils')
| -rw-r--r-- | miscutils/Config.in | 9 | ||||
| -rw-r--r-- | miscutils/Makefile.in | 1 | ||||
| -rw-r--r-- | miscutils/runlevel.c | 43 |
3 files changed, 53 insertions, 0 deletions
diff --git a/miscutils/Config.in b/miscutils/Config.in index f07ca36b3..4d81dde0d 100644 --- a/miscutils/Config.in +++ b/miscutils/Config.in | |||
| @@ -255,6 +255,15 @@ config CONFIG_MT | |||
| 255 | to advance or rewind a tape past a specified number of archive | 255 | to advance or rewind a tape past a specified number of archive |
| 256 | files on the tape. | 256 | files on the tape. |
| 257 | 257 | ||
| 258 | config BB_APPLET_RUNLEVEL | ||
| 259 | bool "runlevel" | ||
| 260 | default n | ||
| 261 | help | ||
| 262 | find the current and previous system runlevel. | ||
| 263 | |||
| 264 | This applet uses utmp but does not rely on busybox supporing | ||
| 265 | utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc. | ||
| 266 | |||
| 258 | config CONFIG_RX | 267 | config CONFIG_RX |
| 259 | bool "rx" | 268 | bool "rx" |
| 260 | default n | 269 | default n |
diff --git a/miscutils/Makefile.in b/miscutils/Makefile.in index 808ce36de..5bd522c11 100644 --- a/miscutils/Makefile.in +++ b/miscutils/Makefile.in | |||
| @@ -24,6 +24,7 @@ MISCUTILS-${CONFIG_LESS} += less.o | |||
| 24 | MISCUTILS-$(CONFIG_MAKEDEVS) += makedevs.o | 24 | MISCUTILS-$(CONFIG_MAKEDEVS) += makedevs.o |
| 25 | MISCUTILS-$(CONFIG_MOUNTPOINT) += mountpoint.o | 25 | MISCUTILS-$(CONFIG_MOUNTPOINT) += mountpoint.o |
| 26 | MISCUTILS-$(CONFIG_MT) += mt.o | 26 | MISCUTILS-$(CONFIG_MT) += mt.o |
| 27 | MISCUTILS-$(BB_APPLET_RUNLEVEL) += runlevel.o | ||
| 27 | MISCUTILS-$(CONFIG_RX) += rx.o | 28 | MISCUTILS-$(CONFIG_RX) += rx.o |
| 28 | MISCUTILS-$(CONFIG_SETSID) += setsid.o | 29 | MISCUTILS-$(CONFIG_SETSID) += setsid.o |
| 29 | MISCUTILS-$(CONFIG_STRINGS) += strings.o | 30 | MISCUTILS-$(CONFIG_STRINGS) += strings.o |
diff --git a/miscutils/runlevel.c b/miscutils/runlevel.c new file mode 100644 index 000000000..dfa846f81 --- /dev/null +++ b/miscutils/runlevel.c | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | /* | ||
| 2 | * runlevel Prints out the previous and the current runlevel. | ||
| 3 | * | ||
| 4 | * Version: @(#)runlevel 1.20 16-Apr-1997 MvS | ||
| 5 | * | ||
| 6 | * This file is part of the sysvinit suite, | ||
| 7 | * Copyright 1991-1997 Miquel van Smoorenburg. | ||
| 8 | * | ||
| 9 | * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | ||
| 10 | * | ||
| 11 | * initially busyboxified by Bernhard Fischer | ||
| 12 | */ | ||
| 13 | |||
| 14 | #include <stdio.h> | ||
| 15 | #include <utmp.h> | ||
| 16 | #include <time.h> | ||
| 17 | #include <stdlib.h> | ||
| 18 | |||
| 19 | #include "busybox.h" | ||
| 20 | |||
| 21 | int runlevel_main(int argc, char *argv[]) | ||
| 22 | { | ||
| 23 | struct utmp *ut; | ||
| 24 | char prev; | ||
| 25 | |||
| 26 | if (argc > 1) utmpname(argv[1]); | ||
| 27 | |||
| 28 | setutent(); | ||
| 29 | while ((ut = getutent()) != NULL) { | ||
| 30 | if (ut->ut_type == RUN_LVL) { | ||
| 31 | prev = ut->ut_pid / 256; | ||
| 32 | if (prev == 0) prev = 'N'; | ||
| 33 | printf("%c %c\n", prev, ut->ut_pid % 256); | ||
| 34 | endutent(); | ||
| 35 | return (0); | ||
| 36 | } | ||
| 37 | } | ||
| 38 | |||
| 39 | printf("unknown\n"); | ||
| 40 | endutent(); | ||
| 41 | return (1); | ||
| 42 | } | ||
| 43 | |||
