summaryrefslogtreecommitdiffstats
path: root/sys/syscall_message.c
blob: 5edf33fa8d88e520dbd4debc0711ef8a03ee7ec4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "api/error.h"
#include "sys/message.h"
#include "sys/syscall.h"

int
_syscall_handle_message(syscall_context_t *ctx)
{
    switch(ctx->header->callid) {
        case SYSCALL_OBJDIR_OBJTYPE:
            if(ctx->target.permissions & SYSCALL_PERM_OBJDIR_OBJTYPE)
                return message_len(ctx->message.obj);
            return -EPERM;
        default:
            return -EBADCALL;
    }
}