Update to reflect correct usage:
o leave IEEE80211_RADIOTAP_HDRLEN for portability to other systems but correct comment about radiotap headers being padded to 64-bytes (hasn't been true for many years) o remove reference to IEEE80211_RADIOTAP_FCS; it was never used, instead the flags are marked with IEEE80211_RADIOTAP_F_FCS to indicate whether or not FCS is present Might be better to just remove IEEE80211_RADIOTAP_HDRLEN so drivers don't bogusly pad. MFC after: 2 weeks
This commit is contained in:
parent
63f1cc9c73
commit
afe366517c
@ -1,5 +1,5 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $NetBSD: ieee80211_radiotap.h,v 1.10 2005/01/04 00:34:58 dyoung Exp $ */
|
||||
/* $NetBSD: ieee80211_radiotap.h,v 1.16 2007/01/06 05:51:15 dyoung Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2003, 2004 David Young. All rights reserved.
|
||||
@ -29,14 +29,14 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
* OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _NET_IF_IEEE80211RADIOTAP_H_
|
||||
#define _NET_IF_IEEE80211RADIOTAP_H_
|
||||
#ifndef _NET80211_IEEE80211_RADIOTAP_H_
|
||||
#define _NET80211_IEEE80211_RADIOTAP_H_
|
||||
|
||||
/* A generic radio capture format is desirable. There is one for
|
||||
* Linux, but it is neither rigidly defined (there were not even
|
||||
* units given for some fields) nor easily extensible.
|
||||
/* A generic radio capture format is desirable. It must be
|
||||
* rigidly defined (e.g., units for fields should be given),
|
||||
* and easily extensible.
|
||||
*
|
||||
* I suggest the following extensible radio capture format. It is
|
||||
* The following is an extensible radio capture format. It is
|
||||
* based on a bitmap indicating which fields are present.
|
||||
*
|
||||
* I am trying to describe precisely what the application programmer
|
||||
@ -52,12 +52,13 @@
|
||||
#endif
|
||||
#endif /* defined(__KERNEL__) || defined(_KERNEL) */
|
||||
|
||||
/* XXX tcpdump/libpcap do not tolerate variable-length headers,
|
||||
* yet, so we pad every radiotap header to 64 bytes. Ugh.
|
||||
*/
|
||||
#define IEEE80211_RADIOTAP_HDRLEN 64
|
||||
#define IEEE80211_RADIOTAP_HDRLEN 64 /* XXX deprecated */
|
||||
|
||||
/* The radio capture header precedes the 802.11 header. */
|
||||
/*
|
||||
* The radio capture header precedes the 802.11 header.
|
||||
*
|
||||
* Note well: all radiotap fields are little-endian.
|
||||
*/
|
||||
struct ieee80211_radiotap_header {
|
||||
u_int8_t it_version; /* Version 0. Only increases
|
||||
* for drastic changes,
|
||||
@ -79,7 +80,8 @@ struct ieee80211_radiotap_header {
|
||||
*/
|
||||
} __attribute__((__packed__));
|
||||
|
||||
/* Name Data type Units
|
||||
/*
|
||||
* Name Data type Units
|
||||
* ---- --------- -----
|
||||
*
|
||||
* IEEE80211_RADIOTAP_TSFT u_int64_t microseconds
|
||||
@ -158,10 +160,6 @@ struct ieee80211_radiotap_header {
|
||||
*
|
||||
* Unitless indication of the Rx/Tx antenna for this packet.
|
||||
* The first antenna is antenna 0.
|
||||
*
|
||||
* IEEE80211_RADIOTAP_FCS u_int32_t data
|
||||
*
|
||||
* FCS from frame in network byte order.
|
||||
*/
|
||||
enum ieee80211_radiotap_type {
|
||||
IEEE80211_RADIOTAP_TSFT = 0,
|
||||
@ -214,4 +212,4 @@ enum ieee80211_radiotap_type {
|
||||
*/
|
||||
#define IEEE80211_RADIOTAP_F_BADFCS 0x40 /* does not pass FCS check */
|
||||
|
||||
#endif /* _NET_IF_IEEE80211RADIOTAP_H_ */
|
||||
#endif /* !_NET80211_IEEE80211_RADIOTAP_H_ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user