21#ifndef ARCH_SYS_ARCH_H
22#define ARCH_SYS_ARCH_H
42#define LWIP_COMPAT_MUTEX (0)
49#define SYS_ARCH_PROTECT(x) mutex_lock(&x)
50#define SYS_ARCH_UNPROTECT(x) mutex_unlock(&x)
51#define SYS_ARCH_DECL_PROTECT(x) mutex_t x = MUTEX_INIT
61static inline bool sys_sem_valid(
sys_sem_t *sem)
66#define sys_sem_valid(sem) (sys_sem_valid(sem))
68#define sys_sem_set_invalid(sem)
78static inline bool sys_mutex_valid(
sys_mutex_t *mutex)
83#define sys_mutex_valid(mutex) (sys_mutex_valid(mutex))
84#define sys_mutex_set_invalid(mutex)
92#define SYS_MBOX_SIZE (8)
102static inline bool sys_mbox_valid(
sys_mbox_t *mbox)
107static inline void sys_mbox_set_invalid(
sys_mbox_t *mbox)
114#define sys_mbox_valid(mbox) (sys_mbox_valid(mbox))
115#define sys_mbox_set_invalid(mbox) (sys_mbox_set_invalid(mbox))
126void sys_lock_tcpip_core(
void);
127#define LOCK_TCPIP_CORE() sys_lock_tcpip_core()
128void sys_unlock_tcpip_core(
void);
129#define UNLOCK_TCPIP_CORE() sys_unlock_tcpip_core()
136#define LWIP_RAND() (random_uint32())
Circular integer buffer interface.
static void mbox_unset(mbox_t *mbox)
Unset's the mbox, effectively deinitializing and invalidating it.
static size_t mbox_size(mbox_t *mbox)
Get mbox queue size (capacity)
int16_t kernel_pid_t
Unique process identifier.
mutex_t sys_mutex_t
Platform specific mutex type.
sema_t sys_sem_t
Platform specific semaphore type.
kernel_pid_t sys_thread_t
Platform specific thread type.
kernel_pid_t lwip_tcpip_thread
PID of the lwIP TCP/IP thread.
Mutex for thread synchronization.
Common interface to the software PRNG.
Scheduler API definition.
Mailbox struct definition.
Describes a message object which can be sent between threads.
Platform specific mailbox type.