Karg v0.2.0
The kernel of CargOS
Loading...
Searching...
No Matches
init.h
Go to the documentation of this file.
1#pragma once
2
3#include <types.h>
4#include <utils/compiler.h>
5
6typedef struct {
7 const char *name;
8 i32 (*init)(void);
9} init_t;
10
11#define module_pre_init(func) \
12 section(.init.pre_init) \
13 used static const init_t _PRE_INIT = {_MODULE_NAME, func}
14#define module_init(func) \
15 section(.init.init) used static const init_t _INIT = {_MODULE_NAME, func}
16#define module_post_init(func) \
17 section(.init.post_init) \
18 used static const init_t _POST_INIT = {_MODULE_NAME, func}
19
20void init_modules(void);
void init_modules(void)
Definition init.c:13
Definition init.h:6
const char * name
Definition init.h:7
__INT32_TYPE__ i32
Definition types.h:15