From: Lucas De Marchi Date: Thu, 22 Dec 2011 05:45:07 +0000 (-0200) Subject: tools: kmod: Add handling of compat insmod X-Git-Tag: v3~96 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ad6026965f8c13c8b16fe2a49ea697bc67d14f2e;p=thirdparty%2Fkmod.git tools: kmod: Add handling of compat insmod --- diff --git a/Makefile.am b/Makefile.am index 184ecc8a..32c4173a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/tools/kmod-insmod.c b/tools/kmod-insmod.c index 33364fa1..b0711097 100644 --- a/tools/kmod-insmod.c +++ b/tools/kmod-insmod.c @@ -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 diff --git a/tools/kmod.c b/tools/kmod.c index 4c8dc10a..53469ba9 100644 --- a/tools/kmod.c +++ b/tools/kmod.c @@ -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[]) diff --git a/tools/kmod.h b/tools/kmod.h index 290d32ef..ffee2288 100644 --- a/tools/kmod.h +++ b/tools/kmod.h @@ -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