kmod/libkmod
Torge Matthies 3821e1971e add Zstandard compression support
I changed the style of the hackargs variable in autogen.sh to multiline
because said line was becoming a bit long with the new --with-zstd arg
added.

A previous version of this patch has been running on my two Arch Linux
installations (with an accompanying mkinitcpio patch) for several months
over many kernel updates without any issues.
Any additional testing and/or patch review would of course be appreciated.

Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
2020-09-10 21:55:01 -07:00
..
docs libkmod: fix integration with gtk-doc 2016-06-28 12:15:38 -03:00
python Fix include in python bindings 2015-01-02 13:11:39 -02:00
.gitignore Rename libabc to libkmod 2011-11-21 14:35:35 -02:00
COPYING Change licenses 2011-12-12 18:24:35 -02:00
libkmod-builtin.c modinfo: Show information about built-in modules 2019-12-18 16:57:14 -08:00
libkmod-config.c libkmod: ignore kcmdline option if we fail to parse modname 2020-03-13 09:23:58 -07:00
libkmod-elf.c libkmod-elf: resolve CRC if module is built with MODULE_REL_CRCS 2017-08-04 08:20:24 -07:00
libkmod-file.c add Zstandard compression support 2020-09-10 21:55:01 -07:00
libkmod-index.c libkmod: fix return error when opening index 2020-03-23 12:37:40 -07:00
libkmod-index.h libkmod: fix return error when opening index 2020-03-23 12:37:40 -07:00
libkmod-internal.h Lookup aliases in the modules.builtin.modinfo 2019-12-18 16:56:58 -08:00
libkmod-list.c Remove FSF mailing address 2014-12-25 23:41:34 -02:00
libkmod-module.c libkmod: simplify lookup when builtin.modinfo.bin file is missing 2020-03-23 12:37:26 -07:00
libkmod-signature.c libkmod-signature: use PKCS#7 instead of CMS 2019-05-28 15:22:18 -07:00
libkmod.c libkmod: allow modules.alias.builtin to be optional 2020-03-23 12:37:51 -07:00
libkmod.h Lookup aliases in the modules.builtin.modinfo 2019-12-18 16:56:58 -08:00
libkmod.pc.in add Zstandard compression support 2020-09-10 21:55:01 -07:00
libkmod.sym libkmod: export new kmod_get_dirname() function 2015-09-30 15:28:24 -03:00
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 - 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 */
      }
   }