mirror of
https://github.com/AuxXxilium/kmod.git
synced 2025-01-14 16:06:30 +07:00
ddbda02286
Treat module insertion as modprobe does: look for (soft-)dependencies, run install commands, apply blacklist. The difference with the blacklist is that it's applied to all modules, including the dependencies. If you want to apply a blacklist only on the module it's better to call the filter function by yourself. This implementation detects loops caused by poorly written soft-dependencies and fail gracefully, printing the loop to the log.
82 lines
1.7 KiB
Plaintext
82 lines
1.7 KiB
Plaintext
LIBKMOD_1 {
|
|
global:
|
|
kmod_get_log_priority;
|
|
kmod_get_userdata;
|
|
kmod_log;
|
|
kmod_new;
|
|
kmod_ref;
|
|
kmod_set_log_fn;
|
|
kmod_set_log_priority;
|
|
kmod_set_userdata;
|
|
kmod_unref;
|
|
kmod_list_next;
|
|
kmod_list_prev;
|
|
|
|
kmod_load_resources;
|
|
kmod_unload_resources;
|
|
|
|
kmod_module_new_from_name;
|
|
kmod_module_new_from_path;
|
|
kmod_module_new_from_lookup;
|
|
kmod_module_new_from_loaded;
|
|
kmod_module_ref;
|
|
kmod_module_unref;
|
|
kmod_module_unref_list;
|
|
kmod_module_remove_module;
|
|
kmod_module_insert_module;
|
|
kmod_module_get_dependencies;
|
|
kmod_module_get_module;
|
|
|
|
kmod_module_get_filtered_blacklist;
|
|
|
|
kmod_module_get_name;
|
|
kmod_module_get_path;
|
|
|
|
kmod_module_initstate_str;
|
|
kmod_module_get_initstate;
|
|
kmod_module_get_refcnt;
|
|
kmod_module_get_sections;
|
|
kmod_module_section_free_list;
|
|
kmod_module_section_get_name;
|
|
kmod_module_section_get_address;
|
|
kmod_module_get_holders;
|
|
kmod_module_get_size;
|
|
|
|
kmod_module_get_options;
|
|
kmod_module_get_install_commands;
|
|
kmod_module_get_remove_commands;
|
|
local:
|
|
*;
|
|
};
|
|
|
|
LIBKMOD_2 {
|
|
global:
|
|
kmod_list_last;
|
|
|
|
kmod_module_get_softdeps;
|
|
kmod_module_get_info;
|
|
kmod_module_info_get_key;
|
|
kmod_module_info_get_value;
|
|
kmod_module_info_free_list;
|
|
kmod_module_get_versions;
|
|
kmod_module_version_get_symbol;
|
|
kmod_module_version_get_crc;
|
|
kmod_module_versions_free_list;
|
|
} LIBKMOD_1;
|
|
|
|
LIBKMOD_3 {
|
|
global:
|
|
kmod_module_get_symbols;
|
|
kmod_module_symbol_get_symbol;
|
|
kmod_module_symbol_get_crc;
|
|
kmod_module_symbols_free_list;
|
|
|
|
kmod_module_get_dependency_symbols;
|
|
kmod_module_dependency_symbol_get_symbol;
|
|
kmod_module_dependency_symbol_get_crc;
|
|
kmod_module_dependency_symbol_get_bind;
|
|
kmod_module_dependency_symbols_free_list;
|
|
|
|
kmod_module_probe_insert_module;
|
|
} LIBKMOD_2;
|