1/*
2 * Copyright (c) 2007, 2008, 2009, 2011, 2012, ETH Zurich.
3 * All rights reserved.
4 *
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
8 */
9
10#ifndef SYS_ARCH_H
11#define SYS_ARCH_H
12
13#include <stdbool.h>
14#include <assert.h>
15#include <barrelfish/thread_sync.h>
16
17/// Protection level
18typedef u8_t    sys_prot_t;
19
20typedef struct thread_wrapper *sys_thread_t;
21
22typedef struct thread_sem *sys_sem_t;
23
24struct bf_sys_mbox {
25    void *msg;
26    bool empty;
27    struct thread_mutex mutex;
28    struct thread_cond changed_cond;
29};
30typedef struct bf_sys_mbox * sys_mbox_t;
31
32
33#define SYS_MBOX_NULL   0
34#define SYS_SEM_NULL    0
35
36#endif
37