Removed syscallret_t typedef.

Syscalls just return an int
This commit is contained in:
2023-11-09 21:24:07 -06:00
parent b4ea4b8ca1
commit 58ae7f9f89
3 changed files with 44 additions and 51 deletions

View File

@@ -5,19 +5,18 @@
#include "types/sigaction.h" #include "types/sigaction.h"
#include "types/pid.h" #include "types/pid.h"
#include "types/oid.h" #include "types/oid.h"
#include "types/syscallret.h"
#include <stdbool.h> #include <stdbool.h>
#include <stddef.h> #include <stddef.h>
extern void *syscall_table[]; 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 struct syscall_t
{ {
@@ -38,101 +37,101 @@ struct syscall_t
* *
* @param str The string to output. * @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 #endif

View File

@@ -1,6 +0,0 @@
#ifndef QUARK_SYSCALLRET_H
#define QUARK_SYSCALLRET_H
typedef long syscallret_t;
#endif

View File

@@ -5,7 +5,7 @@
#include "platform/context.h" #include "platform/context.h"
#include "types/status.h" #include "types/status.h"
syscallret_t test_syscall(syscall_arg_t str) int test_syscall(syscall_arg_t str)
{ {
if(str.ptr != NULL) if(str.ptr != NULL)
{ {
@@ -14,7 +14,7 @@ syscallret_t test_syscall(syscall_arg_t str)
return 17; 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 location = arg_location.unsigned_int;
unsigned long length = arg_length.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; 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 location = arg_location.unsigned_int;
unsigned long length = arg_length.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; 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; void *addr = arg_addr.ptr;
physaddr_t frame = arg_phys_addr.unsigned_int; 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; 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; void *addr = arg_addr.ptr;
unsigned long length = arg_length.unsigned_int; 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; 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); 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); 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 op_type = flags.unsigned_int & IO_OP;
unsigned long dest_type = flags.unsigned_int & IO_RECIPIENT_TYPE; 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; 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); 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; return ENOSYSCALL;
} }
syscallret_t syscall_aquire_object(oid_t id, void *location) int syscall_aquire_object(oid_t id, void *location)
{ {
return ENOSYSCALL; return ENOSYSCALL;
} }
syscallret_t syscall_release_object(oid_t id) int syscall_release_object(oid_t id)
{ {
return ENOSYSCALL; return ENOSYSCALL;
} }
syscallret_t syscall_get_pid() int syscall_get_pid()
{ {
return kernel_current_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; 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; return ENOSYSCALL;
} }
syscallret_t syscall_signal_return() int syscall_signal_return()
{ {
return ENOSYSCALL; return ENOSYSCALL;
} }
syscallret_t syscall_signal_raise(pid_t pid, int sigid) int syscall_signal_raise(pid_t pid, int sigid)
{ {
return ENOSYSCALL; 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; return ENOSYSCALL;
} }
syscallret_t syscall_intr_return() int syscall_intr_return()
{ {
return ENOSYSCALL; return ENOSYSCALL;
} }