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
}
}
-int main(int argc, char *argv[])
+static int do_insmod(int argc, char *argv[])
{
struct kmod_ctx *ctx;
struct kmod_module *mod;
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
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[])
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