152a38012Sejakowatz /* 252a38012Sejakowatz ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 352a38012Sejakowatz ** Distributed under the terms of the NewOS License. 452a38012Sejakowatz */ 5f8d76107SAxel Dörfler 652a38012Sejakowatz #include <types.h> 752a38012Sejakowatz #ifndef _KERNEL_SYSCALLS_H 852a38012Sejakowatz #define _KERNEL_SYSCALLS_H 952a38012Sejakowatz 1052a38012Sejakowatz enum { 1152a38012Sejakowatz SYSCALL_NULL = 0, 1252a38012Sejakowatz SYSCALL_MOUNT, 1352a38012Sejakowatz SYSCALL_UNMOUNT, 1452a38012Sejakowatz SYSCALL_SYNC, 1552a38012Sejakowatz SYSCALL_OPEN, 1652a38012Sejakowatz SYSCALL_CLOSE, 1752a38012Sejakowatz SYSCALL_FSYNC, 1852a38012Sejakowatz SYSCALL_READ, 1952a38012Sejakowatz SYSCALL_WRITE, 2052a38012Sejakowatz SYSCALL_SEEK, 2152a38012Sejakowatz SYSCALL_IOCTL, /* 10 */ 2252a38012Sejakowatz SYSCALL_CREATE, 2352a38012Sejakowatz SYSCALL_UNLINK, 2452a38012Sejakowatz SYSCALL_RENAME, 2552a38012Sejakowatz SYSCALL_RSTAT, 2652a38012Sejakowatz SYSCALL_WSTAT, 2752a38012Sejakowatz SYSCALL_SYSTEM_TIME, 2852a38012Sejakowatz SYSCALL_SNOOZE, 2952a38012Sejakowatz SYSCALL_SEM_CREATE, 3052a38012Sejakowatz SYSCALL_SEM_DELETE, 3152a38012Sejakowatz SYSCALL_SEM_ACQUIRE, /* 20 */ 3252a38012Sejakowatz SYSCALL_SEM_ACQUIRE_ETC, 3352a38012Sejakowatz SYSCALL_SEM_RELEASE, 3452a38012Sejakowatz SYSCALL_SEM_RELEASE_ETC, 3552a38012Sejakowatz SYSCALL_GET_CURRENT_THREAD_ID, 3652a38012Sejakowatz SYSCALL_EXIT_THREAD, 3752a38012Sejakowatz SYSCALL_PROC_CREATE_PROC, 3852a38012Sejakowatz SYSCALL_THREAD_WAIT_ON_THREAD, 3952a38012Sejakowatz SYSCALL_PROC_WAIT_ON_PROC, 4052a38012Sejakowatz SYSCALL_VM_CREATE_ANONYMOUS_REGION, 4152a38012Sejakowatz SYSCALL_VM_CLONE_REGION, /* 30 */ 4252a38012Sejakowatz SYSCALL_VM_MAP_FILE, 4352a38012Sejakowatz SYSCALL_VM_DELETE_REGION, 4452a38012Sejakowatz SYSCALL_VM_GET_REGION_INFO, 4552a38012Sejakowatz SYSCALL_VM_FIND_REGION_BY_NAME, 4652a38012Sejakowatz SYSCALL_SPAWN_THREAD, 4752a38012Sejakowatz SYSCALL_KILL_THREAD, 4852a38012Sejakowatz SYSCALL_SUSPEND_THREAD, 4952a38012Sejakowatz SYSCALL_RESUME_THREAD, 5052a38012Sejakowatz SYSCALL_PROC_KILL_PROC, 5152a38012Sejakowatz SYSCALL_GET_CURRENT_PROC_ID, 5252a38012Sejakowatz SYSCALL_GETCWD, /* 40 */ 5352a38012Sejakowatz SYSCALL_SETCWD, 5452a38012Sejakowatz SYSCALL_PORT_CREATE, 5552a38012Sejakowatz SYSCALL_PORT_CLOSE, 5652a38012Sejakowatz SYSCALL_PORT_DELETE, 5752a38012Sejakowatz SYSCALL_PORT_FIND, 5852a38012Sejakowatz SYSCALL_PORT_GET_INFO, 5952a38012Sejakowatz SYSCALL_PORT_GET_NEXT_PORT_INFO, 6052a38012Sejakowatz SYSCALL_PORT_BUFFER_SIZE, 6152a38012Sejakowatz SYSCALL_PORT_BUFFER_SIZE_ETC, 6252a38012Sejakowatz SYSCALL_PORT_COUNT, /* 50 */ 6352a38012Sejakowatz SYSCALL_PORT_READ, 6452a38012Sejakowatz SYSCALL_PORT_READ_ETC, 6552a38012Sejakowatz SYSCALL_PORT_SET_OWNER, 6652a38012Sejakowatz SYSCALL_PORT_WRITE, 6752a38012Sejakowatz SYSCALL_PORT_WRITE_ETC, 6852a38012Sejakowatz SYSCALL_SEM_GET_COUNT, 6952a38012Sejakowatz SYSCALL_SEM_GET_SEM_INFO, 7052a38012Sejakowatz SYSCALL_SEM_GET_NEXT_SEM_INFO, 7152a38012Sejakowatz SYSCALL_SEM_SET_SEM_OWNER, 7252a38012Sejakowatz SYSCALL_FDDUP, /* 60 */ 7352a38012Sejakowatz SYSCALL_FDDUP2, 7452a38012Sejakowatz SYSCALL_GET_PROC_TABLE, 7552a38012Sejakowatz SYSCALL_GETRLIMIT, 7652a38012Sejakowatz SYSCALL_SETRLIMIT, 7752a38012Sejakowatz SYSCALL_ATOMIC_ADD, 7852a38012Sejakowatz SYSCALL_ATOMIC_AND, 7952a38012Sejakowatz SYSCALL_ATOMIC_OR, 8052a38012Sejakowatz SYSCALL_ATOMIC_SET, 8152a38012Sejakowatz SYSCALL_TEST_AND_SET,/* 70 */ 8252a38012Sejakowatz SYSCALL_SYSCTL, 8352a38012Sejakowatz SYSCALL_SOCKET, 8452a38012Sejakowatz SYSCALL_GETDTABLESIZE, 85f8d76107SAxel Dörfler SYSCALL_FSTAT, 86f8d76107SAxel Dörfler SYSCALL_READ_DIR, 87f8d76107SAxel Dörfler SYSCALL_REWIND_DIR, 88eba8b6cfSAxel Dörfler SYSCALL_OPEN_DIR, 89*0ba337c0Slillo SYSCALL_CREATE_DIR, 90*0ba337c0Slillo SYSCALL_SETENV, 91*0ba337c0Slillo SYSCALL_GETENV /* 80 */ 9252a38012Sejakowatz }; 9352a38012Sejakowatz 9452a38012Sejakowatz int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret); 9552a38012Sejakowatz 9652a38012Sejakowatz #endif 9752a38012Sejakowatz 98