kmod/libkmod
Lucas De Marchi eb6f9112cf libkmod: remove unused inline functions
libkmod/libkmod-list.c:39:33: warning: unused function 'list_node_next' [-Wunused-function]
static inline struct list_node *list_node_next(const struct list_node *node)
                                ^
libkmod/libkmod-list.c:47:33: warning: unused function 'list_node_prev' [-Wunused-function]
static inline struct list_node *list_node_prev(const struct list_node *node)
                                ^

It doesn't really matter in the end result since the compiler won't
generate any code for it. But let's keep it clean. It wasn't needed
until now, so probably it won't be anymore.
2014-10-09 11:11:29 -03:00
..
docs Move remaining functions from libkmod-util to shared 2014-10-09 01:26:39 -03:00
python build-sys: add hooks to build python bindings 2014-03-26 22:30:56 -03:00
.gitignore
COPYING
Makefile build-sys: add small redirecting Makefiles 2014-03-06 01:59:58 -03:00
README README: Move items from TODO 2013-07-17 02:31:27 -03:00
libkmod-config.c Log error on failed underscores(), moving it to shared/ 2014-10-09 11:00:21 -03:00
libkmod-elf.c Reorder and reorganize header files 2014-10-03 01:43:15 -03:00
libkmod-file.c Reorder and reorganize header files 2014-10-03 01:43:15 -03:00
libkmod-index.c Reorder and reorganize header files 2014-10-03 01:43:15 -03:00
libkmod-index.h Prefer inttypes.h over stdint.h 2014-10-03 02:03:55 -03:00
libkmod-internal.h Move remaining functions from libkmod-util to shared 2014-10-09 01:26:39 -03:00
libkmod-list.c libkmod: remove unused inline functions 2014-10-09 11:11:29 -03:00
libkmod-module.c Reorder and reorganize header files 2014-10-03 01:43:15 -03:00
libkmod-signature.c Prefer inttypes.h over stdint.h 2014-10-03 02:03:55 -03:00
libkmod.c Reorder and reorganize header files 2014-10-03 01:43:15 -03:00
libkmod.h libkmod: always pass O_NONBLOCK to kernel 2013-09-20 01:37:24 -05:00
libkmod.pc.in libkmod: remove external cflags from .pc file 2011-12-24 20:28:11 +01:00
libkmod.sym build: remove private symbol from linker script 2012-05-10 21:11:27 -03:00

README

libkmod - linux kernel module handling library

ABSTRACT
========

libkmod was created to allow programs to easily insert, remove and
list modules, also checking its properties, dependencies and aliases.

there is no shared/global context information and it can be used by
multiple sites on a single program, also being able to be used from
threads, although it's not thread safe (you must lock explicitly).


OVERVIEW
========

Every user should create and manage it's own library context with:

   struct kmod_ctx *ctx = kmod_new(kernel_dirname);
   kmod_unref(ctx);


Modules can be created by various means:

   struct kmod_module *mod;
   int err;

   err = kmod_module_new_from_path(ctx, path, &mod);
   if (err < 0) {
      /* code */
   } else {
      /* code */
      kmod_module_unref(mod);
   }

   err = kmod_module_new_from_name(ctx, name, &mod);
   if (err < 0) {
      /* code */
   } else {
      /* code */
      kmod_module_unref(mod);
   }


Or could be resolved from a known alias to a list of alternatives:

   struct kmod_list *list, *itr;
   int err;
   err = kmod_module_new_from_lookup(ctx, alias, &list);
   if (err < 0) {
      /* code */
   } else {
      kmod_list_foreach(itr, list) {
         struct kmod_module *mod = kmod_module_get_module(itr);
         /* code */
      }
   }