2ede91e3e3d808d1aee2333e4ebdc015d8507b9a
[barrelfish] / lib / barrelfish / syscalls.c
1 /**
2  * \file
3  * \brief User-side system call implementation, architecture-independent
4  */
5
6 /*
7  * Copyright (c) 2007, 2008, 2009, 2010, ETH Zurich.
8  * All rights reserved.
9  *
10  * This file is distributed under the terms in the attached LICENSE file.
11  * If you do not find this file, copies can be found by writing to:
12  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
13  */
14
15 #include <barrelfish/barrelfish.h>
16 #include <barrelfish/caddr.h>
17 #include <barrelfish/dispatch.h>
18 #include <barrelfish/syscall_arch.h>
19
20 /* For documentation on system calls see include/barrelfish/syscalls.h
21  */
22
23 errval_t sys_yield(capaddr_t target)
24 {
25     return syscall2(SYSCALL_YIELD, target).error;
26 }
27
28 errval_t sys_suspend(bool halt)
29 {
30     return syscall2(SYSCALL_SUSPEND, halt).error;
31 }
32
33 errval_t sys_print(const char *string, size_t length)
34 {
35     return syscall3(SYSCALL_PRINT, (uintptr_t)string, length).error;
36 }