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.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
lowpan_adaptation_interface.h
00001 /* 00002 * Copyright (c) 2016-2019, 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 LOWPAN_ADAPTATION_INTERFACE_H_ 00019 #define LOWPAN_ADAPTATION_INTERFACE_H_ 00020 #include "Core/include/ns_address_internal.h" 00021 00022 struct protocol_interface_info_entry; 00023 struct mcps_data_conf_s; 00024 struct mcps_data_ind_s; 00025 struct buffer; 00026 struct mpx_api_s; 00027 struct mac_neighbor_table_entry; 00028 00029 int8_t lowpan_adaptation_interface_init(int8_t interface_id, uint16_t mac_mtu_size); 00030 00031 void lowpan_adaptation_interface_etx_update_enable(int8_t interface_id); 00032 00033 int8_t lowpan_adaptation_interface_free(int8_t interface_id); 00034 00035 int8_t lowpan_adaptation_interface_reset(int8_t interface_id); 00036 00037 int8_t lowpan_adaptation_interface_mpx_register(int8_t interface_id, struct mpx_api_s *mpx_api, uint16_t mpx_user_id); 00038 00039 /** 00040 * \brief call this before normatl TX. This function prepare buffer link spesific metadata and verify packet destination 00041 */ 00042 struct buffer *lowpan_adaptation_data_process_tx_preprocess(struct protocol_interface_info_entry *cur, struct buffer *buf ); 00043 00044 int8_t lowpan_adaptation_interface_tx(struct protocol_interface_info_entry *cur, struct buffer *buf ); 00045 00046 int8_t lowpan_adaptation_interface_tx_confirm(struct protocol_interface_info_entry *cur, const struct mcps_data_conf_s *confirm); 00047 00048 void lowpan_adaptation_interface_data_ind(struct protocol_interface_info_entry *cur, const struct mcps_data_ind_s *data_ind); 00049 00050 struct buffer *lowpan_adaptation_reassembly(struct protocol_interface_info_entry *cur, struct buffer *buf ); 00051 00052 bool lowpan_adaptation_tx_active(int8_t interface_id); 00053 00054 void lowpan_adaptation_remove_free_indirect_table(struct protocol_interface_info_entry *cur_interface, struct mac_neighbor_table_entry *entry_ptr); 00055 00056 int8_t lowpan_adaptation_indirect_free_messages_from_queues_by_address(struct protocol_interface_info_entry *cur, uint8_t *address_ptr, addrtype_t adr_type); 00057 00058 int8_t lowpan_adaptation_indirect_queue_params_set(struct protocol_interface_info_entry *cur, uint16_t indirect_big_packet_threshold, uint16_t max_indirect_big_packets_total, uint16_t max_indirect_small_packets_per_child); 00059 00060 #endif /* LOWPAN_ADAPTATION_INTERFACE_H_ */
Generated on Tue Jul 12 2022 13:54:27 by
