Kernel: Implement a descriptor struct which stores the opened node and read offset, and give each task 8 of those. Implement three syscalls: sys_read, sys_open and sys_close (sys_write still writes to the console instead of using a fd, for now) Implement three new errors: ENOENT, EBADF and EMFILE. libc: Implement the new errors, and the new syscalls in syscall(). Also fix _RETURN_WITH_ERRNO() to set errno correctly, which was making strerror() return null, thus crashing perror(). userspace: make init demonstrate the new file API. |
||
---|---|---|
.. | ||
elf | ||
mem.cpp | ||
paint.cpp | ||
rand.cpp | ||
sched.cpp | ||
stdio.cpp | ||
Syscall.cpp | ||
version.cpp |