diff options
Diffstat (limited to 'toolbox/rmmod.c')
-rw-r--r-- | toolbox/rmmod.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/toolbox/rmmod.c b/toolbox/rmmod.c deleted file mode 100644 index c7e0d6a..0000000 --- a/toolbox/rmmod.c +++ /dev/null @@ -1,53 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <fcntl.h> -#include <unistd.h> -#include <malloc.h> -#include <errno.h> -#include <asm/unistd.h> - -extern int delete_module(const char *, unsigned int); - -int rmmod_main(int argc, char **argv) -{ - int ret, i; - char *modname, *dot; - - /* make sure we've got an argument */ - if (argc < 2) { - fprintf(stderr, "usage: rmmod <module>\n"); - return -1; - } - - /* if given /foo/bar/blah.ko, make a weak attempt - * to convert to "blah", just for convenience - */ - modname = strrchr(argv[1], '/'); - if (!modname) - modname = argv[1]; - else modname++; - - dot = strchr(argv[1], '.'); - if (dot) - *dot = '\0'; - - /* Replace "-" with "_". This would keep rmmod - * compatible with module-init-tools version of - * rmmod - */ - for (i = 0; modname[i] != '\0'; i++) { - if (modname[i] == '-') - modname[i] = '_'; - } - - /* pass it to the kernel */ - ret = delete_module(modname, O_NONBLOCK | O_EXCL); - if (ret != 0) { - fprintf(stderr, "rmmod: delete_module '%s' failed (errno %d)\n", - modname, errno); - return -1; - } - - return 0; -} - |