26extern void pedigree_module_unload(
char* name);
27extern int pedigree_module_is_loaded(
char* name);
28extern int pedigree_module_get_depending(
char* name,
char* buf,
size_t bufsz);
29int unload_module(
char* name);
31int unload_module(
char* name) {
32 if (!pedigree_module_is_loaded(name)) {
33 printf(
"Module %s isn't loaded!\n", name);
36 printf(
"Module %s being unloaded...\n", name);
39 char* dep = (
char*)malloc(256);
40 while (pedigree_module_get_depending(name, dep, 256)) {
41 if (unload_module(dep) == -1)
46 pedigree_module_unload(name);
47 if (!pedigree_module_is_loaded(name))
49 printf(
"Module %s couldn't been unloaded\n", name);
53int main(
int argc,
char** argv) {
55 printf(
"Usage: %s <module name>\n", argv[0]);
58 return unload_module(argv[1]);