1 /*
2  * extarr.h
3  * kirk johnson
4  * july 1993
5  *
6  * Copyright (C) 1989, 1990, 1993-1995, 1999 Kirk Lauritz Johnson
7  *
8  * Parts of the source code (as marked) are:
9  *   Copyright (C) 1989, 1990, 1991 by Jim Frost
10  *   Copyright (C) 1992 by Jamie Zawinski <jwz@lucid.com>
11  *
12  * Permission to use, copy, modify and freely distribute xearth for
13  * non-commercial and not-for-profit purposes is hereby granted
14  * without fee, provided that both the above copyright notice and this
15  * permission notice appear in all copies and in supporting
16  * documentation.
17  *
18  * Unisys Corporation holds worldwide patent rights on the Lempel Zev
19  * Welch (LZW) compression technique employed in the CompuServe GIF
20  * image file format as well as in other formats. Unisys has made it
21  * clear, however, that it does not require licensing or fees to be
22  * paid for freely distributed, non-commercial applications (such as
23  * xearth) that employ LZW/GIF technology. Those wishing further
24  * information about licensing the LZW patent should contact Unisys
25  * directly at (lzw_info@unisys.com) or by writing to
26  *
27  *   Unisys Corporation
28  *   Welch Licensing Department
29  *   M/S-C1SW19
30  *   P.O. Box 500
31  *   Blue Bell, PA 19424
32  *
33  * The author makes no representations about the suitability of this
34  * software for any purpose. It is provided "as is" without express or
35  * implied warranty.
36  *
37  * THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
38  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
39  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT
40  * OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
41  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
42  * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
43  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
44  */
45 
46 #ifndef _EXTARR_H_
47 #define _EXTARR_H_
48 
49 typedef struct extarr
50 {
51   unsigned eltsize;
52   unsigned limit;
53   unsigned count;
54   void    *body;
55 } *ExtArr;
56 
57 extern ExtArr extarr_alloc _P((unsigned));
58 extern void   extarr_free _P((ExtArr));
59 extern void  *extarr_next _P((ExtArr));
60 
61 #endif
62