diff options
-rw-r--r-- | Changelog | 3 | ||||
-rw-r--r-- | applets/busybox.c | 3 | ||||
-rw-r--r-- | busybox.c | 3 | ||||
-rw-r--r-- | busybox.def.h | 1 | ||||
-rw-r--r-- | internal.h | 5 | ||||
-rw-r--r-- | lsmod.c | 35 | ||||
-rw-r--r-- | modutils/lsmod.c | 35 |
7 files changed, 83 insertions, 2 deletions
@@ -1,6 +1,9 @@ 0.40 * Added the -s option to du -beppu * Fixed an embarrasing segfault in head -beppu + * New App: lsmod -erik + + -Erik Andersen 0.39 * New Apps: ping, hostname, and mkfifo contributed by Randolph Chung diff --git a/applets/busybox.c b/applets/busybox.c index 4d676e7c0..4967e5fa3 100644 --- a/applets/busybox.c +++ b/applets/busybox.c @@ -105,6 +105,9 @@ static const struct Applet applets[] = { #ifdef BB_LS //bin {"ls", ls_main}, #endif +#ifdef BB_LSMOD //sbin + {"lsmod", lsmod_main}, +#endif #ifdef BB_MAKEDEVS //sbin {"makedevs", makedevs_main}, #endif @@ -105,6 +105,9 @@ static const struct Applet applets[] = { #ifdef BB_LS //bin {"ls", ls_main}, #endif +#ifdef BB_LSMOD //sbin + {"lsmod", lsmod_main}, +#endif #ifdef BB_MAKEDEVS //sbin {"makedevs", makedevs_main}, #endif diff --git a/busybox.def.h b/busybox.def.h index cbee4f651..fcd185aa7 100644 --- a/busybox.def.h +++ b/busybox.def.h @@ -35,6 +35,7 @@ //#define BB_LOADKMAP #define BB_LOGGER #define BB_LS +#define BB_LSMOD //#define BB_MAKEDEVS //#define BB_MATH #define BB_MKDIR diff --git a/internal.h b/internal.h index 3cf777418..371728dd7 100644 --- a/internal.h +++ b/internal.h @@ -58,9 +58,11 @@ extern int more_main(int argc, char** argv); extern int cp_main(int argc, char** argv); extern int chmod_chown_chgrp_main(int argc, char** argv); extern int chroot_main(int argc, char** argv); +extern int chvt_main(int argc, char** argv); extern int clear_main(int argc, char** argv); extern int date_main(int argc, char** argv); extern int dd_main(int argc, char** argv); +extern int deallocvt_main(int argc, char** argv); extern int df_main(int argc, char** argv); extern int dmesg_main(int argc, char** argv); extern int du_main(int argc, char** argv); @@ -83,8 +85,7 @@ extern int loadfont_main(int argc, char** argv); extern int loadkmap_main(int argc, char** argv); extern int losetup_main(int argc, char** argv); extern int ls_main(int argc, char** argv); -extern int chvt_main(int argc, char** argv); -extern int deallocvt_main(int argc, char** argv); +extern int lsmod_main(int argc, char** argv); extern int makedevs_main(int argc, char** argv); extern int math_main(int argc, char** argv); extern int mkdir_main(int argc, char** argv); diff --git a/lsmod.c b/lsmod.c new file mode 100644 index 000000000..1696f756e --- /dev/null +++ b/lsmod.c @@ -0,0 +1,35 @@ +/* + * Mini lsmod implementation for busybox + * + * Copyright (C) 1999 by Lineo, inc. + * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org> + * + * 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 "internal.h" +#include <stdio.h> + + +#if ! defined BB_FEATURE_USE_PROCFS +#error Sorry, I depend on the /proc filesystem right now. +#endif + +extern int lsmod_main(int argc, char **argv) +{ + char* cmd[] = { "cat", "/proc/modules", "\0" }; + exit(cat_main( 3, cmd)); +} diff --git a/modutils/lsmod.c b/modutils/lsmod.c new file mode 100644 index 000000000..1696f756e --- /dev/null +++ b/modutils/lsmod.c @@ -0,0 +1,35 @@ +/* + * Mini lsmod implementation for busybox + * + * Copyright (C) 1999 by Lineo, inc. + * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org> + * + * 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 "internal.h" +#include <stdio.h> + + +#if ! defined BB_FEATURE_USE_PROCFS +#error Sorry, I depend on the /proc filesystem right now. +#endif + +extern int lsmod_main(int argc, char **argv) +{ + char* cmd[] = { "cat", "/proc/modules", "\0" }; + exit(cat_main( 3, cmd)); +} |