Declaration of W3C Reference Library Streams

/*
**	(c) COPYRIGHT MIT 1995.
**	Please first read the full copyright statement in the file COPYRIGH.
*/

The stream part of the Library is a set of streams that can be used in many contexts throughout the Library.

#ifndef WWWSTREAM_H
#define WWWSTREAM_H
#ifdef __cplusplus
extern "C" { 
#endif

System dependencies

The sysdep.h file includes system-specific include files and flags for I/O to network and disk. The only reason for this file is that the Internet world is more complicated than Posix and ANSI.

#include "sysdep.h"

Content Length Counter

This stream also buffers the result to find out the content length. If a maximum buffer limit is reached Content-Length is calculated for logs but it is not sent to the client -- rather the buffer is flushed right away.

#include "HTConLen.h"			/* Content Length Counter */

Content Guess Stream

This interface provides functionality for guessing unknown media types from magic words. The stream is a one that reads first a chunk of stuff, tries to figure out the format, and calls HTStreamStack(). This is a kind of lazy-evaluation of HTStreamStack(). This could be extended arbitrarily to recognize all the possible file formats in the world, if someone only had time to do it.

#include "HTGuess.h"			/* Guess stream */

Tee Stream

The Tee stream just writes everything you put into it into two oter streams. One use (the only use?!) is for taking a cached copey on disk while loading the main copy, without having to wait for the disk copy to be finished and reread it.

#include "HTTee.h"			/* T streem for splitting a stream */

Memory Buffer

This version of the stream object is a hook for clients that want an unparsed stream from libwww. The HTXParse_put_* and HTXParse_write routines copy the content of the incoming buffer into a buffer that is realloced whenever necessary. This buffer is handed over to the client in HTXParse_free. See also HTFWriter for writing to C files.

#include "HTXParse.h"			/* External parse stream */
#ifdef __cplusplus
} /* end extern C definitions */
#endif

#endif


@(#) $Id: WWWStream.html,v 2.3 1996/06/01 17:46:57 frystyk Exp $