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_nd.h
00001 /* 00002 * Copyright (c) 2014-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_nd.h 00032 * \brief Add short description about this file!!! 00033 * 00034 */ 00035 00036 #ifndef THREAD_ND_H_ 00037 #define THREAD_ND_H_ 00038 00039 #ifdef HAVE_THREAD_NEIGHBOR_DISCOVERY 00040 00041 struct ipv6_neighbour_cache; 00042 struct ipv6_neighbour; 00043 struct protocol_interface_info_entry; 00044 00045 int thread_nd_service_activate(int8_t interfaceId); 00046 int thread_nd_service_disable(int8_t interfaceId); 00047 void thread_nd_service_delete(int8_t interfaceId); 00048 int thread_nd_client_service_activate(int8_t interfaceId); 00049 00050 bool thread_nd_ns_transmit(struct protocol_interface_info_entry *cur, struct ipv6_neighbour *entry, bool unicast, uint8_t seq); 00051 buffer_t *thread_nd_snoop(protocol_interface_info_entry_t *cur, buffer_t *buf, const sockaddr_t *ll_dst, const sockaddr_t *ll_src, bool *bounce); 00052 buffer_t *thread_nd_special_forwarding(struct protocol_interface_info_entry *cur, buffer_t *buf, const sockaddr_t *ll_src, bool *bounce); 00053 buffer_t *thread_nd_icmp_handler(struct protocol_interface_info_entry *cur, buffer_t *buf, bool *bounce); 00054 int thread_nd_map_anycast_address(protocol_interface_info_entry_t *cur, uint16_t *addr16); 00055 void thread_nd_address_remove(protocol_interface_info_entry_t *cur_interface, addrtype_t ll_type, const uint8_t *ll_address); 00056 void thread_nd_flush_neighbour_cache_for_short_addr(struct protocol_interface_info_entry *cur, uint16_t flushee, bool children); 00057 00058 int thread_nd_address_registration(struct protocol_interface_info_entry *cur, const uint8_t *ipv6Address, uint16_t mac16, uint16_t panId, const uint8_t *mac64); 00059 00060 #else //HAVE_THREAD_NEIGHBOR_DISCOVERY 00061 00062 NS_DUMMY_DEFINITIONS_OK 00063 00064 #define thread_nd_service_activate(interfaceId) 00065 #define thread_nd_service_disable(interfaceId) 00066 #define thread_nd_service_delete(interfaceId) 00067 #define thread_nd_client_service_activate(interfaceId) 00068 #define thread_nd_address_remove(cur_interface, l_type, ll_address) 00069 00070 #define thread_nd_map_anycast_address(cur, addr16) 00071 00072 #define thread_nd_flush_neighbour_cache_for_short_addr(cur, flushee, children) 00073 00074 #define thread_nd_address_registration(cur, ipv6Address, mac16, panId, mac64) 00075 00076 /* Functions below assigned as function pointers to core only, so just make those pointers untyped NULL */ 00077 #define thread_nd_ns_transmit NULL 00078 #define thread_nd_snoop NULL 00079 #define thread_nd_special_forwarding NULL 00080 #define thread_nd_icmp_handler NULL 00081 00082 #endif //HAVE_THREAD_NEIGHBOR_DISCOVERY 00083 00084 #endif /* THREAD_ND_H_ */
Generated on Fri Jul 22 2022 04:54:03 by
 1.7.2
 1.7.2 
    