TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
module.h
Aller à la documentation de ce fichier.
1 
30 #ifndef _MODULE_H
31 #define _MODULE_H
32 
33 #include <types.h>
34 
35 #define MODULE_NAME(X) char __modname[] __attribute__ ((section(".modname"))) = X
36 #define MODULE_VERSION(X) char __modversion[] __attribute__ ((section(".modversion"))) = X
37 #define MODULE_LOAD(X) int X(void) __attribute__ ((section(".modload")))
38 #define MODULE_UNLOAD(X) int X(void) __attribute__ ((section(".modunload")))
39 
40 typedef struct {
41 
42  char* name; /* Name loaded from .modname section */
43 
44  char* version; /* Version loaded from .modversion section */
45 
46  paddr_t load_handler; /* Address of the module_load function, loaded from .modload section */
47 
48  paddr_t unload_handler; /* Address of the module_unload function, loaded from .modunload section */
49 
50  paddr_t load_addr; /* Address where the module is loaded */
51 
53 
54 module_info_t* load_module(char* filename);
55 
56 #endif /* _MODULE_H */
uint32_t paddr_t
Definition: types.h:52
Definition: module.h:40