Support to multi-threading and pthread interface (POSIX.1-2008) (#23)
[lunaix-os.git] / lunaix-os / includes / lunaix / owloysius.h
1 #ifndef __LUNAIX_OWLOYSIUS_H
2 #define __LUNAIX_OWLOYSIUS_H
3
4 #include <lunaix/ds/ldga.h>
5
6 #define on_earlyboot c_earlyboot
7 #define on_boot c_boot
8 #define on_postboot c_postboot
9
10 #define owloysius_fetch_init(func, call_stage)                                     \
11     export_ldga_el(lunainit, func, ptr_t, func);                            \
12     export_ldga_el_sfx(lunainit, func##_##call_stage, ptr_t, func, call_stage);
13
14 #define invoke_init_function(stage) ldga_invoke_fn0(lunainit##_##stage)
15
16 #endif /* __LUNAIX_OWLOYSIUS_H */