2 ctypedef char* const_char_ptr 'const char *'
3 ctypedef char* const_char_const_ptr 'const char const *'
4 ctypedef void* const_void_ptr 'const void *'
6 cdef extern from 'errno.h':
9 cdef extern from 'stdbool.h':
14 cdef extern from 'libkmod.h':
15 # library user context - reads the config and system
16 # environment, user variables, allows custom logging
21 const_char_ptr dirname, const_char_const_ptr config_paths)
22 kmod_ctx *kmod_ref(kmod_ctx *ctx)
23 kmod_ctx *kmod_unref(kmod_ctx *ctx)
25 # Management of libkmod's resources
26 int kmod_load_resources(kmod_ctx *ctx)
27 void kmod_unload_resources(kmod_ctx *ctx)
29 # access to kmod generated lists
30 cdef struct kmod_list:
32 ctypedef kmod_list* const_kmod_list_ptr 'const struct kmod_list *'
33 kmod_list *kmod_list_next(
34 const_kmod_list_ptr list, const_kmod_list_ptr curr)
35 kmod_list *kmod_list_prev(
36 const_kmod_list_ptr list, const_kmod_list_ptr curr)
37 kmod_list *kmod_list_last(const_kmod_list_ptr list)
39 # Operate on kernel modules
40 cdef struct kmod_module:
42 ctypedef kmod_module* const_kmod_module_ptr 'const struct kmod_module *'
43 int kmod_module_new_from_name(
44 kmod_ctx *ctx, const_char_ptr name, kmod_module **mod)
45 int kmod_module_new_from_lookup(
46 kmod_ctx *ctx, const_char_ptr given_alias, kmod_list **list)
47 int kmod_module_new_from_loaded(kmod_ctx *ctx, kmod_list **list)
49 kmod_module *kmod_module_ref(kmod_module *mod)
50 kmod_module *kmod_module_unref(kmod_module *mod)
51 int kmod_module_unref_list(kmod_list *list)
52 kmod_module *kmod_module_get_module(kmod_list *entry)
54 # Flags to kmod_module_probe_insert_module
55 # codes below can be used in return value, too
56 enum: KMOD_PROBE_APPLY_BLACKLIST
58 #ctypedef int (*install_callback_t)(
59 # kmod_module *m, const_char_ptr cmdline, const_void_ptr data)
60 #ctypedef void (*print_action_callback_t)(
61 # kmod_module *m, bool install, const_char_ptr options)
63 int kmod_module_remove_module(
64 kmod_module *mod, unsigned int flags)
65 int kmod_module_insert_module(
66 kmod_module *mod, unsigned int flags, const_char_ptr options)
67 int kmod_module_probe_insert_module(
68 kmod_module *mod, unsigned int flags, const_char_ptr extra_options,
70 kmod_module *m, const_char_ptr cmdline, void *data),
73 kmod_module *m, bool install, const_char_ptr options),
76 const_char_ptr kmod_module_get_name(const_kmod_module_ptr mod)
77 long kmod_module_get_size(const_kmod_module_ptr mod)