The most important function of the scanner is to perform a quick scan of the packet buffer and record information about what headers are found and at what location within the buffer. This information is then associated with a java packet or more specifically
JPacket.State classes. The first provides access to packet data buffer and the second to scanner state structures for packet. There is also a
JHeader.State class which provides access to each individual's header's state.
JHeader itself is peered (linked) with native memory location that is the packet buffer, but specifically at offset into the buffer that points to the start of the each header.