Documentation ¶
Index ¶
Constants ¶
View Source
const ( EventUp = 1 << iota EventDown EventMTUUpdate )
Variables ¶
View Source
var ErrTooManySegments = errors.New("too many segments")
ErrTooManySegments is returned by Device.Read() when segmentation overflows the length of supplied buffers. This error should not cause reads to cease.
Functions ¶
This section is empty.
Types ¶
type Device ¶
type Device interface { // File returns the file descriptor of the device. File() *os.File // Read one or more packets from the Device (without any additional headers). // On a successful read it returns the number of packets read, and sets // packet lengths within the sizes slice. len(sizes) must be >= len(bufs). // A nonzero offset can be used to instruct the Device on where to begin // reading into each element of the bufs slice. Read(bufs [][]byte, sizes []int, offset int) (n int, err error) // Write one or more packets to the device (without any additional headers). // On a successful write it returns the number of packets written. A nonzero // offset can be used to instruct the Device on where to begin writing from // each packet contained within the bufs slice. Write(bufs [][]byte, offset int) (int, error) // MTU returns the MTU of the Device. MTU() (int, error) // Name returns the current name of the Device. Name() (string, error) // Events returns a channel of type Event, which is fed Device events. Events() <-chan Event // Close stops the Device and closes the Event channel. Close() error // BatchSize returns the preferred/max number of packets that can be read or // written in a single read/write call. BatchSize must not change over the // lifetime of a Device. BatchSize() int }
Click to show internal directories.
Click to hide internal directories.