| /* |
| * |
| * Copyright (c) 2019 Google LLC. |
| * All rights reserved. |
| * |
| * 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. |
| */ |
| |
| /** |
| * @file |
| * Platform-specific configuration overrides for OpenWeave on |
| * Silcon Labs EFR32 platforms. |
| */ |
| |
| #ifndef WEAVE_PLATFORM_CONFIG_H |
| #define WEAVE_PLATFORM_CONFIG_H |
| |
| #include <stdint.h> |
| |
| // ==================== General Platform Adaptations ==================== |
| |
| #define WEAVE_CONFIG_ERROR_TYPE int32_t |
| #define WEAVE_CONFIG_NO_ERROR 0 |
| #define WEAVE_CONFIG_ERROR_MIN 4000000 |
| #define WEAVE_CONFIG_ERROR_MAX 4000999 |
| |
| #define ASN1_CONFIG_ERROR_TYPE int32_t |
| #define ASN1_CONFIG_NO_ERROR 0 |
| #define ASN1_CONFIG_ERROR_MIN 5000000 |
| #define ASN1_CONFIG_ERROR_MAX 5000999 |
| |
| #define WeaveDie() abort() |
| |
| #define WEAVE_CONFIG_ENABLE_TUNNELING 0 |
| #define WEAVE_CONFIG_MAX_TUNNELS 0 |
| #define WEAVE_CONFIG_ENABLE_SERVICE_DIRECTORY 0 |
| |
| #define WEAVE_CONFIG_PERSISTED_STORAGE_KEY_TYPE uint8_t |
| #define WEAVE_CONFIG_PERSISTED_STORAGE_ENC_MSG_CNTR_ID 1 |
| #define WEAVE_CONFIG_PERSISTED_STORAGE_MAX_KEY_LENGTH 2 |
| |
| #define WEAVE_CONFIG_TIME_ENABLE_CLIENT 1 |
| #define WEAVE_CONFIG_TIME_ENABLE_SERVER 0 |
| |
| // ==================== Security Adaptations ==================== |
| |
| #define WEAVE_CONFIG_USE_OPENSSL_ECC 0 |
| #define WEAVE_CONFIG_USE_MICRO_ECC 1 |
| |
| #define WEAVE_CONFIG_HASH_IMPLEMENTATION_OPENSSL 0 |
| #define WEAVE_CONFIG_HASH_IMPLEMENTATION_MINCRYPT 1 |
| #define WEAVE_CONFIG_HASH_IMPLEMENTATION_MBEDTLS 0 |
| #define WEAVE_CONFIG_HASH_IMPLEMENTATION_PLATFORM 0 |
| |
| // FIXME: EFR32 set to MBED-TLS (But this is third-party repo in OpenWeave, not SDK) |
| |
| #define WEAVE_CONFIG_AES_IMPLEMENTATION_OPENSSL 0 |
| #define WEAVE_CONFIG_AES_IMPLEMENTATION_AESNI 0 |
| #define WEAVE_CONFIG_AES_IMPLEMENTATION_MBEDTLS 1 |
| #define WEAVE_CONFIG_AES_IMPLEMENTATION_PLATFORM 0 |
| |
| // FIXME: EFR32 currently set to Nest (Does this use Entropy.cpp ?) |
| |
| #define WEAVE_CONFIG_RNG_IMPLEMENTATION_OPENSSL 0 |
| #define WEAVE_CONFIG_RNG_IMPLEMENTATION_NESTDRBG 1 |
| #define WEAVE_CONFIG_RNG_IMPLEMENTATION_PLATFORM 0 |
| |
| #define WEAVE_CONFIG_ENABLE_PASE_INITIATOR 0 |
| #define WEAVE_CONFIG_ENABLE_PASE_RESPONDER 1 |
| #define WEAVE_CONFIG_ENABLE_CASE_INITIATOR 1 |
| |
| #define WEAVE_CONFIG_SUPPORT_PASE_CONFIG0 0 |
| #define WEAVE_CONFIG_SUPPORT_PASE_CONFIG1 0 |
| #define WEAVE_CONFIG_SUPPORT_PASE_CONFIG2 0 |
| #define WEAVE_CONFIG_SUPPORT_PASE_CONFIG3 0 |
| #define WEAVE_CONFIG_SUPPORT_PASE_CONFIG4 1 |
| |
| #define WEAVE_CONFIG_ENABLE_KEY_EXPORT_INITIATOR 0 |
| |
| #define WEAVE_CONFIG_ENABLE_PROVISIONING_BUNDLE_SUPPORT 0 |
| |
| // ==================== General Configuration Overrides ==================== |
| |
| #ifndef WEAVE_CONFIG_MAX_PEER_NODES |
| #define WEAVE_CONFIG_MAX_PEER_NODES 16 |
| #endif // WEAVE_CONFIG_MAX_PEER_NODES |
| |
| #ifndef WEAVE_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS |
| #define WEAVE_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS 16 |
| #endif // WEAVE_CONFIG_MAX_UNSOLICITED_MESSAGE_HANDLERS |
| |
| #ifndef WEAVE_CONFIG_MAX_EXCHANGE_CONTEXTS |
| #define WEAVE_CONFIG_MAX_EXCHANGE_CONTEXTS 8 |
| #endif // WEAVE_CONFIG_MAX_EXCHANGE_CONTEXTS |
| |
| #ifndef WEAVE_CONFIG_WRMP_TIMER_DEFAULT_PERIOD |
| #define WEAVE_CONFIG_WRMP_TIMER_DEFAULT_PERIOD 50 |
| #endif // WEAVE_CONFIG_WRMP_TIMER_DEFAULT_PERIOD |
| |
| #ifndef WEAVE_LOG_FILTERING |
| #define WEAVE_LOG_FILTERING 0 |
| #endif // WEAVE_LOG_FILTERING |
| |
| #ifndef WEAVE_CONFIG_MAX_INTERFACES |
| #define WEAVE_CONFIG_MAX_INTERFACES 4 |
| #endif // WEAVE_CONFIG_MAX_INTERFACES |
| |
| #ifndef WEAVE_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS |
| #define WEAVE_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS 4 |
| #endif // WEAVE_CONFIG_MAX_LOCAL_ADDR_UDP_ENDPOINTS |
| |
| // ==================== Security Configuration Overrides ==================== |
| |
| #ifndef WEAVE_CONFIG_MAX_APPLICATION_GROUPS |
| #define WEAVE_CONFIG_MAX_APPLICATION_GROUPS 4 |
| #endif // WEAVE_CONFIG_MAX_APPLICATION_GROUPS |
| |
| #ifndef WEAVE_CONFIG_DEBUG_CERT_VALIDATION |
| #define WEAVE_CONFIG_DEBUG_CERT_VALIDATION 0 |
| #endif // WEAVE_CONFIG_DEBUG_CERT_VALIDATION |
| |
| #ifndef WEAVE_CONFIG_ENABLE_CASE_RESPONDER |
| #define WEAVE_CONFIG_ENABLE_CASE_RESPONDER 1 |
| #endif // WEAVE_CONFIG_ENABLE_CASE_RESPONDER |
| |
| // ==================== WDM Configuration Overrides ==================== |
| |
| #ifndef WDM_MAX_NUM_SUBSCRIPTION_CLIENTS |
| #define WDM_MAX_NUM_SUBSCRIPTION_CLIENTS 2 |
| #endif // WDM_MAX_NUM_SUBSCRIPTION_CLIENTS |
| |
| #ifndef WDM_MAX_NUM_SUBSCRIPTION_HANDLERS |
| #define WDM_MAX_NUM_SUBSCRIPTION_HANDLERS 2 |
| #endif // WDM_MAX_NUM_SUBSCRIPTION_HANDLERS |
| |
| #ifndef WDM_PUBLISHER_MAX_NOTIFIES_IN_FLIGHT |
| #define WDM_PUBLISHER_MAX_NOTIFIES_IN_FLIGHT 2 |
| #endif // WDM_PUBLISHER_MAX_NOTIFIES_IN_FLIGHT |
| |
| #endif /* WEAVE_PLATFORM_CONFIG_H */ |