Implemented some basic libc functions and a text console
This commit is contained in:
32
include/socks/init.h
Normal file
32
include/socks/init.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef SOCKS_INIT_H_
|
||||
#define SOCKS_INIT_H_
|
||||
|
||||
#include <socks/compiler.h>
|
||||
|
||||
typedef int (*initcall_t)(void);
|
||||
|
||||
#define __INITLEVEL_EARLY 0
|
||||
#define __INITLEVEL_CORE 1
|
||||
#define __INITLEVEL_POSTCORE 2
|
||||
#define __INITLEVEL_ARCH 3
|
||||
#define __INITLEVEL_SUBSYS 4
|
||||
#define __INITLEVEL_ROOTFS 5
|
||||
#define __INITLEVEL_DEVICE 6
|
||||
#define __INITLEVEL_LATE 7
|
||||
|
||||
#define __define_initcall(fn, id) \
|
||||
static initcall_t __initcall_##fn##id __used \
|
||||
__section(".initcall" #id ".init") = (fn)
|
||||
|
||||
#define early_initcall(fn) __define_initcall(fn, __INITLEVEL_EARLY)
|
||||
#define core_initcall(fn) __define_initcall(fn, __INITLEVEL_CORE)
|
||||
#define postcore_initcall(fn) __define_initcall(fn, __INITLEVEL_POSTCORE)
|
||||
#define arch_initcall(fn) __define_initcall(fn, __INITLEVEL_ARCH)
|
||||
#define subsys_initcall(fn) __define_initcall(fn, __INITLEVEL_SUBSYS)
|
||||
#define rootfs_initcall(fn) __define_initcall(fn, __INITLEVEL_ROOTFS)
|
||||
#define device_initcall(fn) __define_initcall(fn, __INITLEVEL_DEVICE)
|
||||
#define late_initcall(fn) __define_initcall(fn, __INITLEVEL_LATE)
|
||||
|
||||
extern int do_initcalls(void);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user