insmod: allows providing option to module.
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Sat, 10 Dec 2011 23:02:39 +0000 (21:02 -0200)
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Sun, 11 Dec 2011 22:58:22 +0000 (20:58 -0200)
libkmod/libkmod-module.c
libkmod/libkmod.h
test/test-insmod.c

index ca25bc7..96be0cb 100644 (file)
@@ -518,13 +518,14 @@ KMOD_EXPORT int kmod_module_remove_module(struct kmod_module *mod,
 extern long init_module(void *mem, unsigned long len, const char *args);
 
 KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
-                                                       unsigned int flags)
+                                                       unsigned int flags,
+                                                       const char *options)
 {
        int err;
        void *mmaped_file;
        struct stat st;
        int fd;
-       const char *args = "";
+       const char *args = options ? options : "";
 
        if (mod == NULL)
                return -ENOENT;
index a7fc776..130c703 100644 (file)
@@ -102,7 +102,7 @@ struct kmod_list *kmod_module_get_dependencies(const struct kmod_module *mod);
 int kmod_module_get_filtered_blacklist(const struct kmod_ctx *ctx, const struct kmod_list *input, struct kmod_list **output);
 
 int kmod_module_remove_module(struct kmod_module *mod, unsigned int flags);
-int kmod_module_insert_module(struct kmod_module *mod, unsigned int flags);
+int kmod_module_insert_module(struct kmod_module *mod, unsigned int flags, const char *options);
 
 const char *kmod_module_get_name(const struct kmod_module *mod);
 const char *kmod_module_get_path(const struct kmod_module *mod);
index aeb735a..6deaf77 100644 (file)
@@ -36,7 +36,7 @@ int main(int argc, char *argv[])
 
        printf("Trying insmod '%s' (%s)\n", kmod_module_get_name(mod),
                                                kmod_module_get_path(mod));
-       err = kmod_module_insert_module(mod, 0);
+       err = kmod_module_insert_module(mod, 0, NULL);
        if (err < 0) {
                fprintf(stderr, "%s\n", strerror(-err));