diff --git a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h index 0955c3b46acb..baa07d129147 100644 --- a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h +++ b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h @@ -20,6 +20,7 @@ #ifndef _WLAN_LMAC_IF_DEF_H_ #define _WLAN_LMAC_IF_DEF_H_ +#include #include "qdf_status.h" #include "wlan_objmgr_cmn.h" #ifdef DFS_COMPONENT_ENABLE @@ -95,6 +96,13 @@ struct wlan_lmac_if_scan_tx_ops { }; +struct wlan_lmac_if_mlme_tx_ops { + void (*scan_sta_power_events)(struct wlan_objmgr_pdev *pdev, + int event_type, int event_status); + void (*scan_connection_lost)(struct wlan_objmgr_pdev *pdev); + void (*scan_end)(struct wlan_objmgr_pdev *pdev); +}; + /** * struct wlan_lmac_if_scan_rx_ops - south bound rx function pointers for scan * @scan_ev_handler: scan event handler @@ -559,6 +567,7 @@ struct wlan_lmac_if_tx_ops { #ifdef CONVERGED_TDLS_ENABLE struct wlan_lmac_if_tdls_tx_ops tdls_tx_ops; #endif + struct wlan_lmac_if_mlme_tx_ops mops; }; /** @@ -836,6 +845,64 @@ struct wlan_lmac_if_dfs_rx_ops { #endif }; +struct wlan_lmac_if_mlme_rx_ops { + + void (*wlan_mlme_scan_start)(struct wlan_objmgr_pdev *pdev); + void (*wlan_mlme_register_pm_event_handler)( + struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + void (*wlan_mlme_unregister_pm_event_handler)( + struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + QDF_STATUS (*wlan_mlme_register_vdev_event_handler)( + struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + QDF_STATUS (*wlan_mlme_unregister_vdev_event_handler)( + struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + int (*wlan_mlme_send_probe_request)(struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id, + u_int8_t *destination, + u_int8_t *bssid, + u_int8_t *ssid, + u_int32_t ssidlen, + u_int8_t *ie, + size_t len); + int (*wlan_mlme_resmgr_request_bsschan)(struct wlan_objmgr_pdev *pdev); + int (*wlan_mlme_resmgr_request_offchan)(struct wlan_objmgr_pdev *pdev, + u_int32_t freq, + u_int32_t flags, + u_int32_t estimated_offchannel_time); + int (*wlan_mlme_resmgr_active)(struct wlan_objmgr_pdev *pdev); + int (*wlan_mlme_get_cw_inter_found)(struct wlan_objmgr_pdev *pdev); + int (*wlan_mlme_set_home_channel)(struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + int (*wlan_mlme_set_channel)(struct wlan_objmgr_pdev *pdev, + u_int32_t freq, + u_int32_t flags); + void (*wlan_mlme_start_record_stats)(struct wlan_objmgr_pdev *pdev); + void (*wlan_mlme_end_record_stats)(struct wlan_objmgr_pdev *pdev); + int (*wlan_mlme_get_enh_rpt_ind)(struct wlan_objmgr_pdev *pdev); + int (*wlan_mlme_pause)(struct wlan_objmgr_pdev *pdev); + void (*wlan_mlme_unpause)(struct wlan_objmgr_pdev *pdev); + int (*wlan_mlme_vdev_pause_control)(struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + int (*wlan_mlme_sta_power_pause)( + struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id, + u_int32_t timeout); + int (*wlan_mlme_sta_power_unpause)(struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + int (*wlan_mlme_set_vdev_sleep)(struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + int (*wlan_mlme_set_vdev_wakeup)(struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + qdf_time_t (*wlan_mlme_get_traffic_indication_timestamp)( + struct wlan_objmgr_pdev *pdev); + int (*wlan_mlme_get_acs_in_progress)(struct wlan_objmgr_pdev *pdev, + uint8_t vdev_id); + void (*wlan_mlme_end_scan)(struct wlan_objmgr_pdev *pdev); +}; /** * struct wlan_lmac_if_rx_ops - south bound rx function pointers * @mgmt_txrx_tx_ops: mgmt txrx rx ops @@ -877,6 +944,7 @@ struct wlan_lmac_if_rx_ops { #ifdef CONVERGED_TDLS_ENABLE struct wlan_lmac_if_tdls_rx_ops tdls_rx_ops; #endif + struct wlan_lmac_if_mlme_rx_ops mops; }; /* Function pointer to call legacy tx_ops registration in OL/WMA.