def _parseiesubel_(info,f=_iesubel_):
"""
parse a variable length info element sub element
:param info: packed string, next element starts at index 0
:param f: function to apply to each sub element for further parsing
:returns: list of parsed subelements
"""
opt = []
offset = 0
while len(info) >= 2: # may be flags (0-octet subelements)
sid,slen = struct.unpack_from('=2B',info,offset)
opt.append((sid,f(info[offset+2:offset+2+slen],sid)))
offset += 2 + slen
return opt
#### OPTIONAL SUBELEMENTS -> the sub element id and length have been stripped
评论列表
文章目录