46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
/*
|
|
* pico_osal.h
|
|
*
|
|
* Created on: December 2013
|
|
* Author: Maxime Vincent
|
|
* Description: OS Abstraction Layer between PicoTCP and FreeRTOS
|
|
*
|
|
*/
|
|
|
|
#ifndef _PICO_OSAL_H_
|
|
#define _PICO_OSAL_H_
|
|
|
|
/*****************************************************************************
|
|
* Public types/enumerations/variables
|
|
****************************************************************************/
|
|
|
|
/* Queue implementation API is: */
|
|
|
|
|
|
/* Posix version of thread */
|
|
typedef void* pico_thread_t;
|
|
typedef void *(*pico_thread_fn)(void *);
|
|
|
|
void * pico_mutex_init(void);
|
|
void pico_mutex_deinit(void * mutex);
|
|
void pico_mutex_lock(void * mutex);
|
|
int pico_mutex_lock_timeout(void * mutex, int timeout);
|
|
void pico_mutex_unlock(void * mutex);
|
|
void pico_mutex_unlock_ISR(void * mutex);
|
|
|
|
void * pico_signal_init(void);
|
|
void pico_signal_deinit(void * signal);
|
|
void pico_signal_wait(void * signal);
|
|
int pico_signal_wait_timeout(void * signal, int timeout);
|
|
void pico_signal_send(void * signal);
|
|
void pico_signal_send_ISR(void * signal);
|
|
|
|
pico_thread_t pico_thread_create(pico_thread_fn thread, void *arg, int stack_size, int prio);
|
|
void pico_thread_destroy(pico_thread_t t);
|
|
void pico_msleep(int ms);
|
|
|
|
void pico_threads_schedule(void);
|
|
|
|
#endif /* _PICO_OSAL_H_ */
|
|
|