32 #ifndef LWIP_HDR_SYS_H 33 #define LWIP_HDR_SYS_H 49 #define sys_sem_new(s, c) ERR_OK 50 #define sys_sem_signal(s) 51 #define sys_sem_wait(s) 52 #define sys_arch_sem_wait(s,t) 53 #define sys_sem_free(s) 54 #define sys_sem_valid(s) 0 55 #define sys_sem_valid_val(s) 0 56 #define sys_sem_set_invalid(s) 57 #define sys_sem_set_invalid_val(s) 58 #define sys_mutex_new(mu) ERR_OK 59 #define sys_mutex_lock(mu) 60 #define sys_mutex_unlock(mu) 61 #define sys_mutex_free(mu) 62 #define sys_mutex_valid(mu) 0 63 #define sys_mutex_set_invalid(mu) 64 #define sys_mbox_new(m, s) ERR_OK 65 #define sys_mbox_fetch(m,d) 66 #define sys_mbox_tryfetch(m,d) 67 #define sys_mbox_post(m,d) 68 #define sys_mbox_trypost(m,d) 69 #define sys_mbox_free(m) 70 #define sys_mbox_valid(m) 71 #define sys_mbox_valid_val(m) 72 #define sys_mbox_set_invalid(m) 73 #define sys_mbox_set_invalid_val(m) 75 #define sys_thread_new(n,t,a,s,p) 82 #define SYS_ARCH_TIMEOUT 0xffffffffUL 87 #define SYS_MBOX_EMPTY SYS_ARCH_TIMEOUT 102 #if LWIP_COMPAT_MUTEX 104 #define sys_mutex_t sys_sem_t 105 #define sys_mutex_new(mutex) sys_sem_new(mutex, 1) 106 #define sys_mutex_lock(mutex) sys_sem_wait(mutex) 107 #define sys_mutex_unlock(mutex) sys_sem_signal(mutex) 108 #define sys_mutex_free(mutex) sys_sem_free(mutex) 109 #define sys_mutex_valid(mutex) sys_sem_valid(mutex) 110 #define sys_mutex_set_invalid(mutex) sys_sem_set_invalid(mutex) 127 #ifndef sys_mutex_valid 131 #ifndef sys_mutex_set_invalid 157 #define sys_sem_wait(sem) sys_arch_sem_wait(sem, 0) 158 #ifndef sys_sem_valid 162 #ifndef sys_sem_set_invalid 166 #ifndef sys_sem_valid_val 168 #define sys_sem_valid_val(sem) sys_sem_valid(&(sem)) 170 #ifndef sys_sem_set_invalid_val 172 #define sys_sem_set_invalid_val(sem) sys_sem_set_invalid(&(sem)) 205 #ifndef sys_arch_mbox_tryfetch 214 #define sys_mbox_tryfetch(mbox, msg) sys_arch_mbox_tryfetch(mbox, msg) 218 #define sys_mbox_fetch(mbox, msg) sys_arch_mbox_fetch(mbox, msg, 0) 219 #ifndef sys_mbox_valid 223 #ifndef sys_mbox_set_invalid 227 #ifndef sys_mbox_valid_val 229 #define sys_mbox_valid_val(mbox) sys_mbox_valid(&(mbox)) 231 #ifndef sys_mbox_set_invalid_val 233 #define sys_mbox_set_invalid_val(mbox) sys_mbox_set_invalid(&(mbox)) 266 #ifndef SYS_ARCH_PROTECT 272 #if SYS_LIGHTWEIGHT_PROT 279 #define SYS_ARCH_DECL_PROTECT(lev) sys_prot_t lev 289 #define SYS_ARCH_PROTECT(lev) lev = sys_arch_protect() 298 #define SYS_ARCH_UNPROTECT(lev) sys_arch_unprotect(lev) 304 #define SYS_ARCH_DECL_PROTECT(lev) 305 #define SYS_ARCH_PROTECT(lev) 306 #define SYS_ARCH_UNPROTECT(lev) 318 #define SYS_ARCH_INC(var, val) do { \ 319 SYS_ARCH_DECL_PROTECT(old_level); \ 320 SYS_ARCH_PROTECT(old_level); \ 322 SYS_ARCH_UNPROTECT(old_level); \ 327 #define SYS_ARCH_DEC(var, val) do { \ 328 SYS_ARCH_DECL_PROTECT(old_level); \ 329 SYS_ARCH_PROTECT(old_level); \ 331 SYS_ARCH_UNPROTECT(old_level); \ 336 #define SYS_ARCH_GET(var, ret) do { \ 337 SYS_ARCH_DECL_PROTECT(old_level); \ 338 SYS_ARCH_PROTECT(old_level); \ 340 SYS_ARCH_UNPROTECT(old_level); \ 345 #define SYS_ARCH_SET(var, val) do { \ 346 SYS_ARCH_DECL_PROTECT(old_level); \ 347 SYS_ARCH_PROTECT(old_level); \ 349 SYS_ARCH_UNPROTECT(old_level); \ sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg, int stacksize, int prio)
err_t sys_mutex_new(sys_mutex_t *mutex)
int sys_mbox_valid(sys_mbox_t *mbox)
void sys_mutex_unlock(sys_mutex_t *mutex)
void sys_mutex_lock(sys_mutex_t *mutex)
void sys_sem_set_invalid(sys_sem_t *sem)
u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout)
void sys_mutex_set_invalid(sys_mutex_t *mutex)
void sys_sem_free(sys_sem_t *sem)
err_t sys_sem_new(sys_sem_t *sem, u8_t count)
u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg)
int sys_sem_valid(sys_sem_t *sem)
err_t sys_mbox_new(sys_mbox_t *mbox, int size)
sys_prot_t sys_arch_protect(void)
void(* lwip_thread_fn)(void *arg)
int sys_mutex_valid(sys_mutex_t *mutex)
void sys_mutex_free(sys_mutex_t *mutex)
u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)
err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg)
void sys_arch_unprotect(sys_prot_t pval)
void sys_msleep(u32_t ms)
void sys_mbox_post(sys_mbox_t *mbox, void *msg)
void sys_sem_signal(sys_sem_t *sem)
void sys_mbox_set_invalid(sys_mbox_t *mbox)
void sys_mbox_free(sys_mbox_t *mbox)
osSemaphoreId sys_mutex_t