/space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/sta/sta_mgmt.h File Reference

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_addrsta_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.

Detailed Description

UMAC Station Management definitions.

Copyright (C) RivieraWaves 2011-2019

Definition in file sta_mgmt.h.


Generated on 14 Jan 2020 for Ceva-RW WLAN FullMAC SW documentation by  doxygen 1.6.1