Go to the documentation of this file.
21 #ifndef ARCH_SYS_ARCH_H
22 #define ARCH_SYS_ARCH_H
42 #define LWIP_COMPAT_MUTEX (0)
50 #define SYS_ARCH_PROTECT(x) mutex_lock(&x)
51 #define SYS_ARCH_UNPROTECT(x) mutex_unlock(&x)
52 #define SYS_ARCH_DECL_PROTECT(x) mutex_t x = MUTEX_INIT
61 static 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)
77 static inline bool sys_mutex_valid(
sys_mutex_t *mutex)
82 #define sys_mutex_valid(mutex) (sys_mutex_valid(mutex))
83 #define sys_mutex_set_invalid(mutex)
91 #define SYS_MBOX_SIZE (8)
101 static inline bool sys_mbox_valid(
sys_mbox_t *mbox)
103 return (mbox != NULL) && (mbox->
mbox.
cib.
mask != 0);
106 static inline void sys_mbox_set_invalid(
sys_mbox_t *mbox)
113 #define sys_mbox_valid(mbox) (sys_mbox_valid(mbox))
114 #define sys_mbox_set_invalid(mbox) (sys_mbox_set_invalid(mbox))
123 #define LWIP_RAND() (random_uint32())
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.
Scheduler API definition.
Common interface to the software PRNG.
unsigned int mask
Size of buffer -1, i.e.
Mailbox struct definition.
Platform specific mailbox type.
Circular integer buffer interface.
Mutex for thread synchronization.
Describes a message object which can be sent between threads.
kernel_pid_t sys_thread_t
Platform specific thread type.
cib_t cib
cib for msg array