31 #ifndef PIOS_INITCALL_H
32 #define PIOS_INITCALL_H
62 #define __define_module_initcall(level, ifn, sfn) \
63 static initmodule_t __initcall_##fn __attribute__((__used__)) \
64 __attribute__((__section__(".initcall." level))) = { .fn_minit = ifn, .fn_tinit = sfn };
66 #define MODULE_HIPRI_INITCALL(ifn, sfn) __define_module_initcall("a_module", ifn, sfn)
67 #define MODULE_INITCALL(ifn, sfn) __define_module_initcall("module", ifn, sfn)
69 #define MODULE_INITIALISE_ALL(wdgfn) { \
70 for (initmodule_t *fn = __module_initcall_start; fn < __module_initcall_end; fn++) { \
77 #define MODULE_TASKCREATE_ALL { for (initmodule_t *fn = __module_initcall_start; fn < __module_initcall_end; fn++) \
initmodule_t __module_initcall_start[]
int32_t(* initcall_t)(void)
initmodule_t __module_initcall_end[]