summaryrefslogtreecommitdiff
path: root/lib/freertos-posix/FreeRTOS-Plus-POSIX/include
diff options
context:
space:
mode:
authorAditya Naik2020-08-03 14:42:06 -0400
committerAditya Naik2020-08-03 14:42:06 -0400
commit11a52e4e88bcad1e6bddcf02f78e1cc5eaaec508 (patch)
treed7f725c30e618994a0650607ede73ab3efc72c67 /lib/freertos-posix/FreeRTOS-Plus-POSIX/include
parent81b3f3d5336eab67e8eb21bb4011e552f3895a4e (diff)
RTOS skeleton with (UNIX) POSIX calls. Reorg of stream files
Diffstat (limited to 'lib/freertos-posix/FreeRTOS-Plus-POSIX/include')
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX.h50
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_internal.h129
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_types.h81
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/FreeRTOS_POSIX_portable_default.h145
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/espressif/esp32_devkitc_esp_wrover_kit/FreeRTOS_POSIX_portable.h60
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/microchip/curiosity_pic32mzef/FreeRTOS_POSIX_portable.h50
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/nxp/lpc54018iotmodule/FreeRTOS_POSIX_portable.h37
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/pc/windows/FreeRTOS_POSIX_portable.h37
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/st/stm32l475_discovery/FreeRTOS_POSIX_portable.h37
-rwxr-xr-xlib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/ti/cc3220_launchpad/FreeRTOS_POSIX_portable.h37
10 files changed, 663 insertions, 0 deletions
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX.h
new file mode 100755
index 0000000..d938709
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX.h
@@ -0,0 +1,50 @@
+/*
+ * Amazon FreeRTOS POSIX V1.1.0
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX.h
+ * @brief FreeRTOS+POSIX header.
+ *
+ * This file must be included before all other FreeRTOS+POSIX includes.
+ */
+
+#ifndef _FREERTOS_POSIX_H_
+#define _FREERTOS_POSIX_H_
+
+/* FreeRTOS+POSIX platform-specific configuration headers. */
+#include "FreeRTOS_POSIX_portable.h"
+#include "FreeRTOS_POSIX_portable_default.h"
+
+/* FreeRTOS includes. */
+#include "FreeRTOS.h"
+#include "event_groups.h"
+#include "semphr.h"
+#include "task.h"
+
+/* FreeRTOS+POSIX data types and internal structs. */
+#include "FreeRTOS_POSIX/sys/types.h"
+#include "FreeRTOS_POSIX_internal.h"
+
+#endif /* _FREERTOS_POSIX_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_internal.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_internal.h
new file mode 100755
index 0000000..16f8036
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_internal.h
@@ -0,0 +1,129 @@
+/*
+ * Amazon FreeRTOS POSIX V1.1.0
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+#ifndef _FREERTOS_POSIX_INTERNAL_H_
+#define _FREERTOS_POSIX_INTERNAL_H_
+
+/**
+ * @file FreeRTOS_POSIX_internal.h
+ * @brief Internal structs and initializers for FreeRTOS+POSIX.
+ */
+
+/* Amazon FreeRTOS includes. */
+#include "iot_doubly_linked_list.h"
+
+/**
+ * @brief Mutex attribute object.
+ */
+#if posixconfigENABLE_PTHREAD_MUTEXATTR_T == 1
+ typedef struct pthread_mutexattr_internal
+ {
+ int iType; /**< Mutex type. */
+ } pthread_mutexattr_internal_t;
+#endif
+
+#if posixconfigENABLE_PTHREAD_MUTEX_T == 1
+
+/**
+ * @brief Mutex.
+ */
+ typedef struct pthread_mutex_internal
+ {
+ BaseType_t xIsInitialized; /**< Set to pdTRUE if this mutex is initialized, pdFALSE otherwise. */
+ StaticSemaphore_t xMutex; /**< FreeRTOS mutex. */
+ TaskHandle_t xTaskOwner; /**< Owner; used for deadlock detection and permission checks. */
+ pthread_mutexattr_internal_t xAttr; /**< Mutex attributes. */
+ } pthread_mutex_internal_t;
+
+/**
+ * @brief Compile-time initializer of pthread_mutex_internal_t.
+ */
+ #define FREERTOS_POSIX_MUTEX_INITIALIZER \
+ ( ( ( pthread_mutex_internal_t ) \
+ { \
+ .xIsInitialized = pdFALSE, \
+ .xMutex = { { 0 } }, \
+ .xTaskOwner = NULL, \
+ .xAttr = { .iType = 0 } \
+ } \
+ ) \
+ )
+#endif /* if posixconfigENABLE_PTHREAD_MUTEX_T == 1 */
+
+#if posixconfigENABLE_PTHREAD_COND_T == 1
+
+/**
+ * @brief Condition variable.
+ */
+ typedef struct pthread_cond_internal
+ {
+ BaseType_t xIsInitialized; /**< Set to pdTRUE if this condition variable is initialized, pdFALSE otherwise. */
+ StaticSemaphore_t xCondWaitSemaphore; /**< Threads block on this semaphore in pthread_cond_wait. */
+ unsigned iWaitingThreads; /**< The number of threads currently waiting on this condition variable. */
+ } pthread_cond_internal_t;
+
+/**
+ * @brief Compile-time initializer of pthread_cond_internal_t.
+ */
+
+ #define FREERTOS_POSIX_COND_INITIALIZER \
+ ( ( ( pthread_cond_internal_t ) \
+ { \
+ .xIsInitialized = pdFALSE, \
+ .xCondWaitSemaphore = { { 0 } }, \
+ .iWaitingThreads = 0 \
+ } \
+ ) \
+ )
+
+#endif /* if posixconfigENABLE_PTHREAD_COND_T == 1 */
+
+#if posixconfigENABLE_SEM_T == 1
+
+/**
+ * @brief Semaphore type.
+ */
+ typedef struct
+ {
+ StaticSemaphore_t xSemaphore; /**< FreeRTOS semaphore. */
+ int value; /**< POSIX semaphore count. */
+ } sem_internal_t;
+#endif /* if posixconfigENABLE_SEM_T == 1 */
+
+#if posixconfigENABLE_PTHREAD_BARRIER_T == 1
+
+/**
+ * @brief Barrier object.
+ */
+ typedef struct pthread_barrier_internal
+ {
+ unsigned uThreadCount; /**< Current number of threads that have entered barrier. */
+ unsigned uThreshold; /**< The count argument of pthread_barrier_init. */
+ StaticSemaphore_t xThreadCountSemaphore; /**< Prevents more than uThreshold threads from exiting pthread_barrier_wait at once. */
+ StaticEventGroup_t xBarrierEventGroup; /**< FreeRTOS event group that blocks to wait on threads entering barrier. */
+ } pthread_barrier_internal_t;
+#endif /* if posixconfigENABLE_PTHREAD_BARRIER_T == 1 */
+
+#endif /* _FREERTOS_POSIX_INTERNAL_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_types.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_types.h
new file mode 100755
index 0000000..3b45b8d
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX_types.h
@@ -0,0 +1,81 @@
+/*
+ * Amazon FreeRTOS POSIX V1.1.0
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+#ifndef _FREERTOS_POSIX_INTERNAL_TYPES_H_
+#define _FREERTOS_POSIX_INTERNAL_TYPES_H_
+
+#include "FreeRTOS_POSIX_internal.h"
+
+/*
+ * sys/types.h defines a POSIX type when posixconfigENABLE_PTHREAD_<TYPE>_T
+ * is not defined AND when posixconfigENABLE_PTHREAD_<TYPE>_T is set to 1.
+ * FreeRTOS_POSIX_internal.h defines internal type ONLY when
+ * posixconfigENABLE_PTHREAD_<TYPE>_T is set to 1.
+ * #else part below is to have a type defined, so the code compiles, when
+ * posixconfigENABLE_PTHREAD_<TYPE>_T is not defined.
+ */
+#if posixconfigENABLE_PTHREAD_MUTEX_T == 1
+ typedef pthread_mutex_internal_t PthreadMutexType_t;
+#else
+ typedef void * PthreadMutexType_t;
+#endif
+
+#if posixconfigENABLE_PTHREAD_COND_T == 1
+ typedef pthread_cond_internal_t PthreadCondType_t;
+#else
+ typedef void * PthreadCondType_t;
+#endif
+
+#if posixconfigENABLE_SEM_T == 1
+ typedef sem_internal_t PosixSemType_t;
+#else
+ typedef void * PosixSemType_t;
+#endif
+
+#if posixconfigENABLE_PTHREAD_MUTEXATTR_T == 1
+ typedef struct pthread_mutexattr
+ {
+ uint32_t ulpthreadMutexAttrStorage;
+ } PthreadMutexAttrType_t;
+#else
+ typedef void * PthreadMutexAttrType_t;
+#endif
+
+#if posixconfigENABLE_PTHREAD_ATTR_T == 1
+ typedef struct pthread_attr
+ {
+ uint32_t ulpthreadAttrStorage;
+ } PthreadAttrType_t;
+#else
+ typedef void * PthreadAttrType_t;
+#endif
+
+#if posixconfigENABLE_PTHREAD_BARRIER_T == 1
+ typedef pthread_barrier_internal_t PthreadBarrierType_t;
+#else
+ typedef void * PthreadBarrierType_t;
+#endif
+
+#endif /* _FREERTOS_POSIX_INTERNAL_TYPES_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/FreeRTOS_POSIX_portable_default.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/FreeRTOS_POSIX_portable_default.h
new file mode 100755
index 0000000..763b901
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/FreeRTOS_POSIX_portable_default.h
@@ -0,0 +1,145 @@
+/*
+ * Amazon FreeRTOS POSIX V1.1.0
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX_portable_default.h
+ * @brief Defaults for port-specific configuration of FreeRTOS+POSIX.
+ */
+
+#ifndef _FREERTOS_POSIX_PORTABLE_DEFAULT_H_
+#define _FREERTOS_POSIX_PORTABLE_DEFAULT_H_
+
+/**
+ * @name The FreeRTOS task name given to pthreads.
+ */
+/**@{ */
+#ifndef posixconfigPTHREAD_TASK_NAME
+ #define posixconfigPTHREAD_TASK_NAME "pthread" /**< Task name. */
+#endif
+/**@} */
+
+/**
+ * @name the FreeRTOS timer name given to POSIX timers.
+ */
+/**@{ */
+#ifndef posixconfigTIMER_NAME
+ #define posixconfigTIMER_NAME "timer" /**< Timer name. */
+#endif
+/**@} */
+
+/**
+ * @name Defaults for POSIX message queue implementation.
+ */
+/**@{ */
+#ifndef posixconfigMQ_MAX_MESSAGES
+ #define posixconfigMQ_MAX_MESSAGES 10 /**< Maximum number of messages in an mq at one time. */
+#endif
+
+#ifndef posixconfigMQ_MAX_SIZE
+ #define posixconfigMQ_MAX_SIZE 128 /**< Maximum size (in bytes) of each message. */
+#endif
+/**@} */
+
+/**
+ * @name POSIX implementation-dependent constants usually defined in limits.h.
+ *
+ * They are defined here to provide portability between platforms.
+ */
+/**@{ */
+#ifndef PTHREAD_STACK_MIN
+ #define PTHREAD_STACK_MIN configMINIMAL_STACK_SIZE * sizeof( StackType_t ) /**< Minimum size in bytes of thread stack storage. */
+#endif
+#ifndef NAME_MAX
+ #define NAME_MAX 64 /**< Maximum number of bytes in a filename (not including terminating null). */
+#endif
+#ifndef SEM_VALUE_MAX
+ #define SEM_VALUE_MAX 0x7FFFU /**< Maximum value of a sem_t. */
+#endif
+/**@} */
+
+/**
+ * @name Enable typedefs of POSIX types.
+ *
+ * Set these values to 1 or 0 to enable or disable the typedefs, respectively.
+ * These typedefs should only be disabled if they conflict with system typedefs.
+ */
+/**@{ */
+#ifndef posixconfigENABLE_CLOCK_T
+ #define posixconfigENABLE_CLOCK_T 1 /**< clock_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_CLOCKID_T
+ #define posixconfigENABLE_CLOCKID_T 1 /**< clockid_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_MODE_T
+ #define posixconfigENABLE_MODE_T 1 /**< mode_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_PID_T
+ #define posixconfigENABLE_PID_T 1 /**< pid_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_PTHREAD_ATTR_T
+ #define posixconfigENABLE_PTHREAD_ATTR_T 1 /**< pthread_attr_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_PTHREAD_COND_T
+ #define posixconfigENABLE_PTHREAD_COND_T 1 /**< pthread_cond_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_PTHREAD_CONDATTR_T
+ #define posixconfigENABLE_PTHREAD_CONDATTR_T 1 /**< pthread_condattr_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_PTHREAD_MUTEX_T
+ #define posixconfigENABLE_PTHREAD_MUTEX_T 1 /**< pthread_mutex_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_PTHREAD_MUTEXATTR_T
+ #define posixconfigENABLE_PTHREAD_MUTEXATTR_T 1 /**< pthread_mutexattr_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_PTHREAD_T
+ #define posixconfigENABLE_PTHREAD_T 1 /**< pthread_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_SSIZE_T
+ #define posixconfigENABLE_SSIZE_T 1 /**< ssize_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_TIME_T
+ #define posixconfigENABLE_TIME_T 1 /**< time_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_TIMER_T
+ #define posixconfigENABLE_TIMER_T 1 /**< timer_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_USECONDS_T
+ #define posixconfigENABLE_USECONDS_T 1 /**< useconds_t in sys/types.h */
+#endif
+#ifndef posixconfigENABLE_TIMESPEC
+ #define posixconfigENABLE_TIMESPEC 1 /**< struct timespec in time.h */
+#endif
+#ifndef posixconfigENABLE_ITIMERSPEC
+ #define posixconfigENABLE_ITIMERSPEC 1 /**< struct itimerspec in time.h */
+#endif
+#ifndef posixconfigENABLE_SEM_T
+ #define posixconfigENABLE_SEM_T 1 /**< struct sem_t in semaphore.h */
+#endif
+#ifndef posixconfigENABLE_PTHREAD_BARRIER_T
+ #define posixconfigENABLE_PTHREAD_BARRIER_T 1 /**< pthread_barrier_t in sys/types.h */
+#endif
+/**@} */
+
+#endif /* ifndef _FREERTOS_POSIX_PORTABLE_DEFAULT_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/espressif/esp32_devkitc_esp_wrover_kit/FreeRTOS_POSIX_portable.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/espressif/esp32_devkitc_esp_wrover_kit/FreeRTOS_POSIX_portable.h
new file mode 100755
index 0000000..c187043
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/espressif/esp32_devkitc_esp_wrover_kit/FreeRTOS_POSIX_portable.h
@@ -0,0 +1,60 @@
+/*
+ * Amazon FreeRTOS+POSIX V1.0.4
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX_portable.h
+ * @brief Port-specific configuration of FreeRTOS+POSIX.
+ */
+
+#ifndef _FREERTOS_POSIX_PORTABLE_H_
+#define _FREERTOS_POSIX_PORTABLE_H_
+
+/* ESP-IDF already defines the following types. */
+#define posixconfigENABLE_CLOCK_T 0
+#define posixconfigENABLE_CLOCKID_T 0
+#define posixconfigENABLE_MODE_T 0
+#define posixconfigENABLE_PTHREAD_ATTR_T 0
+#define posixconfigENABLE_PTHREAD_COND_T 0
+#define posixconfigENABLE_PTHREAD_CONDATTR_T 0
+#define posixconfigENABLE_PTHREAD_MUTEX_T 0
+#define posixconfigENABLE_PTHREAD_MUTEXATTR_T 0
+#define posixconfigENABLE_PTHREAD_T 0
+#define posixconfigENABLE_TIME_T 0
+#define posixconfigENABLE_TIMESPEC 0
+#define posixconfigENABLE_ITIMERSPEC 0
+
+/* ESP-IDF already provides the header sched.h. Exclude FreeRTOS+POSIX sched.h by
+ * defining its double inclusion guard. */
+#define _FREERTOS_POSIX_SCHED_H_
+
+/* Use the FreeRTOS+POSIX time.h header instead of the ESP-IDF time.h. Disable
+ * ESP-IDF time.h by defining its double inclusion guard. */
+#define _TIME_H_
+
+/* Disable the timer_t type defined by ESP-IDF. */
+#define __timer_t_defined
+#include <sys/types.h>
+
+#endif /* _FREERTOS_POSIX_PORTABLE_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/microchip/curiosity_pic32mzef/FreeRTOS_POSIX_portable.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/microchip/curiosity_pic32mzef/FreeRTOS_POSIX_portable.h
new file mode 100755
index 0000000..d4d2db7
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/microchip/curiosity_pic32mzef/FreeRTOS_POSIX_portable.h
@@ -0,0 +1,50 @@
+/*
+ * Amazon FreeRTOS+POSIX V1.0.4
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX_portable.h
+ * @brief Port-specific configuration of FreeRTOS+POSIX.
+ */
+
+#ifndef _FREERTOS_POSIX_PORTABLE_H_
+#define _FREERTOS_POSIX_PORTABLE_H_
+
+/* Microchip includes. */
+#include <sys/types.h>
+
+/* Microchip already typedefs the following types. */
+#define posixconfigENABLE_MODE_T 0
+#define posixconfigENABLE_PID_T 0
+#define posixconfigENABLE_SSIZE_T 0
+#define posixconfigENABLE_USECONDS_T 0
+/* Microchip -mnewlib compiler option supports these types. */
+#define posixconfigENABLE_TIMESPEC 0
+#define posixconfigENABLE_ITIMERSPEC 0
+#define posixconfigENABLE_CLOCKID_T 0
+#define posixconfigENABLE_TIME_T 0
+#define posixconfigENABLE_TIMER_T 0
+
+
+#endif /* _FREERTOS_POSIX_PORTABLE_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/nxp/lpc54018iotmodule/FreeRTOS_POSIX_portable.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/nxp/lpc54018iotmodule/FreeRTOS_POSIX_portable.h
new file mode 100755
index 0000000..1022f4b
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/nxp/lpc54018iotmodule/FreeRTOS_POSIX_portable.h
@@ -0,0 +1,37 @@
+/*
+ * Amazon FreeRTOS+POSIX V1.0.4
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX_portable.h
+ * @brief Port-specific configuration of FreeRTOS+POSIX.
+ */
+
+#ifndef _FREERTOS_POSIX_PORTABLE_H_
+#define _FREERTOS_POSIX_PORTABLE_H_
+
+/* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this
+ * file is empty. */
+
+#endif /* _FREERTOS_POSIX_PORTABLE_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/pc/windows/FreeRTOS_POSIX_portable.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/pc/windows/FreeRTOS_POSIX_portable.h
new file mode 100755
index 0000000..1022f4b
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/pc/windows/FreeRTOS_POSIX_portable.h
@@ -0,0 +1,37 @@
+/*
+ * Amazon FreeRTOS+POSIX V1.0.4
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX_portable.h
+ * @brief Port-specific configuration of FreeRTOS+POSIX.
+ */
+
+#ifndef _FREERTOS_POSIX_PORTABLE_H_
+#define _FREERTOS_POSIX_PORTABLE_H_
+
+/* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this
+ * file is empty. */
+
+#endif /* _FREERTOS_POSIX_PORTABLE_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/st/stm32l475_discovery/FreeRTOS_POSIX_portable.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/st/stm32l475_discovery/FreeRTOS_POSIX_portable.h
new file mode 100755
index 0000000..1022f4b
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/st/stm32l475_discovery/FreeRTOS_POSIX_portable.h
@@ -0,0 +1,37 @@
+/*
+ * Amazon FreeRTOS+POSIX V1.0.4
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX_portable.h
+ * @brief Port-specific configuration of FreeRTOS+POSIX.
+ */
+
+#ifndef _FREERTOS_POSIX_PORTABLE_H_
+#define _FREERTOS_POSIX_PORTABLE_H_
+
+/* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this
+ * file is empty. */
+
+#endif /* _FREERTOS_POSIX_PORTABLE_H_ */
diff --git a/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/ti/cc3220_launchpad/FreeRTOS_POSIX_portable.h b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/ti/cc3220_launchpad/FreeRTOS_POSIX_portable.h
new file mode 100755
index 0000000..1022f4b
--- /dev/null
+++ b/lib/freertos-posix/FreeRTOS-Plus-POSIX/include/portable/ti/cc3220_launchpad/FreeRTOS_POSIX_portable.h
@@ -0,0 +1,37 @@
+/*
+ * Amazon FreeRTOS+POSIX V1.0.4
+ * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * http://aws.amazon.com/freertos
+ * http://www.FreeRTOS.org
+ */
+
+/**
+ * @file FreeRTOS_POSIX_portable.h
+ * @brief Port-specific configuration of FreeRTOS+POSIX.
+ */
+
+#ifndef _FREERTOS_POSIX_PORTABLE_H_
+#define _FREERTOS_POSIX_PORTABLE_H_
+
+/* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this
+ * file is empty. */
+
+#endif /* _FREERTOS_POSIX_PORTABLE_H_ */