# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Interface definitions for working with raw packets """ from zope.interface import Interface class IRawDatagramProtocol(Interface): """ An interface for protocols such as UDP, ICMP and TCP. """ def addProto(): """ Add a protocol on top of this one. """ def datagramReceived(): """ An IP datagram has been received. Parse and process it. """ class IRawPacketProtocol(Interface): """ An interface for low-level protocols such as IP and ARP. """ def addProto(): """ Add a protocol on top of this one. """ def datagramReceived(): """ An IP datagram has been received. Parse and process it. """