haiku/docs/user/net/_network_intro.dox

48 lines
1.6 KiB
Plaintext
Raw Normal View History

/*
* Copyright 2004 Philippe Houdoin
* Copyright 2009-2015 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Philippe Houdoin
* John Scipione, jscipione@gmail.com
*/
/*!
\page network_intro Introduction to the Network Kit
The Haiku Network Kit consists of:
- A modular, add-ons based network stack
- Two shared libraries, libnet.so and libnetapi.so
- A stack driver, acting as interface between the network stack and
libnet.so
- Basic network apps
- A modular GUI preflet
The libnet.so shared library is the way that BeOS R5 provided POSIX/BSD
API sockets to apps. Being binary compatible with BeOS R5 has made this
library implementation tedious. To counter this, the libnetapi.so shared
library was developed. It contains thin C++ classes wrapping the C
sockets POSIX/BSD API into these BNet* classes we're used under BeOS.
The stack driver is the interface between libnet.so and the real stack
behind it, hosted by the network stack kernel modules. Its purposes
include:
-# Providing sockets to file descriptors translation support
-# Providing support for select() on sockets
-# Loading the network stack on first access, and then keeping it for
further accesses
The following diagram illustrates the network stack design on Haiku:
\image html obos_net_stack_design_1.gif
The Network Kit includes a handful of useful networking related apps
including ping, ifconfig, route, traceroute, and arp.
See the User Guide for more information about the
<a href="http://haiku-os.org/docs/userguide/en/preferences/network.html">Network preferences app</a>
included as part of the Network Kit.
*/