1 /* 2 * Copyright (c) 2017, The OpenThread Authors. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 3. Neither the name of the copyright holder nor the 13 * names of its contributors may be used to endorse or promote products 14 * derived from this software without specific prior written permission. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 /** 30 * @file 31 * This file includes posix app compile-time configuration constants for OpenThread core. 32 */ 33 34 #ifndef OPENTHREAD_CORE_POSIX_CONFIG_H_ 35 #define OPENTHREAD_CORE_POSIX_CONFIG_H_ 36 37 #include "openthread-posix-daemon-config.h" 38 39 #ifndef OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 40 #define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 256 41 #endif 42 43 #ifndef OPENTHREAD_CONFIG_DIAG_OUTPUT_BUFFER_SIZE 44 #define OPENTHREAD_CONFIG_DIAG_OUTPUT_BUFFER_SIZE 500 45 #endif 46 47 #ifndef OPENTHREAD_CONFIG_LOG_PLATFORM 48 #define OPENTHREAD_CONFIG_LOG_PLATFORM 1 49 #endif 50 51 #ifndef OPENTHREAD_CONFIG_LOG_OUTPUT 52 #define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED 53 #endif 54 55 #ifndef OPENTHREAD_CONFIG_LOG_LEVEL 56 #define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG 57 #endif 58 59 #ifndef OPENTHREAD_CONFIG_LOG_LEVEL_INIT 60 #define OPENTHREAD_CONFIG_LOG_LEVEL_INIT OT_LOG_LEVEL_CRIT 61 #endif 62 63 #ifndef OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 64 #define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 1 65 #endif 66 67 #ifndef OPENTHREAD_CONFIG_PLATFORM_INFO 68 #define OPENTHREAD_CONFIG_PLATFORM_INFO "POSIX" 69 #endif 70 71 #ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 72 #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 73 #endif 74 75 #ifndef OPENTHREAD_CONFIG_NCP_HDLC_ENABLE 76 #define OPENTHREAD_CONFIG_NCP_HDLC_ENABLE 1 77 #endif 78 79 #ifndef OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE 80 #define OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE 1 81 #endif 82 83 #if OPENTHREAD_POSIX_CONFIG_DAEMON_ENABLE 84 85 #ifndef OPENTHREAD_CONFIG_PLATFORM_NETIF_ENABLE 86 #define OPENTHREAD_CONFIG_PLATFORM_NETIF_ENABLE 1 87 #endif 88 89 #ifndef OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 90 #define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 1 91 #endif 92 93 #endif 94 95 #ifndef OPENTHREAD_CONFIG_LOG_MAX_SIZE 96 #define OPENTHREAD_CONFIG_LOG_MAX_SIZE 1024 97 #endif 98 99 #ifndef OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 100 #define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 4 101 #endif 102 103 #ifndef OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 104 #define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 64 105 #endif 106 107 #ifndef OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 108 #define OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD 16 109 #endif 110 111 #ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 112 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 8 113 #endif 114 115 #ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 116 #define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 8 117 #endif 118 119 #ifndef OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE 120 #define OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE 1 121 #endif 122 123 #ifndef OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE 124 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE (63 * 1024) 125 #endif 126 127 #ifndef OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE_NO_DTLS 128 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE_NO_DTLS (63 * 1024) 129 #endif 130 131 #ifndef OPENTHREAD_CONFIG_CLI_MAX_LINE_LENGTH 132 #define OPENTHREAD_CONFIG_CLI_MAX_LINE_LENGTH 640 133 #endif 134 135 #ifndef OPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE 136 #define OPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE 640 137 #endif 138 139 #ifndef OPENTHREAD_CONFIG_UPTIME_ENABLE 140 #define OPENTHREAD_CONFIG_UPTIME_ENABLE !OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 141 #endif 142 143 #ifndef OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME 144 #define OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME 1 145 #endif 146 147 #ifndef OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_MAX_SERVICES 148 #define OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_MAX_SERVICES 20 149 #endif 150 151 #ifndef OPENTHREAD_CONFIG_ASSERT_CHECK_API_POINTER_PARAM_FOR_NULL 152 #define OPENTHREAD_CONFIG_ASSERT_CHECK_API_POINTER_PARAM_FOR_NULL 1 153 #endif 154 155 #ifndef OPENTHREAD_CONFIG_PLATFORM_POWER_CALIBRATION_ENABLE 156 #define OPENTHREAD_CONFIG_PLATFORM_POWER_CALIBRATION_ENABLE 1 157 #endif 158 159 #ifndef OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS 160 /** 161 * The `system.cpp` has registered a state-changed callback handler. Another state-changed callback handler 162 * is reserved for application use. 163 */ 164 #define OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS 2 165 #endif 166 167 #ifndef OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 168 #define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE OPENTHREAD_CONFIG_WAKEUP_COORDINATOR_ENABLE 169 #endif 170 171 #ifndef OPENTHREAD_CONFIG_MAC_CSL_REQUEST_AHEAD_US 172 #define OPENTHREAD_CONFIG_MAC_CSL_REQUEST_AHEAD_US 5000 173 #endif 174 175 #endif // OPENTHREAD_CORE_POSIX_CONFIG_H_ 176