libkmod-loaded

libkmod-loaded — currently loaded modules

Synopsis

int                 kmod_module_new_from_loaded         (struct kmod_ctx *ctx,
                                                         struct kmod_list **list);
int                 kmod_module_get_initstate           (const struct kmod_module *mod);
const char *        kmod_module_initstate_str           (enum kmod_module_initstate state);
long                kmod_module_get_size                (const struct kmod_module *mod);
int                 kmod_module_get_refcnt              (const struct kmod_module *mod);
struct kmod_list *  kmod_module_get_holders             (const struct kmod_module *mod);

Description

Information about currently loaded modules, as reported by Linux kernel. These information are not cached by libkmod and are always read from /sys and /proc/modules.

Details

kmod_module_new_from_loaded ()

int                 kmod_module_new_from_loaded         (struct kmod_ctx *ctx,
                                                         struct kmod_list **list);

Create a new list of kmod modules with all modules currently loaded in kernel. It uses /proc/modules to get the names of loaded modules and to create kmod modules by calling kmod_module_new_from_name() in each of them. They are put in list in no particular order.

The initial refcount is 1, and needs to be decremented to release the resources of the kmod_module. The returned list must be released by calling kmod_module_unref_list(). Since libkmod keeps track of all kmod_modules created, they are all released upon ctx destruction too. Do not unref ctx before all the desired operations with the returned list are completed.

ctx :

kmod library context

list :

where to save the list of loaded modules

Returns :

0 on success or < 0 on error.

kmod_module_get_initstate ()

int                 kmod_module_get_initstate           (const struct kmod_module *mod);

Get the initstate of this mod, as returned by Linux Kernel, by reading /sys filesystem.

mod :

kmod module

Returns :

< 0 on error or module state if module is found in kernel, valid states are KMOD_MODULE_BUILTIN: module is builtin; KMOD_MODULE_LIVE: module is live in kernel; KMOD_MODULE_COMING: module is being loaded; KMOD_MODULE_GOING: module is being unloaded.

kmod_module_initstate_str ()

const char *        kmod_module_initstate_str           (enum kmod_module_initstate state);

Translate a initstate to a string.

state :

the state as returned by kmod_module_get_initstate()

Returns :

the string associated to the state. This string is statically allocated, do not free it.

kmod_module_get_size ()

long                kmod_module_get_size                (const struct kmod_module *mod);

Get the size of this kmod module as returned by Linux kernel. If supported, the size is read from the coresize attribute in /sys/module. For older kernels, this falls back on /proc/modules and searches for the specified module to get its size.

mod :

kmod module

Returns :

the size of this kmod module.

kmod_module_get_refcnt ()

int                 kmod_module_get_refcnt              (const struct kmod_module *mod);

Get the ref count of this mod, as returned by Linux Kernel, by reading /sys filesystem.

mod :

kmod module

Returns :

0 on success or < 0 on failure.

kmod_module_get_holders ()

struct kmod_list *  kmod_module_get_holders             (const struct kmod_module *mod);

Get a list of kmod modules that are holding this mod, as returned by Linux Kernel. After use, free the list by calling kmod_module_unref_list().

mod :

kmod module

Returns :

a new list of kmod modules on success or NULL on failure.