2021-12-09 12:22:16 +00:00
|
|
|
#include <liblinux.h>
|
|
|
|
#include <liblinux/syscall.h>
|
2021-12-03 14:05:10 +00:00
|
|
|
|
2021-12-30 20:09:36 +00:00
|
|
|
FILE __stdin_FILE = {
|
|
|
|
.fd = 0
|
|
|
|
};
|
|
|
|
|
|
|
|
FILE *stdin = &__stdin_FILE;
|
|
|
|
|
|
|
|
FILE __stdout_FILE = {
|
|
|
|
.fd = 1
|
|
|
|
};
|
|
|
|
|
|
|
|
FILE *stdout = &__stdout_FILE;
|
|
|
|
|
|
|
|
FILE __stderr_FILE = {
|
|
|
|
.fd = 2
|
|
|
|
};
|
|
|
|
|
|
|
|
FILE *stderr = &__stderr_FILE;
|
2021-12-26 13:01:42 +00:00
|
|
|
|
2021-12-29 08:54:16 +00:00
|
|
|
_Noreturn void sys_exit(int status) {
|
2021-12-03 14:05:10 +00:00
|
|
|
syscall(__NR_exit, status);
|
|
|
|
}
|
|
|
|
|
2021-12-09 12:37:23 +00:00
|
|
|
int sys_open(const char *pathname, int flags) {
|
2021-12-27 18:39:38 +00:00
|
|
|
return syscall(__NR_open, pathname, flags);
|
2021-12-03 14:05:10 +00:00
|
|
|
}
|
|
|
|
|
2021-12-09 12:37:23 +00:00
|
|
|
int sys_close(int fd) {
|
2021-12-03 14:05:10 +00:00
|
|
|
return syscall(__NR_close, fd);
|
|
|
|
}
|
|
|
|
|
2021-12-28 17:02:48 +00:00
|
|
|
ssize_t sys_write(int fd, const void *buf, size_t count) {
|
2021-12-03 14:05:10 +00:00
|
|
|
return syscall(__NR_write, fd, buf, count);
|
|
|
|
}
|
|
|
|
|
2021-12-09 12:37:23 +00:00
|
|
|
ssize_t sys_read(int fd, void *buf, size_t count) {
|
2021-12-03 14:05:10 +00:00
|
|
|
return syscall(__NR_read, fd, buf, count);
|
|
|
|
}
|
2021-12-28 09:23:29 +00:00
|
|
|
|
|
|
|
void *sys_mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off) {
|
|
|
|
return (void*)syscall(__NR_mmap, addr, len, prot, flags, fildes, off);
|
|
|
|
}
|
|
|
|
|
|
|
|
int sys_munmap(void *addr, size_t len) {
|
|
|
|
return syscall(__NR_munmap, addr, len);
|
|
|
|
}
|
2021-12-29 08:09:59 +00:00
|
|
|
|
|
|
|
int sys_rename(const char *old, const char *new) {
|
|
|
|
return syscall(__NR_rename, old, new);
|
|
|
|
}
|
2021-12-30 16:41:12 +00:00
|
|
|
|
|
|
|
ssize_t sys_getrandom(void *buf, size_t buflen, unsigned int flags) {
|
|
|
|
return syscall(__NR_getrandom, buf, buflen, flags);
|
|
|
|
}
|