/**
 * \page ChangeLog
 *
 * \section v36_1_TO_v36_4 Version v36.1 to version v36.4 changes
 *
 * \subsection v36_1_TO_v36_4Added Added functions
 *
 * The following functions were added between versions v36.1 and v36.4
 *
 * \li \ref qcsapi_wifi_set_vht (36.1.0.1)
 * \li \ref qcsapi_bootcfg_commit (36.1.0.1)
 * \li \ref qcsapi_wifi_scs_switch_channel (36.1.0.1)
 * \li \ref qcsapi_wifi_get_vht (36.1.0.1)
 * \li \ref qcsapi_wifi_get_scs_param_report (36.1.0.4)
 * \li \ref qcsapi_wifi_set_ocac_thrshld (36.1.0.6)
 * \li \ref qcsapi_wifi_set_ocac_duration (36.1.0.6)
 * \li \ref qcsapi_wifi_set_ocac_cac_time (36.1.0.6)
 * \li \ref qcsapi_wifi_get_ocac_status (36.1.0.6)
 * \li \ref qcsapi_wps_set_timeout (36.1.0.6)
 * \li \ref qcsapi_wifi_get_psk_auth_failures (36.1.0.6)
 * \li \ref qcsapi_wifi_set_ocac_report_only (36.1.0.6)
 * \li \ref qcsapi_wifi_stop_ocac (36.1.0.6)
 * \li \ref qcsapi_wifi_set_ocac_dwell_time (36.1.0.6)
 * \li \ref qcsapi_wifi_start_ocac (36.1.0.6)
 * \li \ref qcsapi_wps_on_hidden_ssid (36.1.0.6)
 * \li \ref qcsapi_non_wps_get_pp_enable (36.1.0.8)
 * \li \ref qcsapi_non_wps_set_pp_enable (36.1.0.8)
 * \li \ref qcsapi_wifi_get_dscp_8021p_map (36.1.0.8)
 * \li \ref qcsapi_set_carrier_id (36.1.0.8)
 * \li \ref qcsapi_get_carrier_id (36.1.0.8)
 * \li \ref qcsapi_wifi_set_dscp_8021p_map (36.1.0.8)
 * \li \ref qcsapi_wps_set_ap_pin (36.1.0.9)
 * \li \ref qcsapi_wps_save_ap_pin (36.1.0.9)
 * \li \ref qcsapi_wps_upnp_status (36.1.0.11)
 * \li \ref qcsapi_wps_upnp_enable (36.1.0.11)
 * \li \ref qcsapi_wps_get_pbc_in_srcm (36.1.0.14)
 * \li \ref qcsapi_wps_set_pbc_in_srcm (36.1.0.14)
 * \li \ref qcsapi_wifi_set_chan_pri_inactive (36.1.0.15)
 * \li \ref qcsapi_wifi_enable_tdls (36.1.0.16)
 * \li \ref qcsapi_wifi_get_tdls_status (36.1.0.16)
 * \li \ref qcsapi_wifi_get_tdls_params (36.1.0.16)
 * \li \ref qcsapi_wifi_tdls_operate (36.1.0.16)
 * \li \ref qcsapi_wifi_set_tdls_params (36.1.0.16)
 *
 * \subsection v36_1_TO_v36_4Removed Removed functions
 *
 * The following functions were removed between versions v36.1 and v36.4
 *
 * \li qcsapi_wifi_set_scs_wf (36.1.0.1)
 */
