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