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

index 184ecc8a1e1d90abda49f5dfd54dfc3169c408b8..32c4173a06a5161f2296e5c5faa5a7bed88ce69a 100644 (file)
@@ -91,7 +91,7 @@ tools_kmod_modprobe_LDADD = libkmod/libkmod.la
 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-rmmod.c tools/kmod-insmod.c
 tools_kmod_CPPFLAGS = $(AM_CPPFLAGS) -DKMOD_BUNDLE_TOOL=1
 tools_kmod_LDADD = libkmod/libkmod.la
 endif
index 33364fa12054f4f3539eb30c8e927052fa2400fb..b071109797bd6e5bb5ac4de1ca79b567846b850c 100644 (file)
@@ -59,7 +59,7 @@ static const char *mod_strerror(int err)
        }
 }
 
-int main(int argc, char *argv[])
+static int do_insmod(int argc, char *argv[])
 {
        struct kmod_ctx *ctx;
        struct kmod_module *mod;
@@ -152,3 +152,20 @@ end:
        free(opts);
        return err >= 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
+
+#ifndef KMOD_BUNDLE_TOOL
+int main(int argc, char *argv[])
+{
+       return do_insmod(argc, argv);
+}
+
+#else
+#include "kmod.h"
+
+const struct kmod_cmd kmod_cmd_compat_insmod = {
+       .name = "insmod",
+       .cmd = do_insmod,
+       .help = "compat insmod command",
+};
+
+#endif
index 4c8dc10a70982c282cea32cc1219c1494aaa1414..53469ba986afbd2c91715094be865ce66a5864a9 100644 (file)
@@ -41,6 +41,7 @@ static const struct kmod_cmd *kmod_cmds[] = {
 static const struct kmod_cmd *kmod_compat_cmds[] = {
        &kmod_cmd_compat_lsmod,
        &kmod_cmd_compat_rmmod,
+       &kmod_cmd_compat_insmod,
 };
 
 static int kmod_help(int argc, char *argv[])
index 290d32ef444c2bb3bdca5015ad9aa20d2385d96c..ffee228832084e83793a94915f68fae996fea011 100644 (file)
@@ -29,5 +29,6 @@ struct kmod_cmd {
 
 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;
 
 #endif