apio
da2ede3450
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.
9 lines
134 B
C
9 lines
134 B
C
#pragma once
|
|
|
|
#define EPERM 1
|
|
#define ENOENT 2
|
|
#define EBADF 9
|
|
#define ENOMEM 12
|
|
#define EINVAL 22
|
|
#define EMFILE 24
|
|
#define ENOSYS 38 |