diff options
Diffstat (limited to 'sys/syscall_pcb.c')
| -rw-r--r-- | sys/syscall_pcb.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sys/syscall_pcb.c b/sys/syscall_pcb.c new file mode 100644 index 0000000..b77be95 --- /dev/null +++ b/sys/syscall_pcb.c @@ -0,0 +1,26 @@ +#include "api/error.h" +#include "lib/printf.h" +#include "syscall.h" + +int +s_syscall_pcb_yield(jove_owned_obj_t *pcb_obj, + size_t bytes_left, + void *payload_data) +{ + kprintf("%s: Stub!\n", __func__); + return 0; +} + +int +_syscall_handle_pcb(syscall_context_t *ctx) +{ + switch(ctx->header->callid) { + case SYSCALL_PCB_YIELD: + if(ctx->target.permissions & SYSCALL_PERM_PCB_YIELD) + return s_syscall_pcb_yield(ctx->target.obj, ctx->bytes_left, ctx->payload); + return -EPERM; + + default: + return -EBADCALL; + } +} |
