Add BSS flags to scan results to indicate signal quality validity
These flags are used to mark which values (level, noise, qual) are invalid (not available from the driver) and whether level is using dBm. D-Bus interface will now only report the values that were available.
This commit is contained in:
parent
d173df5232
commit
7c2849d2a0
4 changed files with 30 additions and 6 deletions
|
@ -436,11 +436,14 @@ DBusMessage * wpas_dbus_bssid_properties(DBusMessage *message,
|
|||
if (!wpa_dbus_dict_append_uint16(&iter_dict, "capabilities",
|
||||
res->caps))
|
||||
goto error;
|
||||
if (!wpa_dbus_dict_append_int32(&iter_dict, "quality", res->qual))
|
||||
if (!(res->flags & WPA_SCAN_QUAL_INVALID) &&
|
||||
!wpa_dbus_dict_append_int32(&iter_dict, "quality", res->qual))
|
||||
goto error;
|
||||
if (!wpa_dbus_dict_append_int32(&iter_dict, "noise", res->noise))
|
||||
if (!(res->flags & WPA_SCAN_NOISE_INVALID) &&
|
||||
!wpa_dbus_dict_append_int32(&iter_dict, "noise", res->noise))
|
||||
goto error;
|
||||
if (!wpa_dbus_dict_append_int32(&iter_dict, "level", res->level))
|
||||
if (!(res->flags & WPA_SCAN_LEVEL_INVALID) &&
|
||||
!wpa_dbus_dict_append_int32(&iter_dict, "level", res->level))
|
||||
goto error;
|
||||
if (!wpa_dbus_dict_append_int32(&iter_dict, "maxrate",
|
||||
wpa_scan_get_max_rate(res) * 500000))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue