mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 10:47:28 +02:00
Merge pull request #5227 from LinuxJedi/embOS-emNET
Support for SEGGER embOS and emNET
This commit is contained in:
@ -625,6 +625,8 @@ void* wolfSSL_Malloc(size_t size, void* heap, int type)
|
|||||||
#ifndef WOLFSSL_NO_MALLOC
|
#ifndef WOLFSSL_NO_MALLOC
|
||||||
#ifdef FREERTOS
|
#ifdef FREERTOS
|
||||||
res = pvPortMalloc(size);
|
res = pvPortMalloc(size);
|
||||||
|
#elif defined(WOLFSSL_EMBOS)
|
||||||
|
res = OS_HEAP_malloc(size);
|
||||||
#else
|
#else
|
||||||
res = malloc(size);
|
res = malloc(size);
|
||||||
#endif
|
#endif
|
||||||
@ -776,6 +778,8 @@ void wolfSSL_Free(void *ptr, void* heap, int type)
|
|||||||
#ifndef WOLFSSL_NO_MALLOC
|
#ifndef WOLFSSL_NO_MALLOC
|
||||||
#ifdef FREERTOS
|
#ifdef FREERTOS
|
||||||
vPortFree(ptr);
|
vPortFree(ptr);
|
||||||
|
#elif defined(WOLFSSL_EMBOS)
|
||||||
|
OS_HEAP_free(ptr);
|
||||||
#else
|
#else
|
||||||
free(ptr);
|
free(ptr);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2187,6 +2187,39 @@ int wolfSSL_CryptHwMutexUnLock(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif defined(WOLFSSL_EMBOS)
|
||||||
|
|
||||||
|
int wc_InitMutex(wolfSSL_Mutex* m)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
OS_MUTEX_Create((OS_MUTEX*) m);
|
||||||
|
if (m != NULL)
|
||||||
|
ret = 0;
|
||||||
|
else
|
||||||
|
ret = BAD_MUTEX_E;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wc_FreeMutex(wolfSSL_Mutex* m)
|
||||||
|
{
|
||||||
|
OS_MUTEX_Delete((OS_MUTEX*) m);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wc_LockMutex(wolfSSL_Mutex* m)
|
||||||
|
{
|
||||||
|
OS_MUTEX_Lock((OS_MUTEX*) m);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wc_UnLockMutex(wolfSSL_Mutex* m)
|
||||||
|
{
|
||||||
|
OS_MUTEX_Unlock((OS_MUTEX*) m);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#elif defined(WOLFSSL_USER_MUTEX)
|
#elif defined(WOLFSSL_USER_MUTEX)
|
||||||
|
|
||||||
/* Use user own mutex */
|
/* Use user own mutex */
|
||||||
|
@ -194,6 +194,8 @@
|
|||||||
#endif
|
#endif
|
||||||
#elif defined(WOLFSSL_TELIT_M2MB)
|
#elif defined(WOLFSSL_TELIT_M2MB)
|
||||||
/* do nothing */
|
/* do nothing */
|
||||||
|
#elif defined(WOLFSSL_EMBOS)
|
||||||
|
/* do nothing */
|
||||||
#else
|
#else
|
||||||
#ifndef SINGLE_THREADED
|
#ifndef SINGLE_THREADED
|
||||||
#if defined(WOLFSSL_LINUXKM)
|
#if defined(WOLFSSL_LINUXKM)
|
||||||
|
@ -657,7 +657,6 @@
|
|||||||
#define USE_CERT_BUFFERS_2048 /* use when NO_FILESYSTEM */
|
#define USE_CERT_BUFFERS_2048 /* use when NO_FILESYSTEM */
|
||||||
#define NO_MAIN_DRIVER
|
#define NO_MAIN_DRIVER
|
||||||
#define NO_RC4
|
#define NO_RC4
|
||||||
#define SINGLE_THREADED /* Not ported at this time */
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_RIOT_OS
|
#ifdef WOLFSSL_RIOT_OS
|
||||||
@ -1770,6 +1769,15 @@ extern void uITRON4_free(void *p) ;
|
|||||||
#define USE_WOLFSSL_MEMORY
|
#define USE_WOLFSSL_MEMORY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_EMBOS
|
||||||
|
#include "RTOS.h"
|
||||||
|
#if !defined(XMALLOC_USER) && !defined(NO_WOLFSSL_MEMORY) && \
|
||||||
|
!defined(WOLFSSL_STATIC_MEMORY)
|
||||||
|
#define XMALLOC(s, h, type) OS_HEAP_malloc((s))
|
||||||
|
#define XFREE(p, h, type) OS_HEAP_free((p))
|
||||||
|
#define XREALLOC(p, n, h, t) OS_HEAP_realloc(((p), (n))
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS)
|
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS)
|
||||||
#undef KEEP_PEER_CERT
|
#undef KEEP_PEER_CERT
|
||||||
|
@ -166,7 +166,8 @@
|
|||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
#elif defined(WOLFSSL_EMBOS)
|
||||||
|
/* do nothing */
|
||||||
#else
|
#else
|
||||||
#ifndef SINGLE_THREADED
|
#ifndef SINGLE_THREADED
|
||||||
#ifndef WOLFSSL_USER_MUTEX
|
#ifndef WOLFSSL_USER_MUTEX
|
||||||
@ -266,6 +267,8 @@
|
|||||||
typedef struct k_mutex wolfSSL_Mutex;
|
typedef struct k_mutex wolfSSL_Mutex;
|
||||||
#elif defined(WOLFSSL_TELIT_M2MB)
|
#elif defined(WOLFSSL_TELIT_M2MB)
|
||||||
typedef M2MB_OS_MTX_HANDLE wolfSSL_Mutex;
|
typedef M2MB_OS_MTX_HANDLE wolfSSL_Mutex;
|
||||||
|
#elif defined(WOLFSSL_EMBOS)
|
||||||
|
typedef OS_MUTEX wolfSSL_Mutex;
|
||||||
#elif defined(WOLFSSL_USER_MUTEX)
|
#elif defined(WOLFSSL_USER_MUTEX)
|
||||||
/* typedef User_Mutex wolfSSL_Mutex; */
|
/* typedef User_Mutex wolfSSL_Mutex; */
|
||||||
#elif defined(WOLFSSL_LINUXKM)
|
#elif defined(WOLFSSL_LINUXKM)
|
||||||
|
@ -174,6 +174,10 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WOLFSSL_EMBOS)
|
||||||
|
#include <errno.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* USE_WINDOWS_API */
|
#endif /* USE_WINDOWS_API */
|
||||||
|
|
||||||
#ifdef __sun
|
#ifdef __sun
|
||||||
@ -287,6 +291,15 @@
|
|||||||
#define SOCKET_EPIPE ERR_CLSD
|
#define SOCKET_EPIPE ERR_CLSD
|
||||||
#define SOCKET_ECONNREFUSED ERR_CONN
|
#define SOCKET_ECONNREFUSED ERR_CONN
|
||||||
#define SOCKET_ECONNABORTED ERR_ABRT
|
#define SOCKET_ECONNABORTED ERR_ABRT
|
||||||
|
#elif defined(WOLFSSL_EMNET)
|
||||||
|
#include <IP/IP.h>
|
||||||
|
#define SOCKET_EWOULDBLOCK IP_ERR_WOULD_BLOCK
|
||||||
|
#define SOCKET_EAGAIN IP_ERR_WOULD_BLOCK
|
||||||
|
#define SOCKET_ECONNRESET IP_ERR_CONN_RESET
|
||||||
|
#define SOCKET_EINTR IP_ERR_FAULT
|
||||||
|
#define SOCKET_EPIPE IP_ERR_PIPE
|
||||||
|
#define SOCKET_ECONNREFUSED IP_ERR_CONN_REFUSED
|
||||||
|
#define SOCKET_ECONNABORTED IP_ERR_CONN_ABORTED
|
||||||
#else
|
#else
|
||||||
#define SOCKET_EWOULDBLOCK EWOULDBLOCK
|
#define SOCKET_EWOULDBLOCK EWOULDBLOCK
|
||||||
#define SOCKET_EAGAIN EAGAIN
|
#define SOCKET_EAGAIN EAGAIN
|
||||||
|
Reference in New Issue
Block a user