1 2 #ifndef _wl_iapsta_ 3 #define _wl_iapsta_ 4 typedef enum IFMODE { 5 ISTA_MODE = 1, 6 IAP_MODE, 7 IGO_MODE, 8 IGC_MODE, 9 IMESH_MODE 10 } ifmode_t; 11 12 enum wl_ext_status { 13 WL_EXT_STATUS_DISCONNECTING = 0, 14 WL_EXT_STATUS_DISCONNECTED, 15 WL_EXT_STATUS_SCAN, 16 WL_EXT_STATUS_SCANNING, 17 WL_EXT_STATUS_SCAN_COMPLETE, 18 WL_EXT_STATUS_CONNECTING, 19 WL_EXT_STATUS_RECONNECT, 20 WL_EXT_STATUS_CONNECTED, 21 WL_EXT_STATUS_ADD_KEY, 22 WL_EXT_STATUS_AP_ENABLING, 23 WL_EXT_STATUS_AP_ENABLED, 24 WL_EXT_STATUS_DELETE_STA, 25 WL_EXT_STATUS_STA_DISCONNECTED, 26 WL_EXT_STATUS_STA_CONNECTED, 27 WL_EXT_STATUS_AP_DISABLING, 28 WL_EXT_STATUS_AP_DISABLED 29 }; 30 31 extern int op_mode; 32 void wl_ext_update_conn_state(dhd_pub_t *dhd, int ifidx, uint conn_state); 33 #ifdef EAPOL_RESEND 34 void wl_ext_backup_eapol_txpkt(dhd_pub_t *dhd, int ifidx, void *pkt); 35 void wl_ext_release_eapol_txpkt(dhd_pub_t *dhd, int ifidx, bool rx); 36 #endif /* EAPOL_RESEND */ 37 void wl_ext_iapsta_get_vif_macaddr(struct dhd_pub *dhd, int ifidx, u8 *mac_addr); 38 #ifdef WLDWDS 39 int wl_ext_iapsta_attach_dwds_netdev(struct net_device *net, int ifidx, uint8 bssidx); 40 int wl_ext_iapsta_dettach_dwds_netdev(struct net_device *net, int ifidx, uint8 bssidx); 41 #endif /* WLDWDS */ 42 int wl_ext_iapsta_attach_netdev(struct net_device *net, int ifidx, uint8 bssidx); 43 int wl_ext_iapsta_attach_name(struct net_device *net, int ifidx); 44 int wl_ext_iapsta_dettach_netdev(struct net_device *net, int ifidx); 45 int wl_ext_iapsta_update_net_device(struct net_device *net, int ifidx); 46 int wl_ext_iapsta_alive_preinit(struct net_device *dev); 47 int wl_ext_iapsta_alive_postinit(struct net_device *dev); 48 int wl_ext_iapsta_attach(struct net_device *net); 49 void wl_ext_iapsta_dettach(struct net_device *net); 50 int wl_ext_iapsta_enable(struct net_device *dev, char *command, int total_len); 51 int wl_ext_iapsta_disable(struct net_device *dev, char *command, int total_len); 52 int wl_ext_isam_param(struct net_device *dev, char *command, int total_len); 53 int wl_ext_isam_status(struct net_device *dev, char *command, int total_len); 54 int wl_ext_isam_init(struct net_device *dev, char *command, int total_len); 55 int wl_ext_iapsta_config(struct net_device *dev, char *command, int total_len); 56 void wl_ext_add_remove_pm_enable_work(struct net_device *dev, bool add); 57 bool wl_ext_iapsta_other_if_enabled(struct net_device *net); 58 bool wl_ext_sta_connecting(struct net_device *dev); 59 void wl_iapsta_wait_event_complete(struct dhd_pub *dhd); 60 int wl_iapsta_suspend_resume(dhd_pub_t *dhd, int suspend); 61 #ifdef USE_IW 62 int wl_ext_in4way_sync_wext(struct net_device *dev, uint action, 63 enum wl_ext_status status, void *context); 64 #endif /* USE_IW */ 65 #ifdef WLMESH 66 int wl_ext_mesh_peer_status(struct net_device *dev, char *data, char *command, 67 int total_len); 68 int wl_ext_isam_peer_path(struct net_device *dev, char *command, int total_len); 69 #endif 70 #ifdef WL_CFG80211 71 int wl_ext_in4way_sync(struct net_device *dev, uint action, 72 enum wl_ext_status status, void *context); 73 void wl_ext_update_extsae_4way(struct net_device *dev, 74 const struct ieee80211_mgmt *mgmt, bool tx); 75 u32 wl_ext_iapsta_update_channel(struct net_device *dev, u32 channel); 76 void wl_ext_iapsta_update_iftype(struct net_device *net, int wl_iftype); 77 bool wl_ext_iapsta_iftype_enabled(struct net_device *net, int wl_iftype); 78 void wl_ext_iapsta_enable_master_if(struct net_device *dev, bool post); 79 void wl_ext_iapsta_restart_master(struct net_device *dev); 80 void wl_ext_iapsta_ifadding(struct net_device *net, int ifidx); 81 bool wl_ext_iapsta_mesh_creating(struct net_device *net); 82 void wl_ext_fw_reinit_incsa(struct net_device *dev); 83 #ifdef STA_MGMT 84 bool wl_ext_del_sta_info(struct net_device *net, u8 *bssid); 85 bool wl_ext_add_sta_info(struct net_device *net, u8 *bssid); 86 #endif /* STA_MGMT */ 87 #ifdef SCAN_SUPPRESS 88 uint16 wl_ext_scan_suppress(struct net_device *dev, void *scan_params, bool scan_v2, 89 struct wl_chan_info *chan_info); 90 void wl_ext_reset_scan_busy(dhd_pub_t *dhd); 91 #endif /* SCAN_SUPPRESS */ 92 #endif 93 #ifdef PROPTX_MAXCOUNT 94 int wl_ext_get_wlfc_maxcount(struct dhd_pub *dhd, int ifidx); 95 #endif /* PROPTX_MAXCOUNT */ 96 #endif 97