34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
#ifndef SOCKS_INIT_H_
|
|
#define SOCKS_INIT_H_
|
|
|
|
#include <socks/compiler.h>
|
|
#include <socks/machine/init.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 INITLEVEL_TESTS 8
|
|
|
|
#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)
|
|
#define test_initcall(fn) __define_initcall(fn, INITLEVEL_TESTS)
|
|
|
|
extern void print_kernel_banner(void);
|
|
extern int do_initcalls(void);
|
|
extern int start_initlevel(int level);
|
|
|
|
#endif
|