1 /* 2 * Copyright 2005-2008, Axel Dörfler, axeld@pinc-software.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _KERNEL_MODULE_H 6 #define _KERNEL_MODULE_H 7 8 9 #include <drivers/module.h> 10 #include <kernel.h> 11 12 struct kernel_args; 13 14 15 #ifdef __cplusplus 16 // C++ only part 17 18 class NotificationListener; 19 20 extern status_t start_watching_modules(const char *prefix, 21 NotificationListener &listener); 22 extern status_t stop_watching_modules(const char *prefix, 23 NotificationListener &listener); 24 25 26 extern "C" { 27 #endif 28 29 extern status_t unload_module(const char *path); 30 extern status_t load_module(const char *path, module_info ***_modules); 31 32 extern status_t module_init(struct kernel_args *args); 33 extern status_t module_init_post_threads(void); 34 extern status_t module_init_post_boot_device(bool bootingFromBootLoaderVolume); 35 extern status_t module_get_path(const char* moduleName, char** path); 36 37 #ifdef __cplusplus 38 } 39 #endif 40 41 #endif /* _KRENEL_MODULE_H */ 42