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 12struct kernel_args; 13 14 15#ifdef __cplusplus 16// C++ only part 17 18class NotificationListener; 19 20extern status_t start_watching_modules(const char *prefix, 21 NotificationListener &listener); 22extern status_t stop_watching_modules(const char *prefix, 23 NotificationListener &listener); 24 25 26extern "C" { 27#endif 28 29extern status_t unload_module(const char *path); 30extern status_t load_module(const char *path, module_info ***_modules); 31 32extern status_t module_init(struct kernel_args *args); 33extern status_t module_init_post_threads(void); 34extern status_t module_init_post_boot_device(bool bootingFromBootLoaderVolume); 35extern status_t module_get_path(const char* moduleName, char** path); 36 37#ifdef __cplusplus 38} 39#endif 40 41#endif /* _KRENEL_MODULE_H */ 42