Port for RT-Thread

pull/3543/head
WKJay 2020-12-07 16:22:28 +08:00
parent d475463c91
commit 227faedcc7
3 changed files with 41 additions and 0 deletions

View File

@ -963,6 +963,40 @@ int wolfSSL_CryptHwMutexUnLock(void)
return 0;
}
#elif defined(RTTHREAD)
int wc_InitMutex(wolfSSL_Mutex* m)
{
int iReturn;
*m = ( wolfSSL_Mutex ) rt_mutex_create("mutex",RT_IPC_FLAG_FIFO);
if( *m != NULL )
iReturn = 0;
else
iReturn = BAD_MUTEX_E;
return iReturn;
}
int wc_FreeMutex(wolfSSL_Mutex* m)
{
rt_mutex_delete( *m );
return 0;
}
int wc_LockMutex(wolfSSL_Mutex* m)
{
/* Assume an infinite block, or should there be zero block? */
return rt_mutex_take( *m, RT_WAITING_FOREVER );
}
int wc_UnLockMutex(wolfSSL_Mutex* m)
{
return rt_mutex_release( *m );
}
#elif defined(WOLFSSL_SAFERTOS)
int wc_InitMutex(wolfSSL_Mutex* m)

View File

@ -146,6 +146,8 @@
/* do nothing, just don't pick Unix */
#elif defined(FREERTOS) || defined(FREERTOS_TCP) || defined(WOLFSSL_SAFERTOS)
/* do nothing */
#elif defined(RTTHREAD)
/* do nothing */
#elif defined(EBSNET)
/* do nothing */
#elif defined(FREESCALE_MQX) || defined(FREESCALE_KSDK_MQX)

View File

@ -207,6 +207,8 @@
/* do nothing, just don't pick Unix */
#elif defined(FREERTOS) || defined(FREERTOS_TCP) || defined(WOLFSSL_SAFERTOS)
/* do nothing */
#elif defined(RTTHREAD)
/* do nothing */
#elif defined(EBSNET)
/* do nothing */
#elif defined(FREESCALE_MQX) || defined(FREESCALE_KSDK_MQX)
@ -312,6 +314,9 @@
#include "FreeRTOS.h"
#include "semphr.h"
typedef SemaphoreHandle_t wolfSSL_Mutex;
#elif defined (RTTHREAD)
#include "rtthread.h"
typedef rt_mutex_t wolfSSL_Mutex;
#elif defined(WOLFSSL_SAFERTOS)
typedef struct wolfSSL_Mutex {
signed char mutexBuffer[portQUEUE_OVERHEAD_BYTES];