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

The UMAC's STA Manager (SM) module implementation. More...

`#include "sm.h"`
`#include "sm_task.h"`
`#include "scanu.h"`
`#include "scanu_task.h"`
`#include "me.h"`
`#include "co_utils.h"`
`#include "co_endian.h"`
`#include "me_utils.h"`
`#include "mm_task.h"`
`#include "rxu_task.h"`
`#include "mac_frame.h"`
`#include "mac_ie.h"`
`#include "me_mgmtframe.h"`
`#include "vif_mgmt.h"`
`#include "sta_mgmt.h"`
`#include "ps.h"`
`#include "txu_cntrl.h"`
`#include "mfp.h"`
`#include "tpc.h"`

Go to the source code of this file.

## Defines
#define | SM_EXTERNAL_AUTH_TIMEOUT 600000
| Timeout, in us, for external authentication.
## Functions
static void | sm_frame_tx_cfm_handler (void *env, uint32_t status)
| Frame transmission confirmation handler If the frame is not successfully transmitted it is pushed again until the timeout expires.
static void | sm_bss_config_init (void)
| Initialize the BSS configuration list.
static void | sm_bss_config_push (void *param)
| Push a BSS configuration message to the list.
static void | sm_deauth_cfm (void *env, uint32_t status)
| DEAUTH frame transmission confirmation handler Once the transmission is confirmed we can continue the disconnection process.
static void | sm_delete_resources (struct vif_info_tag *vif)
| Delete the different SW resources that were allocated for this connection.
void | sm_init (void)
| Initialize the SM context.
void | sm_get_bss_params (struct mac_addr const **bssid, struct mac_chan_def const **chan)
| Search for the BSSID and Channel information in the scan results and/or the connection parameters.
void | sm_scan_bss (struct mac_addr const *bssid, struct mac_chan_def const *chan)
| Launch the scan to find the target BSS.
void | sm_join_bss (struct mac_addr const *bssid, struct mac_chan_def const *chan, bool passive)
| Try to join the BSS indicated by the parameters.
uint8_t | sm_add_chan_ctx (uint8_t *chan_idx)
| Add the channel context for the new connection.
void | sm_set_bss_param (void)
| Set the BSS parameters This function prepares the list of BSS configuration messages that will be transmitted to the Lower MAC.
void | sm_bss_config_send (void)
| Send the next BSS parameter message present in the list.
void | sm_disconnect (uint8_t vif_index, uint16_t reason_code)
| Start the disconnection procedure upon the reception of a SM_DISCONNECT_REQ.
void | sm_disconnect_process (struct vif_info_tag *vif, uint16_t reason)
| Terminates the disconnection procedure after reception of a DEAUTH/DISASSOC or the transmission of a DEAUTH frame.
void | sm_connect_ind (uint16_t status)
| Function called at any time during the connection, used to indicate to the host the completion of the procedure (either successful or not).
void | sm_auth_send (uint16_t auth_seq, uint32_t *challenge)
| Send Authentication frame.
void | sm_assoc_req_send (void)
| Send MAC_FCTRL_ASSOCREQ or MAC_FCTRL_REASSOCREQ to the air.
void | sm_assoc_done (uint16_t aid)
| Association completed operations.
void | sm_auth_handler (struct rxu_mgt_ind const *param)
| Function called upon reception of a AUTH frame from the AP.
void | sm_assoc_rsp_handler (struct rxu_mgt_ind const *param)
| Function called upon reception of a ASSOC_RSP frame from the AP.
int | sm_deauth_handler (struct rxu_mgt_ind const *param)
| Function called upon reception of a DEAUTH or DISASSOC frame from the AP.
void | sm_sa_query_handler (struct rxu_mgt_ind const *param)
| Function called upon reception of a SA QUERY action frame.
void | sm_external_auth_start (uint32_t akm)
| Start External Authentication procedure.
void | sm_external_auth_end (uint16_t status)
| End External Authentication procedure.
bool | sm_external_auth_in_progress (void)
| Check if external authentication is in progress.
int | sm_get_rsnie_pmkid_count (uint32_t ies, uint16_t ies_len)
| Return PMKID count from RSN IE.
## Variables
struct sm_env_tag | sm_env
| SM module environment.

## Detailed Description

The UMAC's STA Manager (SM) module implementation.

Copyright (C) RivieraWaves 2011-2019

Definition in file sm.c.