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