14e3c12c0SAxel Dörfler /* 2*0875ae98SAxel Dörfler * Copyright 2005-2008, Axel Dörfler, axeld@pinc-software.de. 3ceba1053SAxel Dörfler * Distributed under the terms of the MIT License. 44e3c12c0SAxel Dörfler */ 54e3c12c0SAxel Dörfler #ifndef _KERNEL_MODULE_H 64e3c12c0SAxel Dörfler #define _KERNEL_MODULE_H 74e3c12c0SAxel Dörfler 8ceba1053SAxel Dörfler 94e3c12c0SAxel Dörfler #include <drivers/module.h> 104e3c12c0SAxel Dörfler #include <kernel.h> 114e3c12c0SAxel Dörfler 12564cba31SAxel Dörfler struct kernel_args; 13564cba31SAxel Dörfler 14ceba1053SAxel Dörfler 15ceba1053SAxel Dörfler #ifdef __cplusplus 16*0875ae98SAxel Dörfler // C++ only part 17*0875ae98SAxel Dörfler 18*0875ae98SAxel Dörfler class NotificationListener; 19*0875ae98SAxel Dörfler 20*0875ae98SAxel Dörfler extern status_t start_watching_modules(const char *prefix, 21*0875ae98SAxel Dörfler NotificationListener &listener); 22*0875ae98SAxel Dörfler extern status_t stop_watching_modules(const char *prefix, 23*0875ae98SAxel Dörfler NotificationListener &listener); 24*0875ae98SAxel Dörfler 25*0875ae98SAxel Dörfler 26ceba1053SAxel Dörfler extern "C" { 27ceba1053SAxel Dörfler #endif 28ceba1053SAxel Dörfler 29ceba1053SAxel Dörfler extern status_t unload_module(const char *path); 30ceba1053SAxel Dörfler extern status_t load_module(const char *path, module_info ***_modules); 31ceba1053SAxel Dörfler 32179fd098SAxel Dörfler extern status_t module_init(struct kernel_args *args); 33ceba1053SAxel Dörfler 34ceba1053SAxel Dörfler #ifdef __cplusplus 35ceba1053SAxel Dörfler } 36ceba1053SAxel Dörfler #endif 374e3c12c0SAxel Dörfler 384e3c12c0SAxel Dörfler #endif /* _KRENEL_MODULE_H */ 39