diff --git a/docs/user/Doxyfile b/docs/user/Doxyfile index 5a64a354ce..3ba6f7786b 100644 --- a/docs/user/Doxyfile +++ b/docs/user/Doxyfile @@ -766,6 +766,7 @@ IMAGE_PATH = . \ interface/images \ keyboard \ midi2/images \ + net/images \ storage/images # The INPUT_FILTER tag can be used to specify a program that doxygen should diff --git a/docs/user/book.dox b/docs/user/book.dox index 72f751da10..1487069a73 100644 --- a/docs/user/book.dox +++ b/docs/user/book.dox @@ -471,9 +471,44 @@ snooze_until(time - Latency(), B_SYSTEM_TIMEBASE); \defgroup libmidi2 (libmidi2.so) + \defgroup network Network Kit \brief Classes that deal with all network connections and communications. + 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 + Network preferences app + included as part of the Network Kit. + + \defgroup storage Storage Kit \brief Collection of classes that deal with storing and retrieving information from disk. diff --git a/docs/user/net/_network_intro.dox b/docs/user/net/_network_intro.dox new file mode 100644 index 0000000000..97d1c4eea9 --- /dev/null +++ b/docs/user/net/_network_intro.dox @@ -0,0 +1,47 @@ +/* + * 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 + Network preferences app + included as part of the Network Kit. +*/ diff --git a/docs/user/net/images/obos_net_stack_design_1.gif b/docs/user/net/images/obos_net_stack_design_1.gif new file mode 100644 index 0000000000..d08644e8b6 Binary files /dev/null and b/docs/user/net/images/obos_net_stack_design_1.gif differ