# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/tx/txl/txl_frame.h File Reference

Management of internal frame generation. More...

`#include "co_int.h"`
`#include "co_list.h"`
`#include "tx_swdesc.h"`
`#include "txl_buffer.h"`
`#include "p2p.h"`
`#include "mesh.h"`

Go to the source code of this file.

## Data Structures
struct | txl_frame_cfm_tag
| TX frame confirmation descriptor. More...
struct | txl_frame_desc_tag
| TX frame descriptor. More...
struct | txl_frame_env_tag
| Environment variables of the TX frame block. More...
## Typedefs
typedef void(* | cfm_func_ptr )(void *, uint32_t)
| Pointer to confirmation function.
## Enumerations
enum | { TX_DEFAULT_24G, TX_DEFAULT_5G, TX_DEFAULT_NDPA_BRP, TX_DEFAULT_NDP, TX_CUSTOM }
| Type of transmission parameters. More...
enum | { TX_INT, TX_EXT }
| Type of frame descriptor. More...
## Functions
void | txl_frame_init (bool reset)
| Initializes the TX frame module environment.
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).
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 *desc, 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.
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, 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
struct txl_frame_env_tag | txl_frame_env
| TX frame environment variables.
uint32_t | txl_frame_pool [NX_TXFRAME_CNT][(sizeof(struct txl_buffer_tag)+NX_TXFRAME_LEN)/4]
| TX frame buffer pool.
uint32_t | txl_tim_ie_pool [NX_VIRT_DEV_MAX][CO_ALIGN4_HI(MAC_TIM_BMP_OFT+1)/4]
| Pool of TIM IE buffers.
uint32_t | txl_tim_bitmap_pool [NX_VIRT_DEV_MAX][CO_ALIGN4_HI(MAC_TIM_SIZE)/4]
| Pool of TIM virtual bitmap.
struct tx_pbd | txl_tim_desc [NX_VIRT_DEV_MAX][2]
| Pool of TIM descriptors.
uint32_t | txl_bcn_pool [NX_VIRT_DEV_MAX][(sizeof(struct txl_buffer_tag)+NX_BCNFRAME_LEN)/4]
| Beacon buffer pool.
struct tx_hw_desc | txl_bcn_hwdesc_pool [NX_VIRT_DEV_MAX]
| TX beacon header descriptor pool.
struct tx_pbd | txl_bcn_end_desc [NX_VIRT_DEV_MAX]
| TX payload buffer descriptor for the post-TIM part of the beacon.
struct txl_buffer_control | txl_bcn_buf_ctrl [NX_VIRT_DEV_MAX]
| TX buffer control structures for the beacon buffers.
struct tx_pbd | txl_p2p_noa_desc [NX_VIRT_DEV_MAX]
| Pool of P2P NOA payload descriptors.
uint16_t | txl_p2p_noa_ie_pool [NX_VIRT_DEV_MAX][P2P_NOA_IE_BUFFER_LEN]
| Pool of P2P NOA Attributes.
struct tx_pbd | txl_mesh_add_ies_desc [RW_MESH_VIF_NB]
| Payload Descriptor for additional IEs of Mesh Beacon.
struct mesh_add_ies_tag | txl_mesh_add_ies [RW_MESH_VIF_NB]
| Buffer containing the additional IEs of Mesh Beacon.
struct tx_hw_desc | txl_frame_hwdesc_pool [NX_TXFRAME_CNT]
| TX frame header descriptor pool.
struct txl_buffer_control | txl_buffer_control_24G
| Default policy table for 2.4GHz band.
struct txl_buffer_control | txl_buffer_control_5G
| Default policy table for 5GHz band.
struct txl_buffer_control | txl_buffer_control_ndpa_brp
| Default policy table for transmission of NDPA and BRP frames sent during Beamforming Sounding procedure.
struct txl_buffer_control | txl_buffer_control_ndp
| Default policy table for NDP frame sent during Beamforming Sounding procedure.
struct txl_buffer_control | txl_frame_buf_ctrl [NX_TXFRAME_CNT]
| TX buffer control structures for the internal frames.

## Detailed Description

Management of internal frame generation.

Copyright (C) RivieraWaves 2011-2019

Definition in file txl_frame.h.