diff options
Diffstat (limited to 'src/_forced')
-rw-r--r-- | src/_forced/_Exit.h | 4 | ||||
-rw-r--r-- | src/_forced/close.h | 6 | ||||
-rw-r--r-- | src/_forced/getpid.h | 3 | ||||
-rw-r--r-- | src/_forced/isatty.h | 3 | ||||
-rw-r--r-- | src/_forced/kill.h | 2 | ||||
-rw-r--r-- | src/_forced/mmap.h | 11 | ||||
-rw-r--r-- | src/_forced/mprotect.h | 9 | ||||
-rw-r--r-- | src/_forced/munmap.h | 4 | ||||
-rw-r--r-- | src/_forced/open.h | 12 | ||||
-rw-r--r-- | src/_forced/rmdir.h | 2 | ||||
-rw-r--r-- | src/_forced/sigaction.h | 18 | ||||
-rw-r--r-- | src/_forced/stat.h | 7 | ||||
-rw-r--r-- | src/_forced/strtoumax.h | 10 | ||||
-rw-r--r-- | src/_forced/unlink.h | 2 | ||||
-rw-r--r-- | src/_forced/vfwscanf.h | 4 | ||||
-rw-r--r-- | src/_forced/vswscanf.h | 6 | ||||
-rw-r--r-- | src/_forced/wcslen.h | 8 | ||||
-rw-r--r-- | src/_forced/write.h | 6 |
18 files changed, 117 insertions, 0 deletions
diff --git a/src/_forced/_Exit.h b/src/_forced/_Exit.h new file mode 100644 index 00000000..0ffc1ba3 --- /dev/null +++ b/src/_forced/_Exit.h @@ -0,0 +1,4 @@ +#if __STDC_VERSION__ < 199901L +static _Noreturn void _Exit(int); +#include "stdlib/_Exit.c" +#endif diff --git a/src/_forced/close.h b/src/_forced/close.h new file mode 100644 index 00000000..512a66bc --- /dev/null +++ b/src/_forced/close.h @@ -0,0 +1,6 @@ +#ifdef _POSIX_SOURCE +#include <unistd.h> +#else +#include "_syscall.h" +#define close(_fd) __scall1(close, _fd) +#endif diff --git a/src/_forced/getpid.h b/src/_forced/getpid.h new file mode 100644 index 00000000..4ad048df --- /dev/null +++ b/src/_forced/getpid.h @@ -0,0 +1,3 @@ +#include "_syscall.h" +#define getpid() __scall0(getpid) + diff --git a/src/_forced/isatty.h b/src/_forced/isatty.h new file mode 100644 index 00000000..0d0a073e --- /dev/null +++ b/src/_forced/isatty.h @@ -0,0 +1,3 @@ +#include "_syscall.h" +#define isatty(_fd) (-1) /*ioctl(_fd, TCFLSH, 0) */ +#define TCFLSH 0x540B diff --git a/src/_forced/kill.h b/src/_forced/kill.h new file mode 100644 index 00000000..a4fd9c32 --- /dev/null +++ b/src/_forced/kill.h @@ -0,0 +1,2 @@ +#include "_syscall.h" +#define kill(pid, sig) __scall2(kill, pid, sig) diff --git a/src/_forced/mmap.h b/src/_forced/mmap.h new file mode 100644 index 00000000..65c1ef01 --- /dev/null +++ b/src/_forced/mmap.h @@ -0,0 +1,11 @@ +#include "_syscall.h" + +#define mmap(_a, _l, _p, _fl, _fd, _o) (void*)__syscall(__sys_mmap, _a, _l, _p, _fl, _fd, _o) + +#define PROT_NONE 0x0 +#define PROT_READ 0x1 +#define PROT_WRITE 0x2 +#define MAP_PRIVATE 0x02 +#define MAP_FAILED (void*)(-1) +#define MAP_ANONYMOUS (0x20) + diff --git a/src/_forced/mprotect.h b/src/_forced/mprotect.h new file mode 100644 index 00000000..5abbe5ed --- /dev/null +++ b/src/_forced/mprotect.h @@ -0,0 +1,9 @@ +#ifdef _POSIX_C_SOURCE +#include <sys/mman.h> +#else +#include "_syscall.h" +#define mprotect(__ptr, __len, __prot) __syscall(__sys_mprotect, __ptr, __len, __prot) +#define PROT_NONE 0x0 +#define PROT_READ 0x1 +#define PROT_WRITE 0x2 +#endif diff --git a/src/_forced/munmap.h b/src/_forced/munmap.h new file mode 100644 index 00000000..9580100d --- /dev/null +++ b/src/_forced/munmap.h @@ -0,0 +1,4 @@ +#include "_syscall.h" + +#define munmap(_a, _l) __syscall(__sys_munmap, _a, _l) + diff --git a/src/_forced/open.h b/src/_forced/open.h new file mode 100644 index 00000000..1764d52e --- /dev/null +++ b/src/_forced/open.h @@ -0,0 +1,12 @@ +#ifdef _POSIX_SOURCE +#include <fcntl.h> +#else +#include "_syscall.h" +#define open(_p, _f, _m) __scall3(open, _p, _f, _m) +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_CREAT 0100 +#define O_TRUNC 01000 +#define O_APPEND 02000 +#define O_RDWR 02 +#endif diff --git a/src/_forced/rmdir.h b/src/_forced/rmdir.h new file mode 100644 index 00000000..28ced29f --- /dev/null +++ b/src/_forced/rmdir.h @@ -0,0 +1,2 @@ +#include "_syscall.h" +#define rmdir(_f) __scall1(rmdir, _f) diff --git a/src/_forced/sigaction.h b/src/_forced/sigaction.h new file mode 100644 index 00000000..33398c49 --- /dev/null +++ b/src/_forced/sigaction.h @@ -0,0 +1,18 @@ +/* TODO: appropriate #ifdefs */ + +#define SA_RESTART 0x10000000 +#define SA_RESTORER 0x04000000 + +typedef unsigned long pid_t; +typedef unsigned long uid_t; +typedef unsigned long clock_t; +#include "signal/sigset_t.h" +#include "signal/union_sigval.h" +#include "signal/siginfo_t.h" + +#define _POSIX_C_SOURCE 199506L +#include "signal/struct_sigaction.h" + +static int sigaction(int, const struct sigaction * restrict, struct sigaction * restrict); + +#include "signal/sigaction.c" diff --git a/src/_forced/stat.h b/src/_forced/stat.h new file mode 100644 index 00000000..e0a75dcc --- /dev/null +++ b/src/_forced/stat.h @@ -0,0 +1,7 @@ +#include "_syscall.h" +struct stat { + int st_mode; + char padding[1024]; +}; +#define stat(_f, _b) __scall2(stat, _f, _b) +#define S_ISDIR(_m) ((_m) & 0x00) diff --git a/src/_forced/strtoumax.h b/src/_forced/strtoumax.h new file mode 100644 index 00000000..d6f9883e --- /dev/null +++ b/src/_forced/strtoumax.h @@ -0,0 +1,10 @@ +#if __STDC_VERSION__ >= 199901L +#include <inttypes.h> +#else +#include "stdint/intmax_t.h" +#include "stdint/uintmax_t.h" +#include "stdint/intptr_t.h" +#include "stdint/UINTMAX_MAX.h" +#define strtoumax __strtoumax +#include "inttypes/strtoumax.c" +#endif diff --git a/src/_forced/unlink.h b/src/_forced/unlink.h new file mode 100644 index 00000000..240c6dd6 --- /dev/null +++ b/src/_forced/unlink.h @@ -0,0 +1,2 @@ +#include "_syscall.h" +#define unlink(_f) __scall1(unlink, _f) diff --git a/src/_forced/vfwscanf.h b/src/_forced/vfwscanf.h new file mode 100644 index 00000000..305c06d2 --- /dev/null +++ b/src/_forced/vfwscanf.h @@ -0,0 +1,4 @@ +#if __STDC_VERSION__ < 199901L +#define vfwscanf __vfwscanf +#include "vfwscanf.c" +#endif diff --git a/src/_forced/vswscanf.h b/src/_forced/vswscanf.h new file mode 100644 index 00000000..1915bc22 --- /dev/null +++ b/src/_forced/vswscanf.h @@ -0,0 +1,6 @@ + +#if __STDC_VERSION__ < 199901L +#define vswscanf __vswscanf +#include "vswscanf.c" +#endif + diff --git a/src/_forced/wcslen.h b/src/_forced/wcslen.h new file mode 100644 index 00000000..665f6afa --- /dev/null +++ b/src/_forced/wcslen.h @@ -0,0 +1,8 @@ + +#ifdef __STDC_VERSION__ +#include <wchar.h> +#else +static size_t wcslen(const wchar_t *); +#include "wchar/wcslen.c" +#endif + diff --git a/src/_forced/write.h b/src/_forced/write.h new file mode 100644 index 00000000..dced4529 --- /dev/null +++ b/src/_forced/write.h @@ -0,0 +1,6 @@ +#ifdef _POSIX_SOURCE +#include <unistd.h> +#else +#include "_syscall.h" +#define write(_fd, _buf, _size) __scall3(write, _fd, _buf, _size) +#endif |