From 58ae7f9f8905d396adc2bf599a4ddfadda3683b8 Mon Sep 17 00:00:00 2001 From: Nathan Giddings Date: Thu, 9 Nov 2023 21:24:07 -0600 Subject: [PATCH] Removed syscallret_t typedef. Syscalls just return an int --- include/syscalls.h | 49 +++++++++++++++++++------------------- include/types/syscallret.h | 6 ----- src/syscalls.c | 40 +++++++++++++++---------------- 3 files changed, 44 insertions(+), 51 deletions(-) delete mode 100644 include/types/syscallret.h diff --git a/include/syscalls.h b/include/syscalls.h index da5333c..ad9dab0 100644 --- a/include/syscalls.h +++ b/include/syscalls.h @@ -5,19 +5,18 @@ #include "types/sigaction.h" #include "types/pid.h" #include "types/oid.h" -#include "types/syscallret.h" #include #include extern void *syscall_table[]; -typedef syscallret_t (*syscall_ptr_0_t)(); +typedef int (*syscall_ptr_0_t)(); -typedef syscallret_t (*syscall_ptr_1_t)(syscall_arg_t); +typedef int (*syscall_ptr_1_t)(syscall_arg_t); -typedef syscallret_t (*syscall_ptr_2_t)(syscall_arg_t, syscall_arg_t); +typedef int (*syscall_ptr_2_t)(syscall_arg_t, syscall_arg_t); -typedef syscallret_t (*syscall_ptr_3_t)(syscall_arg_t, syscall_arg_t, syscall_arg_t); +typedef int (*syscall_ptr_3_t)(syscall_arg_t, syscall_arg_t, syscall_arg_t); struct syscall_t { @@ -38,101 +37,101 @@ struct syscall_t * * @param str The string to output. */ -syscallret_t test_syscall(syscall_arg_t str); +int test_syscall(syscall_arg_t str); /** * */ -syscallret_t syscall_map_anon(syscall_arg_t location, syscall_arg_t length, syscall_arg_t flags); +int syscall_map_anon(syscall_arg_t location, syscall_arg_t length, syscall_arg_t flags); /** * */ -syscallret_t syscall_unmap_anon(syscall_arg_t location, syscall_arg_t length); +int syscall_unmap_anon(syscall_arg_t location, syscall_arg_t length); /** * */ -syscallret_t syscall_map_physical(syscall_arg_t arg_addr, syscall_arg_t arg_phys_addr, syscall_arg_t arg_length); +int syscall_map_physical(syscall_arg_t arg_addr, syscall_arg_t arg_phys_addr, syscall_arg_t arg_length); /** * */ -syscallret_t syscall_unmap_physical(syscall_arg_t arg_addr, syscall_arg_t arg_length); +int syscall_unmap_physical(syscall_arg_t arg_addr, syscall_arg_t arg_length); /** * */ -syscallret_t syscall_open_port(syscall_arg_t id); +int syscall_open_port(syscall_arg_t id); /** * */ -syscallret_t syscall_close_port(syscall_arg_t id); +int syscall_close_port(syscall_arg_t id); /** * */ -syscallret_t syscall_send_pid(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags); +int syscall_send_pid(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags); /** * */ -syscallret_t syscall_send_port(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags); +int syscall_send_port(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags); /** * */ -syscallret_t syscall_receive(syscall_arg_t buffer, syscall_arg_t flags); +int syscall_receive(syscall_arg_t buffer, syscall_arg_t flags); /** * */ -syscallret_t syscall_create_object(void *location, size_t size, int flags); +int syscall_create_object(void *location, size_t size, int flags); /** * */ -syscallret_t syscall_aquire_object(oid_t id, void *location); +int syscall_aquire_object(oid_t id, void *location); /** * */ -syscallret_t syscall_release_object(oid_t id); +int syscall_release_object(oid_t id); /** * */ -syscallret_t syscall_get_pid(); +int syscall_get_pid(); /** * */ -syscallret_t syscall_clone(void (*entry)(void*), void *arg, void *stack, int flags); +int syscall_clone(void (*entry)(void*), void *arg, void *stack, int flags); /** * */ -syscallret_t syscall_signal_action(int id, struct signal_action_t *action, int flags); +int syscall_signal_action(int id, struct signal_action_t *action, int flags); /** * */ -syscallret_t syscall_signal_return(); +int syscall_signal_return(); /** * */ -syscallret_t syscall_signal_raise(pid_t pid, int sigid); +int syscall_signal_raise(pid_t pid, int sigid); /** * */ -syscallret_t syscall_intr_action(int id, struct signal_action_t *action, int flags); +int syscall_intr_action(int id, struct signal_action_t *action, int flags); /** * */ -syscallret_t syscall_intr_return(); +int syscall_intr_return(); #endif diff --git a/include/types/syscallret.h b/include/types/syscallret.h deleted file mode 100644 index 0c91d55..0000000 --- a/include/types/syscallret.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef QUARK_SYSCALLRET_H -#define QUARK_SYSCALLRET_H - -typedef long syscallret_t; - -#endif \ No newline at end of file diff --git a/src/syscalls.c b/src/syscalls.c index 8066062..13fa788 100644 --- a/src/syscalls.c +++ b/src/syscalls.c @@ -5,7 +5,7 @@ #include "platform/context.h" #include "types/status.h" -syscallret_t test_syscall(syscall_arg_t str) +int test_syscall(syscall_arg_t str) { if(str.ptr != NULL) { @@ -14,7 +14,7 @@ syscallret_t test_syscall(syscall_arg_t str) return 17; } -syscallret_t syscall_map_anon(syscall_arg_t arg_location, syscall_arg_t arg_length, syscall_arg_t arg_flags) +int syscall_map_anon(syscall_arg_t arg_location, syscall_arg_t arg_length, syscall_arg_t arg_flags) { unsigned long location = arg_location.unsigned_int; unsigned long length = arg_length.unsigned_int; @@ -50,7 +50,7 @@ syscallret_t syscall_map_anon(syscall_arg_t arg_location, syscall_arg_t arg_leng return ENONE; } -syscallret_t syscall_unmap_anon(syscall_arg_t arg_location, syscall_arg_t arg_length) +int syscall_unmap_anon(syscall_arg_t arg_location, syscall_arg_t arg_length) { unsigned long location = arg_location.unsigned_int; unsigned long length = arg_length.unsigned_int; @@ -80,7 +80,7 @@ syscallret_t syscall_unmap_anon(syscall_arg_t arg_location, syscall_arg_t arg_le return status; } -syscallret_t syscall_map_physical(syscall_arg_t arg_addr, syscall_arg_t arg_phys_addr, syscall_arg_t arg_length) +int syscall_map_physical(syscall_arg_t arg_addr, syscall_arg_t arg_phys_addr, syscall_arg_t arg_length) { void *addr = arg_addr.ptr; physaddr_t frame = arg_phys_addr.unsigned_int; @@ -97,7 +97,7 @@ syscallret_t syscall_map_physical(syscall_arg_t arg_addr, syscall_arg_t arg_phys return status; } -syscallret_t syscall_unmap_physical(syscall_arg_t arg_addr, syscall_arg_t arg_length) +int syscall_unmap_physical(syscall_arg_t arg_addr, syscall_arg_t arg_length) { void *addr = arg_addr.ptr; unsigned long length = arg_length.unsigned_int; @@ -113,17 +113,17 @@ syscallret_t syscall_unmap_physical(syscall_arg_t arg_addr, syscall_arg_t arg_le return status; } -syscallret_t syscall_open_port(syscall_arg_t id) +int syscall_open_port(syscall_arg_t id) { return kernel_create_port(id.unsigned_int); } -syscallret_t syscall_close_port(syscall_arg_t id) +int syscall_close_port(syscall_arg_t id) { return kernel_remove_port(id.unsigned_int); } -syscallret_t syscall_send_pid(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags) +int syscall_send_pid(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags) { unsigned long op_type = flags.unsigned_int & IO_OP; unsigned long dest_type = flags.unsigned_int & IO_RECIPIENT_TYPE; @@ -151,63 +151,63 @@ syscallret_t syscall_send_pid(syscall_arg_t recipient, syscall_arg_t message, sy } } -syscallret_t syscall_send_port(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags) +int syscall_send_port(syscall_arg_t recipient, syscall_arg_t message, syscall_arg_t flags) { return ENOSYSCALL; } -syscallret_t syscall_receive(syscall_arg_t buffer, syscall_arg_t flags) +int syscall_receive(syscall_arg_t buffer, syscall_arg_t flags) { return kernel_receive_message(buffer.ptr, flags.unsigned_int); } -syscallret_t syscall_create_object(void *location, size_t size, int flags) +int syscall_create_object(void *location, size_t size, int flags) { return ENOSYSCALL; } -syscallret_t syscall_aquire_object(oid_t id, void *location) +int syscall_aquire_object(oid_t id, void *location) { return ENOSYSCALL; } -syscallret_t syscall_release_object(oid_t id) +int syscall_release_object(oid_t id) { return ENOSYSCALL; } -syscallret_t syscall_get_pid() +int syscall_get_pid() { return kernel_current_pid(); } -syscallret_t syscall_clone(void (*entry)(void*), void *arg, void *stack, int flags) +int syscall_clone(void (*entry)(void*), void *arg, void *stack, int flags) { return ENOSYSCALL; } -syscallret_t syscall_signal_action(int id, struct signal_action_t *action, int flags) +int syscall_signal_action(int id, struct signal_action_t *action, int flags) { return ENOSYSCALL; } -syscallret_t syscall_signal_return() +int syscall_signal_return() { return ENOSYSCALL; } -syscallret_t syscall_signal_raise(pid_t pid, int sigid) +int syscall_signal_raise(pid_t pid, int sigid) { return ENOSYSCALL; } -syscallret_t syscall_intr_action(int id, struct signal_action_t *action, int flags) +int syscall_intr_action(int id, struct signal_action_t *action, int flags) { return ENOSYSCALL; } -syscallret_t syscall_intr_return() +int syscall_intr_return() { return ENOSYSCALL; }