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