summaryrefslogtreecommitdiffstats
path: root/scripts/external_libs/dpkt-1.8.6.2/dpkt/tns.py
blob: 931508e6830394ba189bcf6ea258e83a6f1c2bfe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# $Id: tns.py 23 2006-11-08 15:45:33Z dugsong $
# -*- coding: utf-8 -*-
"""Transparent Network Substrate."""

import dpkt


class TNS(dpkt.Packet):
    __hdr__ = (
        ('length', 'H', 0),
        ('pktsum', 'H', 0),
        ('type', 'B', 0),
        ('rsvd', 'B', 0),
        ('hdrsum', 'H', 0),
        ('msg', '0s', ''),
    )

    def unpack(self, buf):
        dpkt.Packet.unpack(self, buf)
        n = self.length - self.__hdr_len__
        if n > len(self.data):
            raise dpkt.NeedData('short message (missing %d bytes)' %
                                (n - len(self.data)))
        self.msg = self.data[:n]
        self.data = self.data[n:]