Make UEFI boot-platform build again
[haiku.git] / headers / private / fs_shell / fssh_module.h
blob8eb3d4bb6b5724fdf1c5bef1a5eed8ab4f8122f4
1 /* Modules Definitions
2 **
3 ** Distributed under the terms of the MIT License.
4 */
6 #ifndef _FSSH_MODULE_H
7 #define _FSSH_MODULE_H
10 #include "fssh_os.h"
13 /* Every module exports a list of module_info structures.
14 * It defines the interface of the module and the name
15 * that is used to access the interface.
18 typedef struct fssh_module_info {
19 const char *name;
20 uint32_t flags;
21 fssh_status_t (*std_ops)(int32_t, ...);
22 } fssh_module_info;
24 /* module standard operations */
25 #define FSSH_B_MODULE_INIT 1
26 #define FSSH_B_MODULE_UNINIT 2
28 /* module flags */
29 #define FSSH_B_KEEP_LOADED 0x00000001
32 /* Use the module_dependency structure to let the
33 * kernel automatically load modules yet depend on
34 * before B_MODULE_INIT is called.
37 typedef struct fssh_module_dependency {
38 const char *name;
39 fssh_module_info **info;
40 } fssh_module_dependency;
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
47 extern fssh_status_t fssh_get_module(const char *path,
48 fssh_module_info **_info);
49 extern fssh_status_t fssh_put_module(const char *path);
51 #ifdef __cplusplus
53 #endif
55 #endif /* _FSSH_MODULE_H */