Viewing: sys_arch.h
📄 sys_arch.h (Read Only) ⬅ To go back
#ifndef LWIP_ARCH_SYS_ARCH_H
#define LWIP_ARCH_SYS_ARCH_H

#include "sync.h"
#include <stdint.h>

/* lwIP sys_arch types backed by AdrOS kernel primitives */

typedef ksem_t*   sys_sem_t;
typedef kmutex_t* sys_mutex_t;
typedef kmbox_t*  sys_mbox_t;
typedef void*     sys_thread_t;
typedef uintptr_t sys_prot_t;

#define sys_sem_valid(s)           ((s) != NULL && *(s) != NULL)
#define sys_sem_valid_val(s)       ((s) != NULL)
#define sys_sem_set_invalid(s)     do { if (s) *(s) = NULL; } while(0)

#define sys_mutex_valid(m)         ((m) != NULL && *(m) != NULL)
#define sys_mutex_valid_val(m)     ((m) != NULL)
#define sys_mutex_set_invalid(m)   do { if (m) *(m) = NULL; } while(0)

#define sys_mbox_valid(mb)         ((mb) != NULL && *(mb) != NULL)
#define sys_mbox_valid_val(mb)     ((mb) != NULL)
#define sys_mbox_set_invalid(mb)   do { if (mb) *(mb) = NULL; } while(0)

#endif /* LWIP_ARCH_SYS_ARCH_H */