From: Lucas De Marchi Date: Thu, 1 Dec 2011 22:06:08 +0000 (-0200) Subject: Add fucntion to API to get dependencies X-Git-Tag: v1~147 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0835fc3bf9e5b89e2581f97e2bf5505c34e52c7f;p=thirdparty%2Fkmod.git Add fucntion to API to get dependencies --- diff --git a/TODO b/TODO index f10eece1..72f4b7ac 100644 --- a/TODO +++ b/TODO @@ -23,3 +23,8 @@ Features: * when preloading stuff, give the possibility to preload binary files. We need to create alternative index_search* functions to operate on mmapped files. Then on ctx creation we mmap all the files + +* kmod_module: calculate fields on demand if not available: + - name + - path + - dependency diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index bd39154a..48d1b5e3 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -259,6 +259,15 @@ KMOD_EXPORT int kmod_module_unref_list(struct kmod_list *list) return 0; } +/* + * We don't increase the refcount. Maybe we should. + */ +KMOD_EXPORT struct kmod_list *kmod_module_get_dependency(struct kmod_module *mod) +{ + // FIXME calculate dependency if it's not initialized + return mod->dep; +} + KMOD_EXPORT struct kmod_module *kmod_module_get_module(struct kmod_list *l) { struct kmod_module *mod = l->data; diff --git a/libkmod/libkmod.h b/libkmod/libkmod.h index 8e262d4e..923f7abd 100644 --- a/libkmod/libkmod.h +++ b/libkmod/libkmod.h @@ -109,6 +109,7 @@ struct kmod_module *kmod_module_ref(struct kmod_module *mod); struct kmod_module *kmod_module_unref(struct kmod_module *mod); int kmod_module_unref_list(struct kmod_list *list); struct kmod_module *kmod_module_get_module(struct kmod_list *l); +struct kmod_list *kmod_module_get_dependency(struct kmod_module *mod); int kmod_module_remove_module(struct kmod_module *mod, unsigned int flags); int kmod_module_insert_module(struct kmod_module *mod, unsigned int flags); diff --git a/libkmod/libkmod.sym b/libkmod/libkmod.sym index 70fdd00b..fcbe8a90 100644 --- a/libkmod/libkmod.sym +++ b/libkmod/libkmod.sym @@ -27,6 +27,7 @@ global: kmod_module_remove_module; kmod_module_insert_module; + kmod_module_get_dependency; kmod_module_get_module; kmod_module_get_name;