@@ -9,8 +9,18 @@ #define KIplatform_posix #include #include +#if (!defined(KFplatform_define_constants)) && \ + (!defined(KFplatform_define_types)) && \ + (!defined(KFplatform_define_funcs)) +#define KFplatform_define_constants +#define KFplatform_define_types +#define KFplatform_define_funcs +#endif + +#ifdef KFplatform_define_constants + enum posix_prot { posix_prot_none = 0, posix_prot_read = 1 << 0, posix_prot_write = 1 << 1, @@ -33,8 +43,11 @@ /* platform flags */ posix_flag_linux_hugetlb = 0x40000 }; +#endif +#ifdef KFplatform_define_types + /* platform types */ typedef s64 k_platform_syscall_return; typedef u64 k_platform_syscall_error; @@ -55,11 +68,20 @@ k_platform_syscall_return ret; k_platform_syscall_error error; }; -#include +#endif + +#if defined(KFplatform_define_constants) ||\ + defined(KFplatform_define_funcs) +# include +#endif + +#ifdef KFplatform_define_funcs extern struct k_platform_syscall_answer k_platform_syscall(enum k_platform_syscall call, u8 valency, k_platform_syscall_arg args[]); + +#endif #endif