OS abstraction layer. More...
OS abstraction layer.
Definition in file sys_arch.h.
#include <stdbool.h>
#include <stdint.h>
#include "cib.h"
#include "sched.h"
#include "mbox.h"
#include "mutex.h"
#include "random.h"
#include "sema.h"
Go to the source code of this file.
Data Structures | |
struct | sys_mbox_t |
Platform specific mailbox type. More... | |
Macros | |
#define | LWIP_COMPAT_MUTEX (0) |
System configuration. | |
Typedefs | |
typedef kernel_pid_t | sys_thread_t |
Platform specific thread type. | |
Variables | |
kernel_pid_t | lwip_tcpip_thread |
PID of the lwIP TCP/IP thread. | |
Critical sections protection definitions | |
#define | SYS_ARCH_PROTECT(x) mutex_lock(&x) |
#define | SYS_ARCH_UNPROTECT(x) mutex_unlock(&x) |
#define | SYS_ARCH_DECL_PROTECT(x) mutex_t x = MUTEX_INIT |
Semaphores definitions | |
#define | sys_sem_valid(sem) (sys_sem_valid(sem)) |
#define | sys_sem_set_invalid(sem) |
typedef sema_t | sys_sem_t |
Platform specific semaphore type. | |
static bool | sys_sem_valid (sys_sem_t *sem) |
Mutexes definitions | |
#define | sys_mutex_valid(mutex) (sys_mutex_valid(mutex)) |
#define | sys_mutex_set_invalid(mutex) |
typedef mutex_t | sys_mutex_t |
Platform specific mutex type. | |
static bool | sys_mutex_valid (sys_mutex_t *mutex) |
Mailboxes OS abstraction layer definitions | |
#define | SYS_MBOX_SIZE (8) |
#define | sys_mbox_valid(mbox) (sys_mbox_valid(mbox)) |
#define | sys_mbox_set_invalid(mbox) (sys_mbox_set_invalid(mbox)) |
static bool | sys_mbox_valid (sys_mbox_t *mbox) |
static void | sys_mbox_set_invalid (sys_mbox_t *mbox) |
Functions for locking/unlocking core to assure thread safety. | |
#define | LOCK_TCPIP_CORE() sys_lock_tcpip_core() |
#define | UNLOCK_TCPIP_CORE() sys_unlock_tcpip_core() |
void | sys_lock_tcpip_core (void) |
void | sys_unlock_tcpip_core (void) |