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