- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

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

Go to the documentation of this file.

    00001
    00012 #ifndef _SM_H_
    00013 #define _SM_H_
    00014
    00024 // for mac_addr and other definitions
    00025 #include "mac.h"
    00026 #include "ke_task.h"
    00027
    00029 #define SM_MAX_IE_LEN   256
    00030
    00031 struct rxu_mgt_ind;
    00032 struct vif_info_tag;
    00033
    00035 struct sm_env_tag
    00036 {
    00038     struct sm_connect_req const *connect_param;
    00040     struct sm_connect_ind *connect_ind;
    00042     struct ke_msg *disconnect_ind;
    00044     struct co_list bss_config;
    00046     bool host_disconnect;
    00048     bool join_passive;
    00050     bool ft_over_ds;
    00052     struct mac_addr ft_old_bssid;
    00054     struct vif_info_tag *vif_disconnect;
    00055 };
    00056
    00062 void sm_init(void);
    00063
    00073 void sm_get_bss_params(struct mac_addr const **bssid,
    00074                        struct mac_chan_def const **chan);
    00075
    00085 void sm_join_bss(struct mac_addr const *bssid,
    00086                  struct mac_chan_def const *chan,
    00087                  bool passive);
    00088
    00099 void sm_scan_bss(struct mac_addr const *bssid,
    00100                  struct mac_chan_def const *chan);
    00101
    00111 void sm_connect_ind(uint16_t status);
    00112
    00120 void sm_auth_handler(struct rxu_mgt_ind const *param);
    00121
    00129 void sm_assoc_rsp_handler(struct rxu_mgt_ind const *param);
    00130
    00141 int sm_deauth_handler(struct rxu_mgt_ind const *param);
    00142
    00143 #ifdef NX_MFP
    00144
    00153 void sm_sa_query_handler(struct rxu_mgt_ind const *param);
    00154 #endif // NX_MFP
    00155
    00166 uint8_t sm_add_chan_ctx(uint8_t *chan_idx);
    00167
    00176 void sm_set_bss_param(void);
    00177
    00184 void sm_bss_config_send(void);
    00185
    00196 void sm_disconnect(uint8_t vif_index, uint16_t reason_code);
    00197
    00208 void sm_disconnect_process(struct vif_info_tag *vif, uint16_t reason);
    00209
    00217 void sm_assoc_done(uint16_t aid);
    00218
    00224 void sm_assoc_req_send(void);
    00225
    00235 void sm_auth_send(uint16_t auth_seq, uint32_t *challenge);
    00236
    00247 void sm_external_auth_start(uint32_t akm);
    00248
    00259 void sm_external_auth_end(uint16_t status);
    00260
    00267 bool sm_external_auth_in_progress(void);
    00268
    00281 int sm_get_rsnie_pmkid_count(uint32_t ies, uint16_t ies_len);
    00282
    00284 extern struct sm_env_tag sm_env;
    00285
    00287
    00288 #endif // _SM_H_