aboutsummaryrefslogtreecommitdiff
path: root/toys/insmod.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/insmod.c')
-rw-r--r--toys/insmod.c47
1 files changed, 0 insertions, 47 deletions
diff --git a/toys/insmod.c b/toys/insmod.c
deleted file mode 100644
index e794828c..00000000
--- a/toys/insmod.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* vi: set sw=4 ts=4:
- *
- * insmod.c - Load a module into the Linux kernel.
- *
- * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
- *
- * Not in SUSv4.
-
-USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_BIN|TOYFLAG_NEEDROOT))
-
-config INSMOD
- bool "insmod"
- default y
- help
- usage: insmod MODULE [MODULE_OPTIONS]
-
- Load the module named MODULE passing options if given.
-*/
-
-#include "toys.h"
-
-#include <sys/syscall.h>
-#define init_module(mod, len, opts) syscall(__NR_init_module, mod, len, opts)
-
-void insmod_main(void)
-{
- char * buf = NULL;
- int len, res, i;
- int fd = xopen(toys.optargs[0], O_RDONLY);
-
- len = fdlength(fd);
- buf = xmalloc(len);
- xreadall(fd, buf, len);
-
- i = 1;
- while(toys.optargs[i] &&
- strlen(toybuf) + strlen(toys.optargs[i]) + 2 < sizeof(toybuf)) {
- strcat(toybuf, toys.optargs[i++]);
- strcat(toybuf, " ");
- }
-
- res = init_module(buf, len, toybuf);
- if (CFG_TOYBOX_FREE && buf != toybuf) free(buf);
-
- if (res)
- perror_exit("failed to load %s", toys.optargs[0]);
-}