- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

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

Go to the documentation of this file.

    00001
    00012 #ifndef _SM_TASK_H_
    00013 #define _SM_TASK_H_
    00014
    00024 #include "sm.h"
    00025 #include "scan.h"
    00026 #include "ke_task.h"
    00027
    00029 #define SM_IDX_MAX 1
    00030
    00032 enum sm_state_tag
    00033 {
    00035     SM_IDLE,
    00037     SM_SCANNING,
    00039     SM_JOINING,
    00041     SM_STA_ADDING,
    00043     SM_BSS_PARAM_SETTING,
    00045     SM_AUTHENTICATING,
    00047     SM_EXTERNAL_AUTHENTICATING,
    00049     SM_ASSOCIATING,
    00051     SM_ACTIVATING,
    00053     SM_DISCONNECTING,
    00055     SM_STATE_MAX
    00056 };
    00057
    00059 enum sm_msg_tag
    00060 {
    00062     SM_CONNECT_REQ = KE_FIRST_MSG(TASK_SM),
    00064     SM_CONNECT_CFM,
    00066     SM_CONNECT_IND,
    00068     SM_DISCONNECT_REQ,
    00070     SM_DISCONNECT_CFM,
    00072     SM_DISCONNECT_IND,
    00074     SM_EXTERNAL_AUTH_REQUIRED_IND,
    00076     SM_EXTERNAL_AUTH_REQUIRED_RSP,
    00077
    00078     // Section of internal SM messages. No SM API messages should be defined below this point
    00080     SM_RSP_TIMEOUT_IND,
    00081 };
    00082
    00084 struct sm_connect_req
    00085 {
    00087     struct mac_ssid ssid;
    00089     struct mac_addr bssid;
    00091     struct mac_chan_def chan;
    00093     uint32_t flags;
    00095     uint16_t ctrl_port_ethertype;
    00097     uint16_t ie_len;
    00099     uint16_t listen_interval;
    00101     bool dont_wait_bcmc;
    00103     uint8_t auth_type;
    00105     uint8_t uapsd_queues;
    00107     uint8_t vif_idx;
    00110     uint32_t ie_buf[64];
    00111 };
    00112
    00114 struct sm_connect_cfm
    00115 {
    00119     uint8_t status;
    00120 };
    00121
    00124 #define SM_ASSOC_IE_LEN   800
    00125
    00127 struct sm_connect_ind
    00128 {
    00130     uint16_t status_code;
    00132     struct mac_addr bssid;
    00134     bool roamed;
    00136     uint8_t vif_idx;
    00138     uint8_t ap_idx;
    00140     uint8_t ch_idx;
    00142     bool qos;
    00144     uint8_t acm;
    00146     uint16_t assoc_req_ie_len;
    00148     uint16_t assoc_rsp_ie_len;
    00150     uint32_t assoc_ie_buf[SM_ASSOC_IE_LEN/4];
    00152     uint16_t aid;
    00154     struct mac_chan_op chan;
    00156     uint32_t ac_param[AC_MAX];
    00157 };
    00158
    00160 struct sm_disconnect_req
    00161 {
    00163     uint16_t reason_code;
    00165     uint8_t vif_idx;
    00166 };
    00167
    00169 struct sm_disconnect_ind
    00170 {
    00172     uint16_t reason_code;
    00174     uint8_t vif_idx;
    00176     bool ft_over_ds;
    00177 };
    00178
    00180 struct sm_external_auth_required_ind
    00181 {
    00183     uint8_t vif_idx;
    00185     struct mac_ssid ssid;
    00187     struct mac_addr bssid;
    00189     uint32_t akm;
    00190 };
    00191
    00193 struct sm_external_auth_required_rsp
    00194 {
    00196     uint8_t vif_idx;
    00198     uint16_t status;
    00199 };
    00200
    00202 extern const struct ke_state_handler sm_default_handler;
    00203
    00205 extern ke_state_t sm_state[SM_IDX_MAX];
    00206
    00208
    00209 #endif // _SM_TASK_H_