1*52a38012Sejakowatz /* 2*52a38012Sejakowatz ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 3*52a38012Sejakowatz ** Distributed under the terms of the NewOS License. 4*52a38012Sejakowatz */ 5*52a38012Sejakowatz #include <types.h> 6*52a38012Sejakowatz #ifndef _KERNEL_SYSCALLS_H 7*52a38012Sejakowatz #define _KERNEL_SYSCALLS_H 8*52a38012Sejakowatz 9*52a38012Sejakowatz enum { 10*52a38012Sejakowatz SYSCALL_NULL = 0, 11*52a38012Sejakowatz SYSCALL_MOUNT, 12*52a38012Sejakowatz SYSCALL_UNMOUNT, 13*52a38012Sejakowatz SYSCALL_SYNC, 14*52a38012Sejakowatz SYSCALL_OPEN, 15*52a38012Sejakowatz SYSCALL_CLOSE, 16*52a38012Sejakowatz SYSCALL_FSYNC, 17*52a38012Sejakowatz SYSCALL_READ, 18*52a38012Sejakowatz SYSCALL_WRITE, 19*52a38012Sejakowatz SYSCALL_SEEK, 20*52a38012Sejakowatz SYSCALL_IOCTL, /* 10 */ 21*52a38012Sejakowatz SYSCALL_CREATE, 22*52a38012Sejakowatz SYSCALL_UNLINK, 23*52a38012Sejakowatz SYSCALL_RENAME, 24*52a38012Sejakowatz SYSCALL_RSTAT, 25*52a38012Sejakowatz SYSCALL_WSTAT, 26*52a38012Sejakowatz SYSCALL_SYSTEM_TIME, 27*52a38012Sejakowatz SYSCALL_SNOOZE, 28*52a38012Sejakowatz SYSCALL_SEM_CREATE, 29*52a38012Sejakowatz SYSCALL_SEM_DELETE, 30*52a38012Sejakowatz SYSCALL_SEM_ACQUIRE, /* 20 */ 31*52a38012Sejakowatz SYSCALL_SEM_ACQUIRE_ETC, 32*52a38012Sejakowatz SYSCALL_SEM_RELEASE, 33*52a38012Sejakowatz SYSCALL_SEM_RELEASE_ETC, 34*52a38012Sejakowatz SYSCALL_GET_CURRENT_THREAD_ID, 35*52a38012Sejakowatz SYSCALL_EXIT_THREAD, 36*52a38012Sejakowatz SYSCALL_PROC_CREATE_PROC, 37*52a38012Sejakowatz SYSCALL_THREAD_WAIT_ON_THREAD, 38*52a38012Sejakowatz SYSCALL_PROC_WAIT_ON_PROC, 39*52a38012Sejakowatz SYSCALL_VM_CREATE_ANONYMOUS_REGION, 40*52a38012Sejakowatz SYSCALL_VM_CLONE_REGION, /* 30 */ 41*52a38012Sejakowatz SYSCALL_VM_MAP_FILE, 42*52a38012Sejakowatz SYSCALL_VM_DELETE_REGION, 43*52a38012Sejakowatz SYSCALL_VM_GET_REGION_INFO, 44*52a38012Sejakowatz SYSCALL_VM_FIND_REGION_BY_NAME, 45*52a38012Sejakowatz SYSCALL_SPAWN_THREAD, 46*52a38012Sejakowatz SYSCALL_KILL_THREAD, 47*52a38012Sejakowatz SYSCALL_SUSPEND_THREAD, 48*52a38012Sejakowatz SYSCALL_RESUME_THREAD, 49*52a38012Sejakowatz SYSCALL_PROC_KILL_PROC, 50*52a38012Sejakowatz SYSCALL_GET_CURRENT_PROC_ID, 51*52a38012Sejakowatz SYSCALL_GETCWD, /* 40 */ 52*52a38012Sejakowatz SYSCALL_SETCWD, 53*52a38012Sejakowatz SYSCALL_PORT_CREATE, 54*52a38012Sejakowatz SYSCALL_PORT_CLOSE, 55*52a38012Sejakowatz SYSCALL_PORT_DELETE, 56*52a38012Sejakowatz SYSCALL_PORT_FIND, 57*52a38012Sejakowatz SYSCALL_PORT_GET_INFO, 58*52a38012Sejakowatz SYSCALL_PORT_GET_NEXT_PORT_INFO, 59*52a38012Sejakowatz SYSCALL_PORT_BUFFER_SIZE, 60*52a38012Sejakowatz SYSCALL_PORT_BUFFER_SIZE_ETC, 61*52a38012Sejakowatz SYSCALL_PORT_COUNT, /* 50 */ 62*52a38012Sejakowatz SYSCALL_PORT_READ, 63*52a38012Sejakowatz SYSCALL_PORT_READ_ETC, 64*52a38012Sejakowatz SYSCALL_PORT_SET_OWNER, 65*52a38012Sejakowatz SYSCALL_PORT_WRITE, 66*52a38012Sejakowatz SYSCALL_PORT_WRITE_ETC, 67*52a38012Sejakowatz SYSCALL_SEM_GET_COUNT, 68*52a38012Sejakowatz SYSCALL_SEM_GET_SEM_INFO, 69*52a38012Sejakowatz SYSCALL_SEM_GET_NEXT_SEM_INFO, 70*52a38012Sejakowatz SYSCALL_SEM_SET_SEM_OWNER, 71*52a38012Sejakowatz SYSCALL_FDDUP, /* 60 */ 72*52a38012Sejakowatz SYSCALL_FDDUP2, 73*52a38012Sejakowatz SYSCALL_GET_PROC_TABLE, 74*52a38012Sejakowatz SYSCALL_GETRLIMIT, 75*52a38012Sejakowatz SYSCALL_SETRLIMIT, 76*52a38012Sejakowatz SYSCALL_ATOMIC_ADD, 77*52a38012Sejakowatz SYSCALL_ATOMIC_AND, 78*52a38012Sejakowatz SYSCALL_ATOMIC_OR, 79*52a38012Sejakowatz SYSCALL_ATOMIC_SET, 80*52a38012Sejakowatz SYSCALL_TEST_AND_SET,/* 70 */ 81*52a38012Sejakowatz SYSCALL_SYSCTL, 82*52a38012Sejakowatz SYSCALL_SOCKET, 83*52a38012Sejakowatz SYSCALL_GETDTABLESIZE, 84*52a38012Sejakowatz SYSCALL_FSTAT 85*52a38012Sejakowatz }; 86*52a38012Sejakowatz 87*52a38012Sejakowatz int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret); 88*52a38012Sejakowatz 89*52a38012Sejakowatz #endif 90*52a38012Sejakowatz 91