haiku/headers/private/kernel/ksyscalls.h
Axel Dörfler 4c405cbdd4 The fs interface functions should now return a "status_t" rather than an "int".
Added syscalls for, and implemented sys_create_link(), sys_remove_dir().
Implemented link(), unlink(), rmdir().
Fixed the inconsistent path buffer handling in the user|sys vfs functions; the
path buffer is now exactly SYS_MAX_PATH_LEN from userland (incl. terminating
null byte).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 20:39:25 +00:00

111 lines
2.4 KiB
C
Executable File

/*
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License.
*/
#include <types.h>
#ifndef _KERNEL_SYSCALLS_H
#define _KERNEL_SYSCALLS_H
enum {
SYSCALL_NULL = 0,
SYSCALL_MOUNT,
SYSCALL_UNMOUNT,
SYSCALL_SYNC,
SYSCALL_OPEN,
SYSCALL_CLOSE,
SYSCALL_FSYNC,
SYSCALL_READ,
SYSCALL_WRITE,
SYSCALL_SEEK,
SYSCALL_IOCTL, /* 10 */
SYSCALL_CREATE,
SYSCALL_UNLINK,
SYSCALL_RENAME,
SYSCALL_READ_STAT,
SYSCALL_WRITE_STAT,
SYSCALL_SYSTEM_TIME,
SYSCALL_SNOOZE,
SYSCALL_SEM_CREATE,
SYSCALL_SEM_DELETE,
SYSCALL_SEM_ACQUIRE, /* 20 */
SYSCALL_SEM_ACQUIRE_ETC,
SYSCALL_SEM_RELEASE,
SYSCALL_SEM_RELEASE_ETC,
SYSCALL_GET_CURRENT_THREAD_ID,
SYSCALL_EXIT_THREAD,
SYSCALL_CREATE_TEAM,
SYSCALL_WAIT_ON_THREAD,
SYSCALL_WAIT_ON_TEAM,
SYSCALL_VM_CREATE_ANONYMOUS_REGION,
SYSCALL_VM_CLONE_REGION, /* 30 */
SYSCALL_VM_MAP_FILE,
SYSCALL_VM_DELETE_REGION,
SYSCALL_VM_GET_REGION_INFO,
SYSCALL_VM_FIND_REGION_BY_NAME,
SYSCALL_SPAWN_THREAD,
SYSCALL_KILL_THREAD,
SYSCALL_SUSPEND_THREAD,
SYSCALL_RESUME_THREAD,
SYSCALL_KILL_TEAM,
SYSCALL_GET_CURRENT_TEAM_ID,
SYSCALL_GETCWD, /* 40 */
SYSCALL_SETCWD,
SYSCALL_PORT_CREATE,
SYSCALL_PORT_CLOSE,
SYSCALL_PORT_DELETE,
SYSCALL_PORT_FIND,
SYSCALL_PORT_GET_INFO,
SYSCALL_PORT_GET_NEXT_PORT_INFO,
SYSCALL_PORT_BUFFER_SIZE,
SYSCALL_PORT_BUFFER_SIZE_ETC,
SYSCALL_PORT_COUNT, /* 50 */
SYSCALL_PORT_READ,
SYSCALL_PORT_READ_ETC,
SYSCALL_PORT_SET_OWNER,
SYSCALL_PORT_WRITE,
SYSCALL_PORT_WRITE_ETC,
SYSCALL_SEM_GET_COUNT,
SYSCALL_SEM_GET_SEM_INFO,
SYSCALL_SEM_GET_NEXT_SEM_INFO,
SYSCALL_SEM_SET_SEM_OWNER,
SYSCALL_FDDUP, /* 60 */
SYSCALL_FDDUP2,
SYSCALL_GET_PROC_TABLE,
SYSCALL_GETRLIMIT,
SYSCALL_SETRLIMIT,
SYSCALL_ATOMIC_ADD,
SYSCALL_ATOMIC_AND,
SYSCALL_ATOMIC_OR,
SYSCALL_ATOMIC_SET,
SYSCALL_TEST_AND_SET, /* 70 */
SYSCALL_SYSCTL,
SYSCALL_SOCKET,
SYSCALL_ACCESS,
SYSCALL_READ_STAT_FD,
SYSCALL_READ_DIR,
SYSCALL_REWIND_DIR,
SYSCALL_OPEN_DIR,
SYSCALL_CREATE_DIR,
SYSCALL_SETENV,
SYSCALL_GETENV, /* 80 */
SYSCALL_OPEN_ENTRY_REF,
SYSCALL_OPEN_DIR_ENTRY_REF,
SYSCALL_OPEN_DIR_NODE_REF,
SYSCALL_CREATE_ENTRY_REF,
SYSCALL_CREATE_DIR_ENTRY_REF,
SYSCALL_CREATE_SYMLINK,
SYSCALL_READ_LINK,
SYSCALL_GET_THREAD_INFO,
SYSCALL_GET_NEXT_THREAD_INFO,
SYSCALL_GET_TEAM_INFO, /* 90 */
SYSCALL_GET_NEXT_TEAM_INFO,
SYSCALL_CREATE_LINK,
SYSCALL_REMOVE_DIR,
};
int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret);
#endif