1 /* 2 * Copyright (c) 2021, 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 compile-time configurations for the DNS Stateful Operations (DSO). 32 * 33 */ 34 35 #ifndef CONFIG_DNS_DSO_H_ 36 #define CONFIG_DNS_DSO_H_ 37 38 /** 39 * @addtogroup config-dns-dso 40 * 41 * @brief 42 * This module includes configuration variables for DNS Stateful Operations. 43 * 44 * @{ 45 * 46 */ 47 48 /** 49 * @def OPENTHREAD_CONFIG_DNS_DSO_ENABLE 50 * 51 * Define to 1 to enable DSO support. 52 * 53 */ 54 #ifndef OPENTHREAD_CONFIG_DNS_DSO_ENABLE 55 #define OPENTHREAD_CONFIG_DNS_DSO_ENABLE 0 56 #endif 57 58 /** 59 * @def OPENTHREAD_CONFIG_DNS_DSO_CONNECTING_TIMEOUT 60 * 61 * Specifies the maximum time (in msec) waiting for a connection to be established by DSO platform layer. 62 * 63 */ 64 #ifndef OPENTHREAD_CONFIG_DNS_DSO_CONNECTING_TIMEOUT 65 #define OPENTHREAD_CONFIG_DNS_DSO_CONNECTING_TIMEOUT (45 * 1000) 66 #endif 67 68 /** 69 * @def OPENTHREAD_CONFIG_DNS_DSO_RESPONSE_TIMEOUT 70 * 71 * Specifies the maximum time (in msec) waiting for a response to a request. 72 * 73 */ 74 #ifndef OPENTHREAD_CONFIG_DNS_DSO_RESPONSE_TIMEOUT 75 #define OPENTHREAD_CONFIG_DNS_DSO_RESPONSE_TIMEOUT (30 * 1000) 76 #endif 77 78 /** 79 * @def OPENTHREAD_CONFIG_DNS_DSO_MAX_PENDING_REQUESTS 80 * 81 * Specifies the maximum number of pending requests per DSO session. 82 * 83 */ 84 #ifndef OPENTHREAD_CONFIG_DNS_DSO_MAX_PENDING_REQUESTS 85 #define OPENTHREAD_CONFIG_DNS_DSO_MAX_PENDING_REQUESTS 3 86 #endif 87 88 /** 89 * @def OPENTHREAD_CONFIG_DNS_DSO_MOCK_PLAT_APIS_ENABLE 90 * 91 * Define to 1 to add mock (empty) implementation of DSO platform APIs. 92 * 93 * This is intended for generating code size report only and should not be used otherwise. 94 * 95 */ 96 #ifndef OPENTHREAD_CONFIG_DNS_DSO_MOCK_PLAT_APIS_ENABLE 97 #define OPENTHREAD_CONFIG_DNS_DSO_MOCK_PLAT_APIS_ENABLE 0 98 #endif 99 100 /** 101 * @} 102 * 103 */ 104 105 #endif // CONFIG_DNS_DSO_H_ 106