# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/umac/src/me/me_mgmtframe.c File Reference

All functions required either to build or to extract data from air frames. More...

`#include "me_mgmtframe.h"`
`#include "mac_frame.h"`
`#include "mac_ie.h"`
`#include "mac.h"`
`#include "me.h"`
`#include "sm_task.h"`
`#include "ps.h"`
`#include "co_endian.h"`
`#include "co_utils.h"`
`#include "me_utils.h"`
`#include "sta_mgmt.h"`

Go to the source code of this file.

## Defines
#define | ME_DEFAULT_LISTEN_INTERVAL 5
| Default listen interval (if no listen interval is proposed by the host).
## Functions
static void | me_add_baparamset_frame (uint32_t addr, struct bam_env_tag *bam_env)
| Initializes "Block Ack Parameter Set" field for a ADDBA frame.
static void | me_add_ba_ssc_frame (uint32_t addr, struct bam_env_tag *bam_env)
| Initializes "Block Ack Starting Sequence Control" field for a ADDBA frame.
static void | me_del_baparamset_frame (uint32_t addr, struct bam_env_tag *bam_env)
| Initializes "DELBA Parameter Set" field for a DELBA frame.
uint32_t | me_add_ie_ssid (uint32_t *frame_addr, uint8_t ssid_len, uint8_t *ssid)
| Add SSID Information Element in a frame.
uint32_t | me_add_ie_supp_rates (uint32_t *frame_addr, struct mac_rateset *rateset)
| Add Supported Rate Information Element in a frame.
uint32_t | me_add_ie_ext_supp_rates (uint32_t *frame_addr, struct mac_rateset *rateset)
| Add Extended Supported Rate Information Element in a frame.
uint32_t | me_add_ie_tim (uint32_t *frame_addr, uint8_t dtim_period)
| Add TIM (Traffic Indication Map) Information Element in a frame.
uint32_t | me_add_ie_dsss_param (uint32_t *frame_addr, uint8_t chan)
| Add DS Parameter Information Element in a frame.
uint32_t | me_add_ie_ht_capa (uint32_t *frame_addr)
| Add HT Capabilities Information Element in a frame.
uint32_t | me_add_ie_ht_oper (uint32_t *frame_addr, struct vif_info_tag *vif)
| Add HT Operation Information Element in a frame.
uint16_t | me_build_authenticate (uint32_t frame, uint16_t algo_type, uint16_t seq_nbr, uint16_t status_code, uint32_t *challenge_array_ptr)
| Build an Authentication frame at the AP and the STA.
uint16_t | me_build_deauthenticate (uint32_t frame, uint16_t reason_code)
| Build a De authentication frame at the AP and the STA.
uint16_t | me_build_associate_req (uint32_t frame, struct me_bss_info *bss, struct mac_addr *old_ap_addr_ptr, uint8_t vif_idx, uint32_t *ie_addr, uint16_t *ie_len, struct sm_connect_req const *con_par)
| used to build the Associated REQ frame at STA
uint16_t | me_build_add_ba_req (uint32_t frame, struct bam_env_tag *bam_env)
| Builds the ADDBA REQ frame.
uint16_t | me_build_add_ba_rsp (uint32_t frame, struct bam_env_tag *bam_env, uint16_t param, uint8_t dialog_token, uint16_t status_code)
| Builds the ADDBA RSP frame.
uint16_t | me_build_del_ba (uint32_t frame, struct bam_env_tag *bam_env, uint16_t reason_code)
| Builds the DELBA IND frame.
void | me_extract_rate_set (uint32_t buffer, uint16_t buflen, struct mac_rateset *mac_rate_set_ptr)
| This function is called to extract the rateset from a management frame.
void | me_extract_power_constraint (uint32_t buffer, uint16_t buflen, struct me_bss_info *bss)
| Extract local power constraint from Power Constraint IE.
void | me_extract_country_reg (uint32_t buffer, uint16_t buflen, struct me_bss_info *bss)
| Update tx_power of bss channel from Country IE.
void | me_extract_mobility_domain (uint32_t buffer, uint16_t buflen, struct me_bss_info *bss)
| Extract Mobility Domain IE.
int | me_extract_csa (uint32_t buffer, uint16_t buflen, uint8_t *mode, struct mac_chan_op *chan_desc)
| Extract Channel Switch Announcement (csa) information from beacon.
bool | me_extract_edca_params (uint32_t buffer, uint16_t buflen, struct mac_edca_param_set *edca_param, bool *changed)
| Extract EDCA parameters (i.e.
bool | me_extract_ht_capa (uint32_t buffer, uint16_t buflen, struct mac_htcapability *ht_cap)
| Extract HT capability element from Beacon or ProbeRsp.
bool | me_extract_vht_capa (uint32_t buffer, uint16_t buflen, struct mac_vhtcapability *vht_cap)
| Extract VHT capability element from Beacon or ProbeRsp.

## Detailed Description

All functions required either to build or to extract data from air frames.

Copyright (C) RivieraWaves 2011-2019

Definition in file me_mgmtframe.c.

## Function Documentation

static void me_add_ba_ssc_frame | ( | uint32_t | addr,
|  | struct bam_env_tag * | bam_env |
| ) |  |  | `[static]`

Initializes "Block Ack Starting Sequence Control" field for a ADDBA frame.

Parameters:

  `[in]` | addr | Address of Block Ack Starting Sequence Control field
  `[in]` | bam_env | Pointer to the BA information

Definition at line 74 of file me_mgmtframe.c.

References co_htows(), co_write16p(), MAC_BA_BARINFO_SEQ_STARTSEQ_OFT, and bam_env_tag::ssn.

Referenced by me_build_add_ba_req().

static void me_add_baparamset_frame | ( | uint32_t | addr,
|  | struct bam_env_tag * | bam_env |
| ) |  |  | `[static]`

Initializes "Block Ack Parameter Set" field for a ADDBA frame.

Parameters:

  `[in]` | addr | Address of Block Ack Parameter Set field
  `[in]` | bam_env | Pointer to the BA information

Definition at line 39 of file me_mgmtframe.c.

References bam_env_tag::ba_policy, bam_env_tag::buffer_size, co_htows(), co_write16p(), MAC_BA_PARAMSET_BUFFER_OFT, MAC_BA_PARAMSET_POLICY_OFT, MAC_BA_PARAMSET_TID_OFT, and bam_env_tag::tid.

Referenced by me_build_add_ba_req().

static void me_del_baparamset_frame | ( | uint32_t | addr,
|  | struct bam_env_tag * | bam_env |
| ) |  |  | `[static]`

Initializes "DELBA Parameter Set" field for a DELBA frame.

Parameters:

  `[in]` | addr | Address of DELBA Parameter Set field
  `[in]` | bam_env | Pointer to the BA information

Definition at line 87 of file me_mgmtframe.c.

References BA_ORIGINATOR, BAM_DELBA_PARAM_INITIATOR_MASK, BAM_DELBA_PARAM_TID_OFFSET, co_htows(), co_write16p(), bam_env_tag::dev_type, and bam_env_tag::tid.

Referenced by me_build_del_ba().