From d3b715720151d9fee8485d6b960f409763d5eeda Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Wed, 20 Dec 2017 20:42:57 -0500 Subject: [PATCH] docs/develop: Remove obsolete "net" documents. They've been "obsolete" since 2006, so they must be extra-obsolete by now :-) --- docs/develop/net/obsolete/apps.html | 53 ------- docs/develop/net/obsolete/build.html | 142 ------------------ docs/develop/net/obsolete/debugging.html | 57 ------- docs/develop/net/obsolete/index.html | 72 --------- docs/develop/net/obsolete/libs.html | 51 ------- .../net/obsolete/obos_net_server_design_1.gif | Bin 20859 -> 0 bytes .../net/obsolete/obos_net_stack_design_1.gif | Bin 17731 -> 0 bytes docs/develop/net/obsolete/overview.html | 50 ------ .../net/obsolete/r5_compatibility.html | 101 ------------- docs/develop/net/obsolete/stack.html | 55 ------- docs/develop/net/obsolete/stack_driver.html | 45 ------ 11 files changed, 626 deletions(-) delete mode 100644 docs/develop/net/obsolete/apps.html delete mode 100644 docs/develop/net/obsolete/build.html delete mode 100644 docs/develop/net/obsolete/debugging.html delete mode 100644 docs/develop/net/obsolete/index.html delete mode 100644 docs/develop/net/obsolete/libs.html delete mode 100644 docs/develop/net/obsolete/obos_net_server_design_1.gif delete mode 100644 docs/develop/net/obsolete/obos_net_stack_design_1.gif delete mode 100644 docs/develop/net/obsolete/overview.html delete mode 100644 docs/develop/net/obsolete/r5_compatibility.html delete mode 100644 docs/develop/net/obsolete/stack.html delete mode 100644 docs/develop/net/obsolete/stack_driver.html diff --git a/docs/develop/net/obsolete/apps.html b/docs/develop/net/obsolete/apps.html deleted file mode 100644 index 3dda26f99d..0000000000 --- a/docs/develop/net/obsolete/apps.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: Network apps

- -

The Haiku Network Kit comes with some basic network utilities:

- - - - - -
- -
Philippe Houdoin, July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/build.html b/docs/develop/net/obsolete/build.html deleted file mode 100644 index 401cc21dd1..0000000000 --- a/docs/develop/net/obsolete/build.html +++ /dev/null @@ -1,142 +0,0 @@ - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: Build & installation instructions

-

Although the stack isn't quite finished, you can already test some basics.
- You'll have to get the code, build it, install it and run it.
- There isn't yet an easier way of getting the network stack, we're far from ready to release - a binary package.

-

So, if you accept your mission :

- -
    -
  1. Get familiar -

    First, go to team - web page.
    - Have a look around and see the current status of the stack. Have a glance - over the jobs, perhaps there's something that interests you? -

    -
  2. - -
  3. Furbish your tools -

    Get the build tools - suite.
    - You'll need CVS, JAM, the fixed LD linker -

    -
  4. - -
  5. May the code be with you -

    For dark reason, you should have the source code to build.
    - So, you must checkout (anonymously) the full OBOS CVS: -

      -
    • Using CVS tool: follow the SourceForge information - on CVS. -
    • If you don't want to fight with 'cvs' command line syntax, I recommand - you using CheckItOut tool, with these settings values: -

      - - - - -
      Project Name:open-beos
      Location:/path/to/where/you/want/to/store/OBOS/cvs/tree/locally
      Module Name:current
      -

      - -

      Only check "Open Tracker once Completed" option, if you - want.
      - There, click "Go". Patience, it take time (and bandwidth!)

      - -
    • Other solution: download and unzip the current CVS snapshot - tarball from SourceForge.
      - Beware, it's huge, expect around 13MB. -
    -

    -
  6. - -
  7. Build -

    Building the whole Networking Kit stuffs was made easy by Jam rules.
    -Simply run these commands from a Terminal:

    -

    - - - - -
    $ cd /path/to/your/local/openbeos/current
    - $ ./configure
    - $ jam NetworkingKit
    -
    -

    -

    It should build all networking kit stuffs. If you encount any compile or - link errors, report it to the network team mailing list.

    -
  8. - -
  9. Install -

    There are basically two ways to install the networking kit. The first way is to do it manually, as is described below. The second way - is easier, as you won't have to do anything manually. If you want to use the second way, use the command jam install-networking. - This way you can skip all the manual steps described below. Please note that the Haiku provided utilities like ping, are located - under your local current/tests/kits/net/, where you can execute them as often as you like.

    -

    However, if you are the manual type of person, you can find the networking kit binaries now under your local current/distro/x86.R1/*
    - To install: -

      -
    • open your current/distro/x86.R1/beos/system/add-ons/kernel/drivers/bin folder
      -
    • -
    • copy the net_stack_driver and net_server_driver into - your /boot/home/config/add-ons/kernel/drivers/bin
      -
    • -
    • create in your /boot/home/config/add-ons/kernel/drivers/dev/net - two symlinks "net_stack_driver" and "net_server_driver", - targetting the ones in ../../bin/net_{stack|server}_driver (create this 'dev/net' - directory if it don't exists yet) -
    • -
    • copy the whole current/distro/x86.R1/beos/system/add-ons/kernel/ - network folder to your /boot/home/config/add-ons/kernel
      - BEWARE: BONE users, you should disabled BONE own /boot/beos/system/add-ons/kernel/network - modules folder, as our stack try to load these modules too, which currently throw you into KDL heaven...
      - So, rename this folder into anything that make sense, like network.bone. It'll disabled BONE after a reboot, which is required - anyway to test the OBOS stack... -
    • -
    • copy the libnet.so and libnetapi.so libraries from your current/distro/x86.R1/beos/system/lib - to a lib folder you should create into your current/distro/x86.R1/beos/bin, where the command line - OBOS networking kit apps are located.
      -
    • -
    -

    -
  10. - -
  11. Test, test, test -

    You should free one of your /dev/net/*/0 network card (by disable in BONEyard, - or by disabling in Network for net_server) Then, run the OBOS ifconfig tool from - Terminal to see (and start) the stack detected interface(s) Last, play with - ping, arp, traceroute, etc. Also check out the details on the stack - design.

    -
  12. - -
- -
-
This document is written by Philippe - Houdoin and edited by Niels Reedijk. - Last updated on July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/debugging.html b/docs/develop/net/obsolete/debugging.html deleted file mode 100644 index bffa682a5c..0000000000 --- a/docs/develop/net/obsolete/debugging.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: Debugging instructions

- -

For debugging purpose, and eventually stack internals learning purpose, we have develop -an userland stack version, sharing most of the network stack -source code but hosted by a app, net_stack_tester, in contrast with the real one hosted in kernelland, behind the -stack driver. -

- -

The following image shows this debug platform overall design:

- -Haiku Network Stack debugging platform block diagram
- -

The libnet.so library was modified to check if the NET_STACK_DRIVER_PATH -environment variable is defined and use his value as driver path to interface with. -To switch to net_stack_tester hosted stack version, just run this -from a Terminal:

- -

- -
$ export NET_STACK_DRIVER_PATH=/dev/net/server -
-

- -

Starting from there, all apps using libnet.so services will use the debug stack version. -

- -
-
Philippe Houdoin, July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/index.html b/docs/develop/net/obsolete/index.html deleted file mode 100644 index 691d4ebcce..0000000000 --- a/docs/develop/net/obsolete/index.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit

- -

-

-

- -
- -
Philippe Houdoin, July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/libs.html b/docs/develop/net/obsolete/libs.html deleted file mode 100644 index 856712b5fd..0000000000 --- a/docs/develop/net/obsolete/libs.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: The Shared Libraries

- - - -
- -
Philippe Houdoin, July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/obos_net_server_design_1.gif b/docs/develop/net/obsolete/obos_net_server_design_1.gif deleted file mode 100644 index ea9160bd9994c72061c90300d065d01ab3a5eff1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20859 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 AiU0rr diff --git a/docs/develop/net/obsolete/obos_net_stack_design_1.gif b/docs/develop/net/obsolete/obos_net_stack_design_1.gif deleted file mode 100644 index d08644e8b6350b78e09cf7398c56a1f03547c9c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17731 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 diff --git a/docs/develop/net/obsolete/overview.html b/docs/develop/net/obsolete/overview.html deleted file mode 100644 index bbf425af69..0000000000 --- a/docs/develop/net/obsolete/overview.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: Overview

- -

The Haiku Network Kit consists of: -

-

- -

A picture may talk better?

-

The following image shows the overall network design:

- -Haiku Network Kit block diagram
- -
-
Philippe Houdoin, July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/r5_compatibility.html b/docs/develop/net/obsolete/r5_compatibility.html deleted file mode 100644 index 160af146ec..0000000000 --- a/docs/develop/net/obsolete/r5_compatibility.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: R5 compatibility issues

- -

Unfortunatly, R5 and sooner (net_server based) network stack development header file (/develop/headers/be/net/socket.h) definition of -network structures and constantes are not BSD standard ones.
-BONE, otherwise, try to follow at best these standards definitions which, -in turn, break binary compatibility with R5 network apps compiled for R5 network stack.
-Hence why you needs to link against libsocket.so, libbind.so and libbnetapi.so BONE apps instead of -R5 libnet.so and libnetapi.so libraries... -

-

So, here we are. By design, we must: -

    -
  • Provide backward binary compatibility with old, non-standard, network definitions used -by apps linked against R5 network stack; -
  • But use the standard/de-facto BSD network definitions, to increase Unix network apps ports ease under -Haiku. -
-

- -

Network definitions differences: -

-

- - - -
ItemR5 stackBONE stackHaiku stack - -
socket.h header file -be/net/socket.h -be/bone/sys/socket.h -posix/sys/socket.h - -
SOCK_DGRAM12idem as BONE -
SOCK_STREAM21idem as BONE -
SOCK_RAWnot defined3idem as BONE -
SOCK_MISCnot defined255idem as BONE - -
SOL_SOCKET10xffffffffidem as BONE -
SO_DEBUG10x00000004idem as BONE -
SO_REUSEADDR20x00000040idem as BONE -
SO_NONBLOCK30x40000009idem as BONE -
SO_REUSEPORT40x00000080idem as BONE -
SO_FIONREAD5?? - - -
sockaddr -struct sockaddr {
-  unsigned short sa_family;
-  char sa_data[10];
-};
-
struct sockaddr {
-  uint8 sa_len;
-  uint8 sa_family;
-  uint8 sa_data[30];
-};
-
idem as BONE - -
closesocket() -definednot defineddefined, call close() - - -
in.h header file -be/net/netinet/in.h, which in turn include
-be/net/socket.h -
be/bone/netinet/in.h -posix/netinet/in.h - -
-

- -
- -
Philippe Houdoin, July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/stack.html b/docs/develop/net/obsolete/stack.html deleted file mode 100644 index 595cf60ee6..0000000000 --- a/docs/develop/net/obsolete/stack.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: The Network Stack

- -Location: src/add-ons/kernel/network -

[Write a short overview about it!!!]

- - - -
- -
Philippe Houdoin, July 30th, 2004
- - - diff --git a/docs/develop/net/obsolete/stack_driver.html b/docs/develop/net/obsolete/stack_driver.html deleted file mode 100644 index eac64d6dfc..0000000000 --- a/docs/develop/net/obsolete/stack_driver.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -Haiku Network Kit - - - - - -

Haiku Network Kit: The Stack Driver

- -Location: src/add-ons/kernel/drivers/network/stack -

The stack driver is the interface between libnet and the real stack behind him, -host by the network stack kernel modules.

-His purpose is multiple: -
    -
  1. Provide the sockets == file descriptors support -
  2. Provide a support for select() on sockets -
  3. Load the network stack at first access, and keep it that way then... -
-

- -
- -
Philippe Houdoin, July 30th, 2004
- - -