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_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 Fri Jul 22 2022 04:54:03 by
1.7.2
