tools: kmod: Add handling of compat modinfo
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Thu, 22 Dec 2011 05:50:54 +0000 (03:50 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Fri, 23 Dec 2011 05:09:05 +0000 (03:09 -0200)
Makefile.am
configure.ac
tools/kmod-modinfo.c
tools/kmod.c
tools/kmod.h

index 32c4173..1752abe 100644 (file)
@@ -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
index 6a6ce75..4137f0f 100644 (file)
@@ -80,6 +80,7 @@ AS_IF([test "x$enable_debug" = "xyes"], [
 
 CC_CHECK_CFLAGS_APPEND([ \
                        -pipe \
+                       -DANOTHER_BRICK_IN_THE \
                        -Wall \
                        -W \
                        -Wextra \
index fa91682..ea9de1b 100644 (file)
@@ -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
index 53469ba..0e6c063 100644 (file)
@@ -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[])
index ffee228..62be697 100644 (file)
@@ -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