UMAC Station Management definitions. More...
#include "rwnx_config.h"#include "co_list.h"#include "mac.h"#include "mm_task.h"#include "tdls_task.h"#include "mm_timer.h"#include "rxu_cntrl.h"#include "bam.h"Go to the source code of this file.
Data Structures | |
| struct | sta_capa_info |
| Station capability information. More... | |
| struct | sta_mgmt_sec_info |
| Station Information related to Security. More... | |
| struct | sta_pol_tbl_cntl |
| Information related to the used policy table. More... | |
| struct | sta_mgmt_ba_info |
| Information about RX and TX Block Ack for one TID. More... | |
| struct | ba_agmt |
| BA agreement structure - one for every possible TID, valid if params non 0. More... | |
| struct | tdls_info_tag |
| Information related to an established TDLS link. More... | |
| struct | sta_info_tag |
| STA Info Table. More... | |
| struct | sta_info_env_tag |
| STA management module environment. More... | |
Defines | |
| #define | STA_MGMT_PROT_HW_MASK |
| Protection Configuration Management. | |
| #define | VIF_TO_BCMC_IDX(idx) (BROADCAST_STA_IDX_MIN + (idx)) |
| Macro giving the BCMC station index for the VIF index passed as parameter. | |
| #define | STA_REF_BSSID_AID ((uint8_t)-1) |
| Specific AID value indicating that STA is the reference BSSID, in case we are connected to a nonTransmitted BSSID. | |
| #define | STA_CAPA(sta, type) (((sta)->info.capa_flags & STA_##type##_CAPA) != 0) |
| Test whether the specified capability is supported by the STA. | |
| #define | STA_CAPA_SET(sta, type) ((sta)->info.capa_flags |= STA_##type##_CAPA) |
| Set the specified STA capability. | |
| #define | STA_CAPA_CLR(sta, type) ((sta)->info.capa_flags &= ~STA_##type##_CAPA) |
| Clear the specified STA capability. | |
Enumerations | |
| enum | { BROADCAST_STA_IDX_MIN = NX_REMOTE_STA_MAX, BROADCAST_STA_IDX_MAX = NX_REMOTE_STA_MAX + NX_VIRT_DEV_MAX - 1, STA_MAX, INVALID_STA_IDX = 0xFF } |
Station indexes. More... | |
| enum | sta_mgmt_key_type { STA_MGMT_KEY_TYPE_PAIRWISE = 0, STA_MGMT_KEY_TYPE_GROUP, STA_MGMT_KEY_TYPE_MAX } |
Definitions of key types. | |
| enum | sta_mgmt_port_state { STA_MGMT_PORT_CLOSED = 0, STA_MGMT_PORT_CONTROLED, STA_MGMT_PORT_OPEN } |
Logical port state. More... | |
| enum | sta_mgmt_pol_upd { STA_MGMT_POL_UPD_RATE, STA_MGMT_POL_UPD_PROT, STA_MGMT_POL_UPD_PPDU_TX, STA_MGMT_POL_UPD_BW, STA_MGMT_POL_UPD_TX_POWER, STA_MGMT_POL_TRIAL_RATE, STA_MGMT_POL_UPD_BSS_COLOR, STA_MGMT_POL_UPD_MAX } |
Policy Table update bit field indexes. More... | |
| enum | sta_ps_traffic { PS_TRAFFIC_HOST = CO_BIT(0), PS_TRAFFIC_INT = CO_BIT(1), PS_TRAFFIC = (PS_TRAFFIC_HOST | PS_TRAFFIC_INT), UAPSD_TRAFFIC_HOST = CO_BIT(2), UAPSD_TRAFFIC_INT = CO_BIT(3), UAPSD_TRAFFIC = (UAPSD_TRAFFIC_HOST | UAPSD_TRAFFIC_INT) } |
PS traffic type. More... | |
| enum | sta_ps_sp { NO_SERVICE_PERIOD = 0, PS_SERVICE_PERIOD = CO_BIT(0), UAPSD_SERVICE_PERIOD_INT = CO_BIT(1), UAPSD_SERVICE_PERIOD_HOST = CO_BIT(2), UAPSD_SERVICE_PERIOD = (UAPSD_SERVICE_PERIOD_INT | UAPSD_SERVICE_PERIOD_HOST), ANY_SERVICE_PERIOD_INT = (PS_SERVICE_PERIOD | UAPSD_SERVICE_PERIOD_INT), BCN_SERVICE_PERIOD = CO_BIT(3) } |
PS service period. More... | |
| enum | { PORT_CLOSED = 0, PORT_CONTROLED, PORT_OPEN } |
logical port state More... | |
Functions | |
| __INLINE uint8_t | sta_mgmt_get_port_state (uint8_t sta_idx) |
| Retrieve the port state for the given STA index. | |
| __INLINE uint16_t | sta_mgmt_get_port_ethertype (uint8_t sta_idx) |
| Retrieve the control protocol used by the STA. | |
| void | sta_mgmt_init (void) |
| Initialize all the entries of the station table. | |
| uint8_t | sta_mgmt_register (struct mm_sta_add_req const *param, uint8_t *sta_idx) |
| Allocates new station entry, initializes it and fills it with information passed as parameters. | |
| void | sta_mgmt_unregister (uint8_t sta_idx) |
| Deletes the station table and free all the resources allocated for this station. | |
| void | sta_mgmt_add_key (struct mm_key_add_req const *param, uint8_t hw_key_idx) |
| Add a key for a STA. | |
| void | sta_mgmt_del_key (struct sta_info_tag *sta) |
| Delete a key for a STA. | |
| __INLINE uint8_t | sta_mgmt_get_tx_bam_idx (uint8_t sta_idx, uint8_t tid) |
| Return if a TX Block Ack agreement exists for the provided [STAID, TID] tuple. | |
| __INLINE uint8_t | sta_mgmt_get_rx_bam_idx (uint8_t sta_idx, uint8_t tid) |
| Return if a RX Block Ack agreement exists for the provided [STAID, TID] tuple. | |
| __INLINE uint8_t | sta_mgmt_ba_tx_cnt_get (uint8_t sta_idx, uint8_t tid) |
| Get the number of packets currently in the TX path for a given STA/TID pair. | |
| __INLINE void | sta_mgmt_ba_tx_cnt_inc (uint8_t sta_idx, uint8_t tid) |
| Increment the number of packets currently in the TX path for a given STA/TID pair. | |
| __INLINE void | sta_mgmt_ba_tx_cnt_dec (uint8_t sta_idx, uint8_t tid) |
| Decrement the number of packets currently in the TX path for a given STA/TID pair. | |
| __INLINE uint32_t | sta_mgmt_get_add_ba_time (uint8_t sta_idx, uint8_t tid) |
| Return the last time a BlockAck agreement was established for this STA/TID. | |
| __INLINE void | sta_mgmt_set_add_ba_time (uint8_t sta_idx, uint8_t tid, uint32_t time) |
| Set the last time a BlockAck agreement was established for this STA/TID. | |
| __INLINE uint16_t | sta_mgmt_get_tx_ssn_and_inc (uint8_t sta_idx, uint8_t tid) |
| Return the next SN for this STA/TID pair and increase it for the next time. | |
| __INLINE uint16_t | sta_mgmt_get_tx_ssn (uint8_t sta_idx, uint8_t tid) |
| Return the next SN to be used for this STA/TID pair. | |
| __INLINE bool | sta_mgmt_is_in_ps (uint8_t sta_idx) |
| Return the PS state of a given station. | |
| __INLINE bool | sta_mgmt_is_valid (uint8_t sta_idx) |
| Return the validity state of a specific station index, i.e it indicates if the given station is currently registered or not. | |
| __INLINE struct mac_addr * | sta_mgmt_get_peer_addr (uint8_t sta_idx) |
| Retrieve the peer STA MAC Address matching with the provided STA Index. | |
| __INLINE uint8_t | sta_mgmt_get_vif_idx (uint8_t sta_idx) |
| Return the VIF index whose the STA depends on. | |
| __INLINE void | sta_mgmt_set_tx_ssn (uint8_t sta_idx, uint8_t tid, uint16_t ssn) |
| Set the Start Sequence Number of the BA agreement for this STA/TID pair. | |
| __INLINE uint8_t | sta_mgmt_get_tx_buff_size (uint8_t sta_idx, uint8_t tid) |
| Get the maximum number of MPDUs that can be put in an A-MPDU for this STA-TID pair. | |
| __INLINE void | sta_mgmt_set_tx_buff_size (uint8_t sta_idx, uint8_t tid, uint8_t buff_size) |
| Set the maximum number of MPDUs that can be put in an A-MPDU for this STA-TID pair. | |
| int | sta_mgmt_send_postponed_frame (struct vif_info_tag *vif, struct sta_info_tag *sta, int limit) |
| Go through list of postponed internal frames and try again to push these frames. | |
Variables | |
| struct sta_info_env_tag | sta_info_env |
| STA management environment variable. | |
| struct sta_info_tag | sta_info_tab [STA_MAX] |
| STA information table. | |
UMAC Station Management definitions.
Copyright (C) RivieraWaves 2011-2019
Definition in file sta_mgmt.h.
1.6.1