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