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