- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/umac/src/me/me_mgmtframe.h

Go to the documentation of this file.

    00001
    00014 #ifndef _ME_MGMTFRAME_H_
    00015 #define _ME_MGMTFRAME_H_
    00016
    00026 // standard includes
    00027 #include "co_int.h"
    00028 #include "co_bool.h"
    00029 #include "co_utils.h"
    00030 #include "bam.h"
    00031 #include "vif_mgmt.h"
    00032
    00033 //forward declarations
    00034 struct mac_frame;
    00035 struct mac_addr;
    00036 struct mac_rateset;
    00037 struct mac_htcapability;
    00038 struct mac_htoprnelmt;
    00039 struct me_bss_info;
    00040 struct sm_connect_req;
    00041 struct mac_chan_op;
    00042
    00058 uint32_t me_add_ie_ssid(uint32_t *frame_addr, uint8_t ssid_len, uint8_t *ssid);
    00059
    00075 uint32_t me_add_ie_supp_rates(uint32_t *frame_addr, struct mac_rateset *rateset);
    00076
    00092 uint32_t me_add_ie_ext_supp_rates(uint32_t *frame_addr, struct mac_rateset *rateset);
    00093
    00094 #if (RW_MESH_EN)
    00095
    00112 uint32_t me_add_ie_tim(uint32_t *frame_addr, uint8_t dtim_period);
    00113
    00128 uint32_t me_add_ie_dsss_param(uint32_t *frame_addr, uint8_t chan);
    00129 #endif //(RW_MESH_EN)
    00130
    00141 uint32_t me_add_ie_ht_capa(uint32_t *frame_addr);
    00142
    00143 #if (RW_MESH_EN)
    00144
    00156 uint32_t me_add_ie_ht_oper(uint32_t *frame_addr, struct vif_info_tag *vif);
    00157 #endif //(RW_MESH_EN)
    00158
    00159 #if (NX_VHT)
    00160
    00170 uint32_t me_add_ie_vht_capa(uint32_t *frame_addr);
    00171
    00172 #if (RW_MESH_EN)
    00173
    00185 uint32_t me_add_ie_vht_oper(uint32_t *frame_addr, struct vif_info_tag *vif);
    00186 #endif //(RW_MESH_EN)
    00187
    00200 uint32_t me_add_ie_op_mode(uint32_t *frame_addr, uint8_t nss, uint8_t bw);
    00201 #endif //(NX_VHT)
    00202
    00203 #if NX_HE
    00204
    00214 uint32_t me_add_ie_he_capa(uint32_t *frame_addr);
    00215 #endif
    00216
    00232 uint16_t me_build_authenticate(uint32_t frame,
    00233                                uint16_t algo_type,
    00234                                uint16_t seq_nbr,
    00235                                uint16_t status_code,
    00236                                uint32_t *challenge_array_ptr);
    00237
    00249 uint16_t me_build_deauthenticate(uint32_t frame, uint16_t reason_code);
    00250
    00251 // Functions used in the SM
    00267 uint16_t me_build_associate_req(uint32_t frame,
    00268                                 struct me_bss_info *bss,
    00269                                 struct mac_addr *old_ap_addr_ptr,
    00270                                 uint8_t vif_idx,
    00271                                 uint32_t *ie_addr,
    00272                                 uint16_t *ie_len,
    00273                                 struct sm_connect_req const *con_par);
    00274
    00284 void me_extract_rate_set(uint32_t buffer,
    00285                          uint16_t buflen,
    00286                          struct mac_rateset* mac_rate_set_ptr);
    00287
    00298 uint16_t me_build_add_ba_req(uint32_t frame, struct bam_env_tag *bam_env);
    00299
    00313 uint16_t me_build_add_ba_rsp(uint32_t frame, struct bam_env_tag *bam_env,
    00314                              uint16_t param,
    00315                              uint8_t dialog_token,
    00316                              uint16_t status_code);
    00317
    00329 uint16_t me_build_del_ba(uint32_t frame, struct bam_env_tag *bam_env, uint16_t reason_code);
    00330
    00331
    00343 void me_extract_power_constraint(uint32_t buffer, uint16_t buflen,
    00344                                  struct me_bss_info *bss);
    00345
    00361 void me_extract_country_reg(uint32_t buffer, uint16_t buflen,
    00362                             struct me_bss_info *bss);
    00363
    00364
    00375 void me_extract_mobility_domain(uint32_t buffer, uint16_t buflen,
    00376                                 struct me_bss_info *bss);
    00377
    00395 int me_extract_csa(uint32_t buffer, uint16_t buflen, uint8_t *mode,
    00396                    struct mac_chan_op *chan_desc);
    00397
    00412 bool me_extract_edca_params(uint32_t buffer, uint16_t buflen,
    00413                             struct mac_edca_param_set *edca_param,
    00414                             bool *changed);
    00415
    00427 bool me_extract_ht_capa(uint32_t buffer, uint16_t buflen,
    00428                         struct mac_htcapability *ht_cap);
    00429
    00441 bool me_extract_vht_capa(uint32_t buffer, uint16_t buflen,
    00442                          struct mac_vhtcapability *vht_cap);
    00443
    00444 #if NX_HE
    00445
    00456 bool me_extract_he_capa(uint32_t buffer, uint16_t buflen,
    00457                         struct mac_hecapability *he_cap);
    00458
    00473 bool me_extract_he_oper(uint32_t buffer, uint16_t buflen,
    00474                         struct me_bss_info *bss);
    00475
    00489 bool me_extract_mu_edca_params(uint32_t buffer, uint16_t buflen,
    00490                                struct mac_mu_edca_param_set *mu_edca_param,
    00491                                bool *changed);
    00492
    00504 bool me_extract_uora_params(uint32_t buffer, uint16_t buflen,
    00505                             struct mm_set_uora_req *uora_param);
    00506 #endif // NX_HE
    00507
    00509
    00510 #endif  // _ME_MGMTFRAME_H_