Go to the documentation of this file.
18 #ifndef __LIB_LIBNET_ICMP_H
19 #define __LIB_LIBNET_ICMP_H
143 const Size payloadSize);
Internet Control Message Protocol (ICMP) factory.
Network protocol abstraction class.
void setIP(::IPV4 *ip)
Set IP object.
Network Device abstract class.
static const Size MaxIcmpSockets
ICMPSocket * createSocket(String &path, const ProcessID pid)
Creates an ICMP socket.
u32 ProcessID
Process Identification Number.
virtual FileSystem::Result process(const NetworkQueue::Packet *pkt, const Size offset)
Process incoming network packet.
FileSystem::Result sendPacket(const IPV4::Address ip, const Header *header, const void *payload, const Size payloadSize)
Send packet.
virtual ~ICMP()
Destructor.
virtual FileSystem::Result initialize()
Perform initialization.
SystemDescriptorHeader header
unsigned short u16
Unsigned 16-bit number.
void unregisterSockets(const ProcessID pid)
Remove sockets for a process.
unsigned int Size
Any sane size indicator cannot go negative.
Internet Protocol Version 4.
Result
Result code for filesystem Actions.
unsigned char u8
Unsigned 8-bit number.
Index< ICMPSocket, MaxIcmpSockets > m_sockets
Represents a network packet.
Address Resolution Protocol.
struct ICMP::Header Header
Packet header format.
Internet Control Message Protocol (ICMP) socket.
Internet Control Message Protocol (ICMP)