Source code for pcapkit.vendor.radiotap.he_data1_known
# -*- coding: utf-8 -*-
"""Radiotap HE Data1 Known Flags
===================================
.. module:: pcapkit.vendor.radiotap.he_data1_known
This module contains the vendor crawler for **Radiotap HE Data1 Known Flags**,
which is automatically generating :class:`pcapkit.const.radiotap.he_data1_known.HEData1Known`.
The registry is the bits of the HE field's ``data1`` besides its value subfields, as radiotap.org
tables them; see :mod:`pcapkit.vendor.radiotap.flags` for how a row becomes a
member, and where its name comes from.
"""
import sys
from pcapkit.vendor.radiotap.flags import Flags
__all__ = ['HEData1Known']
[docs]
class HEData1Known(Flags):
"""Radiotap HE Data1 Known Flags"""
#: Value limit checker.
FLAG = 'isinstance(value, int) and 0 <= value <= 0xFFFF'
#: Link to registry.
LINK = 'https://www.radiotap.org/fields/HE.html'
#: Subfield whose table is scraped.
SUBFIELD = 'data1'
#: Masks of the value subfields, which the schema splits off.
VALUES = (0x0003,) # type: tuple[int, ...]
#: The source macro of each bit, keyed by mask, which is Linux's.
NAMES = {
0x0004: 'IEEE80211_RADIOTAP_HE_DATA1_BSS_COLOR_KNOWN',
0x0008: 'IEEE80211_RADIOTAP_HE_DATA1_BEAM_CHANGE_KNOWN',
0x0010: 'IEEE80211_RADIOTAP_HE_DATA1_UL_DL_KNOWN',
0x0020: 'IEEE80211_RADIOTAP_HE_DATA1_DATA_MCS_KNOWN',
0x0040: 'IEEE80211_RADIOTAP_HE_DATA1_DATA_DCM_KNOWN',
0x0080: 'IEEE80211_RADIOTAP_HE_DATA1_CODING_KNOWN',
0x0100: 'IEEE80211_RADIOTAP_HE_DATA1_LDPC_XSYMSEG_KNOWN',
0x0200: 'IEEE80211_RADIOTAP_HE_DATA1_STBC_KNOWN',
0x0400: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE_KNOWN',
0x0800: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE2_KNOWN',
0x1000: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE3_KNOWN',
0x2000: 'IEEE80211_RADIOTAP_HE_DATA1_SPTL_REUSE4_KNOWN',
0x4000: 'IEEE80211_RADIOTAP_HE_DATA1_BW_RU_ALLOC_KNOWN',
0x8000: 'IEEE80211_RADIOTAP_HE_DATA1_DOPPLER_KNOWN',
} # type: dict[int, str]
if __name__ == '__main__':
sys.exit(HEData1Known()) # type: ignore[arg-type]