FreeNOS
Loopback.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Niek Linnenbank
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef __SERVER_NETWORK_LOOPBACK_H
19 #define __SERVER_NETWORK_LOOPBACK_H
20 
21 #include <Types.h>
22 #include <NetworkDevice.h>
23 #include <Ethernet.h>
24 
36 class Loopback : public NetworkDevice
37 {
38  public:
39 
46  Loopback(const u32 inode,
47  NetworkServer &server);
48 
52  virtual ~Loopback();
53 
60 
69 
77  virtual FileSystem::Result setAddress(const Ethernet::Address *address);
78 
85 
86  private:
87 
90 };
91 
97 #endif /* __SERVER_NETWORK_LOOPBACK_H */
Loopback::~Loopback
virtual ~Loopback()
Destructor.
Definition: Loopback.cpp:34
Types.h
Loopback::m_address
Ethernet::Address m_address
Ethernet address for the loopback device.
Definition: Loopback.h:89
Ethernet.h
NetworkDevice
Network Device abstract class.
Definition: NetworkDevice.h:41
Loopback
Loopback network device implementation.
Definition: Loopback.h:36
Loopback::Loopback
Loopback(const u32 inode, NetworkServer &server)
Constructor.
Definition: Loopback.cpp:20
Ethernet::Address
Ethernet network address.
Definition: Ethernet.h:52
NetworkDevice.h
NetworkServer
Networking server.
Definition: NetworkServer.h:40
Loopback::transmit
virtual FileSystem::Result transmit(NetworkQueue::Packet *pkt)
Transmit one network packet.
Definition: Loopback.cpp:72
Loopback::getAddress
virtual FileSystem::Result getAddress(Ethernet::Address *address)
Read ethernet address.
Definition: Loopback.cpp:56
u32
unsigned int u32
Unsigned 32-bit number.
Definition: Types.h:53
FileSystem::Result
Result
Result code for filesystem Actions.
Definition: FileSystem.h:52
Loopback::initialize
virtual FileSystem::Result initialize()
Initialize the device.
Definition: Loopback.cpp:39
Loopback::setAddress
virtual FileSystem::Result setAddress(const Ethernet::Address *address)
Set ethernet address.
Definition: Loopback.cpp:64
NetworkQueue::Packet
Represents a network packet.
Definition: NetworkQueue.h:50