/**
 * \page ChangeLog
 *
 * \section v37_3_0_18_TO_v37_3_0_19 Version v37.3.0.18 to version v37.3.0.19 changes
 *
 * \subsection v37_3_0_18_TO_v37_3_0_19Added Added functions
 *
 * The following functions were added between versions v37.3.0.18 and v37.3.0.19
 *
 * \li \ref qcsapi_wifi_set_l2_ext_filter
 * \li \ref qcsapi_wifi_get_l2_ext_filter
 */
