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, 25ae372703SAxel Dörfler SYSCALL_READ_STAT, 26ae372703SAxel Dörfler SYSCALL_WRITE_STAT, 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, 373cfbecf1Slillo SYSCALL_CREATE_TEAM, 383cfbecf1Slillo SYSCALL_WAIT_ON_THREAD, 393cfbecf1Slillo SYSCALL_WAIT_ON_TEAM, 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, 503cfbecf1Slillo SYSCALL_KILL_TEAM, 513cfbecf1Slillo SYSCALL_GET_CURRENT_TEAM_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, 84854fc92aSAxel Dörfler SYSCALL_ACCESS, 85854fc92aSAxel Dörfler SYSCALL_READ_STAT_FD, 86f8d76107SAxel Dörfler SYSCALL_READ_DIR, 87f8d76107SAxel Dörfler SYSCALL_REWIND_DIR, 88eba8b6cfSAxel Dörfler SYSCALL_OPEN_DIR, 890ba337c0Slillo SYSCALL_CREATE_DIR, 900ba337c0Slillo SYSCALL_SETENV, 91973b9ee6SAxel Dörfler SYSCALL_GETENV, /* 80 */ 92973b9ee6SAxel Dörfler SYSCALL_OPEN_ENTRY_REF, 93973b9ee6SAxel Dörfler SYSCALL_OPEN_DIR_ENTRY_REF, 94973b9ee6SAxel Dörfler SYSCALL_OPEN_DIR_NODE_REF, 95973b9ee6SAxel Dörfler SYSCALL_CREATE_ENTRY_REF, 96ae372703SAxel Dörfler SYSCALL_CREATE_DIR_ENTRY_REF, 97ae372703SAxel Dörfler SYSCALL_CREATE_SYMLINK, 98ae372703SAxel Dörfler SYSCALL_READ_LINK, 99854c31f8Slillo SYSCALL_GET_THREAD_INFO, 100854c31f8Slillo SYSCALL_GET_NEXT_THREAD_INFO, 101854c31f8Slillo SYSCALL_GET_TEAM_INFO, /* 90 */ 102854c31f8Slillo SYSCALL_GET_NEXT_TEAM_INFO, 103*4c405cbdSAxel Dörfler SYSCALL_CREATE_LINK, 104*4c405cbdSAxel Dörfler SYSCALL_REMOVE_DIR, 10552a38012Sejakowatz }; 10652a38012Sejakowatz 10752a38012Sejakowatz int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret); 10852a38012Sejakowatz 10952a38012Sejakowatz #endif 11052a38012Sejakowatz 111