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
rpl_downward.h
00001 /* 00002 * Copyright (c) 2015-2017, Arm Limited and affiliates. 00003 * SPDX-License-Identifier: Apache-2.0 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 00018 #ifndef RPL_DOWNWARD_H_ 00019 #define RPL_DOWNWARD_H_ 00020 00021 struct rpl_instance; 00022 struct rpl_dodag; 00023 struct rpl_neighbour; 00024 struct rpl_dao_target; 00025 struct rpl_dao_root_transit; 00026 00027 void rpl_downward_dao_slow_timer(struct rpl_instance *instance, uint16_t seconds); 00028 void rpl_downward_dao_timer(struct rpl_instance *instance, uint16_t ticks); 00029 void rpl_downward_print_instance(struct rpl_instance *instance, route_print_fn_t *print_fn); 00030 00031 void rpl_downward_convert_dodag_preferences_to_dao_path_control(struct rpl_dodag *dodag); 00032 void rpl_downward_process_dao_parent_changes(struct rpl_instance *instance); 00033 void rpl_downward_neighbour_gone(struct rpl_instance *instance, struct rpl_neighbour *neighbour); 00034 00035 void rpl_instance_publish_dao_target(struct rpl_instance *instance, const uint8_t *prefix, uint8_t prefix_len, uint32_t valid_lifetime, bool own, bool want_descriptor, uint32_t descriptor); 00036 void rpl_delete_dao_target(struct rpl_instance *instance, struct rpl_dao_target *target); 00037 void rpl_instance_delete_published_dao_target(struct rpl_instance *instance, const uint8_t *prefix, uint8_t prefix_len); 00038 struct rpl_dao_target *rpl_instance_match_dao_target(struct rpl_instance *instance, const uint8_t *prefix, uint8_t prefix_len); 00039 00040 void rpl_instance_dao_request(struct rpl_instance *instance, struct rpl_neighbour *neighbour); 00041 void rpl_instance_dao_trigger(struct rpl_instance *instance, uint16_t delay); 00042 void rpl_instance_dao_acked(struct rpl_instance *instance, const uint8_t src[16], int8_t interface_id, uint8_t dao_sequence, uint8_t status); 00043 00044 #ifdef HAVE_RPL_DAO_HANDLING 00045 bool rpl_instance_dao_received(struct rpl_instance *instance, const uint8_t src[16], int8_t interface_id, bool multicast, const uint8_t *opts, uint16_t opts_len, uint8_t *status_out); 00046 #endif 00047 00048 #ifdef HAVE_RPL_ROOT 00049 void rpl_downward_transit_error(rpl_instance_t *instance, const uint8_t *target_addr, const uint8_t *transit_addr); 00050 void rpl_downward_compute_paths(rpl_instance_t *instance); 00051 void rpl_downward_paths_invalidate(rpl_instance_t *instance); 00052 #else 00053 #define rpl_downward_compute_paths(instance) ((void) 0) 00054 #define rpl_downward_paths_invalidate(instance) ((void) 0) 00055 #endif 00056 00057 #endif /* RPL_DOWNWARD_H_ */
Generated on Fri Jul 22 2022 04:53:59 by
 1.7.2
 1.7.2 
    