FreeNOS
server
network
loopback
Main.cpp
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
#include <
KernelLog.h
>
19
#include <
NetworkServer.h
>
20
#include "
Loopback.h
"
21
22
int
main
(
int
argc,
char
**argv)
23
{
24
KernelLog
log;
25
NetworkServer
server(
"/network/loopback"
);
26
server.
registerNetworkDevice
(
new
Loopback
(server.
getNextInode
(), server));
27
28
// Initialize
29
const
FileSystem::Result
result = server.
initialize
();
30
if
(result !=
FileSystem::Success
)
31
{
32
ERROR
(
"failed to initialize: result = "
<< (
int
) result);
33
return
1;
34
}
35
36
// Start serving requests
37
return
server.
run
();
38
}
FileSystemServer::getNextInode
u32 getNextInode()
Get next unused inode.
Definition:
FileSystemServer.cpp:66
Loopback
Loopback network device implementation.
Definition:
Loopback.h:36
ChannelServer::run
int run()
Enters an infinite loop, serving incoming requests.
Definition:
ChannelServer.h:161
FileSystem::Success
@ Success
Definition:
FileSystem.h:54
NetworkServer::registerNetworkDevice
void registerNetworkDevice(NetworkDevice *dev)
Register network device.
Definition:
NetworkServer.cpp:31
main
int main(int argc, char **argv)
Program entry point.
Definition:
Main.cpp:20
KernelLog
Log to the kernel using PrivExec().
Definition:
KernelLog.h:34
NetworkServer
Networking server.
Definition:
NetworkServer.h:40
Loopback.h
ERROR
#define ERROR(msg)
Output an error message.
Definition:
Log.h:61
FileSystem::Result
Result
Result code for filesystem Actions.
Definition:
FileSystem.h:52
NetworkServer.h
NetworkServer::initialize
virtual FileSystem::Result initialize()
Initialize the NetworkServer.
Definition:
NetworkServer.cpp:37
KernelLog.h
Generated by
1.8.17