# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/vif/vif_mgmt.h File Reference

Virtual Interface Management definitions. More...

`#include "co_list.h"`
`#include "mac.h"`
`#include "mm_timer.h"`
`#include "chan.h"`
`#include "txl_frame.h"`
`#include "phy.h"`
`#include "me.h"`
`#include "rxl_cntrl.h"`

Go to the source code of this file.

## Data Structures
struct | vif_info_tag
| VIF Info Table. More...
struct | vif_mgmt_env_tag
| VIF management module environment. More...
## Defines
#define | VIF_MGMT_BCN_TO_DUR (10000)
| Duration before a Timeout is raised when waiting for a beacon.
#define | INVALID_VIF_IDX 0xFF
| Macro defining an invalid VIF index.
#define | VIF_UNDEF_POWER 0x7F
| Macro defining an unknown tx power.
## Enumerations
enum | VIF_AP_BCMC_STATUS { VIF_AP_BCMC_BUFFERED = CO_BIT(0), VIF_AP_BCMC_MOREDATA = CO_BIT(1) }
| Bitfield for Broadcast/Multicast traffic status. More...
## Functions
__INLINE int | vif_mgmt_used_cnt (void)
| Get the current number of used VIFs.
__INLINE struct vif_info_tag * | vif_mgmt_first_used (void)
| Get the pointer to the first VIF in the used list.
__INLINE struct vif_info_tag * | vif_mgmt_next (struct vif_info_tag *vif)
| Get the pointer to the next VIF following the one passed as parameter.
void | vif_mgmt_set_bssid_mask (void)
| Set BSSID mask according to BSSID index and Maximum BSSID indicator.
void | vif_mgmt_init (void)
| Initialize all the entries of the station table.
void | vif_mgmt_reset (void)
| Tries to send all the internal frames postponed during a reset procedure once the TX path has been fully reset.
uint8_t | vif_mgmt_register (struct mac_addr const *mac_addr, uint8_t vif_type, bool p2p, uint8_t *vif_idx)
| Allocates new VIF entry, initializes it and fills it with information passed as parameters.
void | vif_mgmt_unregister (uint8_t vif_idx)
| Deletes the VIF entry.
void | vif_mgmt_add_key (struct mm_key_add_req const *param, uint8_t hw_key_idx)
| Add a key for a VIF.
void | vif_mgmt_del_key (struct vif_info_tag *vif, uint8_t keyid)
| delete a key for a VIF
__INLINE uint8_t | vif_mgmt_get_type (uint8_t vif_idx)
| Return the type of the VIF the index of which is passed as parameter.
uint8_t | vif_mgmt_get_staid (const struct vif_info_tag *vif, const struct mac_addr *sta_addr)
| Return IDX of a STA linked to the vif.
__INLINE uint8_t | vif_mgmt_get_band (struct vif_info_tag *vif)
| Return band of the channel used by a vif.
__INLINE int | vif_mgmt_get_txtype (struct vif_info_tag *vif)
| Return TX type to used to send frame on this vif.
__INLINE struct mac_addr * | vif_mgmt_get_addr (uint8_t vif_idx)
| Get VIF MAC address.
void | vif_mgmt_send_postponed_frame (struct vif_info_tag *vif)
| Try to send TX frame whose transmission had been postponed due to bad current channel and peer absence.
void | vif_mgmt_bcn_to_prog (struct vif_info_tag *vif)
| Program TimeOut for beacon reception.
void | vif_mgmt_bcn_recv (struct vif_info_tag *vif)
| Update Channel status after reception of BEACON.
void | vif_mgmt_set_ap_bcn_int (struct vif_info_tag *vif, uint16_t bcn_int)
| Set the Beacon Interval value for an AP or a Mesh Point VIF (should have been verified before any call to this function).
void | vif_mgmt_switch_channel (struct vif_info_tag *vif)
| Execute Channel switch at the end of a CSA.
struct vif_info_tag * | vif_mgmt_get_single_sta_vif (void)
| Check if only one VIF is registered, and is of STA type.
## Variables
struct vif_mgmt_env_tag | vif_mgmt_env
| VIF management environment variable.
struct vif_info_tag | vif_info_tab [NX_VIRT_DEV_MAX]
| VIF information table.

## Detailed Description

Virtual Interface Management definitions.

Copyright (C) RivieraWaves 2011-2019

Definition in file vif_mgmt.h.