|
@@ -29,78 +29,9 @@
|
|
|
#include <exception.h>
|
|
|
#include <pipe.h>
|
|
|
|
|
|
-extern qword_t syscall_function(const void*, dword_t*, dword_t);
|
|
|
+extern sysret_t syscall_function(const void*, dword_t*, dword_t);
|
|
|
|
|
|
-const void *service_table[] =
|
|
|
-{
|
|
|
- &syscall_alloc_memory,
|
|
|
- &syscall_clock_get_time,
|
|
|
- &syscall_clock_set_time,
|
|
|
- &syscall_close_object,
|
|
|
- &syscall_commit_memory,
|
|
|
- &syscall_connect_pipeline,
|
|
|
- &syscall_create_memory_section,
|
|
|
- &syscall_create_pipeline,
|
|
|
- &syscall_create_process,
|
|
|
- &syscall_create_semaphore,
|
|
|
- &syscall_create_thread,
|
|
|
- &syscall_create_user,
|
|
|
- &syscall_delete_file,
|
|
|
- &syscall_delete_user,
|
|
|
- &syscall_device_ioctl,
|
|
|
- &syscall_duplicate_handle,
|
|
|
- &syscall_enum_processes,
|
|
|
- &syscall_flush_memory_section,
|
|
|
- &syscall_free_memory,
|
|
|
- &syscall_freeze_thread,
|
|
|
- &syscall_get_exception_info,
|
|
|
- &syscall_get_milliseconds,
|
|
|
- &syscall_get_nanoseconds,
|
|
|
- &syscall_list_directory,
|
|
|
- &syscall_listen_pipeline,
|
|
|
- &syscall_logon_user,
|
|
|
- &syscall_map_memory_section,
|
|
|
- &syscall_mount,
|
|
|
- &syscall_open_file,
|
|
|
- &syscall_open_memory_section,
|
|
|
- &syscall_open_pipeline,
|
|
|
- &syscall_open_process,
|
|
|
- &syscall_open_semaphore,
|
|
|
- &syscall_open_thread,
|
|
|
- &syscall_power_control,
|
|
|
- &syscall_query_file,
|
|
|
- &syscall_query_handle,
|
|
|
- &syscall_query_memory,
|
|
|
- &syscall_query_process,
|
|
|
- &syscall_query_thread,
|
|
|
- &syscall_query_user,
|
|
|
- &syscall_raise_exception,
|
|
|
- &syscall_read_file,
|
|
|
- &syscall_read_memory,
|
|
|
- &syscall_read_pipe,
|
|
|
- &syscall_release_semaphore,
|
|
|
- &syscall_restore_exception_handler,
|
|
|
- &syscall_revert_user,
|
|
|
- &syscall_save_exception_handler,
|
|
|
- &syscall_set_file,
|
|
|
- &syscall_set_memory_flags,
|
|
|
- &syscall_set_thread,
|
|
|
- &syscall_set_user_id,
|
|
|
- &syscall_sleep,
|
|
|
- &syscall_terminate,
|
|
|
- &syscall_terminate_thread,
|
|
|
- &syscall_thaw_thread,
|
|
|
- &syscall_uncommit_memory,
|
|
|
- &syscall_unmount,
|
|
|
- &syscall_wait_directory_event,
|
|
|
- &syscall_wait_process,
|
|
|
- &syscall_wait_semaphore,
|
|
|
- &syscall_wait_thread,
|
|
|
- &syscall_write_file,
|
|
|
- &syscall_write_memory,
|
|
|
- &syscall_write_pipe,
|
|
|
- &syscall_yield_quantum,
|
|
|
-};
|
|
|
+#include "syscall_table.inl"
|
|
|
|
|
|
static void system_service_handler(registers_t *regs, byte_t int_num)
|
|
|
{
|