aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/network_instruments.c
diff options
context:
space:
mode:
authorSimon Barber <simon.barber@meraki.net>2015-12-09 14:26:46 -0800
committerGuy Harris <guy@alum.mit.edu>2015-12-24 07:58:51 +0000
commitffa9e938e24779470c664ea8eca1e452ce025f97 (patch)
tree907bfdf175cdfd1ac3694b2ca9de9ca452f33020 /wiretap/network_instruments.c
parent1ffd4398504d5bc69c322fd64e826fa7eb22ed3b (diff)
Refactor 802.11 radio flags.
The use of a flag field here is aesthetically unpleasing when the flags are referred to frequently. Convert these into bitfield entries. Change-Id: I6f47e31558439dfd343ec7f856d04480366a1237 Reviewed-on: https://code.wireshark.org/review/12511 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'wiretap/network_instruments.c')
-rw-r--r--wiretap/network_instruments.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/wiretap/network_instruments.c b/wiretap/network_instruments.c
index 93e9005728..9f2a45accb 100644
--- a/wiretap/network_instruments.c
+++ b/wiretap/network_instruments.c
@@ -374,11 +374,11 @@ read_packet_header(wtap *wth, FILE_T fh, union wtap_pseudo_header *pseudo_header
pseudo_header->eth.fcs_len = 0;
break;
case WTAP_ENCAP_IEEE_802_11_WITH_RADIO:
+ memset(&pseudo_header->ieee_802_11, 0, sizeof(pseudo_header->ieee_802_11));
pseudo_header->ieee_802_11.fcs_len = 0;
pseudo_header->ieee_802_11.decrypted = FALSE;
pseudo_header->ieee_802_11.datapad = FALSE;
pseudo_header->ieee_802_11.phy = PHDR_802_11_PHY_UNKNOWN;
- pseudo_header->ieee_802_11.presence_flags = 0;
/* Updated below */
break;
}
@@ -404,16 +404,14 @@ read_packet_header(wtap *wth, FILE_T fh, union wtap_pseudo_header *pseudo_header
if (!wtap_read_bytes(fh, &wireless_header, sizeof wireless_header,
err, err_info))
return -1;
- /* update the pseudo header */
- pseudo_header->ieee_802_11.presence_flags |=
- PHDR_802_11_HAS_CHANNEL |
- PHDR_802_11_HAS_DATA_RATE |
- PHDR_802_11_HAS_SIGNAL_PERCENT;
/* set decryption status */
/* XXX - what other bits are there in conditions? */
pseudo_header->ieee_802_11.decrypted = (wireless_header.conditions & WIRELESS_WEP_SUCCESS) != 0;
+ pseudo_header->ieee_802_11.has_channel = TRUE;
pseudo_header->ieee_802_11.channel = wireless_header.frequency;
+ pseudo_header->ieee_802_11.has_data_rate = TRUE;
pseudo_header->ieee_802_11.data_rate = wireless_header.rate;
+ pseudo_header->ieee_802_11.has_signal_percent = TRUE;
pseudo_header->ieee_802_11.signal_percent = wireless_header.strengthPercent;
offset += (int)sizeof wireless_header;
break;