BA
/
BaBoRo1
Embed:
(wiki syntax)
Show/hide line numbers
thread_router_bootstrap.h
00001 /* 00002 * Copyright (c) 2015-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 * \file thread_router_bootstrap.h 00032 * \brief Add short description about this file!!! 00033 * 00034 */ 00035 00036 #ifndef THREAD_ROUTER_BOOTSTRAP_H_ 00037 #define THREAD_ROUTER_BOOTSTRAP_H_ 00038 #include "Service_Libs/mle_service/mle_service_api.h" 00039 00040 #ifdef HAVE_THREAD_ROUTER 00041 00042 struct protocol_interface_info_entry; 00043 struct thread_info_s; 00044 struct mle_security_header; 00045 struct buffer; 00046 00047 void thread_router_bootstrap_reed_advertisements_start(protocol_interface_info_entry_t *cur); 00048 int thread_router_bootstrap_mle_advertise(struct protocol_interface_info_entry *cur); 00049 00050 void thread_router_bootstrap_child_information_clear(protocol_interface_info_entry_t *cur); 00051 int thread_router_bootstrap_reset_child_info(protocol_interface_info_entry_t *cur, mle_neigh_table_entry_t *child); 00052 uint16_t thread_router_bootstrap_child_count_get(protocol_interface_info_entry_t *cur); 00053 void thread_router_bootstrap_child_id_handler(struct protocol_interface_info_entry *cur); 00054 void thread_router_bootstrap_child_id_reject(struct protocol_interface_info_entry *cur); 00055 void thread_router_bootstrap_router_id_request(struct protocol_interface_info_entry *cur, uint8_t status); 00056 void thread_router_bootstrap_router_id_release(struct protocol_interface_info_entry *cur); 00057 00058 00059 int thread_router_bootstrap_link_synch_start(struct protocol_interface_info_entry *cur); 00060 bool thread_router_bootstrap_router_downgrade(struct protocol_interface_info_entry *cur); 00061 bool thread_router_bootstrap_reed_upgrade(struct protocol_interface_info_entry *cur); 00062 void thread_router_bootstrap_active_router_attach(struct protocol_interface_info_entry *cur); 00063 int thread_router_bootstrap_route_tlv_push(protocol_interface_info_entry_t *cur, uint8_t *route_tlv, uint8_t route_len, uint8_t linkMargin, mle_neigh_table_entry_t *entry); 00064 void thread_router_bootstrap_mle_receive_cb(int8_t interface_id, mle_message_t *mle_msg, struct mle_security_header *security_headers); 00065 void thread_router_bootstrap_timer(protocol_interface_info_entry_t *cur, uint32_t ticks); 00066 uint32_t thread_router_bootstrap_random_upgrade_jitter(); 00067 void thread_router_bootstrap_advertiment_analyze(protocol_interface_info_entry_t *cur, uint8_t *src_address, mle_neigh_table_entry_t *entry_temp, uint16_t shortAddress); 00068 00069 void thread_router_bootstrap_multicast_forwarder_enable(protocol_interface_info_entry_t *cur, buffer_t *buf ); 00070 void thread_router_bootstrap_anycast_address_register(protocol_interface_info_entry_t *cur); 00071 void thread_router_bootstrap_network_data_distribute(protocol_interface_info_entry_t *cur); 00072 bool thread_router_bootstrap_routing_allowed(struct protocol_interface_info_entry *cur); 00073 void thread_router_bootstrap_address_change_notify_send(protocol_interface_info_entry_t *cur); 00074 00075 #else 00076 00077 #define thread_router_bootstrap_reed_advertisements_start(cur) 00078 #define thread_router_bootstrap_mle_advertise(cur) (-1) 00079 00080 #define thread_router_bootstrap_child_information_clear(cur) 00081 #define thread_router_bootstrap_child_count_get(cur) 0 00082 #define thread_router_bootstrap_child_id_handler(cur) 00083 #define thread_router_bootstrap_child_id_reject(cur) 00084 #define thread_router_bootstrap_router_id_request(cur, status) 00085 #define thread_router_bootstrap_router_id_release(cur) 00086 00087 #define thread_router_bootstrap_link_synch_start(cur) (-1) 00088 #define thread_router_bootstrap_router_downgrade(cur) false 00089 #define thread_router_bootstrap_reed_upgrade(cur) false 00090 #define thread_router_bootstrap_active_router_attach(cur) 00091 #define thread_router_bootstrap_routing_activate(cur) 00092 #define thread_router_bootstrap_route_tlv_push(cur, route_tlv, route_len, linkMargin, entry) 00093 #define thread_router_bootstrap_mle_receive_cb(interface_id,mle_msg, security_headers) 00094 #define thread_router_bootstrap_timer(cur, ticks) 00095 #define thread_router_bootstrap_random_upgrade_jitter() 0; 00096 #define thread_router_bootstrap_advertiment_analyze(cur, src_address, entry_temp, shortAddress) 00097 #define thread_router_bootstrap_reset_child_info(cur, child) 0 00098 00099 #define thread_router_bootstrap_multicast_forwarder_enable(cur, buf) NULL 00100 #define thread_router_bootstrap_anycast_address_register(cur) 00101 #define thread_router_bootstrap_network_data_distribute(cur) 00102 #define thread_router_bootstrap_routing_allowed(cur) false 00103 #define thread_router_bootstrap_address_change_notify_send(cur) 00104 00105 #endif/*HAVE_THREAD_ROUTER*/ 00106 00107 #endif /* THREAD_ROUTER_BOOTSTRAP_H_ */
Generated on Tue Jul 12 2022 12:22:26 by
