aboutsummaryrefslogtreecommitdiff
path: root/sys/include
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-03-27 19:30:39 -0400
committerIan Moffett <ian@osmora.org>2024-03-27 19:30:39 -0400
commit3a976c607e0bfc743a182447a688316594727197 (patch)
treec3dc1a738c33d395da39b7f1381ee548d1540dfb /sys/include
parent380da5fe2e8ef39cfca6e92ef53c1b3f44ab77c6 (diff)
kernel: Implement lseek()
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include')
-rw-r--r--sys/include/sys/filedesc.h7
-rw-r--r--sys/include/sys/syscall.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/sys/include/sys/filedesc.h b/sys/include/sys/filedesc.h
index 70b297d..83c32ee 100644
--- a/sys/include/sys/filedesc.h
+++ b/sys/include/sys/filedesc.h
@@ -39,6 +39,10 @@
#define O_WRONLY 0x00001
#define O_RDWR 0x00002
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+
struct proc;
struct filedesc {
@@ -56,11 +60,12 @@ void fd_close_fdnum(struct proc *td, int fdno);
ssize_t write(int fd, const void *buf, size_t count);
int open(const char *pathname, int oflag);
int read(int fd, void *buf, size_t count);
+off_t lseek(int fd, off_t offset, int whence);
uint64_t sys_write(struct syscall_args *args);
uint64_t sys_open(struct syscall_args *args);
uint64_t sys_close(struct syscall_args *args);
uint64_t sys_read(struct syscall_args *args);
+uint64_t sys_lseek(struct syscall_args *args);
#endif
-
#endif
diff --git a/sys/include/sys/syscall.h b/sys/include/sys/syscall.h
index ae2438f..8ebc2da 100644
--- a/sys/include/sys/syscall.h
+++ b/sys/include/sys/syscall.h
@@ -42,6 +42,7 @@ enum {
SYS_open,
SYS_close,
SYS_read,
+ SYS_lseek,
__MAX_SYSCALLS
};