/**
 * \page ChangeLog
 *
 * \section v36_7TO_v37_3 Version v36.7 to version v37.3 changes
 *
 * \subsection v36_7_TO_v37_3Added Added functions
 *
 * The following functions were added between versions v36.7 and v37.3
 *
 * \li \ref qcsapi_wifi_get_pmf (36.7.0.1)
 * \li \ref qcsapi_set_aspm_l1 (36.7.0.1)
 * \li \ref qcsapi_wifi_set_pmf (36.7.0.1)
 * \li \ref qcsapi_led_pwm_enable (36.7.0.2)
 * \li \ref qcsapi_led_brightness (36.7.0.2)
 * \li \ref qcsapi_wifi_set_eap_shared_key (36.7.0.3)
 * \li \ref qcsapi_SSID_get_pmf (36.7.0.3)
 * \li \ref qcsapi_wifi_set_phy_mode (36.7.0.3)
 * \li \ref qcsapi_wifi_get_eap_shared_key (36.7.0.3)
 * \li \ref qcsapi_regulatory_restore_regulatory_tx_power (36.7.0.3)
 * \li \ref qcsapi_wifi_set_eap_radius_port (36.7.0.3)
 * \li \ref qcsapi_get_board_parameter (36.7.0.3)
 * \li \ref qcsapi_SSID_set_pmf (36.7.0.3)
 * \li \ref qcsapi_wifi_set_eap_radius_ipaddr (36.7.0.3)
 * \li \ref qcsapi_wifi_get_eap_radius_port (36.7.0.3)
 * \li \ref qcsapi_wifi_get_phy_mode (36.7.0.3)
 * \li \ref qcsapi_wifi_set_own_ip_addr (36.7.0.3)
 * \li \ref qcsapi_wifi_get_eap_radius_ipaddr (36.7.0.3)
 * \li \ref qcsapi_wifi_set_bss_isolate (36.7.0.4)
 * \li \ref qcsapi_wowlan_set_magic_pattern (36.7.0.4)
 * \li \ref qcsapi_wifi_set_intra_bss_isolate (36.7.0.4)
 * \li \ref qcsapi_wowlan_set_L2_type (36.7.0.4)
 * \li \ref qcsapi_wifi_get_intra_bss_isolate (36.7.0.4)
 * \li \ref qcsapi_set_host_state (36.7.0.4)
 * \li \ref qcsapi_wowlan_set_udp_port (36.7.0.4)
 * \li \ref qcsapi_wifi_get_bss_isolate (36.7.0.4)
 * \li \ref qcsapi_wowlan_set_match_type (36.7.0.4)
 * \li \ref qcsapi_wifi_get_bgscan_status (36.7.0.5)
 * \li \ref qcsapi_wifi_get_extender_params (36.7.0.5)
 * \li \ref qcsapi_wifi_enable_bgscan (36.7.0.5)
 * \li \ref qcsapi_wifi_set_extender_params (36.7.0.5)
 * \li \ref qcsapi_wds_get_mode (36.7.0.5)
 * \li \ref qcsapi_wds_add_peer_encrypt (36.7.0.5)
 * \li \ref qcsapi_wds_set_mode (36.7.0.5)
 * \li \ref qcsapi_get_uboot_info (36.7.0.6)
 * \li \ref qcsapi_wifi_get_airfair (36.7.0.7)
 * \li \ref qcsapi_wifi_get_group_key_interval (36.7.0.7)
 * \li \ref qcsapi_wifi_set_airfair (36.7.0.7)
 * \li \ref qcsapi_wifi_set_group_key_interval (36.7.0.7)
 * \li \ref qcsapi_wifi_disable_dfs_channels (36.7.0.8)
 * \li \ref qcsapi_is_startprod_done (37.3.0.0)
 * \li \ref qcsapi_wifi_wowlan_get_magic_pattern (37.3.0.0)
 * \li \ref qcsapi_wifi_get_auth_enc_per_association (37.3.0.0)
 * \li \ref qcsapi_wifi_get_tx_amsdu (37.3.0.0)
 * \li \ref qcsapi_wifi_wowlan_get_host_state (37.3.0.0)
 * \li \ref qcsapi_wifi_set_scs_stats (37.3.0.0)
 * \li \ref qcsapi_wifi_wowlan_get_match_type (37.3.0.0)
 * \li \ref qcsapi_set_l1 (37.3.0.0)
 * \li \ref qcsapi_wifi_get_config_BSSID (37.3.0.0)
 * \li \ref qcsapi_wifi_set_bf_power (37.3.0.0)
 * \li \ref qcsapi_wifi_set_bb_param (37.3.0.0)
 * \li \ref qcsapi_wifi_get_bb_param (37.3.0.0)
 * \li \ref qcsapi_wifi_get_disassoc_reason (37.3.0.0)
 * \li \ref qcsapi_wifi_get_vendor_per_association (37.3.0.0)
 * \li \ref qcsapi_wifi_wowlan_param_get (37.3.0.0)
 * \li \ref qcsapi_wifi_disassociate_sta (37.3.0.0)
 * \li \ref qcsapi_wifi_wowlan_get_udp_port (37.3.0.0)
 * \li \ref qcsapi_wifi_wowlan_get_l2_type (37.3.0.0)
 * \li \ref qcsapi_wifi_get_bf_power (37.3.0.0)
 * \li \ref qcsapi_get_qpm_level (37.3.0.0)
 * \li \ref qcsapi_wifi_get_tput_caps (37.3.0.0)
 * \li \ref qcsapi_wifi_set_tx_amsdu (37.3.0.0)
 * \li \ref qcsapi_regulatory_set_bf_power (37.3.0.0)
 */
