Internals - Network Modules

# Network Modules

Network modules handles all the network access including DNS access, reading and writing to the and from the network etc. Most of these modules are internal to the Library, however some applications might use some of them directly.

## TCP Communication

The functionality of the HTTCP Module covers several topics but they are all related to TCP/IP communication. All active and passive connection establishment from the Protocol Modules goes through this module. Furthermore, the module manages a local host cache of visited hosts so that the Domain Name Server is only consulted when necessary.

Other topics includes:

- I/O status indication (errno etc.)
- Information on remote hosts
- Information on local host (domain name etc.)
- Information on current user (mail address)

## Reading Data from a Socket

The HTSocket Module controls all the functionality for reading information from a socket and from the local file system using either a socket or a ANSI C file descriptor.

The module is currently being transformed into a completely reentrant version, but the old non-reentrant interface is still needed for some functions. However, it will be taken out as soon as possible.