18#ifndef __LIB_LIBNET_NETWORKDEVICE_H
19#define __LIB_LIBNET_NETWORKDEVICE_H
126 const Size offset = 0);
Address Resolution Protocol.
Abstract device class interface.
Ethernet networking protocol.
Internet Control Message Protocol (ICMP)
Internet Protocol Version 4.
Network Device abstract class.
virtual FileSystem::Result transmit(NetworkQueue::Packet *packet)=0
Add a network packet to the transmit queue.
virtual FileSystem::Result setAddress(const Ethernet::Address *address)=0
Set ethernet address.
Size m_maximumPacketSize
Maximum size of each packet.
virtual FileSystem::Result process(const NetworkQueue::Packet *packet, const Size offset=0)
Process a received network packet.
virtual ~NetworkDevice()
Destructor.
virtual FileSystem::Result startDMA()
Start DMA processing.
NetworkQueue * getTransmitQueue()
Get transmit queue.
virtual FileSystem::Result initialize()
Initialize the device.
const Size getMaximumPacketSize() const
Get maximum packet size.
NetworkQueue * getReceiveQueue()
Get receive queue.
virtual FileSystem::Result getAddress(Ethernet::Address *address)=0
Read ethernet address.
void unregisterSockets(const ProcessID pid)
Remove sockets for a process.
Networking packet queue implementation.
User Datagram Protocol (UDP)
u32 ProcessID
Process Identification Number.
unsigned int u32
Unsigned 32-bit number.
unsigned int Size
Any sane size indicator cannot go negative.
Result
Result code for filesystem Actions.
Ethernet network address.
Represents a network packet.