From a76977af62010a392c16010c367185e61e856ffe Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 30 Oct 2019 20:04:56 +0100 Subject: mv to docs --- docs/j1demo/firmware/defines_tcpip.py | 94 +++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 docs/j1demo/firmware/defines_tcpip.py (limited to 'docs/j1demo/firmware/defines_tcpip.py') diff --git a/docs/j1demo/firmware/defines_tcpip.py b/docs/j1demo/firmware/defines_tcpip.py new file mode 100644 index 0000000..bbeb16b --- /dev/null +++ b/docs/j1demo/firmware/defines_tcpip.py @@ -0,0 +1,94 @@ +layout = [ + ('ETH', [ + ('DST', 6), + ('SRC', 6), + ('TYPE', 2), + [ + ('IP', [ + ('VHLTOS', 2), + ('LENGTH', 2), + ('IPID', 2), + ('IPOFFSET', 2), + ('TTLPROTO', 2), + ('CHKSUM', 2), + ('SRCIP', 4), + ('DSTIP', 4), + [ + ('ICMP', [ + ('TYPECODE', 2), + ('CHKSUM', 2), + ('IDENTIFIER', 2), + ('SEQUENCE', 2) ]), + ('TCP', [ + ('SOURCEPORT', 2), + ('DESTPORT', 2), + ('SEQNUM', 4), + ('ACK', 4), + ('FLAGS', 2), + ('WINDOW', 2), + ('CHECKSUM', 2), + ('URGENT', 2) ]), + ('UDP', [ + ('SOURCEPORT', 2), + ('DESTPORT', 2), + ('LENGTH', 2), + ('CHECKSUM', 2), + [ + ('DHCP', [ + ('OP', 1), + ('HTYPE', 1), + ('HLEN', 1), + ('HOPS', 1), + ('XID', 4), + ('SECS', 2), + ('FLAGS', 2), + ('CIADDR', 4), + ('YIADDR', 4), + ('SIADDR', 4), + ('GIADDR', 4), + ('CHADDR', 16), + ('SNAME', 64), + ('FILE', 128), + ('OPTIONS', 312) + ]), + ('DNS', [ + ('IDENTIFICATION', 2), + ('FLAGS', 2), + ('NOQ', 2), + ('NOA', 2), + ('NORR', 2), + ('NOARR', 2), + ('QUERY', 1) + ]), + ('JUICE', [ + ('HASH', 20), + ('MAGIC', 4), + ('SEQ', 2), + ('COMMAND', 2), + ('PAYLOAD', 2) + ]) + ] + ]) + ] + ]) + ]]) +] + +offsets = {} +def descend(offset, prefix, node): + (name, members) = node + offsets[prefix + name] = offset + start = offset + for m in members: + if isinstance(m, tuple): + (field, size) = m + # print prefix, name, field, offset + offsets["%s%s_%s" % (prefix, name, field)] = offset + offset += size + else: + for n in m: + descend(offset, prefix, n) + # print prefix, name, "SIZE", offset - start + offsets["%s%s_SIZE" % (prefix, name)] = offset - start + +descend(0, 'OFFSET_', layout[0]) -- cgit v1.2.3