// Copyright (c) 2014, 2015, 2017 Robert Clipsham <robert@octarineparrot.com>
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

//! Provides interfaces for interacting with packets and headers.
#![allow(missing_docs)]
#![deny(warnings)]
#![no_std]
#![macro_use]

extern crate alloc;

#[cfg(test)]
extern crate std;

extern crate pnet_base;
extern crate pnet_macros_support;
extern crate pnet_macros;

pub use pnet_macros_support::packet::*;

pub mod arp;
pub mod dhcp;
pub mod dns;
pub mod ethernet;
pub mod flowcontrol;
pub mod gre;
pub mod icmp;
pub mod icmpv6;
pub mod ip;
pub mod ipv4;
pub mod ipv6;
pub mod tcp;
pub mod udp;
pub mod usbpcap;
pub mod vlan;
pub mod sll;
pub mod sll2;
pub mod vxlan;

pub mod util;
