From e447090093a01fea0b27c4340fcb54bbf9ae3396 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sun, 5 Sep 2021 19:04:21 +0200 Subject: error out when <*/types.h> isn't included in headers which need it --- src/init/types.h | 2 ++ src/kernel/types.h | 2 ++ src/shared/syscalls.h | 6 ++++-- src/shared/vfs.h | 7 ++++--- 4 files changed, 12 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/init/types.h b/src/init/types.h index d06d171..2c56484 100644 --- a/src/init/types.h +++ b/src/init/types.h @@ -1,2 +1,4 @@ #pragma once + +#define TYPES_INCLUDED typedef char* user_ptr; diff --git a/src/kernel/types.h b/src/kernel/types.h index eb12f08..891e644 100644 --- a/src/kernel/types.h +++ b/src/kernel/types.h @@ -1,3 +1,5 @@ #pragma once #include + +#define TYPES_INCLUDED typedef uintptr_t user_ptr; diff --git a/src/shared/syscalls.h b/src/shared/syscalls.h index 7a1acaf..0222f37 100644 --- a/src/shared/syscalls.h +++ b/src/shared/syscalls.h @@ -1,8 +1,10 @@ -// requires the user_ptr type from kernel/types.h or init/types.h - #pragma once #include +#ifndef TYPES_INCLUDED +# error "please include or before this file" +#endif + typedef int handle_t; enum { diff --git a/src/shared/vfs.h b/src/shared/vfs.h index d88c424..730a288 100644 --- a/src/shared/vfs.h +++ b/src/shared/vfs.h @@ -1,8 +1,9 @@ -// requires the user_ptr type from kernel/types.h or init/types.h -// TODO add some macro magic which prints an error when it isn't defined - #pragma once +#ifndef TYPES_INCLUDED +# error "please include or before this file" +#endif + enum vfs_op_types { VFSOP_OPEN, VFSOP_WRITE, -- cgit v1.2.3