//.............................................................................
//
// Packet header definitions for TCP/IP protocol stack
//

import "io_Packet.jnc"

alignment (1);

//.............................................................................

struct EthernetFrame
{
	io.EthernetHdr m_ethernet;
}

struct ArpFrame
{
	io.EthernetHdr m_ethernet;
	io.ArpHdr m_arp;
}

struct IpFrame
{
	io.EthernetHdr m_ethernet;
	io.IpHdr m_ip;
}

struct IcmpFrame
{
	io.EthernetHdr m_ethernet;
	io.IpHdr m_ip;
	io.IcmpHdr m_icmp;
}

struct TcpFrame
{
	io.EthernetHdr m_ethernet;
	io.IpHdr m_ip;
	io.TcpHdr m_tcp;
}

struct UdpFrame
{
	io.EthernetHdr m_ethernet;
	io.IpHdr m_ip;
	io.UdpHdr m_udp;
}

//.............................................................................
