- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/tdls/tdls_task.h

Go to the documentation of this file.

    00001
    00013 #ifndef TDLS_TASK_H_
    00014 #define TDLS_TASK_H_
    00015
    00016 #if (NX_TDLS)
    00017
    00026 /*
    00027  * INCLUDE FILES
    00028  ****************************************************************************************
    00029  */
    00030 #include "co_int.h"
    00031 #include "co_bool.h"
    00032
    00033 // inclusion to retrieve the task index
    00034 #include "ke_task.h"
    00035 // for MAC related elements (mac_addr, mac_ssid...)
    00036 #include "mac.h"
    00037 #include "phy.h"
    00038
    00039 struct chan_ctxt_tag;
    00040 struct vif_info_tag;
    00041
    00042 /*
    00043  * DEFINES
    00044  ****************************************************************************************
    00045  */
    00047 #define TDLS_IDX_MAX 1
    00048
    00050 enum tdls_state_tag
    00051 {
    00053     TDLS_BASE_CHANNEL,
    00055     TDLS_TRAFFIC_IND_TX,
    00057     TDLS_TRAFFIC_IND_RX,
    00059     TDLS_CHSW_REQ_TX,
    00061     TDLS_CHSW_REQ_RX,
    00063     TDLS_OFF_CHANNEL,
    00065     TDLS_STATE_MAX
    00066 };
    00067
    00069 enum tdls_msg_tag
    00070 {
    00072     TDLS_CHAN_SWITCH_REQ = KE_FIRST_MSG(TASK_TDLS),
    00074     TDLS_CHAN_SWITCH_CFM,
    00076     TDLS_CHAN_SWITCH_IND,
    00078     TDLS_CHAN_SWITCH_BASE_IND,
    00080     TDLS_CANCEL_CHAN_SWITCH_REQ,
    00082     TDLS_CANCEL_CHAN_SWITCH_CFM,
    00084     TDLS_PEER_PS_IND,
    00086     TDLS_PEER_TRAFFIC_IND_REQ,
    00088     TDLS_PEER_TRAFFIC_IND_CFM,
    00090     TDLS_MAX
    00091 };
    00092
    00094 struct tdls_chan_switch_req
    00095 {
    00097     uint8_t vif_index;
    00099     uint8_t sta_idx;
    00101     struct mac_addr peer_mac_addr;
    00103     bool initiator;
    00105     struct mac_chan_op chan;
    00107     uint8_t op_class;
    00108 };
    00109
    00111 struct tdls_cancel_chan_switch_req
    00112 {
    00114     uint8_t vif_index;
    00116     uint8_t sta_idx;
    00118     struct mac_addr peer_mac_addr;
    00119 };
    00120
    00122 struct tdls_chan_switch_cfm
    00123 {
    00125     uint8_t status;
    00126 };
    00127
    00129 struct tdls_cancel_chan_switch_cfm
    00130 {
    00132     uint8_t status;
    00133 };
    00134
    00136 struct tdls_chan_switch_ind
    00137 {
    00139     uint8_t vif_index;
    00141     uint8_t chan_ctxt_index;
    00143     uint8_t status;
    00144 };
    00145
    00147 struct tdls_chan_switch_base_ind
    00148 {
    00150     uint8_t vif_index;
    00152     uint8_t chan_ctxt_index;
    00153 };
    00154
    00156 struct tdls_peer_ps_ind
    00157 {
    00159     uint8_t vif_index;
    00161     uint8_t sta_idx;
    00163     struct mac_addr peer_mac_addr;
    00165     bool ps_on;
    00166 };
    00167
    00169 struct tdls_peer_traffic_ind_req
    00170 {
    00172     uint8_t vif_index;
    00174     uint8_t sta_idx;
    00176     struct mac_addr peer_mac_addr;
    00178     uint8_t dialog_token;
    00180     uint8_t last_tid;
    00183     uint16_t last_sn;
    00184 };
    00185
    00187 struct tdls_peer_traffic_ind_cfm
    00188 {
    00190     uint8_t status;
    00191 };
    00192
    00193 /*
    00194  * TASK DESCRIPTOR DECLARATIONS
    00195  ****************************************************************************************
    00196  */
    00197 extern const struct ke_state_handler tdls_default_handler;
    00198 extern ke_state_t tdls_state[TDLS_IDX_MAX];
    00199
    00201 #endif //NX_TDLS
    00202
    00203 #endif /* TDLS_TASK_H_ */