xref: /haiku/headers/private/kernel/ksyscalls.h (revision 4c405cbdd43a20546d1d0a71b75f7ede417fe5fc)
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