[PATCH 1/1] wext: Add signal_poll callback
Jean-Marie Lemetayer
jeanmarie.lemetayer
Fri Aug 8 01:47:55 PDT 2014
Hi,
Sorry for the first email, the indentation was not well renderred.
This time it should be ok.
Regards,
JML
2014-08-08 10:45 GMT+02:00 Jean-Marie Lemetayer <jeanmarie.lemetayer at gmail.com>:
> Add a basic implementation of a signal_poll callback for wext drivers.
>
> Signed-off-by: Jean-Marie Lemetayer <jeanmarie.lemetayer at gmail.com>
> ---
> src/drivers/driver_wext.c | 31 +++++++++++++++++++++++++++++++
> 1 file changed, 31 insertions(+)
>
> diff --git a/src/drivers/driver_wext.c b/src/drivers/driver_wext.c
> index a4f9cec..105d15e 100644
> --- a/src/drivers/driver_wext.c
> +++ b/src/drivers/driver_wext.c
> @@ -2319,6 +2319,36 @@ static const char * wext_get_radio_name(void *priv)
> return drv->phyname;
> }
>
> +static int wpa_driver_wext_signal_poll(void *priv,
> + struct wpa_signal_info *si)
> +{
> + struct wpa_driver_wext_data *drv = priv;
> + struct iw_statistics stats;
> + struct iwreq iwr;
> +
> + os_memset(si, 0, sizeof(*si));
> + si->current_signal = -9999;
> + si->current_noise = 9999;
> + si->chanwidth = CHAN_WIDTH_UNKNOWN;
> +
> + os_memset(&iwr, 0, sizeof(iwr));
> + os_strlcpy(iwr.ifr_name, drv->ifname, IFNAMSIZ);
> + iwr.u.data.pointer = (caddr_t) &stats;
> + iwr.u.data.length = sizeof(stats);
> + iwr.u.data.flags = 1;
> +
> + if (ioctl(drv->ioctl_sock, SIOCGIWSTATS, &iwr) < 0) {
> + wpa_printf(MSG_ERROR, "WEXT: SIOCGIWSTATS: %s",
> + strerror(errno));
> + return -1;
> + }
> +
> + si->current_signal = stats.qual.level -
> + ((stats.qual.updated & IW_QUAL_DBM) ? 0x100 : 0);
> + si->current_noise = stats.qual.noise -
> + ((stats.qual.updated & IW_QUAL_DBM) ? 0x100 : 0);
> + return 0;
> +}
>
> const struct wpa_driver_ops wpa_driver_wext_ops = {
> .name = "wext",
> @@ -2339,4 +2369,5 @@ const struct wpa_driver_ops wpa_driver_wext_ops = {
> .get_capa = wpa_driver_wext_get_capa,
> .set_operstate = wpa_driver_wext_set_operstate,
> .get_radio_name = wext_get_radio_name,
> + .signal_poll = wpa_driver_wext_signal_poll,
> };
> --
> 1.9.1
>
More information about the Hostap
mailing list