#ifndef MINIMALSYS_H #include "int.h" void exit(int8_t status); #define STDIO 1 #define STDERR 2 intptr_t write(int32_t fd, const void* buf, intptr_t size); intptr_t read(int32_t fd, const void* buf, intptr_t size); #define O_RDONLY 00 #define O_WRONLY 01 #define O_RDWR 02 #define AT_FDCWD -100 int32_t openat(int32_t fd, const char* filename, uint32_t flags, uint32_t mode); #define open(...) openat(AT_FDCWD, __VA_ARGS__, 0) //inline int32_t openat(int32_t fd, const char* filename, uint32_t flags) {return openat(fd, filename, flags, 0);} //inline int32_t open(const char* filename, uint32_t flags, uint32_t mode) {return openat(AT_FDCWD, filename, flags, mode);} //inline int32_t open(const char* filename, uint32_t flags) {return openat(AT_FDCWD, filename, flags, 0);} uint32_t fork(); // Provide memset for clang void *memset(void* s, int c, unsigned long n) { int8_t* mem = s; for(long int i = 0; i < n; ++i) mem[i] = c; return s; } #endif // !MINIMALSYS_H