From 6f23cec5d081fac63a7a0c493d6caff77e55dfb1 Mon Sep 17 00:00:00 2001 From: Erik Andersen Date: Wed, 15 Dec 1999 22:14:12 +0000 Subject: [PATCH] Added lsmod -Erik --- Changelog | 3 +++ applets/busybox.c | 3 +++ busybox.c | 3 +++ busybox.def.h | 1 + internal.h | 5 +++-- lsmod.c | 35 +++++++++++++++++++++++++++++++++++ modutils/lsmod.c | 35 +++++++++++++++++++++++++++++++++++ 7 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 lsmod.c create mode 100644 modutils/lsmod.c diff --git a/Changelog b/Changelog index a1469c6..9ccc211 100644 --- a/Changelog +++ b/Changelog @@ -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 4d676e7..4967e5f 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 diff --git a/busybox.c b/busybox.c index 4d676e7..4967e5f 100644 --- a/busybox.c +++ b/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 diff --git a/busybox.def.h b/busybox.def.h index cbee4f6..fcd185a 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 3cf7774..371728d 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 0000000..1696f75 --- /dev/null +++ b/lsmod.c @@ -0,0 +1,35 @@ +/* + * Mini lsmod implementation for busybox + * + * Copyright (C) 1999 by Lineo, inc. + * Written by Erik Andersen , + * + * 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 + + +#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 0000000..1696f75 --- /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 , + * + * 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 + + +#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)); +} -- 2.7.4