W3C Library Packages and Interfaces (original) (raw)
Libwww consists of a set of APIs called packages which covers multiple related source modules; on Wintel packages are organized into DLLs and on Unix we organize them into separate libraries. A package interface is exported via a single include file of the type WWW*.h, for example WWWCore.h.
- Basic Utility Pagages - basic container classes etc
- Core Packages - the libwww core which is essential a registry and nothing else
- Initialization Packages - provides help setting up much of the functionality in libwww
- High Level Application Packages - simple application APIs for resolving a URI etc.
- Transport Packages - access to TCP, SSL, local file system etc.
- MIME Packages - handles basic MIME parsing
- Protocol Packages - access to HTTP, FTP, Gopher, file, telnet, etc.
- Persistent Caching Packages - including HTTP/1.1 persistent cache
- Stream Packages - including zlib compression, content length counter etc.
- HTML and XML Packages - including a wrapper for the Expat XML parser
- Database Access Packages - access to MySQL etc.
You can also have a look at the complete list of all public functions.
Basic Utility Packages
The core interfaces must be included in all applications.
Windows Specific Package
This is a small interface that handles trace messages on Windows
- Wintel DLL: wwwdll.dll
- Definition list of exported API
Basic Utility Package
The basic utility package contains mostly container modules, dynamic strings and other stuff that you can't live without when building applications. The modules are used by all other libwww packages but can also be used by the application.
- Wintel DLL: wwwutil.dll
- Unix lib: libwwwutil.a
- Package include file: WWWUtil.h
- Exported Classes and Functions
Libwww Core Package
The libwww core package is designed as a set of registration modules where features can be registered dynamically by the application. Examples of features that the application may want to register is HTTP access, local file access, HTML parser, etc. In the application package, you can find a set of default profiles helping you registering the most commonly used features.
- Wintel DLL: wwwcore.dll
- Unix lib: libwwwcore.a
- Package include file: WWWCore.h
- Exported Classes and Functions
Libwww Initialization Packages
These packages help the application set up functionality.
Profile Initialization Package
Libwww is a framework for adding functionality. It has hooks for adding protocol modules, like for example HTTP, FTP, and also for adding streams that can convert from one media type to some other type, or presenting the result to the user. In the distribution file of the Library you will find a large set of protocol modules and streams already implemented. However, in order to use these you need to initialize them. This can be done by using the services provided by the WWWInit module.
- Wintel DLL: wwwinit.dll
- Unix lib: libwwwinit.a
- Package include file: WWWInit.h
- Exported Classes and Functions
High Level Application Packages
These packages provides services including handling proxies, gateways, configuration files, support for PUT
, POST
,OPTIONS
, HEAD
, etc. requests.
Application Utilities
This application package handles a lot of features that many applications need: dialogs and progress notifications, high level URI resolving, rule files etc.
- Wintel DLL: wwwapp.dll
- Unix lib: libwwwapp.a
- Package include file: WWWApp.h
- Exported Classes and Functions
Transport Packages
Transports are registered dynamically in libwww. This means that libwww is independent of the transport being used (for example TCP) and you can therefore use libwww in any context you like. Each transport is registered with a set of parameters describing how the transport behaves, for example whether it supports preemptive access etc.
TCP and Local File Transport Package
This is the package that provides the TCP and Local file transports used by the protocol packages.
- Wintel DLL: wwwtrans.dll
- Unix lib: libwwwtrans.a
- Package include file: WWWTrans.h
- Exported Classes and Functions
WebMUX Transport Package- Experimental!!!
This is a very experimental package that provides pieces of the WebMUX specification
- Wintel DLL: wwwmux.dll
- Unix lib: libwwwmux.a
- Package include file: WWWMux.h
- Exported Classes and Functions
SSL Transport Package
This is the package that provides SSL transport access used by thehttps
URI scheme, for example
- Wintel DLL: wwwssl.dll
- Unix lib: libwwwssl.a
- Package include file: WWWSSL.h
- Exported Classes and Functions
MIME Packages
These packages handle MIME and the like.
MIME Parser and Generator
The MIME parser package contains all the libwww functionality for handling RFC822/MIME parsing and generation including multipart MIME etc.
- Wintel DLL: wwwmime.dll
- Unix lib: libwwwmime.a
- Package include file: WWWMIME.h
- Exported Classes and Functions
Protocol Packages
Protocols are also registered dynamically in libwww. They are registered to use a specific transport and whether they support preemptive access etc. See the application level packages for how to resolve URIs using libwww
Local File Access
This is the include file for resolving file: addresses or equivalent
- Wintel DLL: wwwfile.dll
- Unix lib: libwwwfile.a
- Package include file: WWWFile.h
- Exported Classes and Functions
FTP Access
This is the include file for resolving ftp: addresses or equivalent
- Wintel DLL: wwwftp.dll
- Unix lib: libwwwftp.a
- Package include file: WWWFTP.h
- Exported Classed and Functions
Gopher Access
This is the include file for resolving gopher: addresses or equivalent
- Wintel DLL: wwwgophe.dll
- Unix lib: libwwwgopher.a
- Package include file: WWWGophe.h
- Exported Classes and Functions
HTTP Access
This is the include file for resolving http: addresses or equivalent
- Wintel DLL: wwwhttp.dll
- Unix lib: libwwwhttp.a
- Package include file: WWWHTTP.h
- Exported Classes and Functions
News Access
This is the include file for resolving news: andnntp: addresses or equivalent.
- Wintel DLL: wwwnews.dll
- Unix lib: libwwwnews.a
- Package include file: WWWNews.h
- Exported Classes and Functions
Telnet Access
This is the include file for resolving telnet:,rlogin:, tn3270: addresses or equivalent.
- Wintel DLL: wwwtelnt.dll
- Unix lib: libwwwtelnt.a
- Package include file: WWWTelnt.h
- Exported Classes and Functions
WAIS Access
This is the include file for resolving wais: addresses or equivalent
- Wintel DLL: wwwwais.dll
- Unix lib: libwwwwais.a
- Package include file: WWWWAIS.h
- Exported Classes and Functions
Persistent Caching Packages
These packages handle persistent management of information
HTTP/1.1 Persistent Cache Package
This module implements a HTTP/1.1 persistent cache manager.
- Wintel DLL: wwwcache.dll
- Unix lib: libwwwmime.a
- Package include file: WWWCache.h
- Exported Classes and Functions
Stream Packages
Streams and converters are an essential part of libwww - all dataflow happens using streams.
Special Streams Package
This interface provides a set of specialized stream. For example a stream for guessing unknown media types from magic words. It also contains streams for downloading a document into a memory buffer, counting content length and much more.
- Wintel DLL: wwwstream.dll
- Unix lib: libwwwstream.a
- Package include file: WWWStream.h
- Exported Classes and Functions
Directory Browsing Package
The directory browsing pacakge contains code for handling browsing folders in both local files including handling icons and the like.
- Wintel DLL: wwwdir.dll
- Unix lib: libwwwdir.a
- Package include file: WWWDir.h
- Exported Classes and Functions
ZLib Compression and Decompression Streams Package
Libwww can use zlib to compress/decompress content on the fly. This requires that zlib is available to link against, see the instructions on how to interact with external packages for detail.
- Wintel DLL: wwwzip.dll
- Unix lib: libwwwzip.a
- Package include file: WWWZip.h
- Exported Classes and Functions
HTML and XML Parser Packages
HTML Parser and Generator
This is the default libwww HTML parser based on a simple callback scheme into the application. It also contains code for generating HTML.
- Wintel DLL: wwwhtml.dll
- Unix lib: libwwwhtml.a
- Package include file: WWWHTML.h
- Exported Classes and Functions
Expat XML Wrapper Package
Libwww can use the Expat XML parser to handle XML. This requires that the expat parser is available, see the instructions on how to interact with external packages for detail
- Wintel DLL: wwwhtml.dll
- Unix lib: libwwwhtml.a
- Package include file: WWWXML.h
- Exported Classes and Functions
Database Access Packages
Database access can for example be used to handle logging etc.
MySQL Access Package
Libwww can use MySQL for various types of logging etc. This requires that the mysql client library is available, see the instructions on how to interact with external packages for detail
- Wintel DLL: wwwsql.dll
- Unix lib: libwwwsql.a
- Package include file: WWWSQL.h
- Exported Classes and Functions
Henrik Frystyk Nielsen,
@(#) Id:Overview.html,v1.342000/07/1210:34:49kahanExpId: Overview.html,v 1.34 2000/07/12 10:34:49 kahan Exp Id:Overview.html,v1.342000/07/1210:34:49kahanExp