diff --git a/Library/errno.cpp b/Library/errno.cpp new file mode 100644 index 0000000..9eea55b --- /dev/null +++ b/Library/errno.cpp @@ -0,0 +1,10 @@ +#include + +#include +#include + +int *__errno_location(void) +{ + fixme("errno_location() is not implemented yet!"); + return nullptr; +} diff --git a/include/assert.h b/include/assert.h index 03c8482..8664a22 100644 --- a/include/assert.h +++ b/include/assert.h @@ -1,8 +1,6 @@ #ifndef __FENNIX_KERNEL_ASSERT_H__ #define __FENNIX_KERNEL_ASSERT_H__ -#include - #include #define assert(x) \ diff --git a/include/errno.h b/include/errno.h new file mode 100644 index 0000000..bee1450 --- /dev/null +++ b/include/errno.h @@ -0,0 +1,42 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +#define EPERM 1 /* Operation not permitted */ +#define ENOENT 2 /* No such file or directory */ +#define ESRCH 3 /* No such process */ +#define EINTR 4 /* Interrupted system call */ +#define EIO 5 /* I/O error */ +#define ENXIO 6 /* No such device or address */ +#define E2BIG 7 /* Argument list too long */ +#define ENOEXEC 8 /* Exec format error */ +#define EBADF 9 /* Bad file number */ +#define ECHILD 10 /* No child processes */ +#define EAGAIN 11 /* Try again */ +#define ENOMEM 12 /* Out of memory */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +#define ENOTBLK 15 /* Block device required */ +#define EBUSY 16 /* Device or resource busy */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Cross-device link */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENFILE 23 /* File table overflow */ +#define EMFILE 24 /* Too many open files */ +#define ENOTTY 25 /* Not a typewriter */ +#define ETXTBSY 26 /* Text file busy */ +#define EFBIG 27 /* File too large */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Illegal seek */ +#define EROFS 30 /* Read-only file system */ +#define EMLINK 31 /* Too many links */ +#define EPIPE 32 /* Broken pipe */ +#define EDOM 33 /* Math argument out of domain of func */ +#define ERANGE 34 /* Math result not representable */ + +extern int *__errno_location(void) __attribute__((const)); +#define errno (*__errno_location()) + +#endif // !_ERRNO_H diff --git a/include/math.h b/include/math.h new file mode 100644 index 0000000..06529a8 --- /dev/null +++ b/include/math.h @@ -0,0 +1,4 @@ +#ifndef _MATH_H +#define _MATH_H + +#endif // !_MATH_H diff --git a/include/stdint.h b/include/stdint.h index 2c4931e..34e75da 100644 --- a/include/stdint.h +++ b/include/stdint.h @@ -1,6 +1,4 @@ -#ifndef __FENNIX_KERNEL_STUB_STDINT_H__ -#define __FENNIX_KERNEL_STUB_STDINT_H__ +#ifndef _STDINT_H +#define _STDINT_H -#include - -#endif // !__FENNIX_KERNEL_STUB_STDINT_H__ +#endif // !_STDINT_H diff --git a/include/stdlib.h b/include/stdlib.h new file mode 100644 index 0000000..9d6d5ac --- /dev/null +++ b/include/stdlib.h @@ -0,0 +1,4 @@ +#ifndef _STDLIB_H +#define _STDLIB_H + +#endif // !_STDLIB_H diff --git a/include/string.h b/include/string.h new file mode 100644 index 0000000..94becae --- /dev/null +++ b/include/string.h @@ -0,0 +1,4 @@ +#ifndef _STRING_H +#define _STRING_H + +#endif // !_STRING_H