diff options
author | Ian Moffett <ian@osmora.org> | 2025-10-15 14:49:33 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-10-15 14:49:33 -0400 |
commit | fbcc3d9e458b8c3966560028d1f1f10ba4e74d37 (patch) | |
tree | f3cef39220a76b3648766175737063f03c8cbd61 /src/sys/include | |
parent | f39d4994c80225986fb6b27ef2ecef9268540b69 (diff) |
kern: filedesc: Add close() system call
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/sys/include')
-rw-r--r-- | src/sys/include/compat/unix/syscall.h | 8 | ||||
-rw-r--r-- | src/sys/include/os/filedesc.h | 10 | ||||
-rw-r--r-- | src/sys/include/sys/syscall.h | 1 |
3 files changed, 18 insertions, 1 deletions
diff --git a/src/sys/include/compat/unix/syscall.h b/src/sys/include/compat/unix/syscall.h index be351e8..a031872 100644 --- a/src/sys/include/compat/unix/syscall.h +++ b/src/sys/include/compat/unix/syscall.h @@ -68,6 +68,11 @@ scret_t sys_open(struct syscall_args *scargs); */ scret_t sys_read(struct syscall_args *scargs); +/* + * Close a file + */ +scret_t sys_close(struct syscall_args *scargs); + #ifdef _NEED_UNIX_SCTAB scret_t(*g_unix_sctab[])(struct syscall_args *) = { [SYS_none] = NULL, @@ -83,7 +88,8 @@ scret_t(*g_unix_sctab[])(struct syscall_args *) = { [SYS_reboot] = sys_reboot, [SYS_waitpid] = sys_waitpid, [SYS_dmsio] = sys_dmsio, - [SYS_read] = sys_read + [SYS_read] = sys_read, + [SYS_close] = sys_close }; #endif /* !_NEED_UNIX_SCTAB */ diff --git a/src/sys/include/os/filedesc.h b/src/sys/include/os/filedesc.h index fb899cf..a6a2ac5 100644 --- a/src/sys/include/os/filedesc.h +++ b/src/sys/include/os/filedesc.h @@ -84,6 +84,16 @@ int fdtab_init(struct proc *procp); int fd_open(const char *path, mode_t mode); /* + * Close a file + * + * @fd: File descriptor to close + * + * Returns zero on success, otherwise a less than + * zero value on failure + */ +int fd_close(int fd); + +/* * Write to a file descriptor * * @fd: File descriptor to write to diff --git a/src/sys/include/sys/syscall.h b/src/sys/include/sys/syscall.h index 1138029..77b7505 100644 --- a/src/sys/include/sys/syscall.h +++ b/src/sys/include/sys/syscall.h @@ -57,6 +57,7 @@ #define SYS_waitpid 0x0C /* wait for child to exit */ #define SYS_dmsio 0x0D /* DMS I/O */ #define SYS_read 0x0E /* read a file descriptor */ +#define SYS_close 0x0F /* close a file */ typedef __ssize_t scret_t; typedef __ssize_t scarg_t; |