From: saerome kim Date: Tue, 22 Aug 2017 08:44:36 +0000 (+0900) Subject: Add getter APIs related to peers X-Git-Tag: submit/tizen/20170828.225740~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a7ccf76e6213cf6e26e44b26e3bee4f79324eebb;p=platform%2Fcore%2Fapi%2Fwifi-mesh.git Add getter APIs related to peers Change-Id: Ib2bc7009732c2e7a4c6c235ed12027272d082647 Signed-off-by: saerome kim --- diff --git a/include/wifi-mesh-internal.h b/include/wifi-mesh-internal.h index e13f2ee..9b6facc 100644 --- a/include/wifi-mesh-internal.h +++ b/include/wifi-mesh-internal.h @@ -17,6 +17,7 @@ #ifndef __TIZEN_WIFI_MESH_INTERNAL_H__ #define __TIZEN_WIFI_MESH_INTERNAL_H__ +#include #include #ifdef __cplusplus @@ -190,7 +191,1812 @@ typedef void (*wifi_mesh_found_station_cb)(wifi_mesh_station_info_h station, voi * @see mesh_get_path_info() * */ -int wifi_mesh_get_stations_info(wifi_mesh_h handle, wifi_mesh_found_station_cb cb, void *user_data); +int wifi_mesh_get_stations_info(wifi_mesh_h handle, wifi_mesh_found_station_cb cb, + void *user_data); + +/** + * @brief Get BSSID of connected stations. + * @details Get BSSID information of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] bssid A pointer to get BSSID information + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_bssid(wifi_mesh_station_info_h station, gchar* bssid); + +/** + * @brief Get inactive time of a connected station. + * @details Get inactive time information of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] inactive_time A time of inactive period + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_inactive_time(wifi_mesh_station_info_h station, guint* inactive_time); + +/** + * @brief Get rx bytes of a connected station. + * @details Get rx bytes information of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] rx_bytes a number of received bytes + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_rx_bytes(wifi_mesh_station_info_h station, guint64* rx_bytes); + +/** + * @brief Get rx packets of a connected station. + * @details Get rx packets information of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] rx_packets a number of received packets + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_rx_packets(wifi_mesh_station_info_h station, guint* rx_packets); + +/** + * @brief Get tx packets counts of a connected station. + * @details Get tx packets information of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] tx_packets a number of sent packets + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_tx_bytes(wifi_mesh_station_info_h station, guint64* tx_bytes); + +/** + * @brief Get tx packets of a connected station. + * @details Get rx packets information of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] tx_packets a number of sent packets + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_tx_packets(wifi_mesh_station_info_h station, guint* tx_packets); + +/** + * @brief Get a re-trial number of transmits at a connected station. + * @details Get a re-trial number of transmits information at a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] tx_retries a re-try number of transmits + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_tx_retries(wifi_mesh_station_info_h station, guint* tx_retries); + +/** + * @brief Get tx-fail counts of a connected station. + * @details Get a number of transmit failure information of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] tx_failed a number of transmits-failures + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_tx_failed(wifi_mesh_station_info_h station, guint* tx_failed); + +/** + * @brief Get a number of beacon loss at a connected station. + * @details Get a number of beacon loss counts of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] beacon_loss a number of transmits-failures + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_beacon_loss(wifi_mesh_station_info_h station, guint* beacon_loss); + +/** + * @brief Get a number of received beacons at a connected station. + * @details Get a number of received beacon counts of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] beacon_rx a number of transmits-failures + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_beacon_rx(wifi_mesh_station_info_h station, guint64* beacon_rx); + +/** + * @brief Get a number of dropped packets number with ambiguous reason at a connected station. + * @details Get a number of dropped packets number with ambiguous reason of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] rx_drop_misc a number of dropped packets even if a peer received + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_rx_drop_misc(wifi_mesh_station_info_h station, guint64* rx_drop_misc); + +/** + * @brief Get instant received signal strength at a connected station. + * @details Get instant received signal strength of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] signal Instant received signal strength + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_signal(wifi_mesh_station_info_h station, gint* signal); + +/** + * @brief Get average received signal strength at a connected station. + * @details Get average received signal strength of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] signal_avg average received signal strength + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_signal_avg(wifi_mesh_station_info_h station, gint* signal_avg); + +/** + * @brief Get transmit bit-rate at a connected station. + * @details Get transmit bit-rate of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] tx_bitrate Tx bit rate + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_tx_bitrate(wifi_mesh_station_info_h station, guint* tx_bitrate); + +/** + * @brief Get received bit-rate at a connected station. + * @details Get received bit-rate of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] rx_bitrate Tx bit rate + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_rx_bitrate(wifi_mesh_station_info_h station, guint* rx_bitrate); + +/** + * @brief Get local-link identifier at a connected station. + * @details Get local-link identifier of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] mesh_llid Local-link identifier + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_mesh_llid(wifi_mesh_station_info_h station, gushort* mesh_llid); + +/** + * @brief Get peer-link identifier at a connected station. + * @details Get peer-link identifier of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] mesh_plid Peer-link identifier + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_mesh_plid(wifi_mesh_station_info_h station, gushort* mesh_plid); + +/** + * @brief Get peer-link status at a connected station. + * @details Get peer-link status of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] mesh_plink Peer-link status such as "ESTAB" + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_mesh_plink(wifi_mesh_station_info_h station, guchar* mesh_plink); + +/** + * @brief Get local-link power save mode at a connected station. + * @details Get local-link power save mode of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] local_ps_mode Local-link power save + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_local_ps_mode(wifi_mesh_station_info_h station, guint* local_ps_mode); + +/** + * @brief Get peer-link power save mode at a connected station. + * @details Get peer-link power save mode of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] peer_ps_mode Peer-link power save + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_peer_ps_mode(wifi_mesh_station_info_h station, guint* peer_ps_mode); + +/** + * @brief Get non-peer-link power save mode at a connected station. + * @details Get non-peer-link power save mode of a peer + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] non_peer_ps_mode Non-peer-link power save + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_non_peer_ps_mode(wifi_mesh_station_info_h station, guint* non_peer_ps_mode); + +/** + * @brief Get to know whether a connected station authorized or not. + * @details Get to know whether a peer authorized or not. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] authorized Authorized or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_authorized(wifi_mesh_station_info_h station, gboolean* authorized); + +/** + * @brief Get to know whether a connected station athenticated or not. + * @details Get to know whether a peer athenticated or not. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] authenticated Athenticated or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_authenticated(wifi_mesh_station_info_h station, gboolean* authenticated); + +/** + * @brief Get to know whether a connected station associated or not. + * @details Get to know whether a peer associated or not. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] associated Associated or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_associated(wifi_mesh_station_info_h station, gboolean* associated); + +/** + * @brief Get preamble type long or short. + * @details Get preamble type of a peer. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] preamble Long or short + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_preamble(wifi_mesh_station_info_h station, gboolean* preamble); + +/** + * @brief Get to know a station can support Wireless Multimedia Extension. + * @details Get to know a station can support Wireless Multimedia Extension (in other word, Wi-Fi Multimedia). + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] wmm_wme WMM supported or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_wmm_wme(wifi_mesh_station_info_h station, gboolean* wmm_wme); + +/** + * @brief Get to know a station can support management frame protection. + * @details Get to know a peer can support management frame protection such as WPA1 or WPA2. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] mfp MFP(Management Frame Protection) supported or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_mfp(wifi_mesh_station_info_h station, gboolean* mfp); + +/** + * @brief Get to know a station can support tunneled direct link setup. + * @details Get to know a peer can support management TDLS(Tunneled Direct Link Setup). + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] tdls_peer TDLS supported or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_tdls_peer(wifi_mesh_station_info_h station, gboolean* tdls_peer); + +/** + * @brief Get DTIM period of a connected station. + * @details Get DTIM(Delivery Traffic Indication Message) period of a peer. + * For example 1024 means that this station sends beacon at every beacon interval. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] dtim_period DTIM period + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_dtim_period(wifi_mesh_station_info_h station, guchar* dtim_period); + +/** + * @brief Get DTIM interval of a connected station. + * @details Get DTIM(Delivery Traffic Indication Message) intervl of a peer. + * For example 100 means that this station sends beacon at 100 * 1 TU(1024) us. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] dtim_period DTIM period + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_beacon_interval(wifi_mesh_station_info_h station, gushort* beacon_interval); + +/** + * @brief Get to know a station can support RTS(Request-to-Send) / CTS(Clear-to-Send). + * @details Get to know a peer can support CTS protection mode. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] cts_protection CTS/RTS supported or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_cts_protection(wifi_mesh_station_info_h station, gboolean* cts_protection); + +/** + * @brief Get to know a station can support short preamble. + * @details Get to know a peer can support short preamble. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] short_preamble Short preamble supported or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_slot_time() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_short_preamble(wifi_mesh_station_info_h station, gboolean* short_preamble); + +/** + * @brief Get to know a station can support short slot. + * @details Get to know a peer can support short slot. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] short_slot_time Short slot supported or not + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_connected_time() + * + */ +int wifi_mesh_get_sta_short_slot_time(wifi_mesh_station_info_h station, gboolean* short_slot_time); + +/** + * @brief Get to know how many time elapsed since a station joined. + * @details GGet to know how many time elapsed since a peer joined. + * + * @since_tizen 4.0 + * + * @param[in] station The Wi-Fi mesh station handle + * @param[in] connected_time Connection time elapsed + * + * + * @return 0 on success, otherwise a negative error value. + * @retval #WIFI_MESH_ERROR_NONE Successful + * @retval #WIFI_MESH_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see wifi_mesh_found_station_cb() + * @see wifi_mesh_get_stations_info() + * @see wifi_mesh_get_sta_bssid() + * @see wifi_mesh_get_sta_inactive_time() + * @see wifi_mesh_get_sta_rx_bytes() + * @see wifi_mesh_get_sta_rx_packets() + * @see wifi_mesh_get_sta_tx_bytes() + * @see wifi_mesh_get_sta_tx_packets() + * @see wifi_mesh_get_sta_tx_retries() + * @see wifi_mesh_get_sta_tx_failed() + * @see wifi_mesh_get_sta_beacon_loss() + * @see wifi_mesh_get_sta_beacon_rx() + * @see wifi_mesh_get_sta_rx_drop_misc() + * @see wifi_mesh_get_sta_signal() + * @see wifi_mesh_get_sta_signal_avg() + * @see wifi_mesh_get_sta_tx_bitrate() + * @see wifi_mesh_get_sta_rx_bitrate() + * @see wifi_mesh_get_sta_mesh_llid() + * @see wifi_mesh_get_sta_mesh_plid() + * @see wifi_mesh_get_sta_mesh_plink() + * @see wifi_mesh_get_sta_local_ps_mode() + * @see wifi_mesh_get_sta_peer_ps_mode() + * @see wifi_mesh_get_sta_non_peer_ps_mode() + * @see wifi_mesh_get_sta_authorized() + * @see wifi_mesh_get_sta_authenticated() + * @see wifi_mesh_get_sta_associated() + * @see wifi_mesh_get_sta_preamble() + * @see wifi_mesh_get_sta_wmm_wme() + * @see wifi_mesh_get_sta_mfp() + * @see wifi_mesh_get_sta_tdls_peer() + * @see wifi_mesh_get_sta_dtim_period() + * @see wifi_mesh_get_sta_beacon_interval() + * @see wifi_mesh_get_sta_cts_protection() + * @see wifi_mesh_get_sta_short_preamble() + * @see wifi_mesh_get_sta_short_slot_time() + * + */ +int wifi_mesh_get_sta_connected_time(wifi_mesh_station_info_h station, guint* connected_time); /** * @brief Called after wifi_mesh_get_stations_info() diff --git a/src/wifi-mesh-internal.c b/src/wifi-mesh-internal.c index b5fea27..8a2db1d 100644 --- a/src/wifi-mesh-internal.c +++ b/src/wifi-mesh-internal.c @@ -123,6 +123,651 @@ EXPORT_API int wifi_mesh_get_stations_info(wifi_mesh_h handle, wifi_mesh_found_s return rv; } +EXPORT_API int wifi_mesh_get_sta_bssid(wifi_mesh_station_info_h station, gchar* bssid) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == bssid) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + bssid = psta->bssid; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_inactive_time(wifi_mesh_station_info_h station, + guint* inactive_time) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == inactive_time) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *inactive_time = psta->inactive_time; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_rx_bytes(wifi_mesh_station_info_h station, + guint64* rx_bytes) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == rx_bytes) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *rx_bytes = psta->rx_bytes; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_rx_packets(wifi_mesh_station_info_h station, + guint* rx_packets) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == rx_packets) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *rx_packets = psta->rx_packets; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_tx_bytes(wifi_mesh_station_info_h station, + guint64* tx_bytes) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == tx_bytes) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *tx_bytes = psta->tx_bytes; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_tx_packets(wifi_mesh_station_info_h station, + guint* tx_packets) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == tx_packets) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *tx_packets = psta->tx_packets; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_tx_retries(wifi_mesh_station_info_h station, + guint* tx_retries) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == tx_retries) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *tx_retries = psta->tx_retries; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_tx_failed(wifi_mesh_station_info_h station, + guint* tx_failed) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == tx_failed) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *tx_failed = psta->tx_failed; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_beacon_loss(wifi_mesh_station_info_h station, + guint* beacon_loss) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == beacon_loss) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *beacon_loss = psta->beacon_loss; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_beacon_rx(wifi_mesh_station_info_h station, + guint64* beacon_rx) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == beacon_rx) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *beacon_rx = psta->beacon_rx; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_rx_drop_misc(wifi_mesh_station_info_h station, + guint64* rx_drop_misc) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == rx_drop_misc) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *rx_drop_misc = psta->rx_drop_misc; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_signal(wifi_mesh_station_info_h station, + gint* signal) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == signal) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *signal = psta->signal; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_signal_avg(wifi_mesh_station_info_h station, + gint* signal_avg) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == signal_avg) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *signal_avg = psta->signal_avg; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_tx_bitrate(wifi_mesh_station_info_h station, + guint* tx_bitrate) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == tx_bitrate) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *tx_bitrate = psta->tx_bitrate; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_rx_bitrate(wifi_mesh_station_info_h station, + guint* rx_bitrate) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == rx_bitrate) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *rx_bitrate = psta->rx_bitrate; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_mesh_llid(wifi_mesh_station_info_h station, + gushort* mesh_llid) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == mesh_llid) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *mesh_llid = psta->mesh_llid; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_mesh_plid(wifi_mesh_station_info_h station, + gushort* mesh_plid) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == mesh_plid) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *mesh_plid = psta->mesh_plid; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_mesh_plink(wifi_mesh_station_info_h station, + guchar* mesh_plink) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == mesh_plink) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *mesh_plink = psta->mesh_plink; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_local_ps_mode(wifi_mesh_station_info_h station, + guint* local_ps_mode) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == local_ps_mode) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *local_ps_mode = psta->local_ps_mode; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_peer_ps_mode(wifi_mesh_station_info_h station, + guint* peer_ps_mode) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == peer_ps_mode) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *peer_ps_mode = psta->peer_ps_mode; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_non_peer_ps_mode(wifi_mesh_station_info_h station, + guint* non_peer_ps_mode) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == non_peer_ps_mode) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *non_peer_ps_mode = psta->non_peer_ps_mode; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_authorized(wifi_mesh_station_info_h station, + gboolean* authorized) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == authorized) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *authorized = psta->authorized; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_authenticated(wifi_mesh_station_info_h station, + gboolean* authenticated) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == authenticated) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *authenticated = psta->authenticated; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_associated(wifi_mesh_station_info_h station, + gboolean* associated) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == associated) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *associated = psta->associated; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_preamble(wifi_mesh_station_info_h station, + gboolean* preamble) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == preamble) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *preamble = psta->preamble; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_wmm_wme(wifi_mesh_station_info_h station, + gboolean* wmm_wme) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == wmm_wme) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *wmm_wme = psta->wmm_wme; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_mfp(wifi_mesh_station_info_h station, + gboolean* mfp) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == mfp) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *mfp = psta->mfp; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_tdls_peer(wifi_mesh_station_info_h station, + gboolean* tdls_peer) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == tdls_peer) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *tdls_peer = psta->tdls_peer; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_dtim_period(wifi_mesh_station_info_h station, + guchar* dtim_period) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == dtim_period) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *dtim_period = psta->dtim_period; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_beacon_interval(wifi_mesh_station_info_h station, + gushort* beacon_interval) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == beacon_interval) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *beacon_interval = psta->beacon_interval; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_cts_protection(wifi_mesh_station_info_h station, + gboolean* cts_protection) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == cts_protection) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *cts_protection = psta->cts_protection; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_short_preamble(wifi_mesh_station_info_h station, + gboolean* short_preamble) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == short_preamble) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *short_preamble = psta->short_preamble; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_short_slot_time(wifi_mesh_station_info_h station, + gboolean* short_slot_time) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == short_slot_time) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *short_slot_time = psta->short_slot_time; + return rv; +} + +EXPORT_API int wifi_mesh_get_sta_connected_time(wifi_mesh_station_info_h station, + guint* connected_time) +{ + int rv = WIFI_MESH_ERROR_NONE; + struct mesh_station_info_s *psta = station; + + CHECK_FEATURE_SUPPORTED(MESH_FEATURE); + + if (NULL == station || NULL == connected_time) { + /* LCOV_EXCL_START */ + LOGE("Invalid parameter"); + return WIFI_MESH_ERROR_INVALID_PARAMETER; + /* LCOV_EXCL_STOP */ + } + + *connected_time = psta->connected_time; + return rv; +} + EXPORT_API int wifi_mesh_get_mpath_info(wifi_mesh_h handle, mesh_found_mpath_cb cb, void *user_data) { int rv = 0; diff --git a/test/wifi-mesh-network.c b/test/wifi-mesh-network.c index b93be11..8da6491 100644 --- a/test/wifi-mesh-network.c +++ b/test/wifi-mesh-network.c @@ -100,7 +100,150 @@ static void connected_peer_cb(wifi_mesh_peer_h peer, void* user_data) static void found_station_cb(wifi_mesh_station_info_h station, void* user_data) { + int ret = WIFI_MESH_ERROR_NONE; + gchar *bssid = NULL; /* station bssid ex) 7c:dd:90:62:37:cf (on mesh0) */ + guint inactive_time; /**< inactive time ex) 1685 ms */ + guint64 rx_bytes; /**< rx bytes ex) 34174 */ + guint rx_packets; /**< rx packet ex) 1181 */ + guint64 tx_bytes; /**< tx bytes ex) 6877 */ + guint tx_packets; /**< tx packets ex) 76 */ + guint tx_retries; /**< tx retries ex) 0 */ + guint tx_failed; /**< tx failed ex) 0 */ + guint beacon_loss; /**< beacon loss count ex) 0 */ + guint64 beacon_rx; /**< beacon rx ex) 0 */ + guint64 rx_drop_misc; /**< rx drop misc ex) 0 */ + gint signal; /**< Signal ex) -64 dBm */ + gint signal_avg; /**< Average Signal ex) -63 dBm */ + guint tx_bitrate; /**< tx bitrate ex) 54.0 MBit/s => 540 */ + guint rx_bitrate; /**< rx bitrate ex) 5.5 MBit/s => 55 */ + gushort mesh_llid; /**< mesh_llid ex) 51731 */ + gushort mesh_plid; /**< mesh plid ex) 35432 */ + guchar mesh_plink; /**< mesh plink ex) ESTAB */ + guint local_ps_mode; /**< mesh local power save mode ex) ACTIVE */ + guint peer_ps_mode; /**< mesh peer power save mode ex) ACTIVE */ + guint non_peer_ps_mode; /**< mesh non-peer power save mode ex) ACTIVE */ + gboolean authorized; /**< authorized ex) yes */ + gboolean authenticated; /**< authenticated ex) yes */ + gboolean associated; /**< associated ex) yes */ + gboolean preamble; /**< preamble ex) long */ + gboolean wmm_wme; /**< WMM/WME supported ex) yes */ + gboolean mfp; /**< MFP ex) no */ + gboolean tdls_peer; /**< TDLS peer ex) no */ + guchar dtim_period; /**< DTIM period ex) 0 */ + gushort beacon_interval; /**< beacon interval ex) 1000 */ + gboolean cts_protection; /**< CTS protection */ + gboolean short_preamble; /**< short preamble */ + gboolean short_slot_time; /**< short slot time supported ex) yes */ + guint connected_time; /**< connected time : ex) 256 seconds */ + msg("Station Information Received: %p", station); + + if (NULL == station) + return; + + ret = wifi_mesh_get_sta_bssid(station, bssid); + if (WIFI_MESH_ERROR_NONE == ret) + msg("bssid = %s", bssid); + ret = wifi_mesh_get_sta_inactive_time(station, &inactive_time); + if (WIFI_MESH_ERROR_NONE == ret) + msg("inactive_time = %d", inactive_time); + ret = wifi_mesh_get_sta_rx_bytes(station, &rx_bytes); + if (WIFI_MESH_ERROR_NONE == ret) + msg("rx_bytes = %lld", rx_bytes); + ret = wifi_mesh_get_sta_rx_packets(station, &rx_packets); + if (WIFI_MESH_ERROR_NONE == ret) + msg("rx_packets = %d", rx_packets); + ret = wifi_mesh_get_sta_tx_bytes(station, &tx_bytes); + if (WIFI_MESH_ERROR_NONE == ret) + msg("tx_bytes = %lld", tx_bytes); + ret = wifi_mesh_get_sta_tx_packets(station, &tx_packets); + if (WIFI_MESH_ERROR_NONE == ret) + msg("tx_bytes = %lld", tx_bytes); + ret = wifi_mesh_get_sta_tx_retries(station, &tx_retries); + if (WIFI_MESH_ERROR_NONE == ret) + msg("tx_bytes = %lld", tx_bytes); + ret = wifi_mesh_get_sta_tx_failed(station, &tx_failed); + if (WIFI_MESH_ERROR_NONE == ret) + msg("tx_failed = %d", tx_failed); + ret = wifi_mesh_get_sta_beacon_loss(station, &beacon_loss); + if (WIFI_MESH_ERROR_NONE == ret) + msg("beacon_loss = %d", beacon_loss); + ret = wifi_mesh_get_sta_beacon_rx(station, &beacon_rx); + if (WIFI_MESH_ERROR_NONE == ret) + msg("beacon_rx = %lld", beacon_rx); + ret = wifi_mesh_get_sta_rx_drop_misc(station, &rx_drop_misc); + if (WIFI_MESH_ERROR_NONE == ret) + msg("rx_drop_misc = %lld", rx_drop_misc); + ret = wifi_mesh_get_sta_signal(station, &signal); + if (WIFI_MESH_ERROR_NONE == ret) + msg("signal = %d", signal); + ret = wifi_mesh_get_sta_signal_avg(station, &signal_avg); + if (WIFI_MESH_ERROR_NONE == ret) + msg("signal_avg = %d", signal_avg); + ret = wifi_mesh_get_sta_tx_bitrate(station, &tx_bitrate); + if (WIFI_MESH_ERROR_NONE == ret) + msg("inactive_time = %d", inactive_time); + ret = wifi_mesh_get_sta_rx_bitrate(station, &rx_bitrate); + if (WIFI_MESH_ERROR_NONE == ret) + msg("tx_bitrate = %d", tx_bitrate); + ret = wifi_mesh_get_sta_mesh_llid(station, &mesh_llid); + if (WIFI_MESH_ERROR_NONE == ret) + msg("mesh_llid = %d", mesh_llid); + ret = wifi_mesh_get_sta_mesh_plid(station, &mesh_plid); + if (WIFI_MESH_ERROR_NONE == ret) + msg("mesh_plid = %d", mesh_plid); + ret = wifi_mesh_get_sta_mesh_plink(station, &mesh_plink); + if (WIFI_MESH_ERROR_NONE == ret) + msg("inactive_time = %d", inactive_time); + ret = wifi_mesh_get_sta_local_ps_mode(station, &local_ps_mode); + if (WIFI_MESH_ERROR_NONE == ret) + msg("inactive_time = %d", inactive_time); + ret = wifi_mesh_get_sta_peer_ps_mode(station, &peer_ps_mode); + if (WIFI_MESH_ERROR_NONE == ret) + msg("local_ps_mode = %d", local_ps_mode); + ret = wifi_mesh_get_sta_non_peer_ps_mode(station, &non_peer_ps_mode); + if (WIFI_MESH_ERROR_NONE == ret) + msg("local_ps_mode = %d", local_ps_mode); + ret = wifi_mesh_get_sta_authorized(station, &authorized); + if (WIFI_MESH_ERROR_NONE == ret) + msg("authorized = %d", authorized); + ret = wifi_mesh_get_sta_authenticated(station, &authenticated); + if (WIFI_MESH_ERROR_NONE == ret) + msg("authenticated = %d", authenticated); + ret = wifi_mesh_get_sta_associated(station, &associated); + if (WIFI_MESH_ERROR_NONE == ret) + msg("associated = %d", associated); + ret = wifi_mesh_get_sta_preamble(station, &preamble); + if (WIFI_MESH_ERROR_NONE == ret) + msg("preamble = %d", preamble); + ret = wifi_mesh_get_sta_wmm_wme(station, &wmm_wme); + if (WIFI_MESH_ERROR_NONE == ret) + msg("wmm_wme = %d", wmm_wme); + ret = wifi_mesh_get_sta_mfp(station, &mfp); + if (WIFI_MESH_ERROR_NONE == ret) + msg("wmm_wme = %d", wmm_wme); + ret = wifi_mesh_get_sta_tdls_peer(station, &tdls_peer); + if (WIFI_MESH_ERROR_NONE == ret) + msg("tdls_peer = %d", tdls_peer); + ret = wifi_mesh_get_sta_dtim_period(station, &dtim_period); + if (WIFI_MESH_ERROR_NONE == ret) + msg("dtim_period = %d", dtim_period); + ret = wifi_mesh_get_sta_beacon_interval(station, &beacon_interval); + if (WIFI_MESH_ERROR_NONE == ret) + msg("beacon_interval = %d", beacon_interval); + ret = wifi_mesh_get_sta_cts_protection(station, &cts_protection); + if (WIFI_MESH_ERROR_NONE == ret) + msg("cts_protection = %d", cts_protection); + ret = wifi_mesh_get_sta_short_preamble(station, &short_preamble); + if (WIFI_MESH_ERROR_NONE == ret) + msg("short_preamble = %d", short_preamble); + ret = wifi_mesh_get_sta_short_slot_time(station, &short_slot_time); + if (WIFI_MESH_ERROR_NONE == ret) + msg("short_slot_time = %d", short_slot_time); + ret = wifi_mesh_get_sta_connected_time(station, &connected_time); + if (WIFI_MESH_ERROR_NONE == ret) + msg("connected_time = %d", connected_time); + } static void found_mpath_cb(wifi_mesh_mpath_info_h mpath, void* user_data)