def _iesubelmsmtreqbeacon_(s,sid):
""" :returns: parsed subelement of type beacon in msmt request """
ret = s
if sid == std.EID_MSMT_REQ_SUBELEMENT_BEACON_SSID:
ret = {'ssid':_iesubelssid_(s)}
elif sid == std.EID_MSMT_REQ_SUBELEMENT_BEACON_BRI:
# Std Fig. 8-114
r = struct.unpack_from('=B',s)[0]
if 5 <= r <= 10: t = int2s(s[1])
else: t = struct.unpack_from('=B',s,1)[0]
ret = {'rpt-condition':r,
'threshold':t}
elif sid == std.EID_MSMT_REQ_SUBELEMENT_BEACON_RPT:
# Std Table 8-67
ret = {'rpt-detail':struct.unpack_from('=B',s)}
elif sid == std.EID_MSMT_REQ_SUBELEMENT_BEACON_REQ:
# same as Std 8.4.2.13
ret = _parseie_(std.EID_REQUEST,s)
elif sid == std.EID_MSMT_REQ_SUBELEMENT_BEACON_AP_CH_RPT:
# same as Std 8.4.2.38
ret = _parseie_(std.EID_AP_CH_RPT,s)
elif sid == std.EID_MSMT_REQ_SUBELEMENT_BEACON_VEND:
ret = _parseie_(std.EID_VEND_SPEC,s)
return ret
#### NOTE: next three could probably be combined
# MSMT Request subelements for type Frame Request Std Table 8-68 and figures below
评论列表
文章目录