5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <k/core.h>
#include <k/def.h> // so we know what system this is
#include <k/type.h>
#ifdef KFenv_posix
# define KFplatform_define_types
# define KFplatform_define_constants
# include <posix.h>
#endif
noreturn extern struct k_platform_syscall_answer
k_platform_syscall(enum k_platform_syscall call, u8 valency,
k_platform_syscall_arg args[]);
noreturn void kstop(stat_long code) {
# ifdef KFenv_posix
k_platform_syscall_arg exit_code[] = { code };
k_platform_syscall(k_platform_syscall_exit, 1, exit_code);
# else
Knoimpl(kstop)
# endif
}
|
|
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include <k/core.h>
#include <k/def.h> // so we know what system this is
#include <k/type.h>
#ifdef KFenv_posix
# define KFplatform_define_types
# define KFplatform_define_constants
# include <posix/posix.h>
#endif
/* this manual redefinition is necessary to stop gcc
* bitching that kstop returns, which it def does not */
noreturn extern struct k_platform_syscall_answer
k_platform_syscall(enum k_platform_syscall call, u8 valency,
k_platform_syscall_arg args[]);
noreturn void kstop(stat_long code) {
# ifdef KFenv_posix
k_platform_syscall_arg exit_code[] = { code };
k_platform_syscall(k_platform_syscall_exit, 1, exit_code);
# else
Knoimpl(kstop)
# endif
}
|