| /* |
| * Copyright (c) 2020 Project CHIP Authors |
| * Copyright (c) 2018-2019 Google LLC. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /* |
| * Description: |
| * LwIP sys_arch definitions for use with FreeRTOS. |
| * |
| */ |
| |
| #ifndef CHIP_LWIP_FREERTOS_ARCH_SYS_ARCH_H |
| #define CHIP_LWIP_FREERTOS_ARCH_SYS_ARCH_H |
| |
| #include "FreeRTOS.h" |
| #include "queue.h" |
| #include "semphr.h" |
| #include "task.h" |
| |
| #define SYS_MBOX_NULL ((xQueueHandle) NULL) |
| #define SYS_SEM_NULL ((xSemaphoreHandle) NULL) |
| #define SYS_DEFAULT_THREAD_STACK_DEPTH configMINIMAL_STACK_SIZE |
| #define SYS_MESG_QUEUE_LENGTH ((UBaseType_t) 6) |
| #define SYS_POST_BLOCK_TIME_MS 10000 |
| |
| typedef QueueHandle_t sys_mbox_t; |
| typedef xSemaphoreHandle sys_mutex_t; |
| typedef xSemaphoreHandle sys_sem_t; |
| typedef TaskHandle_t sys_thread_t; |
| typedef UBaseType_t sys_prot_t; |
| |
| #include "arch/sys_arch.h" |
| #include "lwip/opt.h" |
| #include "lwip/sys.h" |
| |
| #define sys_sem_valid(sem) (((sem) != NULL) && (*(sem) != NULL)) |
| #define sys_sem_set_invalid(sem) \ |
| do \ |
| { \ |
| if ((sem) != NULL) \ |
| { \ |
| *(sem) = NULL; \ |
| } \ |
| } while (0) |
| |
| #define sys_mutex_valid(mutex) (((mutex) != NULL) && (*(mutex) != NULL)) |
| #define sys_mutex_set_invalid(mutex) \ |
| do \ |
| { \ |
| if ((mutex) != NULL) \ |
| { \ |
| *(mutex) = NULL; \ |
| } \ |
| } while (0) |
| |
| #define sys_mbox_valid(mbox) (((mbox) != NULL) && (*(mbox) != NULL)) |
| #define sys_mbox_set_invalid(mbox) \ |
| do \ |
| { \ |
| if ((mbox) != NULL) \ |
| { \ |
| *(mbox) = NULL; \ |
| } \ |
| } while (0) |
| |
| #define sys_profile_interval_set_pbuf_highwatermark(...) |
| |
| #endif /* CHIP_LWIP_FREERTOS_ARCH_SYS_ARCH_H */ |