Management of internal frame generation. More...
#include <stddef.h>#include "txl_cntrl.h"#include "txl_frame.h"#include "ke_event.h"#include "mac_frame.h"#include "dbg.h"#include "txl_buffer.h"#include "co_utils.h"#include "reg_mac_core.h"#include "vif_mgmt.h"#include "phy.h"#include "tpc.h"#include "tdls.h"Go to the source code of this file.
Functions | |
| void | txl_frame_init_desc (struct txl_frame_desc_tag *frame, struct txl_buffer_tag *buffer, struct tx_hw_desc *hwdesc, struct txl_buffer_control *bufctrl) |
| Basic initializations of an external TX frame descriptor (e.g such as a beacon descriptor when autonomous beacon transmission is used). | |
| void | txl_frame_init (bool reset) |
| Initializes the TX frame module environment. | |
| struct txl_frame_desc_tag * | txl_frame_get (int type, int len) |
| Get and initialize a TX frame descriptor. | |
| void | txl_frame_prepare (struct txl_frame_desc_tag *frame, int type, int len) |
| Prepare TX frame descriptor prior to transmission. | |
| bool | txl_frame_push (struct txl_frame_desc_tag *frame, uint8_t ac) |
| Push a TX frame descriptor. | |
| void | txl_frame_cfm (struct txdesc *txdesc) |
| Push a TX descriptor in the TX frame confirmation queue This function is called under interrupt by the TX control module once the frame has been transmitted. | |
| void | txl_frame_release (struct txdesc *txdesc, bool postponed) |
| Release a descriptor allocated for a packet that has not been sent. | |
| void | txl_frame_evt (int dummy) |
| Background event handler of the Tx frame module. | |
| uint8_t | txl_frame_send_null_frame (uint8_t sta_idx, cfm_func_ptr cfm, void *env) |
| Builds a NULL frame with RA address pointing to the STA passed as parameter. | |
| uint8_t | txl_frame_send_qosnull_frame (uint8_t sta_idx, uint16_t qos, cfm_func_ptr cfm, void *env) |
| Builds a QoS NULL frame with RA address pointing to the STA passed as parameter. | |
| static void | txl_frame_tdls_add_security_header (struct txl_frame_desc_tag *frame, struct mac_hdr_qos *buf, struct key_info_tag *key) |
| Add security header in a TDLS frame. | |
| uint8_t | txl_frame_send_tdls_channel_switch_req_frame (struct tdls_chan_switch_req const *param, cfm_func_ptr cfm) |
| Builds a TDLS Channel Switch Request frame. | |
| uint8_t | txl_frame_send_tdls_channel_switch_rsp_frame (struct vif_info_tag *vif, uint16_t status_code, cfm_func_ptr cfm) |
| Builds a TDLS Channel Switch Response frame. | |
| uint8_t | txl_frame_send_tdls_peer_traffic_ind_frame (struct tdls_peer_traffic_ind_req const *param, cfm_func_ptr cfm) |
| Builds a TDLS Peer Traffic Indication frame. | |
Variables | |
| static struct txl_frame_desc_tag | txl_frame_desc [NX_TXFRAME_CNT] |
| Pool of TX frame descriptors. | |
| struct txl_frame_env_tag | txl_frame_env |
| TX frame environment variables. | |
Management of internal frame generation.
Copyright (C) RivieraWaves 2011-2019
Definition in file txl_frame.c.
| static void txl_frame_tdls_add_security_header | ( | struct txl_frame_desc_tag * | frame, | |
| struct mac_hdr_qos * | buf, | |||
| struct key_info_tag * | key | |||
| ) | [static] |
Add security header in a TDLS frame.
| [in] | frame | Pointer to the frame to update |
| [in] | buf | Pointer to the MAC header in the frame |
| [in] | key | Pointer to the key to use |
Definition at line 575 of file txl_frame.c.
References mac_hdr_qos::fctl, key_info_tag::hw_key_idx, key_info_tag::key_idx, KEYSRAM_INDEX_RA_MASK, MAC_FCTRL_PROTECTEDFRAME, tx_policy_tbl::maccntrlinfo1, txl_buffer_control::policy_tbl, mac_hdr_qos::qos, key_info_tag::tx_pn, txl_frame_desc_tag::txdesc, and txl_buffer_control_get().
Referenced by txl_frame_send_tdls_channel_switch_req_frame(), txl_frame_send_tdls_channel_switch_rsp_frame(), and txl_frame_send_tdls_peer_traffic_ind_frame().
1.6.1