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