Annotation of libwww/Library/src/WWWUtil.html, revision 2.10
2.1 frystyk 1: <HTML>
2: <HEAD>
2.10 ! frystyk 3: <!-- Changed by: Henrik Frystyk Nielsen, 16-Apr-1996 -->
! 4: <NEXTID N="z11">
! 5: <TITLE>W3C Reference Library libwww Basic Utilities</TITLE>
2.1 frystyk 6: </HEAD>
7: <BODY>
2.10 ! frystyk 8: <H1>
! 9: Declaration of W3C Reference Library Basic Utilities
! 10: </H1>
! 11: <PRE>/*
2.1 frystyk 12: ** (c) COPYRIGHT MIT 1995.
13: ** Please first read the full copyright statement in the file COPYRIGH.
14: */
15: </PRE>
2.10 ! frystyk 16: <P>
! 17: The Basic Utility modules are mostly container modules, dynamic strings and
! 18: other stuff that you can't live without when building applications. The modules
! 19: are used by the core part of the W3C Reference Library but can also be used
! 20: by the application. See also the main Library include file called
! 21: <A HREF="WWWLib.html">WWWLib.h</A> which contains all converters and protocol
! 22: modules known to the Library. You can include this one if the application
! 23: is to use all the functionality of the Library.
2.1 frystyk 24: <PRE>
25: #ifndef WWWUTIL_H
26: #define WWWUTIL_H
27: </PRE>
2.9 frystyk 28: <PRE>
29: #ifdef __cplusplus
30: extern "C" {
31: #endif
32: </PRE>
2.10 ! frystyk 33: <H2>
! 34: System dependencies
! 35: </H2>
! 36: <P>
2.6 frystyk 37: The <A HREF="sysdep.html">sysdep.h</A> file includes system-specific include
2.10 ! frystyk 38: files and flags for I/O to network and disk. The only reason for this file
! 39: is that the Internet world is more complicated than Posix and ANSI.
2.1 frystyk 40: <PRE>
2.6 frystyk 41: #include "sysdep.h"
2.1 frystyk 42: </PRE>
2.10 ! frystyk 43: <H2>
! 44: Library Includes
! 45: </H2>
! 46: <H3>
! 47: Basic Macros etc
! 48: </H3>
! 49: <P>
! 50: This module includes file contains things we need everywhere, generally macros
! 51: for declarations, booleans, etc.
2.5 frystyk 52: <PRE>
53: #include "<A HREF="HTUtils.html">HTUtils.h</A>"
54: </PRE>
2.10 ! frystyk 55: <H3>
! 56: Dynamic Arrays
! 57: </H3>
! 58: <P>
! 59: This module implements a flexible array of pointers. It is a general utility
! 60: module. An array is a structure which may be extended. These routines create
! 61: and append data to arrays, automatically reallocating them as necessary.
! 62: It is garanteed that the last entry in an array is <B>NULL</B>
2.5 frystyk 63: <PRE>
64: #include "<A HREF="HTArray.html">HTArray.h</A>"
65: </PRE>
2.10 ! frystyk 66: <H3>
! 67: Association Lists
! 68: </H3>
! 69: <P>
! 70: This is a small module build on top of the <A HREF="HTList.html">HTList
! 71: module</A> that provides a way to store <EM>Name-Value</EM> pairs in an easy
! 72: way.
2.5 frystyk 73: <PRE>
74: #include "<A HREF="HTAssoc.html">HTAssoc.h</A>"
75: </PRE>
2.10 ! frystyk 76: <H3>
! 77: Atoms
! 78: </H3>
! 79: <P>
! 80: Atoms are strings which are given representative pointer values so that they
! 81: can be stored more efficiently, and comparisons for equality done more
! 82: efficiently. The pointer values are in fact entries into a hash table.
2.5 frystyk 83: <PRE>
84: #include "<A HREF="HTAtom.html">HTAtom.h</A>"
85: </PRE>
2.10 ! frystyk 86: <H3>
! 87: Dynamic Strings
! 88: </H3>
! 89: <P>
2.5 frystyk 90: A Chunk is a block wise expandable array of type (char *) and is a sort of
91: apology for real strings in C. Chunks make it easier to handle dynamic strings
2.10 ! frystyk 92: of unknown size. It is often faster than using the String Copy Routines.
2.5 frystyk 93: <PRE>
94: #include "<A HREF="HTChunk.html">HTChunk.h</A>"
95: </PRE>
2.10 ! frystyk 96: <H3>
! 97: Linked Lists
! 98: </H3>
! 99: <P>
! 100: This module provides the functionality for managing a generic list of data
! 101: objects. The module is implemented as a single linked list using the scheme
! 102: <EM>first in - last out (FILO)</EM>.
2.5 frystyk 103: <PRE>
104: #include "<A HREF="HTList.html">HTList.h</A>"
105: </PRE>
2.10 ! frystyk 106: <H3>
! 107: Dymamic Memory Management
! 108: </H3>
! 109: <P>
! 110: This module defines any memory handler to be used by libwww for allocating
! 111: and de-allocating dynamic memory. As dynamic memory may be a scarce resource,
! 112: it is required that an application can handle memory exhaustion gracefully.
2.5 frystyk 113: <PRE>
114: #include "<A HREF="HTMemory.html">HTMemory.h</A>"
115: </PRE>
2.10 ! frystyk 116: <H3>
! 117: String Utilities
! 118: </H3>
! 119: <P>
! 120: Routines for dynamic arrays of characters include string copy, case insensitive
! 121: comparison etc.
2.5 frystyk 122: <PRE>
123: #include "<A HREF="HTString.html">HTString.h</A>"
124: </PRE>
2.10 ! frystyk 125: <H3>
! 126: UU encode and decode
! 127: </H3>
! 128: <P>
! 129: File module provides functions functions for uuencode and decode strings
! 130: which convert a buffer of bytes to/from
! 131: <A HREF="http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1113.txt">RFC
! 132: 1113 </A>printable encoding format. This technique is similar to the familiar
! 133: Unix uuencode format in that it maps 6 binary bits to one ASCII character
! 134: (or more aptly, 3 binary bytes to 4 ASCII characters). However, RFC 1113
! 135: does not use the same mapping to printable characters as uuencode.
2.1 frystyk 136: <PRE>
2.5 frystyk 137: #include "<A HREF="HTUU.html">HTUU.h</A>"
2.1 frystyk 138: </PRE>
2.10 ! frystyk 139: <P>
2.1 frystyk 140: End of utility modules
141: <PRE>
142: #ifdef __cplusplus
143: } /* end extern C definitions */
144: #endif
145:
146: #endif
147: </PRE>
2.10 ! frystyk 148: <P>
! 149: <HR>
2.8 frystyk 150: <ADDRESS>
2.10 ! frystyk 151: @(#) $Id: WWWUtil.html,v 2.9 1996/04/16 16:23:39 frystyk Exp $
2.8 frystyk 152: </ADDRESS>
2.10 ! frystyk 153: </BODY></HTML>
Webmaster