From: Lucas De Marchi Date: Thu, 22 Dec 2011 05:50:54 +0000 (-0200) Subject: tools: kmod: Add handling of compat modinfo X-Git-Tag: v3~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=769becb5dbfb673900c6813d02ae3737d87035ef;p=thirdparty%2Fkmod.git tools: kmod: Add handling of compat modinfo --- diff --git a/Makefile.am b/Makefile.am index 32c4173a..1752abef 100644 --- a/Makefile.am +++ b/Makefile.am @@ -91,7 +91,8 @@ 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-insmod.c + tools/kmod-rmmod.c tools/kmod-insmod.c \ + tools/kmod-modinfo.c tools_kmod_CPPFLAGS = $(AM_CPPFLAGS) -DKMOD_BUNDLE_TOOL=1 tools_kmod_LDADD = libkmod/libkmod.la endif diff --git a/configure.ac b/configure.ac index 6a6ce755..4137f0f2 100644 --- a/configure.ac +++ b/configure.ac @@ -80,6 +80,7 @@ AS_IF([test "x$enable_debug" = "xyes"], [ CC_CHECK_CFLAGS_APPEND([ \ -pipe \ + -DANOTHER_BRICK_IN_THE \ -Wall \ -W \ -Wextra \ diff --git a/tools/kmod-modinfo.c b/tools/kmod-modinfo.c index fa91682a..ea9de1b8 100644 --- a/tools/kmod-modinfo.c +++ b/tools/kmod-modinfo.c @@ -326,7 +326,7 @@ static void help(const char *progname) progname); } -int main(int argc, char *argv[]) +static int do_modinfo(int argc, char *argv[]) { struct kmod_ctx *ctx; char dirname_buf[PATH_MAX]; @@ -432,3 +432,20 @@ int main(int argc, char *argv[]) kmod_unref(ctx); return err >= 0 ? EXIT_SUCCESS : EXIT_FAILURE; } + +#ifndef KMOD_BUNDLE_TOOL +int main(int argc, char *argv[]) +{ + return do_modinfo(argc, argv); +} + +#else +#include "kmod.h" + +const struct kmod_cmd kmod_cmd_compat_modinfo = { + .name = "modinfo", + .cmd = do_modinfo, + .help = "compat modinfo command", +}; + +#endif diff --git a/tools/kmod.c b/tools/kmod.c index 53469ba9..0e6c063b 100644 --- a/tools/kmod.c +++ b/tools/kmod.c @@ -42,6 +42,7 @@ static const struct kmod_cmd *kmod_compat_cmds[] = { &kmod_cmd_compat_lsmod, &kmod_cmd_compat_rmmod, &kmod_cmd_compat_insmod, + &kmod_cmd_compat_modinfo, }; static int kmod_help(int argc, char *argv[]) diff --git a/tools/kmod.h b/tools/kmod.h index ffee2288..62be6971 100644 --- a/tools/kmod.h +++ b/tools/kmod.h @@ -30,5 +30,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; +extern const struct kmod_cmd kmod_cmd_compat_modinfo; #endif