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