Files | Classes
Network Kit

Classes that deal with all network connections and communications. More...

Files

file  AbstractSocket.h
 Provides the BAbstractSocket interface.
 
file  DatagramSocket.h
 BAbstractSocket implementation for datagram connections.
 
file  HttpAuthentication.h
 Authentication token for use in HTTP protocol communications.
 
file  HttpForm.h
 Management of HTTP form data.
 
file  HttpHeaders.h
 Management of HTTP headers.
 
file  HttpRequest.h
 Management of HTTP or HTTPS protocol requests.
 

Classes

class  BAbstractSocket
 Abstract interface for all socket connections. More...
 
class  BDatagramSocket
 BAbstractSocket implementation for datagram connections. More...
 
class  BHttpAuthentication
 Authentication token for the HTTP protocol. More...
 
class  BHttpForm
 Container for all the BHttpFormData instances making up an HTTP form contents. More...
 
class  BHttpFormData
 Stores a form data entry sent or received during an HTTP request. More...
 
class  BHttpHeader
 Represent a single header field for an HTTP connection. More...
 
class  BHttpHeaders
 Container for a set of HTTP headers. More...
 
class  BHttpRequest
 Handles a request over HTTP or HTTPS. More...
 
class  BHttpForm::Iterator
 Form Iterator. More...
 

Detailed Description

Classes that deal with all network connections and communications.

The Haiku Network Kit consists of:

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:

  1. Providing sockets to file descriptors translation support
  2. Providing support for select() on sockets
  3. Loading the network stack on first access, and then keeping it for further accesses

The following diagram illustrates the network stack design on Haiku:

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.