1 #ifndef __LIB_LWIP_ARCH_SYS_ARCH_H 2 #define __LIB_LWIP_ARCH_SYS_ARCH_H 3 4 #include <kernel/thread.h> 5 #include <kernel/semaphore.h> 6 #include <kernel/mutex.h> 7 8 #define MBOX_MAGIC 'mbox' 9 10 typedef semaphore_t sys_sem_t; 11 typedef mutex_t sys_mutex_t; 12 13 typedef struct { 14 uint32_t magic; 15 16 semaphore_t empty; 17 semaphore_t full; 18 mutex_t lock; 19 20 int head; 21 int tail; 22 23 int size; 24 25 void **queue; 26 } sys_mbox_t; 27 28 typedef thread_t * sys_thread_t; 29 30 #endif 31 32