mbed-os/source/MAC/IEEE802_15_4/mac_pd_sap.h

60 lines
1.8 KiB
C

/*
* Copyright (c) 2014-2018, Arm Limited and affiliates.
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* \file mac_pd_sap.h
* \brief Add short description about this file!!!
*
*/
#ifndef MAC_PD_SAP_H_
#define MAC_PD_SAP_H_
struct protocol_interface_rf_mac_setup;
struct arm_phy_sap_msg_s;
/**
* Send a buffer to the MAC.
* Used by the protocol core.
*
* \param buf pointer to buffer
*
*/
int8_t mac_pd_sap_req(struct protocol_interface_rf_mac_setup *rf_mac_setup);
int8_t mac_plme_cca_req(struct protocol_interface_rf_mac_setup *rf_mac_setup);
void mac_pd_sap_set_phy_tx_time(struct protocol_interface_rf_mac_setup *rf_mac_setup, uint32_t tx_time, bool cca_enabled);
void mac_pd_sap_rf_low_level_function_set(void *mac_ptr, void *driver);
int8_t mac_pd_sap_data_cb(void *identifier, struct arm_phy_sap_msg_s *message);
void mac_csma_param_init(struct protocol_interface_rf_mac_setup *rf_mac_setup);
uint32_t mac_csma_backoff_get(struct protocol_interface_rf_mac_setup *rf_mac_setup);
void mac_csma_backoff_start(struct protocol_interface_rf_mac_setup *rf_mac_setup);
/**
* Run Mac data interface state Machine.
*
*/
void mac_pd_sap_state_machine(struct protocol_interface_rf_mac_setup *rf_mac_setup);
#endif /* MAC_PD_SAP_H_ */