# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/tdls/tdls.c File Reference

Tunneled direct-link setup (TDLS) module implementation. More...

`#include "mac_frame.h"`
`#include "mm.h"`
`#include "mm_timer.h"`
`#include "mm_bcn.h"`
`#include "co_endian.h"`
`#include "sta_mgmt.h"`
`#include "vif_mgmt.h"`
`#include "phy.h"`
`#include "dbg.h"`
`#include "rd.h"`
`#include "ps.h"`
`#include "txl_cntrl.h"`
`#include "txl_frame.h"`
`#include "rxl_cntrl.h"`
`#include "hal_machw.h"`
`#include "scan.h"`
`#include "chan.h"`
`#include "hal_dma.h"`
`#include "p2p.h"`
`#include "td.h"`
`#include "bfr.h"`
`#include "reg_mac_core.h"`
`#include "reg_mac_pl.h"`
`#include "tdls.h"`
`#include "me_utils.h"`
`#include "mac_ie.h"`

Go to the source code of this file.

## Functions
static void | tdls_keep_alive_frame_tx_cfm (void *env, uint32_t status)
| Callback function indicating the completion of the QoS Null Frame.
static void | tdls_chsw_null_frame_tx_cfm (void *env, uint32_t status)
| Callback function indicating the completion of the QoS NULL transmission on the off channel.
static void | tdls_chsw_req_tx_cfm (void *env, uint32_t status)
| Callback function indicating the completion of the TDLS Channel Switch Request frame transmission.
static void | tdls_chsw_rsp_tx_cfm (void *env, uint32_t status)
| Callback function indicating the completion of the TDLS Channel Switch Response frame transmission.
static void | tdls_chsw_unsol_rsp_tx_cfm (void *env, uint32_t status)
| Callback function indicating the completion of the unsolicited TDLS Channel Switch Response frame transmission.
static uint16_t | tdls_check_tdls_channel_switch_request (uint8_t *frame, uint32_t offset, struct sta_info_tag *sta_tdls, uint32_t next_tbtt)
| Handle the reception of a TDLS Channel Switch Request.
static uint32_t | tdls_check_tdls_channel_switch_response (uint8_t *frame, uint32_t offset, struct sta_info_tag *sta_tdls, struct mac_addr *initiator_mac_addr, struct mac_addr *responder_mac_addr, uint32_t next_tbtt)
| Handle the reception of a TDLS Channel Switch Response.
static uint32_t | tdls_check_tdls_peer_traffic_response (uint8_t *frame, uint32_t offset, struct sta_info_tag *sta_tdls, struct mac_addr *initiator_mac_addr, struct mac_addr *responder_mac_addr)
| Handle a received TDLS Peer Traffic Response.
static void | tdls_chsw_end_evt (void *env)
| Callback called upon end of off-channel period.
static void | tdls_chsw_time_evt (void *env)
| Callback called when considering that the channel switch is done on both sides.
static void | tdls_chsw_timeout_evt (void *env)
| Callback called upon TDLS channel switch timeout timer expiration.
static void | tdls_keep_alive_evt (void *env)
| Callback called upon TDLS keep-alive timer expiration.
static void | tdls_pti_timeout_evt (void *env)
| Callback called upon TDLS Peer Traffic Indication Request timeout expired.
static bool | tdls_check_frame_action (uint8_t *frame, struct vif_info_tag *vif, uint8_t sta_idx)
| Function checking whether a received frame is a TDLS action frame or not.
static void | tdls_check_peer_ps (uint8_t *frame, struct vif_info_tag *vif, uint8_t sta_idx)
| This function checks if the received frame is a NULL function indicating that the TDLS peer is going to sleep and informs the host.
void | tdls_chsw_req_evt (void *env)
| Callback called upon TDLS channel switch request timer expiration.
bool | tdls_check_frame (uint8_t *frame, struct vif_info_tag *vif, uint8_t sta_idx)
| This function processes the received TDLS frames.
void | tdls_send_chan_switch_base_ind (struct chan_ctxt_tag *roc_chan_ctxt)
| TDLS channel switch to base channel indication.
void | tdls_send_peer_ps_ind (struct vif_info_tag *vif, bool ps_on, uint8_t sta_idx)
| TDLS peer power save indication.
void | tdls_add_sta (struct sta_info_tag *sta, bool initiator, bool chsw_allowed)
| Add TDLS station.
void | tdls_del_sta (struct sta_info_tag *sta)
| Del TDLS station.
void | tdls_peer_traffic_ind_tx_cfm (void *env, uint32_t status)
| Callback function indicating the completion of the TDLS Peer Traffic Indication Request frame transmission.

## Detailed Description

Tunneled direct-link setup (TDLS) module implementation.

Copyright (C) RivieraWaves 2016-2019

Definition in file tdls.c.