]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
tools: kmod: Add handling of compat modprobe
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Thu, 22 Dec 2011 05:54:46 +0000 (03:54 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Fri, 23 Dec 2011 05:09:05 +0000 (03:09 -0200)
Makefile.am
tools/kmod-modprobe.c
tools/kmod.c
tools/kmod.h

index 1752abef3eb3fa65a994f1af1e5397b12352c7c6..9523d71b619b6cf0071ebafc1b81729e6844f4f6 100644 (file)
@@ -92,7 +92,7 @@ tools_kmod_modinfo_LDADD = libkmod/libkmod.la
 
 tools_kmod_SOURCES = tools/kmod.c tools/kmod.h tools/kmod-lsmod.c \
                     tools/kmod-rmmod.c tools/kmod-insmod.c \
-                    tools/kmod-modinfo.c
+                    tools/kmod-modinfo.c tools/kmod-modprobe.c
 tools_kmod_CPPFLAGS = $(AM_CPPFLAGS) -DKMOD_BUNDLE_TOOL=1
 tools_kmod_LDADD = libkmod/libkmod.la
 endif
index 2e4efcbebb77dacac9cd372d77504a692851e4f3..53efa08aa0bc3926602f5f53ef1ca92671272547 100644 (file)
@@ -1088,7 +1088,7 @@ static void log_syslog(void *data, int priority, const char *file, int line,
        (void)data;
 }
 
-int main(int argc, char **orig_argv)
+static int do_modprobe(int argc, char **orig_argv)
 {
        struct kmod_ctx *ctx;
        char **args = NULL, **argv;
@@ -1307,3 +1307,20 @@ cmdline_failed:
        free(config_paths);
        return EXIT_FAILURE;
 }
+
+#ifndef KMOD_BUNDLE_TOOL
+int main(int argc, char *argv[])
+{
+       return do_modprobe(argc, argv);
+}
+
+#else
+#include "kmod.h"
+
+const struct kmod_cmd kmod_cmd_compat_modprobe = {
+       .name = "modprobe",
+       .cmd = do_modprobe,
+       .help = "compat modprobe command",
+};
+
+#endif
index 0e6c063b2bf42a4374a73a78847eaa6a1607f808..1d48b3f8ba66dc6e5487f6aeee832badfba3aa13 100644 (file)
@@ -43,6 +43,7 @@ static const struct kmod_cmd *kmod_compat_cmds[] = {
        &kmod_cmd_compat_rmmod,
        &kmod_cmd_compat_insmod,
        &kmod_cmd_compat_modinfo,
+       &kmod_cmd_compat_modprobe,
 };
 
 static int kmod_help(int argc, char *argv[])
index 62be6971f107c0724f9e71136c9a8a56662c68d2..5bab76035e18e3c4737127187ccf5bcb6040c2ce 100644 (file)
@@ -31,5 +31,6 @@ extern const struct kmod_cmd kmod_cmd_compat_lsmod;
 extern const struct kmod_cmd kmod_cmd_compat_rmmod;
 extern const struct kmod_cmd kmod_cmd_compat_insmod;
 extern const struct kmod_cmd kmod_cmd_compat_modinfo;
+extern const struct kmod_cmd kmod_cmd_compat_modprobe;
 
 #endif