Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of OmniWheels by
thread_bbr_api_internal.h
00001 /* 00002 * Copyright (c) 2016-2017, Arm Limited and affiliates. 00003 * SPDX-License-Identifier: BSD-3-Clause 00004 * 00005 * Redistribution and use in source and binary forms, with or without 00006 * modification, are permitted provided that the following conditions are met: 00007 * 00008 * 1. Redistributions of source code must retain the above copyright 00009 * notice, this list of conditions and the following disclaimer. 00010 * 2. Redistributions in binary form must reproduce the above copyright 00011 * notice, this list of conditions and the following disclaimer in the 00012 * documentation and/or other materials provided with the distribution. 00013 * 3. Neither the name of the copyright holder nor the 00014 * names of its contributors may be used to endorse or promote products 00015 * derived from this software without specific prior written permission. 00016 * 00017 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00018 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00019 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00020 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 00021 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00022 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00023 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00024 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00025 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00026 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00027 * POSSIBILITY OF SUCH DAMAGE. 00028 */ 00029 00030 /** 00031 * \brief Nanostack BBR internal instance and corresponding methods. 00032 */ 00033 00034 #ifndef THREAD_BBR_API_INTERNAL_H_ 00035 #define THREAD_BBR_API_INTERNAL_H_ 00036 00037 #include "net_interface.h" 00038 #ifdef HAVE_THREAD_ROUTER 00039 /** 00040 * \brief Initialize Thread Commissioner relay for BBR and Routers 00041 * 00042 * \param interface_id current interface id 00043 * \param external_commisssioner_port External commissioner port 00044 */ 00045 int8_t thread_bbr_init(int8_t interface_id, uint16_t external_commisssioner_port); 00046 /** 00047 * \brief delete Thread Commissioner relay for BBR and Routers 00048 * 00049 * \param interface_id current interface id 00050 */ 00051 void thread_bbr_delete(int8_t interface_id); 00052 00053 /** 00054 * \brief seconds timer for border router 00055 * 00056 * \param interface_id current interface id 00057 * \param tics seconds pass since last call 00058 */ 00059 void thread_bbr_seconds_timer(int8_t interface_id, uint32_t tics); 00060 00061 /** 00062 * \brief enable/disable UDP proxy 00063 * 00064 * \param interface_id current interface id 00065 */ 00066 int thread_bbr_commissioner_proxy_service_update(int8_t interface_id); 00067 00068 00069 #else 00070 #define thread_bbr_init(interface_id, external_commisssioner_port) 00071 #define thread_bbr_delete(interface_id) 00072 #define thread_bbr_seconds_timer(interface_id, tics) 00073 #define thread_bbr_commissioner_proxy_service_update(interface_id) 00074 #endif //HAVE_THREAD_ROUTER 00075 00076 #ifdef HAVE_THREAD_BORDER_ROUTER 00077 /** 00078 * \brief nd proxy and relay service state change 00079 * 00080 * \param interface_id current interface id 00081 */ 00082 int thread_bbr_proxy_state_update(int8_t caller_interface_id , int8_t handler_interface_id, bool status); 00083 00084 /** 00085 * \brief Test if border router routing is enabled 00086 * 00087 * \param cur Protocol interface 00088 */ 00089 bool thread_bbr_routing_enabled(protocol_interface_info_entry_t *cur); 00090 00091 /** 00092 * \brief Inform BBR for network data change 00093 * 00094 * \param cur Protocol interface 00095 */ 00096 void thread_bbr_network_data_update_notify(protocol_interface_info_entry_t *cur); 00097 00098 /** 00099 * \brief Add new nd entry to bbr 00100 * 00101 * \param interface_id addr_data_ptr lifetime info mleid_ptr 00102 */ 00103 int thread_bbr_nd_entry_add(int8_t interface_id, const uint8_t *addr_data_ptr, uint32_t lifetime, void *info, const uint8_t *mleid_ptr); 00104 00105 /** 00106 * \brief Find if bbr has nd entry 00107 * 00108 * \param interface_id addr_data_ptr 00109 */ 00110 int thread_bbr_nd_entry_find(int8_t interface_id, const uint8_t *addr_data_ptr); 00111 00112 #else 00113 #define thread_bbr_proxy_state_update(caller_interface_id , handler_interface_id, status) (NULL) 00114 #define thread_bbr_routing_enabled(cur) false 00115 #define thread_bbr_network_data_update_notify(cur) 00116 #define thread_bbr_nd_entry_add(interface_id, addr_data_ptr, lifetime, info, mleid_ptr) (0) 00117 #define thread_bbr_nd_entry_find(interface_id, addr_data_ptr) (0) 00118 #endif //HAVE_THREAD_BORDER_ROUTER 00119 00120 00121 #endif /* THREAD_BORDER_ROUTER_API_INTERNAL_H_ */ 00122
Generated on Fri Jul 22 2022 04:54:02 by
1.7.2
