aboutsummaryrefslogtreecommitdiff
path: root/old
diff options
context:
space:
mode:
Diffstat (limited to 'old')
-rw-r--r--old/Make_vms.com115
-rw-r--r--old/Makefile.riscos151
-rw-r--r--old/README3
-rw-r--r--old/amiga/Makefile.pup66
-rw-r--r--old/amiga/Makefile.sas64
-rw-r--r--old/descrip.mms48
-rw-r--r--old/msdos/Makefile.b32104
-rw-r--r--old/msdos/Makefile.bor125
-rw-r--r--old/msdos/Makefile.dj2100
-rw-r--r--old/msdos/Makefile.emx69
-rw-r--r--old/msdos/Makefile.msc121
-rw-r--r--old/msdos/Makefile.tc108
-rw-r--r--old/msdos/Makefile.w3297
-rw-r--r--old/msdos/Makefile.wat103
-rw-r--r--old/msdos/zlib.def60
-rw-r--r--old/msdos/zlib.rc32
-rw-r--r--old/nt/Makefile.emx138
-rw-r--r--old/nt/Makefile.gcc87
-rw-r--r--old/nt/Makefile.nt88
-rw-r--r--old/nt/zlib.dnt47
-rw-r--r--old/os2/Makefile.os2136
-rw-r--r--old/os2/zlib.def51
-rw-r--r--old/zlib.3107
-rw-r--r--old/zlib.html971
24 files changed, 2991 insertions, 0 deletions
diff --git a/old/Make_vms.com b/old/Make_vms.com
new file mode 100644
index 0000000..1c57e8f
--- /dev/null
+++ b/old/Make_vms.com
@@ -0,0 +1,115 @@
1$! make libz under VMS
2$! written by Martin P.J. Zinser <m.zinser@gsi.de>
3$!
4$! Look for the compiler used
5$!
6$ ccopt = ""
7$ if f$getsyi("HW_MODEL").ge.1024
8$ then
9$ ccopt = "/prefix=all"+ccopt
10$ comp = "__decc__=1"
11$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
12$ else
13$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
14$ then
15$ comp = "__vaxc__=1"
16$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
17$ else
18$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
19$ ccopt = "/decc/prefix=all"+ccopt
20$ comp = "__decc__=1"
21$ endif
22$ endif
23$!
24$! Build the thing plain or with mms
25$!
26$ write sys$output "Compiling Zlib sources ..."
27$ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
28$ then
29$ dele example.obj;*,minigzip.obj;*
30$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
31 adler32.c zlib.h zconf.h
32$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
33 compress.c zlib.h zconf.h
34$ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" -
35 crc32.c zlib.h zconf.h
36$ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" -
37 deflate.c deflate.h zutil.h zlib.h zconf.h
38$ CALL MAKE gzio.OBJ "CC ''CCOPT' gzio" -
39 gzio.c zutil.h zlib.h zconf.h
40$ CALL MAKE infblock.OBJ "CC ''CCOPT' infblock" -
41 infblock.c zutil.h zlib.h zconf.h infblock.h
42$ CALL MAKE infcodes.OBJ "CC ''CCOPT' infcodes" -
43 infcodes.c zutil.h zlib.h zconf.h inftrees.h
44$ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" -
45 inffast.c zutil.h zlib.h zconf.h inffast.h
46$ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" -
47 inflate.c zutil.h zlib.h zconf.h infblock.h
48$ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" -
49 inftrees.c zutil.h zlib.h zconf.h inftrees.h
50$ CALL MAKE infutil.OBJ "CC ''CCOPT' infutil" -
51 infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
52$ CALL MAKE trees.OBJ "CC ''CCOPT' trees" -
53 trees.c deflate.h zutil.h zlib.h zconf.h
54$ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" -
55 uncompr.c zlib.h zconf.h
56$ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
57 zutil.c zutil.h zlib.h zconf.h
58$ write sys$output "Building Zlib ..."
59$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
60$ write sys$output "Building example..."
61$ CALL MAKE example.OBJ "CC ''CCOPT' example" -
62 example.c zlib.h zconf.h
63$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
64$ write sys$output "Building minigzip..."
65$ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" -
66 minigzip.c zlib.h zconf.h
67$ call make minigzip.exe -
68 "LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" -
69 minigzip.obj libz.olb
70$ else
71$ mms/macro=('comp')
72$ endif
73$ write sys$output "Zlib build completed"
74$ exit
75$!
76$!
77$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
78$ V = 'F$Verify(0)
79$! P1 = What we are trying to make
80$! P2 = Command to make it
81$! P3 - P8 What it depends on
82$
83$ If F$Search(P1) .Eqs. "" Then Goto Makeit
84$ Time = F$CvTime(F$File(P1,"RDT"))
85$arg=3
86$Loop:
87$ Argument = P'arg
88$ If Argument .Eqs. "" Then Goto Exit
89$ El=0
90$Loop2:
91$ File = F$Element(El," ",Argument)
92$ If File .Eqs. " " Then Goto Endl
93$ AFile = ""
94$Loop3:
95$ OFile = AFile
96$ AFile = F$Search(File)
97$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
98$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
99$ Goto Loop3
100$NextEL:
101$ El = El + 1
102$ Goto Loop2
103$EndL:
104$ arg=arg+1
105$ If arg .Le. 8 Then Goto Loop
106$ Goto Exit
107$
108$Makeit:
109$ VV=F$VERIFY(0)
110$ write sys$output P2
111$ 'P2
112$ VV='F$Verify(VV)
113$Exit:
114$ If V Then Set Verify
115$ENDSUBROUTINE
diff --git a/old/Makefile.riscos b/old/Makefile.riscos
new file mode 100644
index 0000000..d97f449
--- /dev/null
+++ b/old/Makefile.riscos
@@ -0,0 +1,151 @@
1# Project: zlib_1_03
2# Patched for zlib 1.1.2 rw@shadow.org.uk 19980430
3# test works out-of-the-box, installs `somewhere' on demand
4
5# Toolflags:
6CCflags = -c -depend !Depend -IC: -g -throwback -DRISCOS -fah
7C++flags = -c -depend !Depend -IC: -throwback
8Linkflags = -aif -c++ -o $@
9ObjAsmflags = -throwback -NoCache -depend !Depend
10CMHGflags =
11LibFileflags = -c -l -o $@
12Squeezeflags = -o $@
13
14# change the line below to where _you_ want the library installed.
15libdest = lib:zlib
16
17# Final targets:
18@.lib: @.o.adler32 @.o.compress @.o.crc32 @.o.deflate @.o.gzio \
19 @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil @.o.trees \
20 @.o.uncompr @.o.zutil
21 LibFile $(LibFileflags) @.o.adler32 @.o.compress @.o.crc32 @.o.deflate \
22 @.o.gzio @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil \
23 @.o.trees @.o.uncompr @.o.zutil
24test: @.minigzip @.example @.lib
25 @copy @.lib @.libc A~C~DF~L~N~P~Q~RS~TV
26 @echo running tests: hang on.
27 @/@.minigzip -f -9 libc
28 @/@.minigzip -d libc-gz
29 @/@.minigzip -f -1 libc
30 @/@.minigzip -d libc-gz
31 @/@.minigzip -h -9 libc
32 @/@.minigzip -d libc-gz
33 @/@.minigzip -h -1 libc
34 @/@.minigzip -d libc-gz
35 @/@.minigzip -9 libc
36 @/@.minigzip -d libc-gz
37 @/@.minigzip -1 libc
38 @/@.minigzip -d libc-gz
39 @diff @.lib @.libc
40 @echo that should have reported '@.lib and @.libc identical' if you have diff.
41 @/@.example @.fred @.fred
42 @echo that will have given lots of hello!'s.
43
44@.minigzip: @.o.minigzip @.lib C:o.Stubs
45 Link $(Linkflags) @.o.minigzip @.lib C:o.Stubs
46@.example: @.o.example @.lib C:o.Stubs
47 Link $(Linkflags) @.o.example @.lib C:o.Stubs
48
49install: @.lib
50 cdir $(libdest)
51 cdir $(libdest).h
52 @copy @.h.zlib $(libdest).h.zlib A~C~DF~L~N~P~Q~RS~TV
53 @copy @.h.zconf $(libdest).h.zconf A~C~DF~L~N~P~Q~RS~TV
54 @copy @.lib $(libdest).lib A~C~DF~L~N~P~Q~RS~TV
55 @echo okay, installed zlib in $(libdest)
56
57clean:; remove @.minigzip
58 remove @.example
59 remove @.libc
60 -wipe @.o.* F~r~cV
61 remove @.fred
62
63# User-editable dependencies:
64.c.o:
65 cc $(ccflags) -o $@ $<
66
67# Static dependencies:
68
69# Dynamic dependencies:
70o.example: c.example
71o.example: h.zlib
72o.example: h.zconf
73o.minigzip: c.minigzip
74o.minigzip: h.zlib
75o.minigzip: h.zconf
76o.adler32: c.adler32
77o.adler32: h.zlib
78o.adler32: h.zconf
79o.compress: c.compress
80o.compress: h.zlib
81o.compress: h.zconf
82o.crc32: c.crc32
83o.crc32: h.zlib
84o.crc32: h.zconf
85o.deflate: c.deflate
86o.deflate: h.deflate
87o.deflate: h.zutil
88o.deflate: h.zlib
89o.deflate: h.zconf
90o.gzio: c.gzio
91o.gzio: h.zutil
92o.gzio: h.zlib
93o.gzio: h.zconf
94o.infblock: c.infblock
95o.infblock: h.zutil
96o.infblock: h.zlib
97o.infblock: h.zconf
98o.infblock: h.infblock
99o.infblock: h.inftrees
100o.infblock: h.infcodes
101o.infblock: h.infutil
102o.infcodes: c.infcodes
103o.infcodes: h.zutil
104o.infcodes: h.zlib
105o.infcodes: h.zconf
106o.infcodes: h.inftrees
107o.infcodes: h.infblock
108o.infcodes: h.infcodes
109o.infcodes: h.infutil
110o.infcodes: h.inffast
111o.inffast: c.inffast
112o.inffast: h.zutil
113o.inffast: h.zlib
114o.inffast: h.zconf
115o.inffast: h.inftrees
116o.inffast: h.infblock
117o.inffast: h.infcodes
118o.inffast: h.infutil
119o.inffast: h.inffast
120o.inflate: c.inflate
121o.inflate: h.zutil
122o.inflate: h.zlib
123o.inflate: h.zconf
124o.inflate: h.infblock
125o.inftrees: c.inftrees
126o.inftrees: h.zutil
127o.inftrees: h.zlib
128o.inftrees: h.zconf
129o.inftrees: h.inftrees
130o.inftrees: h.inffixed
131o.infutil: c.infutil
132o.infutil: h.zutil
133o.infutil: h.zlib
134o.infutil: h.zconf
135o.infutil: h.infblock
136o.infutil: h.inftrees
137o.infutil: h.infcodes
138o.infutil: h.infutil
139o.trees: c.trees
140o.trees: h.deflate
141o.trees: h.zutil
142o.trees: h.zlib
143o.trees: h.zconf
144o.trees: h.trees
145o.uncompr: c.uncompr
146o.uncompr: h.zlib
147o.uncompr: h.zconf
148o.zutil: c.zutil
149o.zutil: h.zutil
150o.zutil: h.zlib
151o.zutil: h.zconf
diff --git a/old/README b/old/README
new file mode 100644
index 0000000..ea9cd22
--- /dev/null
+++ b/old/README
@@ -0,0 +1,3 @@
1This directory contains files that have not been updated for zlib 1.2.0.
2
3(Volunteers are encouraged to help clean this up. Thanks.)
diff --git a/old/amiga/Makefile.pup b/old/amiga/Makefile.pup
new file mode 100644
index 0000000..6cfad1d
--- /dev/null
+++ b/old/amiga/Makefile.pup
@@ -0,0 +1,66 @@
1# Amiga powerUP (TM) Makefile
2# makefile for libpng and SAS C V6.58/7.00 PPC compiler
3# Copyright (C) 1998 by Andreas R. Kleinert
4
5CC = scppc
6CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \
7 OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8
8LIBNAME = libzip.a
9AR = ppc-amigaos-ar
10AR_FLAGS = cr
11RANLIB = ppc-amigaos-ranlib
12LDFLAGS = -r -o
13LDLIBS = LIB:scppc.a
14LN = ppc-amigaos-ld
15RM = delete quiet
16
17OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
18 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
19
20TEST_OBJS = example.o minigzip.o
21
22all: example minigzip
23
24test: all
25 example
26 echo hello world | minigzip | minigzip -d
27
28$(LIBNAME): $(OBJS)
29 $(AR) $(AR_FLAGS) $@ $(OBJS)
30 $(RANLIB) $@
31
32example: example.o $(LIBNAME)
33 $(LN) $(LDFLAGS) example LIB:c_ppc.o example.o $(LIBNAME) $(LDLIBS) LIB:end.o
34
35minigzip: minigzip.o $(LIBNAME)
36 $(LN) $(LDFLAGS) minigzip LIB:c_ppc.o minigzip.o $(LIBNAME) $(LDLIBS) LIB:end.o
37
38clean:
39 $(RM) *.o example minigzip $(LIBNAME) foo.gz
40
41zip:
42 zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \
43 descrip.mms *.[ch]
44
45tgz:
46 cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \
47 zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch]
48
49# DO NOT DELETE THIS LINE -- make depend depends on it.
50
51adler32.o: zutil.h zlib.h zconf.h
52compress.o: zlib.h zconf.h
53crc32.o: zutil.h zlib.h zconf.h
54deflate.o: deflate.h zutil.h zlib.h zconf.h
55example.o: zlib.h zconf.h
56gzio.o: zutil.h zlib.h zconf.h
57infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
58infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
59inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
60inflate.o: zutil.h zlib.h zconf.h infblock.h
61inftrees.o: zutil.h zlib.h zconf.h inftrees.h
62infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h
63minigzip.o: zlib.h zconf.h
64trees.o: deflate.h zutil.h zlib.h zconf.h
65uncompr.o: zlib.h zconf.h
66zutil.o: zutil.h zlib.h zconf.h
diff --git a/old/amiga/Makefile.sas b/old/amiga/Makefile.sas
new file mode 100644
index 0000000..5323e82
--- /dev/null
+++ b/old/amiga/Makefile.sas
@@ -0,0 +1,64 @@
1# SMakefile for zlib
2# Modified from the standard UNIX Makefile Copyright Jean-loup Gailly
3# Osma Ahvenlampi <Osma.Ahvenlampi@hut.fi>
4# Amiga, SAS/C 6.56 & Smake
5
6CC=sc
7CFLAGS=OPT
8#CFLAGS=OPT CPU=68030
9#CFLAGS=DEBUG=LINE
10LDFLAGS=LIB z.lib
11
12SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \
13 NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX
14
15OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
16 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
17
18TEST_OBJS = example.o minigzip.o
19
20all: SCOPTIONS example minigzip
21
22test: all
23 `cd`/example
24 echo hello world | minigzip | minigzip -d
25
26install: z.lib
27 copy zlib.h zconf.h INCLUDE: clone
28 copy z.lib LIB: clone
29
30z.lib: $(OBJS)
31 oml z.lib r $(OBJS)
32
33example: example.o z.lib
34 $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS)
35
36minigzip: minigzip.o z.lib
37 $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS)
38
39clean:
40 -delete force quiet *.o example minigzip z.lib foo.gz *.lnk SCOPTIONS
41
42SCOPTIONS: Smakefile
43 copy to $@ <from <
44$(SCOPTIONS)
45<
46
47# DO NOT DELETE THIS LINE -- make depend depends on it.
48
49adler32.o: zutil.h zlib.h zconf.h
50compress.o: zlib.h zconf.h
51crc32.o: zutil.h zlib.h zconf.h
52deflate.o: deflate.h zutil.h zlib.h zconf.h
53example.o: zlib.h zconf.h
54gzio.o: zutil.h zlib.h zconf.h
55infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
56infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
57inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
58inflate.o: zutil.h zlib.h zconf.h infblock.h
59inftrees.o: zutil.h zlib.h zconf.h inftrees.h
60infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h
61minigzip.o: zlib.h zconf.h
62trees.o: deflate.h zutil.h zlib.h zconf.h
63uncompr.o: zlib.h zconf.h
64zutil.o: zutil.h zlib.h zconf.h
diff --git a/old/descrip.mms b/old/descrip.mms
new file mode 100644
index 0000000..9d36459
--- /dev/null
+++ b/old/descrip.mms
@@ -0,0 +1,48 @@
1# descrip.mms: MMS description file for building zlib on VMS
2# written by Martin P.J. Zinser <m.zinser@gsi.de>
3
4cc_defs =
5c_deb =
6
7.ifdef __DECC__
8pref = /prefix=all
9.endif
10
11OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj,\
12 deflate.obj, trees.obj, zutil.obj, inflate.obj, infblock.obj,\
13 inftrees.obj, infcodes.obj, infutil.obj, inffast.obj
14
15CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF)
16
17all : example.exe minigzip.exe
18 @ write sys$output " Example applications available"
19libz.olb : libz.olb($(OBJS))
20 @ write sys$output " libz available"
21
22example.exe : example.obj libz.olb
23 link example,libz.olb/lib
24
25minigzip.exe : minigzip.obj libz.olb
26 link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
27
28clean :
29 delete *.obj;*,libz.olb;*
30
31
32# Other dependencies.
33adler32.obj : zutil.h zlib.h zconf.h
34compress.obj : zlib.h zconf.h
35crc32.obj : zutil.h zlib.h zconf.h
36deflate.obj : deflate.h zutil.h zlib.h zconf.h
37example.obj : zlib.h zconf.h
38gzio.obj : zutil.h zlib.h zconf.h
39infblock.obj : zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
40infcodes.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
41inffast.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
42inflate.obj : zutil.h zlib.h zconf.h infblock.h
43inftrees.obj : zutil.h zlib.h zconf.h inftrees.h
44infutil.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h
45minigzip.obj : zlib.h zconf.h
46trees.obj : deflate.h zutil.h zlib.h zconf.h
47uncompr.obj : zlib.h zconf.h
48zutil.obj : zutil.h zlib.h zconf.h
diff --git a/old/msdos/Makefile.b32 b/old/msdos/Makefile.b32
new file mode 100644
index 0000000..f476da9
--- /dev/null
+++ b/old/msdos/Makefile.b32
@@ -0,0 +1,104 @@
1# Makefile for zlib
2# Borland C++
3
4# This version of the zlib makefile was adapted by Chris Young for use
5# with Borland C 4.5x with the Dos Power Pack for a 32-bit protected mode
6# flat memory model. It was created for use with POV-Ray ray tracer and
7# you may choose to edit the CFLAGS to suit your needs but the
8# switches -WX and -DMSDOS are required.
9# -- Chris Young 76702.1655@compuserve.com
10
11# To use, do "make -fmakefile.b32"
12
13# See zconf.h for details about the memory requirements.
14
15# ------------- Borland C++ -------------
16MODEL=-WX
17CFLAGS= $(MODEL) -P-C -K -N- -k- -d -3 -r- -v- -f -DMSDOS
18CC=bcc32
19LD=bcc32
20LIB=tlib
21LDFLAGS= $(MODEL)
22O=.obj
23
24# variables
25OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
26 trees$(O)
27OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
28 trees$(O)
29OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
30 infutil$(O) inffast$(O)
31OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
32 infutil$(O)+inffast$(O)
33
34all: test
35
36adler32.obj: adler32.c zlib.h zconf.h
37 $(CC) -c $(CFLAGS) $*.c
38
39compress.obj: compress.c zlib.h zconf.h
40 $(CC) -c $(CFLAGS) $*.c
41
42crc32.obj: crc32.c zlib.h zconf.h
43 $(CC) -c $(CFLAGS) $*.c
44
45deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
46 $(CC) -c $(CFLAGS) $*.c
47
48gzio.obj: gzio.c zutil.h zlib.h zconf.h
49 $(CC) -c $(CFLAGS) $*.c
50
51infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
52 infcodes.h infutil.h
53 $(CC) -c $(CFLAGS) $*.c
54
55infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
56 infcodes.h inffast.h
57 $(CC) -c $(CFLAGS) $*.c
58
59inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
60 $(CC) -c $(CFLAGS) $*.c
61
62inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
63 $(CC) -c $(CFLAGS) $*.c
64
65infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
66 $(CC) -c $(CFLAGS) $*.c
67
68inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
69 $(CC) -c $(CFLAGS) $*.c
70
71trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
72 $(CC) -c $(CFLAGS) $*.c
73
74uncompr.obj: uncompr.c zlib.h zconf.h
75 $(CC) -c $(CFLAGS) $*.c
76
77zutil.obj: zutil.c zutil.h zlib.h zconf.h
78 $(CC) -c $(CFLAGS) $*.c
79
80example.obj: example.c zlib.h zconf.h
81 $(CC) -c $(CFLAGS) $*.c
82
83minigzip.obj: minigzip.c zlib.h zconf.h
84 $(CC) -c $(CFLAGS) $*.c
85
86# we must cut the command line to fit in the MS/DOS 128 byte limit:
87zlib.lib: $(OBJ1) $(OBJ2)
88 del zlib.lib
89 $(LIB) zlib +$(OBJP1)
90 $(LIB) zlib +$(OBJP2)
91
92example.exe: example.obj zlib.lib
93 $(LD) $(LDFLAGS) example.obj zlib.lib
94
95minigzip.exe: minigzip.obj zlib.lib
96 $(LD) $(LDFLAGS) minigzip.obj zlib.lib
97
98test: example.exe minigzip.exe
99 example
100 echo hello world | minigzip | minigzip -d
101
102#clean:
103# del *.obj
104# del *.exe
diff --git a/old/msdos/Makefile.bor b/old/msdos/Makefile.bor
new file mode 100644
index 0000000..f5651b4
--- /dev/null
+++ b/old/msdos/Makefile.bor
@@ -0,0 +1,125 @@
1# Makefile for zlib
2# Borland C++ ************ UNTESTED ***********
3
4# To use, do "make -fmakefile.bor"
5# To compile in small model, set below: MODEL=s
6
7# WARNING: the small model is supported but only for small values of
8# MAX_WBITS and MAX_MEM_LEVEL. For example:
9# -DMAX_WBITS=11 -DDEF_WBITS=11 -DMAX_MEM_LEVEL=3
10# If you wish to reduce the memory requirements (default 256K for big
11# objects plus a few K), you can add to the LOC macro below:
12# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
13# See zconf.h for details about the memory requirements.
14
15# ------------- Turbo C++, Borland C++ -------------
16
17# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7)
18# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added
19# to the declaration of LOC here:
20LOC = $(LOCAL_ZLIB)
21
22# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
23CPU_TYP = 0
24
25# Memory model: one of s, m, c, l (small, medium, compact, large)
26MODEL=l
27
28CC=bcc
29# replace bcc with tcc for Turbo C++ 1.0, with bcc32 for the 32 bit version
30LD=$(CC)
31AR=tlib
32
33# compiler flags
34CFLAGS=-O2 -Z -m$(MODEL) $(LOC)
35# replace "-O2" by "-O -G -a -d" for Turbo C++ 1.0
36
37LDFLAGS=-m$(MODEL)
38
39O=.obj
40
41# variables
42OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
43 trees$(O)
44OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
45 trees$(O)
46OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
47 infutil$(O) inffast$(O)
48OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
49 infutil$(O)+inffast$(O)
50
51ZLIB_H = zlib.h zconf.h
52ZUTIL_H = zutil.h $(ZLIB_H)
53
54ZLIB_LIB = zlib_$(MODEL).lib
55
56all: test
57
58# individual dependencies and action rules:
59adler32.obj: adler32.c $(ZLIB_H)
60 $(CC) -c $(CFLAGS) $*.c
61
62compress.obj: compress.c $(ZLIB_H)
63 $(CC) -c $(CFLAGS) $*.c
64
65crc32.obj: crc32.c $(ZLIB_H)
66 $(CC) -c $(CFLAGS) $*.c
67
68deflate.obj: deflate.c deflate.h $(ZUTIL_H)
69 $(CC) -c $(CFLAGS) $*.c
70
71gzio.obj: gzio.c $(ZUTIL_H)
72 $(CC) -c $(CFLAGS) $*.c
73
74infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h
75 $(CC) -c $(CFLAGS) $*.c
76
77infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h
78 $(CC) -c $(CFLAGS) $*.c
79
80inflate.obj: inflate.c $(ZUTIL_H) infblock.h
81 $(CC) -c $(CFLAGS) $*.c
82
83inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h
84 $(CC) -c $(CFLAGS) $*.c
85
86infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h
87 $(CC) -c $(CFLAGS) $*.c
88
89inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h
90 $(CC) -c $(CFLAGS) $*.c
91
92trees.obj: trees.c deflate.h $(ZUTIL_H)
93 $(CC) -c $(CFLAGS) $*.c
94
95uncompr.obj: uncompr.c $(ZLIB_H)
96 $(CC) -c $(CFLAGS) $*.c
97
98zutil.obj: zutil.c $(ZUTIL_H)
99 $(CC) -c $(CFLAGS) $*.c
100
101example.obj: example.c $(ZLIB_H)
102 $(CC) -c $(CFLAGS) $*.c
103
104minigzip.obj: minigzip.c $(ZLIB_H)
105 $(CC) -c $(CFLAGS) $*.c
106
107# we must cut the command line to fit in the MS/DOS 128 byte limit:
108$(ZLIB_LIB): $(OBJ1) $(OBJ2)
109 del $(ZLIB_LIB)
110 $(AR) $(ZLIB_LIB) +$(OBJP1)
111 $(AR) $(ZLIB_LIB) +$(OBJP2)
112
113example.exe: example.obj $(ZLIB_LIB)
114 $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB)
115
116minigzip.exe: minigzip.obj $(ZLIB_LIB)
117 $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB)
118
119test: example.exe minigzip.exe
120 example
121 echo hello world | minigzip | minigzip -d
122
123#clean:
124# del *.obj
125# del *.exe
diff --git a/old/msdos/Makefile.dj2 b/old/msdos/Makefile.dj2
new file mode 100644
index 0000000..0ab431c
--- /dev/null
+++ b/old/msdos/Makefile.dj2
@@ -0,0 +1,100 @@
1# Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96.
2# Copyright (C) 1995-1998 Jean-loup Gailly.
3# For conditions of distribution and use, see copyright notice in zlib.h
4
5# To compile, or to compile and test, type:
6#
7# make -fmakefile.dj2; make test -fmakefile.dj2
8#
9# To install libz.a, zconf.h and zlib.h in the djgpp directories, type:
10#
11# make install -fmakefile.dj2
12#
13# after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as
14# in the sample below if the pattern of the DJGPP distribution is to
15# be followed. Remember that, while <sp>'es around <=> are ignored in
16# makefiles, they are *not* in batch files or in djgpp.env.
17# - - - - -
18# [make]
19# INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include
20# LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib
21# BUTT=-m486
22# - - - - -
23# Alternately, these variables may be defined below, overriding the values
24# in djgpp.env, as
25# INCLUDE_PATH=c:\usr\include
26# LIBRARY_PATH=c:\usr\lib
27
28CC=gcc
29
30#CFLAGS=-MMD -O
31#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
32#CFLAGS=-MMD -g -DDEBUG
33CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
34 -Wstrict-prototypes -Wmissing-prototypes
35
36# If cp.exe is available, replace "copy /Y" with "cp -fp" .
37CP=copy /Y
38# If gnu install.exe is available, replace $(CP) with ginstall.
39INSTALL=$(CP)
40# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
41RM=del
42LDLIBS=-L. -lz
43LD=$(CC) -s -o
44LDSHARED=$(CC)
45
46INCL=zlib.h zconf.h
47LIBS=libz.a
48
49AR=ar rcs
50
51prefix=/usr/local
52exec_prefix = $(prefix)
53
54OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
55 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
56
57TEST_OBJS = example.o minigzip.o
58
59all: example.exe minigzip.exe
60
61test: all
62 ./example
63 echo hello world | .\minigzip | .\minigzip -d
64
65%.o : %.c
66 $(CC) $(CFLAGS) -c $< -o $@
67
68libz.a: $(OBJS)
69 $(AR) $@ $(OBJS)
70
71%.exe : %.o $(LIBS)
72 $(LD) $@ $< $(LDLIBS)
73
74# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
75
76.PHONY : uninstall clean
77
78install: $(INCL) $(LIBS)
79 -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
80 -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
81 $(INSTALL) zlib.h $(INCLUDE_PATH)
82 $(INSTALL) zconf.h $(INCLUDE_PATH)
83 $(INSTALL) libz.a $(LIBRARY_PATH)
84
85uninstall:
86 $(RM) $(INCLUDE_PATH)\zlib.h
87 $(RM) $(INCLUDE_PATH)\zconf.h
88 $(RM) $(LIBRARY_PATH)\libz.a
89
90clean:
91 $(RM) *.d
92 $(RM) *.o
93 $(RM) *.exe
94 $(RM) libz.a
95 $(RM) foo.gz
96
97DEPS := $(wildcard *.d)
98ifneq ($(DEPS),)
99include $(DEPS)
100endif
diff --git a/old/msdos/Makefile.emx b/old/msdos/Makefile.emx
new file mode 100644
index 0000000..0e5e5cc
--- /dev/null
+++ b/old/msdos/Makefile.emx
@@ -0,0 +1,69 @@
1# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98.
2# Copyright (C) 1995-1998 Jean-loup Gailly.
3# For conditions of distribution and use, see copyright notice in zlib.h
4
5# To compile, or to compile and test, type:
6#
7# make -fmakefile.emx; make test -fmakefile.emx
8#
9
10CC=gcc
11
12#CFLAGS=-MMD -O
13#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
14#CFLAGS=-MMD -g -DDEBUG
15CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
16 -Wstrict-prototypes -Wmissing-prototypes
17
18# If cp.exe is available, replace "copy /Y" with "cp -fp" .
19CP=copy /Y
20# If gnu install.exe is available, replace $(CP) with ginstall.
21INSTALL=$(CP)
22# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
23RM=del
24LDLIBS=-L. -lzlib
25LD=$(CC) -s -o
26LDSHARED=$(CC)
27
28INCL=zlib.h zconf.h
29LIBS=zlib.a
30
31AR=ar rcs
32
33prefix=/usr/local
34exec_prefix = $(prefix)
35
36OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
37 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
38
39TEST_OBJS = example.o minigzip.o
40
41all: example.exe minigzip.exe
42
43test: all
44 ./example
45 echo hello world | .\minigzip | .\minigzip -d
46
47%.o : %.c
48 $(CC) $(CFLAGS) -c $< -o $@
49
50zlib.a: $(OBJS)
51 $(AR) $@ $(OBJS)
52
53%.exe : %.o $(LIBS)
54 $(LD) $@ $< $(LDLIBS)
55
56
57.PHONY : clean
58
59clean:
60 $(RM) *.d
61 $(RM) *.o
62 $(RM) *.exe
63 $(RM) zlib.a
64 $(RM) foo.gz
65
66DEPS := $(wildcard *.d)
67ifneq ($(DEPS),)
68include $(DEPS)
69endif
diff --git a/old/msdos/Makefile.msc b/old/msdos/Makefile.msc
new file mode 100644
index 0000000..562201d
--- /dev/null
+++ b/old/msdos/Makefile.msc
@@ -0,0 +1,121 @@
1# Makefile for zlib
2# Microsoft C 5.1 or later
3
4# To use, do "make makefile.msc"
5# To compile in small model, set below: MODEL=S
6
7# If you wish to reduce the memory requirements (default 256K for big
8# objects plus a few K), you can add to the LOC macro below:
9# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
10# See zconf.h for details about the memory requirements.
11
12# ------------- Microsoft C 5.1 and later -------------
13
14# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7)
15# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added
16# to the declaration of LOC here:
17LOC = $(LOCAL_ZLIB)
18
19# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
20CPU_TYP = 0
21
22# Memory model: one of S, M, C, L (small, medium, compact, large)
23MODEL=L
24
25CC=cl
26CFLAGS=-nologo -A$(MODEL) -G$(CPU_TYP) -W3 -Oait -Gs $(LOC)
27#-Ox generates bad code with MSC 5.1
28LIB_CFLAGS=-Zl $(CFLAGS)
29
30LD=link
31LDFLAGS=/noi/e/st:0x1500/noe/farcall/packcode
32# "/farcall/packcode" are only useful for `large code' memory models
33# but should be a "no-op" for small code models.
34
35O=.obj
36
37# variables
38OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
39 trees$(O)
40OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
41 trees$(O)
42OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
43 infutil$(O) inffast$(O)
44OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
45 infutil$(O)+inffast$(O)
46
47ZLIB_H = zlib.h zconf.h
48ZUTIL_H = zutil.h $(ZLIB_H)
49
50ZLIB_LIB = zlib_$(MODEL).lib
51
52all: $(ZLIB_LIB) example.exe minigzip.exe
53
54# individual dependencies and action rules:
55adler32.obj: adler32.c $(ZLIB_H)
56 $(CC) -c $(LIB_CFLAGS) $*.c
57
58compress.obj: compress.c $(ZLIB_H)
59 $(CC) -c $(LIB_CFLAGS) $*.c
60
61crc32.obj: crc32.c $(ZLIB_H)
62 $(CC) -c $(LIB_CFLAGS) $*.c
63
64deflate.obj: deflate.c deflate.h $(ZUTIL_H)
65 $(CC) -c $(LIB_CFLAGS) $*.c
66
67gzio.obj: gzio.c $(ZUTIL_H)
68 $(CC) -c $(LIB_CFLAGS) $*.c
69
70infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h
71 $(CC) -c $(LIB_CFLAGS) $*.c
72
73infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h
74 $(CC) -c $(LIB_CFLAGS) $*.c
75
76inflate.obj: inflate.c $(ZUTIL_H) infblock.h
77 $(CC) -c $(LIB_CFLAGS) $*.c
78
79inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h
80 $(CC) -c $(LIB_CFLAGS) $*.c
81
82infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h
83 $(CC) -c $(LIB_CFLAGS) $*.c
84
85inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h
86 $(CC) -c $(LIB_CFLAGS) $*.c
87
88trees.obj: trees.c deflate.h $(ZUTIL_H)
89 $(CC) -c $(LIB_CFLAGS) $*.c
90
91uncompr.obj: uncompr.c $(ZLIB_H)
92 $(CC) -c $(LIB_CFLAGS) $*.c
93
94zutil.obj: zutil.c $(ZUTIL_H)
95 $(CC) -c $(LIB_CFLAGS) $*.c
96
97example.obj: example.c $(ZLIB_H)
98 $(CC) -c $(CFLAGS) $*.c
99
100minigzip.obj: minigzip.c $(ZLIB_H)
101 $(CC) -c $(CFLAGS) $*.c
102
103# we must cut the command line to fit in the MS/DOS 128 byte limit:
104$(ZLIB_LIB): $(OBJ1) $(OBJ2)
105 if exist $(ZLIB_LIB) del $(ZLIB_LIB)
106 lib $(ZLIB_LIB) $(OBJ1);
107 lib $(ZLIB_LIB) $(OBJ2);
108
109example.exe: example.obj $(ZLIB_LIB)
110 $(LD) $(LDFLAGS) example.obj,,,$(ZLIB_LIB);
111
112minigzip.exe: minigzip.obj $(ZLIB_LIB)
113 $(LD) $(LDFLAGS) minigzip.obj,,,$(ZLIB_LIB);
114
115test: example.exe minigzip.exe
116 example
117 echo hello world | minigzip | minigzip -d
118
119#clean:
120# del *.obj
121# del *.exe
diff --git a/old/msdos/Makefile.tc b/old/msdos/Makefile.tc
new file mode 100644
index 0000000..63e0550
--- /dev/null
+++ b/old/msdos/Makefile.tc
@@ -0,0 +1,108 @@
1# Makefile for zlib
2# TurboC 2.0
3
4# To use, do "make -fmakefile.tc"
5# To compile in small model, set below: MODEL=-ms
6
7# WARNING: the small model is supported but only for small values of
8# MAX_WBITS and MAX_MEM_LEVEL. For example:
9# -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
10# If you wish to reduce the memory requirements (default 256K for big
11# objects plus a few K), you can add to CFLAGS below:
12# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
13# See zconf.h for details about the memory requirements.
14
15# ------------- Turbo C 2.0 -------------
16MODEL=l
17# CFLAGS=-O2 -G -Z -m$(MODEL) -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
18CFLAGS=-O2 -G -Z -m$(MODEL)
19CC=tcc -I\tc\include
20LD=tcc -L\tc\lib
21AR=tlib
22LDFLAGS=-m$(MODEL) -f-
23O=.obj
24
25# variables
26OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
27 trees$(O)
28OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
29 trees$(O)
30OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
31 infutil$(O) inffast$(O)
32OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
33 infutil$(O)+inffast$(O)
34
35ZLIB_H = zlib.h zconf.h
36ZUTIL_H = zutil.h $(ZLIB_H)
37
38ZLIB_LIB = zlib_$(MODEL).lib
39
40all: test
41
42adler32.obj: adler32.c $(ZLIB_H)
43 $(CC) -c $(CFLAGS) $*.c
44
45compress.obj: compress.c $(ZLIB_H)
46 $(CC) -c $(CFLAGS) $*.c
47
48crc32.obj: crc32.c $(ZLIB_H)
49 $(CC) -c $(CFLAGS) $*.c
50
51deflate.obj: deflate.c deflate.h $(ZUTIL_H)
52 $(CC) -c $(CFLAGS) $*.c
53
54gzio.obj: gzio.c $(ZUTIL_H)
55 $(CC) -c $(CFLAGS) $*.c
56
57infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h
58 $(CC) -c $(CFLAGS) $*.c
59
60infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h
61 $(CC) -c $(CFLAGS) $*.c
62
63inflate.obj: inflate.c $(ZUTIL_H) infblock.h
64 $(CC) -c $(CFLAGS) $*.c
65
66inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h
67 $(CC) -c $(CFLAGS) $*.c
68
69infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h
70 $(CC) -c $(CFLAGS) $*.c
71
72inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h
73 $(CC) -c $(CFLAGS) $*.c
74
75trees.obj: trees.c deflate.h $(ZUTIL_H)
76 $(CC) -c $(CFLAGS) $*.c
77
78uncompr.obj: uncompr.c $(ZLIB_H)
79 $(CC) -c $(CFLAGS) $*.c
80
81zutil.obj: zutil.c $(ZUTIL_H)
82 $(CC) -c $(CFLAGS) $*.c
83
84example.obj: example.c $(ZLIB_H)
85 $(CC) -c $(CFLAGS) $*.c
86
87minigzip.obj: minigzip.c $(ZLIB_H)
88 $(CC) -c $(CFLAGS) $*.c
89
90# we must cut the command line to fit in the MS/DOS 128 byte limit:
91$(ZLIB_LIB): $(OBJ1) $(OBJ2)
92 del $(ZLIB_LIB)
93 $(AR) $(ZLIB_LIB) +$(OBJP1)
94 $(AR) $(ZLIB_LIB) +$(OBJP2)
95
96example.exe: example.obj $(ZLIB_LIB)
97 $(LD) $(LDFLAGS) -eexample.exe example.obj $(ZLIB_LIB)
98
99minigzip.exe: minigzip.obj $(ZLIB_LIB)
100 $(LD) $(LDFLAGS) -eminigzip.exe minigzip.obj $(ZLIB_LIB)
101
102test: example.exe minigzip.exe
103 example
104 echo hello world | minigzip | minigzip -d
105
106#clean:
107# del *.obj
108# del *.exe
diff --git a/old/msdos/Makefile.w32 b/old/msdos/Makefile.w32
new file mode 100644
index 0000000..0a05fa9
--- /dev/null
+++ b/old/msdos/Makefile.w32
@@ -0,0 +1,97 @@
1# Makefile for zlib
2# Microsoft 32-bit Visual C++ 4.0 or later (may work on earlier versions)
3
4# To use, do "nmake /f makefile.w32"
5
6# If you wish to reduce the memory requirements (default 256K for big
7# objects plus a few K), you can add to CFLAGS below:
8# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
9# See zconf.h for details about the memory requirements.
10
11# ------------- Microsoft Visual C++ 4.0 and later -------------
12MODEL=
13CFLAGS=-Ox -GA3s -nologo -W3
14CC=cl
15LD=link
16LDFLAGS=
17O=.obj
18
19# variables
20OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
21 trees$(O)
22OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
23 trees$(O)
24OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
25 infutil$(O) inffast$(O)
26OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
27 infutil$(O)+inffast$(O)
28
29all: zlib.lib example.exe minigzip.exe
30
31adler32.obj: adler32.c zlib.h zconf.h
32 $(CC) -c $(CFLAGS) $*.c
33
34compress.obj: compress.c zlib.h zconf.h
35 $(CC) -c $(CFLAGS) $*.c
36
37crc32.obj: crc32.c zlib.h zconf.h
38 $(CC) -c $(CFLAGS) $*.c
39
40deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
41 $(CC) -c $(CFLAGS) $*.c
42
43gzio.obj: gzio.c zutil.h zlib.h zconf.h
44 $(CC) -c $(CFLAGS) $*.c
45
46infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
47 infcodes.h infutil.h
48 $(CC) -c $(CFLAGS) $*.c
49
50infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
51 infcodes.h inffast.h
52 $(CC) -c $(CFLAGS) $*.c
53
54inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
55 $(CC) -c $(CFLAGS) $*.c
56
57inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
58 $(CC) -c $(CFLAGS) $*.c
59
60infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
61 $(CC) -c $(CFLAGS) $*.c
62
63inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
64 $(CC) -c $(CFLAGS) $*.c
65
66trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
67 $(CC) -c $(CFLAGS) $*.c
68
69uncompr.obj: uncompr.c zlib.h zconf.h
70 $(CC) -c $(CFLAGS) $*.c
71
72zutil.obj: zutil.c zutil.h zlib.h zconf.h
73 $(CC) -c $(CFLAGS) $*.c
74
75example.obj: example.c zlib.h zconf.h
76 $(CC) -c $(CFLAGS) $*.c
77
78minigzip.obj: minigzip.c zlib.h zconf.h
79 $(CC) -c $(CFLAGS) $*.c
80
81zlib.lib: $(OBJ1) $(OBJ2)
82 if exist zlib.lib del zlib.lib
83 lib /OUT:zlib.lib $(OBJ1) $(OBJ2)
84
85example.exe: example.obj zlib.lib
86 $(LD) $(LDFLAGS) example.obj zlib.lib /OUT:example.exe /SUBSYSTEM:CONSOLE
87
88minigzip.exe: minigzip.obj zlib.lib
89 $(LD) $(LDFLAGS) minigzip.obj zlib.lib /OUT:minigzip.exe /SUBSYSTEM:CONSOLE
90
91test: example.exe minigzip.exe
92 example
93 echo hello world | minigzip | minigzip -d
94
95#clean:
96# del *.obj
97# del *.exe
diff --git a/old/msdos/Makefile.wat b/old/msdos/Makefile.wat
new file mode 100644
index 0000000..44bf860
--- /dev/null
+++ b/old/msdos/Makefile.wat
@@ -0,0 +1,103 @@
1# Makefile for zlib
2# Watcom 10a
3
4# This version of the zlib makefile was adapted by Chris Young for use
5# with Watcom 10a 32-bit protected mode flat memory model. It was created
6# for use with POV-Ray ray tracer and you may choose to edit the CFLAGS to
7# suit your needs but the -DMSDOS is required.
8# -- Chris Young 76702.1655@compuserve.com
9
10# To use, do "wmake -f makefile.wat"
11
12# See zconf.h for details about the memory requirements.
13
14# ------------- Watcom 10a -------------
15MODEL=-mf
16CFLAGS= $(MODEL) -fpi87 -fp5 -zp4 -5r -w5 -oneatx -DMSDOS
17CC=wcc386
18LD=wcl386
19LIB=wlib -b -c
20LDFLAGS=
21O=.obj
22
23# variables
24OBJ1=adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O)
25OBJ2=trees$(O) zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O)
26OBJ3=infutil$(O) inffast$(O)
27OBJP1=adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)
28OBJP2=trees$(O)+zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)
29OBJP3=infutil$(O)+inffast$(O)
30
31all: test
32
33adler32.obj: adler32.c zlib.h zconf.h
34 $(CC) $(CFLAGS) $*.c
35
36compress.obj: compress.c zlib.h zconf.h
37 $(CC) $(CFLAGS) $*.c
38
39crc32.obj: crc32.c zlib.h zconf.h
40 $(CC) $(CFLAGS) $*.c
41
42deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
43 $(CC) $(CFLAGS) $*.c
44
45gzio.obj: gzio.c zutil.h zlib.h zconf.h
46 $(CC) $(CFLAGS) $*.c
47
48infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h &
49 infcodes.h infutil.h
50 $(CC) $(CFLAGS) $*.c
51
52infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h &
53 infcodes.h inffast.h
54 $(CC) $(CFLAGS) $*.c
55
56inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
57 $(CC) $(CFLAGS) $*.c
58
59inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
60 $(CC) $(CFLAGS) $*.c
61
62infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
63 $(CC) $(CFLAGS) $*.c
64
65inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
66 $(CC) $(CFLAGS) $*.c
67
68trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
69 $(CC) $(CFLAGS) $*.c
70
71uncompr.obj: uncompr.c zlib.h zconf.h
72 $(CC) $(CFLAGS) $*.c
73
74zutil.obj: zutil.c zutil.h zlib.h zconf.h
75 $(CC) $(CFLAGS) $*.c
76
77example.obj: example.c zlib.h zconf.h
78 $(CC) $(CFLAGS) $*.c
79
80minigzip.obj: minigzip.c zlib.h zconf.h
81 $(CC) $(CFLAGS) $*.c
82
83# we must cut the command line to fit in the MS/DOS 128 byte limit:
84zlib.lib: $(OBJ1) $(OBJ2) $(OBJ3)
85 del zlib.lib
86 $(LIB) zlib.lib +$(OBJP1)
87 $(LIB) zlib.lib +$(OBJP2)
88 $(LIB) zlib.lib +$(OBJP3)
89
90example.exe: example.obj zlib.lib
91 $(LD) $(LDFLAGS) example.obj zlib.lib
92
93minigzip.exe: minigzip.obj zlib.lib
94 $(LD) $(LDFLAGS) minigzip.obj zlib.lib
95
96test: minigzip.exe example.exe
97 example
98 echo hello world | minigzip | minigzip -d >test
99 type test
100
101#clean:
102# del *.obj
103# del *.exe
diff --git a/old/msdos/zlib.def b/old/msdos/zlib.def
new file mode 100644
index 0000000..6c04412
--- /dev/null
+++ b/old/msdos/zlib.def
@@ -0,0 +1,60 @@
1LIBRARY "zlib"
2
3DESCRIPTION '"""zlib data compression library"""'
4
5EXETYPE NT
6
7SUBSYSTEM WINDOWS
8
9STUB 'WINSTUB.EXE'
10
11VERSION 1.13
12
13CODE EXECUTE READ
14
15DATA READ WRITE
16
17HEAPSIZE 1048576,4096
18
19EXPORTS
20 adler32 @1
21 compress @2
22 crc32 @3
23 deflate @4
24 deflateCopy @5
25 deflateEnd @6
26 deflateInit2_ @7
27 deflateInit_ @8
28 deflateParams @9
29 deflateReset @10
30 deflateSetDictionary @11
31 gzclose @12
32 gzdopen @13
33 gzerror @14
34 gzflush @15
35 gzopen @16
36 gzread @17
37 gzwrite @18
38 inflate @19
39 inflateEnd @20
40 inflateInit2_ @21
41 inflateInit_ @22
42 inflateReset @23
43 inflateSetDictionary @24
44 inflateSync @25
45 uncompress @26
46 zlibVersion @27
47 gzprintf @28
48 gzputc @29
49 gzgetc @30
50 gzseek @31
51 gzrewind @32
52 gztell @33
53 gzeof @34
54 gzsetparams @35
55 zError @36
56 inflateSyncPoint @37
57 get_crc_table @38
58 compress2 @39
59 gzputs @40
60 gzgets @41
diff --git a/old/msdos/zlib.rc b/old/msdos/zlib.rc
new file mode 100644
index 0000000..556d4ff
--- /dev/null
+++ b/old/msdos/zlib.rc
@@ -0,0 +1,32 @@
1#include <windows.h>
2
3#define IDR_VERSION1 1
4IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1,1,3,0
6 PRODUCTVERSION 1,1,3,0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
12BEGIN
13 BLOCK "StringFileInfo"
14 BEGIN
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression library\0"
20 VALUE "FileVersion", "1.1.3\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlib.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-1998 Jean-loup Gailly & Mark Adler\0"
26 END
27 END
28 BLOCK "VarFileInfo"
29 BEGIN
30 VALUE "Translation", 0x0409, 1252
31 END
32END
diff --git a/old/nt/Makefile.emx b/old/nt/Makefile.emx
new file mode 100644
index 0000000..2d475b1
--- /dev/null
+++ b/old/nt/Makefile.emx
@@ -0,0 +1,138 @@
1# Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98.
2# Copyright (C) 1995-1998 Jean-loup Gailly.
3# For conditions of distribution and use, see copyright notice in zlib.h
4
5# To compile, or to compile and test, type:
6#
7# make -fmakefile.emx; make test -fmakefile.emx
8#
9
10CC=gcc -Zwin32
11
12#CFLAGS=-MMD -O
13#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
14#CFLAGS=-MMD -g -DDEBUG
15CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
16 -Wstrict-prototypes -Wmissing-prototypes
17
18# If cp.exe is available, replace "copy /Y" with "cp -fp" .
19CP=copy /Y
20# If gnu install.exe is available, replace $(CP) with ginstall.
21INSTALL=$(CP)
22# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
23RM=del
24LDLIBS=-L. -lzlib
25LD=$(CC) -s -o
26LDSHARED=$(CC)
27
28INCL=zlib.h zconf.h
29LIBS=zlib.a
30
31AR=ar rcs
32
33prefix=/usr/local
34exec_prefix = $(prefix)
35
36OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
37 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
38
39TEST_OBJS = example.o minigzip.o
40
41all: example.exe minigzip.exe
42
43test: all
44 ./example
45 echo hello world | .\minigzip | .\minigzip -d
46
47%.o : %.c
48 $(CC) $(CFLAGS) -c $< -o $@
49
50zlib.a: $(OBJS)
51 $(AR) $@ $(OBJS)
52
53%.exe : %.o $(LIBS)
54 $(LD) $@ $< $(LDLIBS)
55
56
57.PHONY : clean
58
59clean:
60 $(RM) *.d
61 $(RM) *.o
62 $(RM) *.exe
63 $(RM) zlib.a
64 $(RM) foo.gz
65
66DEPS := $(wildcard *.d)
67ifneq ($(DEPS),)
68include $(DEPS)
69endif
70# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98.
71# Copyright (C) 1995-1998 Jean-loup Gailly.
72# For conditions of distribution and use, see copyright notice in zlib.h
73
74# To compile, or to compile and test, type:
75#
76# make -fmakefile.emx; make test -fmakefile.emx
77#
78
79CC=gcc
80
81#CFLAGS=-MMD -O
82#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
83#CFLAGS=-MMD -g -DDEBUG
84CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
85 -Wstrict-prototypes -Wmissing-prototypes
86
87# If cp.exe is available, replace "copy /Y" with "cp -fp" .
88CP=copy /Y
89# If gnu install.exe is available, replace $(CP) with ginstall.
90INSTALL=$(CP)
91# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
92RM=del
93LDLIBS=-L. -lzlib
94LD=$(CC) -s -o
95LDSHARED=$(CC)
96
97INCL=zlib.h zconf.h
98LIBS=zlib.a
99
100AR=ar rcs
101
102prefix=/usr/local
103exec_prefix = $(prefix)
104
105OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
106 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
107
108TEST_OBJS = example.o minigzip.o
109
110all: example.exe minigzip.exe
111
112test: all
113 ./example
114 echo hello world | .\minigzip | .\minigzip -d
115
116%.o : %.c
117 $(CC) $(CFLAGS) -c $< -o $@
118
119zlib.a: $(OBJS)
120 $(AR) $@ $(OBJS)
121
122%.exe : %.o $(LIBS)
123 $(LD) $@ $< $(LDLIBS)
124
125
126.PHONY : clean
127
128clean:
129 $(RM) *.d
130 $(RM) *.o
131 $(RM) *.exe
132 $(RM) zlib.a
133 $(RM) foo.gz
134
135DEPS := $(wildcard *.d)
136ifneq ($(DEPS),)
137include $(DEPS)
138endif
diff --git a/old/nt/Makefile.gcc b/old/nt/Makefile.gcc
new file mode 100644
index 0000000..cdd652f
--- /dev/null
+++ b/old/nt/Makefile.gcc
@@ -0,0 +1,87 @@
1# Makefile for zlib. Modified for mingw32 by C. Spieler, 6/16/98.
2# (This Makefile is directly derived from Makefile.dj2)
3# Copyright (C) 1995-1998 Jean-loup Gailly.
4# For conditions of distribution and use, see copyright notice in zlib.h
5
6# To compile, or to compile and test, type:
7#
8# make -fmakefile.gcc; make test -fmakefile.gcc
9#
10# To install libz.a, zconf.h and zlib.h in the mingw32 directories, type:
11#
12# make install -fmakefile.gcc
13#
14
15CC=gcc
16
17#CFLAGS=-MMD -O
18#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
19#CFLAGS=-MMD -g -DDEBUG
20CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
21 -Wstrict-prototypes -Wmissing-prototypes
22
23# If cp.exe is available, replace "copy /Y" with "cp -fp" .
24CP=copy /Y
25# If gnu install.exe is available, replace $(CP) with ginstall.
26INSTALL=$(CP)
27# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
28RM=del
29LDLIBS=-L. -lz
30LD=$(CC) -s -o
31LDSHARED=$(CC)
32
33INCL=zlib.h zconf.h
34LIBS=libz.a
35
36AR=ar rcs
37
38prefix=/usr/local
39exec_prefix = $(prefix)
40
41OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
42 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
43
44TEST_OBJS = example.o minigzip.o
45
46all: example.exe minigzip.exe
47
48test: all
49 ./example
50 echo hello world | .\minigzip | .\minigzip -d
51
52%.o : %.c
53 $(CC) $(CFLAGS) -c $< -o $@
54
55libz.a: $(OBJS)
56 $(AR) $@ $(OBJS)
57
58%.exe : %.o $(LIBS)
59 $(LD) $@ $< $(LDLIBS)
60
61# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
62
63.PHONY : uninstall clean
64
65install: $(INCL) $(LIBS)
66 -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
67 -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
68 $(INSTALL) zlib.h $(INCLUDE_PATH)
69 $(INSTALL) zconf.h $(INCLUDE_PATH)
70 $(INSTALL) libz.a $(LIBRARY_PATH)
71
72uninstall:
73 $(RM) $(INCLUDE_PATH)\zlib.h
74 $(RM) $(INCLUDE_PATH)\zconf.h
75 $(RM) $(LIBRARY_PATH)\libz.a
76
77clean:
78 $(RM) *.d
79 $(RM) *.o
80 $(RM) *.exe
81 $(RM) libz.a
82 $(RM) foo.gz
83
84DEPS := $(wildcard *.d)
85ifneq ($(DEPS),)
86include $(DEPS)
87endif
diff --git a/old/nt/Makefile.nt b/old/nt/Makefile.nt
new file mode 100644
index 0000000..b250f2a
--- /dev/null
+++ b/old/nt/Makefile.nt
@@ -0,0 +1,88 @@
1# Makefile for zlib
2
3!include <ntwin32.mak>
4
5CC=cl
6LD=link
7CFLAGS=-O -nologo
8LDFLAGS=
9O=.obj
10
11# variables
12OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
13 trees$(O)
14OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
15 infutil$(O) inffast$(O)
16
17all: zlib.dll example.exe minigzip.exe
18
19adler32.obj: adler32.c zutil.h zlib.h zconf.h
20 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
21
22compress.obj: compress.c zlib.h zconf.h
23 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
24
25crc32.obj: crc32.c zutil.h zlib.h zconf.h
26 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
27
28deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
29 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
30
31gzio.obj: gzio.c zutil.h zlib.h zconf.h
32 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
33
34infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
35 infcodes.h infutil.h
36 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
37
38infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
39 infcodes.h inffast.h
40 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
41
42inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
43 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
44
45inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
46 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
47
48infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
49 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
50
51inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
52 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
53
54trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
55 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
56
57uncompr.obj: uncompr.c zlib.h zconf.h
58 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
59
60zutil.obj: zutil.c zutil.h zlib.h zconf.h
61 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
62
63example.obj: example.c zlib.h zconf.h
64 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
65
66minigzip.obj: minigzip.c zlib.h zconf.h
67 $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
68
69zlib.dll: $(OBJ1) $(OBJ2) zlib.dnt
70 link $(dlllflags) -out:$@ -def:zlib.dnt $(OBJ1) $(OBJ2) $(guilibsdll)
71
72zlib.lib: zlib.dll
73
74example.exe: example.obj zlib.lib
75 $(LD) $(LDFLAGS) example.obj zlib.lib
76
77minigzip.exe: minigzip.obj zlib.lib
78 $(LD) $(LDFLAGS) minigzip.obj zlib.lib
79
80test: example.exe minigzip.exe
81 example
82 echo hello world | minigzip | minigzip -d
83
84clean:
85 del *.obj
86 del *.exe
87 del *.dll
88 del *.lib
diff --git a/old/nt/zlib.dnt b/old/nt/zlib.dnt
new file mode 100644
index 0000000..7f9475c
--- /dev/null
+++ b/old/nt/zlib.dnt
@@ -0,0 +1,47 @@
1LIBRARY zlib.dll
2EXETYPE WINDOWS
3CODE PRELOAD MOVEABLE DISCARDABLE
4DATA PRELOAD MOVEABLE MULTIPLE
5
6EXPORTS
7 adler32 @1
8 compress @2
9 crc32 @3
10 deflate @4
11 deflateCopy @5
12 deflateEnd @6
13 deflateInit2_ @7
14 deflateInit_ @8
15 deflateParams @9
16 deflateReset @10
17 deflateSetDictionary @11
18 gzclose @12
19 gzdopen @13
20 gzerror @14
21 gzflush @15
22 gzopen @16
23 gzread @17
24 gzwrite @18
25 inflate @19
26 inflateEnd @20
27 inflateInit2_ @21
28 inflateInit_ @22
29 inflateReset @23
30 inflateSetDictionary @24
31 inflateSync @25
32 uncompress @26
33 zlibVersion @27
34 gzprintf @28
35 gzputc @29
36 gzgetc @30
37 gzseek @31
38 gzrewind @32
39 gztell @33
40 gzeof @34
41 gzsetparams @35
42 zError @36
43 inflateSyncPoint @37
44 get_crc_table @38
45 compress2 @39
46 gzputs @40
47 gzgets @41
diff --git a/old/os2/Makefile.os2 b/old/os2/Makefile.os2
new file mode 100644
index 0000000..4f56947
--- /dev/null
+++ b/old/os2/Makefile.os2
@@ -0,0 +1,136 @@
1# Makefile for zlib under OS/2 using GCC (PGCC)
2# For conditions of distribution and use, see copyright notice in zlib.h
3
4# To compile and test, type:
5# cp Makefile.os2 ..
6# cd ..
7# make -f Makefile.os2 test
8
9# This makefile will build a static library z.lib, a shared library
10# z.dll and a import library zdll.lib. You can use either z.lib or
11# zdll.lib by specifying either -lz or -lzdll on gcc's command line
12
13CC=gcc -Zomf -s
14
15CFLAGS=-O6 -Wall
16#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
17#CFLAGS=-g -DDEBUG
18#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
19# -Wstrict-prototypes -Wmissing-prototypes
20
21#################### BUG WARNING: #####################
22## infcodes.c hits a bug in pgcc-1.0, so you have to use either
23## -O# where # <= 4 or one of (-fno-ommit-frame-pointer or -fno-force-mem)
24## This bug is reportedly fixed in pgcc >1.0, but this was not tested
25CFLAGS+=-fno-force-mem
26
27LDFLAGS=-s -L. -lzdll -Zcrtdll
28LDSHARED=$(CC) -s -Zomf -Zdll -Zcrtdll
29
30VER=1.1.0
31ZLIB=z.lib
32SHAREDLIB=z.dll
33SHAREDLIBIMP=zdll.lib
34LIBS=$(ZLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
35
36AR=emxomfar cr
37IMPLIB=emximp
38RANLIB=echo
39TAR=tar
40SHELL=bash
41
42prefix=/usr/local
43exec_prefix = $(prefix)
44
45OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
46 zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
47
48TEST_OBJS = example.o minigzip.o
49
50DISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \
51 algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \
52 nt/Makefile.nt nt/zlib.dnt contrib/README.contrib contrib/*.txt \
53 contrib/asm386/*.asm contrib/asm386/*.c \
54 contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/iostream/*.cpp \
55 contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \
56 contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32
57
58all: example.exe minigzip.exe
59
60test: all
61 @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
62 echo hello world | ./minigzip | ./minigzip -d || \
63 echo ' *** minigzip test FAILED ***' ; \
64 if ./example; then \
65 echo ' *** zlib test OK ***'; \
66 else \
67 echo ' *** zlib test FAILED ***'; \
68 fi
69
70$(ZLIB): $(OBJS)
71 $(AR) $@ $(OBJS)
72 -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
73
74$(SHAREDLIB): $(OBJS) os2/z.def
75 $(LDSHARED) -o $@ $^
76
77$(SHAREDLIBIMP): os2/z.def
78 $(IMPLIB) -o $@ $^
79
80example.exe: example.o $(LIBS)
81 $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
82
83minigzip.exe: minigzip.o $(LIBS)
84 $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
85
86clean:
87 rm -f *.o *~ example minigzip libz.a libz.so* foo.gz
88
89distclean: clean
90
91zip:
92 mv Makefile Makefile~; cp -p Makefile.in Makefile
93 rm -f test.c ztest*.c
94 v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
95 zip -ul9 zlib$$v $(DISTFILES)
96 mv Makefile~ Makefile
97
98dist:
99 mv Makefile Makefile~; cp -p Makefile.in Makefile
100 rm -f test.c ztest*.c
101 d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
102 rm -f $$d.tar.gz; \
103 if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \
104 files=""; \
105 for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \
106 cd ..; \
107 GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \
108 if test ! -d $$d; then rm -f $$d; fi
109 mv Makefile~ Makefile
110
111tags:
112 etags *.[ch]
113
114depend:
115 makedepend -- $(CFLAGS) -- *.[ch]
116
117# DO NOT DELETE THIS LINE -- make depend depends on it.
118
119adler32.o: zlib.h zconf.h
120compress.o: zlib.h zconf.h
121crc32.o: zlib.h zconf.h
122deflate.o: deflate.h zutil.h zlib.h zconf.h
123example.o: zlib.h zconf.h
124gzio.o: zutil.h zlib.h zconf.h
125infblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h
126infcodes.o: zutil.h zlib.h zconf.h
127infcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h
128inffast.o: zutil.h zlib.h zconf.h inftrees.h
129inffast.o: infblock.h infcodes.h infutil.h inffast.h
130inflate.o: zutil.h zlib.h zconf.h infblock.h
131inftrees.o: zutil.h zlib.h zconf.h inftrees.h
132infutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
133minigzip.o: zlib.h zconf.h
134trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
135uncompr.o: zlib.h zconf.h
136zutil.o: zutil.h zlib.h zconf.h
diff --git a/old/os2/zlib.def b/old/os2/zlib.def
new file mode 100644
index 0000000..4c753f1
--- /dev/null
+++ b/old/os2/zlib.def
@@ -0,0 +1,51 @@
1;
2; Slightly modified version of ../nt/zlib.dnt :-)
3;
4
5LIBRARY Z
6DESCRIPTION "Zlib compression library for OS/2"
7CODE PRELOAD MOVEABLE DISCARDABLE
8DATA PRELOAD MOVEABLE MULTIPLE
9
10EXPORTS
11 adler32
12 compress
13 crc32
14 deflate
15 deflateCopy
16 deflateEnd
17 deflateInit2_
18 deflateInit_
19 deflateParams
20 deflateReset
21 deflateSetDictionary
22 gzclose
23 gzdopen
24 gzerror
25 gzflush
26 gzopen
27 gzread
28 gzwrite
29 inflate
30 inflateEnd
31 inflateInit2_
32 inflateInit_
33 inflateReset
34 inflateSetDictionary
35 inflateSync
36 uncompress
37 zlibVersion
38 gzprintf
39 gzputc
40 gzgetc
41 gzseek
42 gzrewind
43 gztell
44 gzeof
45 gzsetparams
46 zError
47 inflateSyncPoint
48 get_crc_table
49 compress2
50 gzputs
51 gzgets
diff --git a/old/zlib.3 b/old/zlib.3
new file mode 100644
index 0000000..3a6e450
--- /dev/null
+++ b/old/zlib.3
@@ -0,0 +1,107 @@
1.TH ZLIB 3 "11 March 2002"
2.SH NAME
3zlib \- compression/decompression library
4.SH SYNOPSIS
5[see
6.I zlib.h
7for full description]
8.SH DESCRIPTION
9The
10.I zlib
11library is a general purpose data compression library.
12The code is thread safe.
13It provides in-memory compression and decompression functions,
14including integrity checks of the uncompressed data.
15This version of the library supports only one compression method (deflation)
16but other algorithms will be added later and will have the same stream interface.
17.LP
18Compression can be done in a single step if the buffers are large enough
19(for example if an input file is mmap'ed),
20or can be done by repeated calls of the compression function.
21In the latter case,
22the application must provide more input and/or consume the output
23(providing more output space) before each call.
24.LP
25The library also supports reading and writing files in
26.I gzip
27(.gz) format
28with an interface similar to that of stdio.
29.LP
30The library does not install any signal handler. The decoder checks
31the consistency of the compressed data, so the library should never
32crash even in case of corrupted input.
33.LP
34All functions of the compression library are documented in the file
35.IR zlib.h.
36The distribution source includes examples of use of the library
37the files
38.I example.c
39and
40.IR minigzip.c .
41.LP
42A Java implementation of
43.IR zlib
44is available in the Java Development Kit 1.1
45.IP
46http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
47.LP
48A Perl interface to
49.IR zlib ,
50written by Paul Marquess (pmarquess@bfsec.bt.co.uk)
51is available at CPAN (Comprehensive Perl Archive Network) sites,
52such as:
53.IP
54ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
55.LP
56A Python interface to
57.IR zlib
58written by A.M. Kuchling <amk@magnet.com>
59is available from the Python Software Association sites, such as:
60.IP
61ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
62.SH "SEE ALSO"
63Questions about zlib should be sent to:
64.IP
65zlib@quest.jpl.nasa.gov
66or, if this fails, to the author addresses given below.
67The zlib home page is:
68.IP
69http://www.cdrom.com/pub/infozip/zlib/
70.LP
71The data format used by the zlib library is described by RFC
72(Request for Comments) 1950 to 1952 in the files:
73.IP
74ftp://ds.internic.net/rfc/rfc1950.txt (zlib format)
75.br
76rfc1951.txt (deflate format)
77.br
78rfc1952.txt (gzip format)
79.LP
80These documents are also available in other formats from:
81.IP
82ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
83.SH AUTHORS
84Version 1.1.4
85Copyright (C) 1995-2002 Jean-loup Gailly (jloup@gzip.org)
86and Mark Adler (madler@alumni.caltech.edu).
87.LP
88This software is provided "as-is,"
89without any express or implied warranty.
90In no event will the authors be held liable for any damages
91arising from the use of this software.
92See the distribution directory with respect to requirements
93governing redistribution.
94The deflate format used by
95.I zlib
96was defined by Phil Katz.
97The deflate and
98.I zlib
99specifications were written by L. Peter Deutsch.
100Thanks to all the people who reported problems and suggested various
101improvements in
102.IR zlib ;
103who are too numerous to cite here.
104.LP
105UNIX manual page by R. P. C. Rodgers,
106U.S. National Library of Medicine (rodgers@nlm.nih.gov).
107.\" end of man page
diff --git a/old/zlib.html b/old/zlib.html
new file mode 100644
index 0000000..c343703
--- /dev/null
+++ b/old/zlib.html
@@ -0,0 +1,971 @@
1<html>
2<head>
3 <title>
4 zlib general purpose compression library version 1.1.4
5 </title>
6</head>
7<body bgcolor="White" text="Black" vlink="Red" alink="Navy" link="Red">
8<!-- background="zlibbg.gif" -->
9
10<h1> zlib 1.1.4 Manual </h1>
11<hr>
12<a name="Contents"><h2>Contents</h2>
13<ol type="I">
14<li> <a href="#Prologue">Prologue</a>
15<li> <a href="#Introduction">Introduction</a>
16<li> <a href="#Utility functions">Utility functions</a>
17<li> <a href="#Basic functions">Basic functions</a>
18<li> <a href="#Advanced functions">Advanced functions</a>
19<li> <a href="#Constants">Constants</a>
20<li> <a href="#struct z_stream_s">struct z_stream_s</a>
21<li> <a href="#Checksum functions">Checksum functions</a>
22<li> <a href="#Misc">Misc</a>
23</ol>
24<hr>
25<a name="Prologue"><h2> Prologue </h2>
26 'zlib' general purpose compression library version 1.1.4, March 11th, 2002
27 <p>
28 Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler
29 <p>
30 This software is provided 'as-is', without any express or implied
31 warranty. In no event will the authors be held liable for any damages
32 arising from the use of this software.
33 <p>
34 Permission is granted to anyone to use this software for any purpose,
35 including commercial applications, and to alter it and redistribute it
36 freely, subject to the following restrictions:
37 <ol>
38 <li> The origin of this software must not be misrepresented ; you must not
39 claim that you wrote the original software. If you use this software
40 in a product, an acknowledgment in the product documentation would be
41 appreciated but is not required.
42 <li> Altered source versions must be plainly marked as such, and must not be
43 misrepresented as being the original software.
44 <li> This notice may not be removed or altered from any source distribution.
45 </ol>
46
47 <dl>
48 <dt>Jean-loup Gailly
49 <dd><a href="mailto:jloup@gzip.org">jloup@gzip.org</a>
50 <dt>Mark Adler
51 <dd><a href="mailto:madler@alumni.caltech.edu">madler@alumni.caltech.edu</a>
52 </dl>
53
54 The data format used by the zlib library is described by RFCs (Request for
55 Comments) 1950 to 1952 in the files
56 <a href="ftp://ds.internic.net/rfc/rfc1950.txt">
57 ftp://ds.internic.net/rfc/rfc1950.txt </a>
58 (zlib format),
59 <a href="ftp://ds.internic.net/rfc/rfc1951.txt">
60 rfc1951.txt </a>
61 (<a href="#deflate">deflate</a> format) and
62 <a href="ftp://ds.internic.net/rfc/rfc1952.txt">
63 rfc1952.txt </a>
64 (gzip format).
65 <p>
66 This manual is converted from zlib.h by
67 <a href="mailto:piaip@csie.ntu.edu.tw"> piaip </a>
68 <p>
69 Visit <a href="http://ftp.cdrom.com/pub/infozip/zlib/">
70 http://ftp.cdrom.com/pub/infozip/zlib/</a>
71 for the official zlib web page.
72 <p>
73
74<hr>
75<a name="Introduction"><h2> Introduction </h2>
76 The 'zlib' compression library provides in-memory compression and
77 decompression functions, including integrity checks of the uncompressed
78 data. This version of the library supports only one compression method
79 (deflation) but other algorithms will be added later and will have the same
80 stream interface.
81 <p>
82
83 Compression can be done in a single step if the buffers are large
84 enough (for example if an input file is mmap'ed), or can be done by
85 repeated calls of the compression function. In the latter case, the
86 application must provide more input and/or consume the output
87 (providing more output space) before each call.
88 <p>
89
90 The library also supports reading and writing files in gzip (.gz) format
91 with an interface similar to that of stdio.
92 <p>
93
94 The library does not install any signal handler. The decoder checks
95 the consistency of the compressed data, so the library should never
96 crash even in case of corrupted input.
97 <p>
98
99<hr>
100<a name="Utility functions"><h2> Utility functions </h2>
101 The following utility functions are implemented on top of the
102 <a href="#Basic functions">basic stream-oriented functions</a>.
103 To simplify the interface, some
104 default options are assumed (compression level and memory usage,
105 standard memory allocation functions). The source code of these
106 utility functions can easily be modified if you need special options.
107<h3> Function list </h3>
108<ul>
109<li> int <a href="#compress">compress</a> (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);
110<li> int <a href="#compress2">compress2</a> (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level);
111<li> int <a href="#uncompress">uncompress</a> (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);
112<li> typedef voidp gzFile;
113<li> gzFile <a href="#gzopen">gzopen</a> (const char *path, const char *mode);
114<li> gzFile <a href="#gzdopen">gzdopen</a> (int fd, const char *mode);
115<li> int <a href="#gzsetparams">gzsetparams</a> (gzFile file, int level, int strategy);
116<li> int <a href="#gzread">gzread</a> (gzFile file, voidp buf, unsigned len);
117<li> int <a href="#gzwrite">gzwrite</a> (gzFile file, const voidp buf, unsigned len);
118<li> int VA <a href="#gzprintf">gzprintf</a> (gzFile file, const char *format, ...);
119<li> int <a href="#gzputs">gzputs</a> (gzFile file, const char *s);
120<li> char * <a href="#gzgets">gzgets</a> (gzFile file, char *buf, int len);
121<li> int <a href="#gzputc">gzputc</a> (gzFile file, int c);
122<li> int <a href="#gzgetc">gzgetc</a> (gzFile file);
123<li> int <a href="#gzflush">gzflush</a> (gzFile file, int flush);
124<li> z_off_t <a href="#gzseek">gzseek</a> (gzFile file, z_off_t offset, int whence);
125<li> z_off_t <a href="#gztell">gztell</a> (gzFile file);
126<li> int <a href="#gzrewind">gzrewind</a> (gzFile file);
127<li> int <a href="#gzeof">gzeof</a> (gzFile file);
128<li> int <a href="#gzclose">gzclose</a> (gzFile file);
129<li> const char * <a href="#gzerror">gzerror</a> (gzFile file, int *errnum);
130</ul>
131<h3> Function description </h3>
132<dl>
133<font color="Blue"><dt> int <a name="compress">compress</a> (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);</font>
134<dd>
135 Compresses the source buffer into the destination buffer. sourceLen is
136 the byte length of the source buffer. Upon entry, destLen is the total
137 size of the destination buffer, which must be at least 0.1% larger than
138 sourceLen plus 12 bytes. Upon exit, destLen is the actual size of the
139 compressed buffer.<p>
140 This function can be used to <a href="#compress">compress</a> a whole file at once if the
141 input file is mmap'ed.<p>
142 <a href="#compress">compress</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not
143 enough memory, <a href="#Z_BUF_ERROR">Z_BUF_ERROR</a> if there was not enough room in the output
144 buffer.<p>
145
146<font color="Blue"><dt> int <a name="compress2">compress2</a> (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level);</font>
147<dd>
148 Compresses the source buffer into the destination buffer. The level
149 parameter has the same meaning as in <a href="#deflateInit">deflateInit</a>. sourceLen is the byte
150 length of the source buffer. Upon entry, destLen is the total size of the
151 destination buffer, which must be at least 0.1% larger than sourceLen plus
152 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
153 <p>
154
155 <a href="#compress2">compress2</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not enough
156 memory, <a href="#Z_BUF_ERROR">Z_BUF_ERROR</a> if there was not enough room in the output buffer,
157 <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the level parameter is invalid.
158 <p>
159
160<font color="Blue"><dt> int <a name="uncompress">uncompress</a> (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);</font>
161<dd>
162 Decompresses the source buffer into the destination buffer. sourceLen is
163 the byte length of the source buffer. Upon entry, destLen is the total
164 size of the destination buffer, which must be large enough to hold the
165 entire uncompressed data. (The size of the uncompressed data must have
166 been saved previously by the compressor and transmitted to the decompressor
167 by some mechanism outside the scope of this compression library.)
168 Upon exit, destLen is the actual size of the compressed buffer. <p>
169 This function can be used to decompress a whole file at once if the
170 input file is mmap'ed.
171 <p>
172
173 <a href="#uncompress">uncompress</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not
174 enough memory, <a href="#Z_BUF_ERROR">Z_BUF_ERROR</a> if there was not enough room in the output
175 buffer, or <a href="#Z_DATA_ERROR">Z_DATA_ERROR</a> if the input data was corrupted.
176 <p>
177
178<dt> typedef voidp gzFile;
179<dd> <p>
180
181<font color="Blue"><dt> gzFile <a name="gzopen">gzopen</a> (const char *path, const char *mode);</font>
182<dd>
183 Opens a gzip (.gz) file for reading or writing. The mode parameter
184 is as in fopen ("rb" or "wb") but can also include a compression level
185 ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
186 Huffman only compression as in "wb1h". (See the description
187 of <a href="#deflateInit2">deflateInit2</a> for more information about the strategy parameter.)
188 <p>
189
190 <a href="#gzopen">gzopen</a> can be used to read a file which is not in gzip format ; in this
191 case <a href="#gzread">gzread</a> will directly read from the file without decompression.
192 <p>
193
194 <a href="#gzopen">gzopen</a> returns NULL if the file could not be opened or if there was
195 insufficient memory to allocate the (de)compression <a href="#state">state</a> ; errno
196 can be checked to distinguish the two cases (if errno is zero, the
197 zlib error is <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a>).
198 <p>
199
200<font color="Blue"><dt> gzFile <a name="gzdopen">gzdopen</a> (int fd, const char *mode);</font>
201<dd>
202 <a href="#gzdopen">gzdopen</a>() associates a gzFile with the file descriptor fd. File
203 descriptors are obtained from calls like open, dup, creat, pipe or
204 fileno (in the file has been previously opened with fopen).
205 The mode parameter is as in <a href="#gzopen">gzopen</a>.
206 <p>
207 The next call of <a href="#gzclose">gzclose</a> on the returned gzFile will also close the
208 file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
209 descriptor fd. If you want to keep fd open, use <a href="#gzdopen">gzdopen</a>(dup(fd), mode).
210 <p>
211 <a href="#gzdopen">gzdopen</a> returns NULL if there was insufficient memory to allocate
212 the (de)compression <a href="#state">state</a>.
213 <p>
214
215<font color="Blue"><dt> int <a name="gzsetparams">gzsetparams</a> (gzFile file, int level, int strategy);</font>
216<dd>
217 Dynamically update the compression level or strategy. See the description
218 of <a href="#deflateInit2">deflateInit2</a> for the meaning of these parameters.
219 <p>
220 <a href="#gzsetparams">gzsetparams</a> returns <a href="#Z_OK">Z_OK</a> if success, or <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the file was not
221 opened for writing.
222 <p>
223
224<font color="Blue"><dt> int <a name="gzread">gzread</a> (gzFile file, voidp buf, unsigned len);</font>
225<dd>
226 Reads the given number of uncompressed bytes from the compressed file.
227 If the input file was not in gzip format, <a href="#gzread">gzread</a> copies the given number
228 of bytes into the buffer.
229 <p>
230 <a href="#gzread">gzread</a> returns the number of uncompressed bytes actually read (0 for
231 end of file, -1 for error).
232 <p>
233
234<font color="Blue"><dt> int <a name="gzwrite">gzwrite</a> (gzFile file, const voidp buf, unsigned len);</font>
235<dd>
236 Writes the given number of uncompressed bytes into the compressed file.
237 <a href="#gzwrite">gzwrite</a> returns the number of uncompressed bytes actually written
238 (0 in case of error).
239 <p>
240
241<font color="Blue"><dt> int VA <a name="gzprintf">gzprintf</a> (gzFile file, const char *format, ...);</font>
242<dd>
243 Converts, formats, and writes the args to the compressed file under
244 control of the format string, as in fprintf. <a href="#gzprintf">gzprintf</a> returns the number of
245 uncompressed bytes actually written (0 in case of error).
246 <p>
247
248<font color="Blue"><dt> int <a name="gzputs">gzputs</a> (gzFile file, const char *s);</font>
249<dd>
250 Writes the given null-terminated string to the compressed file, excluding
251 the terminating null character.
252 <p>
253 <a href="#gzputs">gzputs</a> returns the number of characters written, or -1 in case of error.
254 <p>
255
256<font color="Blue"><dt> char * <a name="gzgets">gzgets</a> (gzFile file, char *buf, int len);</font>
257<dd>
258 Reads bytes from the compressed file until len-1 characters are read, or
259 a newline character is read and transferred to buf, or an end-of-file
260 condition is encountered. The string is then terminated with a null
261 character.
262 <p>
263 <a href="#gzgets">gzgets</a> returns buf, or <a href="#Z_NULL">Z_NULL</a> in case of error.
264 <p>
265
266<font color="Blue"><dt> int <a name="gzputc">gzputc</a> (gzFile file, int c);</font>
267<dd>
268 Writes c, converted to an unsigned char, into the compressed file.
269 <a href="#gzputc">gzputc</a> returns the value that was written, or -1 in case of error.
270 <p>
271
272<font color="Blue"><dt> int <a name="gzgetc">gzgetc</a> (gzFile file);</font>
273<dd>
274 Reads one byte from the compressed file. <a href="#gzgetc">gzgetc</a> returns this byte
275 or -1 in case of end of file or error.
276 <p>
277
278<font color="Blue"><dt> int <a name="gzflush">gzflush</a> (gzFile file, int flush);</font>
279<dd>
280 Flushes all pending output into the compressed file. The parameter
281 flush is as in the <a href="#deflate">deflate</a>() function. The return value is the zlib
282 error number (see function <a href="#gzerror">gzerror</a> below). <a href="#gzflush">gzflush</a> returns <a href="#Z_OK">Z_OK</a> if
283 the flush parameter is <a href="#Z_FINISH">Z_FINISH</a> and all output could be flushed.
284 <p>
285 <a href="#gzflush">gzflush</a> should be called only when strictly necessary because it can
286 degrade compression.
287 <p>
288
289<font color="Blue"><dt> z_off_t <a name="gzseek">gzseek</a> (gzFile file, z_off_t offset, int whence);</font>
290<dd>
291 Sets the starting position for the next <a href="#gzread">gzread</a> or <a href="#gzwrite">gzwrite</a> on the
292 given compressed file. The offset represents a number of bytes in the
293 uncompressed data stream. The whence parameter is defined as in lseek(2);
294 the value SEEK_END is not supported.
295 <p>
296 If the file is opened for reading, this function is emulated but can be
297 extremely slow. If the file is opened for writing, only forward seeks are
298 supported ; <a href="#gzseek">gzseek</a> then compresses a sequence of zeroes up to the new
299 starting position.
300 <p>
301 <a href="#gzseek">gzseek</a> returns the resulting offset location as measured in bytes from
302 the beginning of the uncompressed stream, or -1 in case of error, in
303 particular if the file is opened for writing and the new starting position
304 would be before the current position.
305 <p>
306
307<font color="Blue"><dt> int <a name="gzrewind">gzrewind</a> (gzFile file);</font>
308<dd>
309 Rewinds the given file. This function is supported only for reading.
310 <p>
311 <a href="#gzrewind">gzrewind</a>(file) is equivalent to (int)<a href="#gzseek">gzseek</a>(file, 0L, SEEK_SET)
312 <p>
313
314<font color="Blue"><dt> z_off_t <a name="gztell">gztell</a> (gzFile file);</font>
315<dd>
316 Returns the starting position for the next <a href="#gzread">gzread</a> or <a href="#gzwrite">gzwrite</a> on the
317 given compressed file. This position represents a number of bytes in the
318 uncompressed data stream.
319 <p>
320
321 <a href="#gztell">gztell</a>(file) is equivalent to <a href="#gzseek">gzseek</a>(file, 0L, SEEK_CUR)
322 <p>
323
324<font color="Blue"><dt> int <a name="gzeof">gzeof</a> (gzFile file);</font>
325<dd>
326 Returns 1 when EOF has previously been detected reading the given
327 input stream, otherwise zero.
328 <p>
329
330<font color="Blue"><dt> int <a name="gzclose">gzclose</a> (gzFile file);</font>
331<dd>
332 Flushes all pending output if necessary, closes the compressed file
333 and deallocates all the (de)compression <a href="#state">state</a>. The return value is the zlib
334 error number (see function <a href="#gzerror">gzerror</a> below).
335 <p>
336
337<font color="Blue"><dt> const char * <a name="gzerror">gzerror</a> (gzFile file, int *errnum);</font>
338<dd>
339 Returns the error message for the last error which occurred on the
340 given compressed file. errnum is set to zlib error number. If an
341 error occurred in the file system and not in the compression library,
342 errnum is set to <a href="#Z_ERRNO">Z_ERRNO</a> and the application may consult errno
343 to get the exact error code.
344 <p>
345</dl>
346<hr>
347<a name="Basic functions"><h2> Basic functions </h2>
348<h3> Function list </h3>
349<ul>
350<li> const char * <a href="#zlibVersion">zlibVersion</a> (void);
351<li> int <a href="#deflateInit">deflateInit</a> (<a href="#z_streamp">z_streamp</a> strm, int level);
352<li> int <a href="#deflate">deflate</a> (<a href="#z_streamp">z_streamp</a> strm, int flush);
353<li> int <a href="#deflateEnd">deflateEnd</a> (<a href="#z_streamp">z_streamp</a> strm);
354<li> int <a href="#inflateInit">inflateInit</a> (<a href="#z_streamp">z_streamp</a> strm);
355<li> int <a href="#inflate">inflate</a> (<a href="#z_streamp">z_streamp</a> strm, int flush);
356<li> int <a href="#inflateEnd">inflateEnd</a> (<a href="#z_streamp">z_streamp</a> strm);
357</ul>
358
359<h3> Function description </h3>
360<dl>
361<font color="Blue"><dt> const char * <a name="zlibVersion">zlibVersion</a> (void);</font>
362<dd> The application can compare <a href="#zlibVersion">zlibVersion</a> and ZLIB_VERSION for consistency.
363 If the first character differs, the library code actually used is
364 not compatible with the zlib.h header file used by the application.
365 This check is automatically made by <a href="#deflateInit">deflateInit</a> and <a href="#inflateInit">inflateInit</a>.
366 <p>
367
368<font color="Blue"><dt> int <a name="deflateInit">deflateInit</a> (<a href="#z_streamp">z_streamp</a> strm, int level);</font>
369<dd>
370 Initializes the internal stream <a href="#state">state</a> for compression. The fields
371 <a href="#zalloc">zalloc</a>, <a href="#zfree">zfree</a> and <a href="#opaque">opaque</a> must be initialized before by the caller.
372 If <a href="#zalloc">zalloc</a> and <a href="#zfree">zfree</a> are set to <a href="#Z_NULL">Z_NULL</a>, <a href="#deflateInit">deflateInit</a> updates them to
373 use default allocation functions.
374 <p>
375
376 The compression level must be <a href="#Z_DEFAULT_COMPRESSION">Z_DEFAULT_COMPRESSION</a>, or between 0 and 9:
377 1 gives best speed, 9 gives best compression, 0 gives no compression at
378 all (the input data is simply copied a block at a time).
379 <p>
380
381 <a href="#Z_DEFAULT_COMPRESSION">Z_DEFAULT_COMPRESSION</a> requests a default compromise between speed and
382 compression (currently equivalent to level 6).
383 <p>
384
385 <a href="#deflateInit">deflateInit</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not
386 enough memory, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if level is not a valid compression level,
387 <a href="#Z_VERSION_ERROR">Z_VERSION_ERROR</a> if the zlib library version (<a href="#zlib_version">zlib_version</a>) is incompatible
388 with the version assumed by the caller (ZLIB_VERSION).
389 <a href="#msg">msg</a> is set to null if there is no error message. <a href="#deflateInit">deflateInit</a> does not
390 perform any compression: this will be done by <a href="#deflate">deflate</a>().
391 <p>
392
393<font color="Blue"><dt> int <a name="deflate">deflate</a> (<a href="#z_streamp">z_streamp</a> strm, int flush);</font>
394<dd>
395 <a href="#deflate">deflate</a> compresses as much data as possible, and stops when the input
396 buffer becomes empty or the output buffer becomes full. It may introduce some
397 output latency (reading input without producing any output) except when
398 forced to flush.<p>
399
400 The detailed semantics are as follows. <a href="#deflate">deflate</a> performs one or both of the
401 following actions:
402
403 <ul>
404 <li> Compress more input starting at <a href="#next_in">next_in</a> and update <a href="#next_in">next_in</a> and <a href="#avail_in">avail_in</a>
405 accordingly. If not all input can be processed (because there is not
406 enough room in the output buffer), <a href="#next_in">next_in</a> and <a href="#avail_in">avail_in</a> are updated and
407 processing will resume at this point for the next call of <a href="#deflate">deflate</a>().
408
409 <li>
410 Provide more output starting at <a href="#next_out">next_out</a> and update <a href="#next_out">next_out</a> and <a href="#avail_out">avail_out</a>
411 accordingly. This action is forced if the parameter flush is non zero.
412 Forcing flush frequently degrades the compression ratio, so this parameter
413 should be set only when necessary (in interactive applications).
414 Some output may be provided even if flush is not set.
415 </ul> <p>
416
417 Before the call of <a href="#deflate">deflate</a>(), the application should ensure that at least
418 one of the actions is possible, by providing more input and/or consuming
419 more output, and updating <a href="#avail_in">avail_in</a> or <a href="#avail_out">avail_out</a> accordingly ; <a href="#avail_out">avail_out</a>
420 should never be zero before the call. The application can consume the
421 compressed output when it wants, for example when the output buffer is full
422 (<a href="#avail_out">avail_out</a> == 0), or after each call of <a href="#deflate">deflate</a>(). If <a href="#deflate">deflate</a> returns <a href="#Z_OK">Z_OK</a>
423 and with zero <a href="#avail_out">avail_out</a>, it must be called again after making room in the
424 output buffer because there might be more output pending.
425 <p>
426
427 If the parameter flush is set to <a href="#Z_SYNC_FLUSH">Z_SYNC_FLUSH</a>, all pending output is
428 flushed to the output buffer and the output is aligned on a byte boundary, so
429 that the decompressor can get all input data available so far. (In particular
430 <a href="#avail_in">avail_in</a> is zero after the call if enough output space has been provided
431 before the call.) Flushing may degrade compression for some compression
432 algorithms and so it should be used only when necessary.
433 <p>
434
435 If flush is set to <a href="#Z_FULL_FLUSH">Z_FULL_FLUSH</a>, all output is flushed as with
436 <a href="#Z_SYNC_FLUSH">Z_SYNC_FLUSH</a>, and the compression <a href="#state">state</a> is reset so that decompression can
437 restart from this point if previous compressed data has been damaged or if
438 random access is desired. Using <a href="#Z_FULL_FLUSH">Z_FULL_FLUSH</a> too often can seriously degrade
439 the compression.
440 <p>
441
442 If <a href="#deflate">deflate</a> returns with <a href="#avail_out">avail_out</a> == 0, this function must be called again
443 with the same value of the flush parameter and more output space (updated
444 <a href="#avail_out">avail_out</a>), until the flush is complete (<a href="#deflate">deflate</a> returns with non-zero
445 <a href="#avail_out">avail_out</a>).
446 <p>
447
448 If the parameter flush is set to <a href="#Z_FINISH">Z_FINISH</a>, pending input is processed,
449 pending output is flushed and <a href="#deflate">deflate</a> returns with <a href="#Z_STREAM_END">Z_STREAM_END</a> if there
450 was enough output space ; if <a href="#deflate">deflate</a> returns with <a href="#Z_OK">Z_OK</a>, this function must be
451 called again with <a href="#Z_FINISH">Z_FINISH</a> and more output space (updated <a href="#avail_out">avail_out</a>) but no
452 more input data, until it returns with <a href="#Z_STREAM_END">Z_STREAM_END</a> or an error. After
453 <a href="#deflate">deflate</a> has returned <a href="#Z_STREAM_END">Z_STREAM_END</a>, the only possible operations on the
454 stream are <a href="#deflateReset">deflateReset</a> or <a href="#deflateEnd">deflateEnd</a>.
455 <p>
456
457 <a href="#Z_FINISH">Z_FINISH</a> can be used immediately after <a href="#deflateInit">deflateInit</a> if all the compression
458 is to be done in a single step. In this case, <a href="#avail_out">avail_out</a> must be at least
459 0.1% larger than <a href="#avail_in">avail_in</a> plus 12 bytes. If <a href="#deflate">deflate</a> does not return
460 <a href="#Z_STREAM_END">Z_STREAM_END</a>, then it must be called again as described above.
461 <p>
462
463 <a href="#deflate">deflate</a>() sets strm-&gt <a href="#adler">adler</a> to the <a href="#adler32">adler32</a> checksum of all input read
464 so far (that is, <a href="#total_in">total_in</a> bytes).
465 <p>
466
467 <a href="#deflate">deflate</a>() may update <a href="#data_type">data_type</a> if it can make a good guess about
468 the input data type (<a href="#Z_ASCII">Z_ASCII</a> or <a href="#Z_BINARY">Z_BINARY</a>). In doubt, the data is considered
469 binary. This field is only for information purposes and does not affect
470 the compression algorithm in any manner.
471 <p>
472
473 <a href="#deflate">deflate</a>() returns <a href="#Z_OK">Z_OK</a> if some progress has been made (more input
474 processed or more output produced), <a href="#Z_STREAM_END">Z_STREAM_END</a> if all input has been
475 consumed and all output has been produced (only when flush is set to
476 <a href="#Z_FINISH">Z_FINISH</a>), <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the stream <a href="#state">state</a> was inconsistent (for example
477 if <a href="#next_in">next_in</a> or <a href="#next_out">next_out</a> was NULL), <a href="#Z_BUF_ERROR">Z_BUF_ERROR</a> if no progress is possible
478 (for example <a href="#avail_in">avail_in</a> or <a href="#avail_out">avail_out</a> was zero).
479 <p>
480
481<font color="Blue"><dt> int <a name="deflateEnd">deflateEnd</a> (<a href="#z_streamp">z_streamp</a> strm);</font>
482<dd>
483 All dynamically allocated data structures for this stream are freed.
484 This function discards any unprocessed input and does not flush any
485 pending output.
486 <p>
487
488 <a href="#deflateEnd">deflateEnd</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the
489 stream <a href="#state">state</a> was inconsistent, <a href="#Z_DATA_ERROR">Z_DATA_ERROR</a> if the stream was freed
490 prematurely (some input or output was discarded). In the error case,
491 <a href="#msg">msg</a> may be set but then points to a static string (which must not be
492 deallocated).
493 <p>
494
495<font color="Blue"><dt> int <a name="inflateInit">inflateInit</a> (<a href="#z_streamp">z_streamp</a> strm);</font>
496<dd>
497 Initializes the internal stream <a href="#state">state</a> for decompression. The fields
498 <a href="#next_in">next_in</a>, <a href="#avail_in">avail_in</a>, <a href="#zalloc">zalloc</a>, <a href="#zfree">zfree</a> and <a href="#opaque">opaque</a> must be initialized before by
499 the caller. If <a href="#next_in">next_in</a> is not <a href="#Z_NULL">Z_NULL</a> and <a href="#avail_in">avail_in</a> is large enough (the exact
500 value depends on the compression method), <a href="#inflateInit">inflateInit</a> determines the
501 compression method from the zlib header and allocates all data structures
502 accordingly ; otherwise the allocation will be deferred to the first call of
503 <a href="#inflate">inflate</a>. If <a href="#zalloc">zalloc</a> and <a href="#zfree">zfree</a> are set to <a href="#Z_NULL">Z_NULL</a>, <a href="#inflateInit">inflateInit</a> updates them to
504 use default allocation functions.
505 <p>
506
507 <a href="#inflateInit">inflateInit</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not enough
508 memory, <a href="#Z_VERSION_ERROR">Z_VERSION_ERROR</a> if the zlib library version is incompatible with the
509 version assumed by the caller. <a href="#msg">msg</a> is set to null if there is no error
510 message. <a href="#inflateInit">inflateInit</a> does not perform any decompression apart from reading
511 the zlib header if present: this will be done by <a href="#inflate">inflate</a>(). (So <a href="#next_in">next_in</a> and
512 <a href="#avail_in">avail_in</a> may be modified, but <a href="#next_out">next_out</a> and <a href="#avail_out">avail_out</a> are unchanged.)
513 <p>
514
515<font color="Blue"><dt> int <a name="inflate">inflate</a> (<a href="#z_streamp">z_streamp</a> strm, int flush);</font>
516<dd>
517 <a href="#inflate">inflate</a> decompresses as much data as possible, and stops when the input
518 buffer becomes empty or the output buffer becomes full. It may some
519 introduce some output latency (reading input without producing any output)
520 except when forced to flush.
521 <p>
522
523 The detailed semantics are as follows. <a href="#inflate">inflate</a> performs one or both of the
524 following actions:
525
526 <ul>
527 <li> Decompress more input starting at <a href="#next_in">next_in</a> and update <a href="#next_in">next_in</a> and <a href="#avail_in">avail_in</a>
528 accordingly. If not all input can be processed (because there is not
529 enough room in the output buffer), <a href="#next_in">next_in</a> is updated and processing
530 will resume at this point for the next call of <a href="#inflate">inflate</a>().
531
532 <li> Provide more output starting at <a href="#next_out">next_out</a> and update <a href="#next_out">next_out</a> and
533 <a href="#avail_out">avail_out</a> accordingly. <a href="#inflate">inflate</a>() provides as much output as possible,
534 until there is no more input data or no more space in the output buffer
535 (see below about the flush parameter).
536 </ul> <p>
537
538 Before the call of <a href="#inflate">inflate</a>(), the application should ensure that at least
539 one of the actions is possible, by providing more input and/or consuming
540 more output, and updating the next_* and avail_* values accordingly.
541 The application can consume the uncompressed output when it wants, for
542 example when the output buffer is full (<a href="#avail_out">avail_out</a> == 0), or after each
543 call of <a href="#inflate">inflate</a>(). If <a href="#inflate">inflate</a> returns <a href="#Z_OK">Z_OK</a> and with zero <a href="#avail_out">avail_out</a>, it
544 must be called again after making room in the output buffer because there
545 might be more output pending.
546 <p>
547
548 If the parameter flush is set to <a href="#Z_SYNC_FLUSH">Z_SYNC_FLUSH</a>, <a href="#inflate">inflate</a> flushes as much
549 output as possible to the output buffer. The flushing behavior of <a href="#inflate">inflate</a> is
550 not specified for values of the flush parameter other than <a href="#Z_SYNC_FLUSH">Z_SYNC_FLUSH</a>
551 and <a href="#Z_FINISH">Z_FINISH</a>, but the current implementation actually flushes as much output
552 as possible anyway.
553 <p>
554
555 <a href="#inflate">inflate</a>() should normally be called until it returns <a href="#Z_STREAM_END">Z_STREAM_END</a> or an
556 error. However if all decompression is to be performed in a single step
557 (a single call of <a href="#inflate">inflate</a>), the parameter flush should be set to
558 <a href="#Z_FINISH">Z_FINISH</a>. In this case all pending input is processed and all pending
559 output is flushed ; <a href="#avail_out">avail_out</a> must be large enough to hold all the
560 uncompressed data. (The size of the uncompressed data may have been saved
561 by the compressor for this purpose.) The next operation on this stream must
562 be <a href="#inflateEnd">inflateEnd</a> to deallocate the decompression <a href="#state">state</a>. The use of <a href="#Z_FINISH">Z_FINISH</a>
563 is never required, but can be used to inform <a href="#inflate">inflate</a> that a faster routine
564 may be used for the single <a href="#inflate">inflate</a>() call.
565 <p>
566
567 If a preset dictionary is needed at this point (see <a href="#inflateSetDictionary">inflateSetDictionary</a>
568 below), <a href="#inflate">inflate</a> sets strm-<a href="#adler">adler</a> to the <a href="#adler32">adler32</a> checksum of the
569 dictionary chosen by the compressor and returns <a href="#Z_NEED_DICT">Z_NEED_DICT</a> ; otherwise
570 it sets strm-&gt <a href="#adler">adler</a> to the <a href="#adler32">adler32</a> checksum of all output produced
571 so far (that is, <a href="#total_out">total_out</a> bytes) and returns <a href="#Z_OK">Z_OK</a>, <a href="#Z_STREAM_END">Z_STREAM_END</a> or
572 an error code as described below. At the end of the stream, <a href="#inflate">inflate</a>()
573 checks that its computed <a href="#adler32">adler32</a> checksum is equal to that saved by the
574 compressor and returns <a href="#Z_STREAM_END">Z_STREAM_END</a> only if the checksum is correct.
575 <p>
576
577 <a href="#inflate">inflate</a>() returns <a href="#Z_OK">Z_OK</a> if some progress has been made (more input processed
578 or more output produced), <a href="#Z_STREAM_END">Z_STREAM_END</a> if the end of the compressed data has
579 been reached and all uncompressed output has been produced, <a href="#Z_NEED_DICT">Z_NEED_DICT</a> if a
580 preset dictionary is needed at this point, <a href="#Z_DATA_ERROR">Z_DATA_ERROR</a> if the input data was
581 corrupted (input stream not conforming to the zlib format or incorrect
582 <a href="#adler32">adler32</a> checksum), <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the stream structure was inconsistent
583 (for example if <a href="#next_in">next_in</a> or <a href="#next_out">next_out</a> was NULL), <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not
584 enough memory, <a href="#Z_BUF_ERROR">Z_BUF_ERROR</a> if no progress is possible or if there was not
585 enough room in the output buffer when <a href="#Z_FINISH">Z_FINISH</a> is used. In the <a href="#Z_DATA_ERROR">Z_DATA_ERROR</a>
586 case, the application may then call <a href="#inflateSync">inflateSync</a> to look for a good
587 compression block.
588 <p>
589
590<font color="Blue"><dt> int <a name="inflateEnd">inflateEnd</a> (<a href="#z_streamp">z_streamp</a> strm);</font>
591<dd>
592 All dynamically allocated data structures for this stream are freed.
593 This function discards any unprocessed input and does not flush any
594 pending output.
595 <p>
596
597 <a href="#inflateEnd">inflateEnd</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the stream <a href="#state">state</a>
598 was inconsistent. In the error case, <a href="#msg">msg</a> may be set but then points to a
599 static string (which must not be deallocated).
600</dl>
601<hr>
602<a name="Advanced functions"><h2> Advanced functions </h2>
603 The following functions are needed only in some special applications.
604<h3> Function list </h3>
605<ul>
606<li> int <a href="#deflateInit2">deflateInit2</a> (<a href="#z_streamp">z_streamp</a> strm,
607<li> int <a href="#deflateSetDictionary">deflateSetDictionary</a> (<a href="#z_streamp">z_streamp</a> strm, const Bytef *dictionary, uInt dictLength);
608<li> int <a href="#deflateCopy">deflateCopy</a> (<a href="#z_streamp">z_streamp</a> dest, <a href="#z_streamp">z_streamp</a> source);
609<li> int <a href="#deflateReset">deflateReset</a> (<a href="#z_streamp">z_streamp</a> strm);
610<li> int <a href="#deflateParams">deflateParams</a> (<a href="#z_streamp">z_streamp</a> strm, int level, int strategy);
611<li> int <a href="#inflateInit2">inflateInit2</a> (<a href="#z_streamp">z_streamp</a> strm, int windowBits);
612<li> int <a href="#inflateSetDictionary">inflateSetDictionary</a> (<a href="#z_streamp">z_streamp</a> strm, const Bytef *dictionary, uInt dictLength);
613<li> int <a href="#inflateSync">inflateSync</a> (<a href="#z_streamp">z_streamp</a> strm);
614<li> int <a href="#inflateReset">inflateReset</a> (<a href="#z_streamp">z_streamp</a> strm);
615
616</ul>
617<h3> Function description </h3>
618<dl>
619<font color="Blue"><dt> int <a name="deflateInit2">deflateInit2</a> (<a href="#z_streamp">z_streamp</a> strm, int level, int method, int windowBits, int memLevel, int strategy);</font>
620
621<dd> This is another version of <a href="#deflateInit">deflateInit</a> with more compression options. The
622 fields <a href="#next_in">next_in</a>, <a href="#zalloc">zalloc</a>, <a href="#zfree">zfree</a> and <a href="#opaque">opaque</a> must be initialized before by
623 the caller.<p>
624
625 The method parameter is the compression method. It must be <a href="#Z_DEFLATED">Z_DEFLATED</a> in
626 this version of the library.<p>
627
628 The windowBits parameter is the base two logarithm of the window size
629 (the size of the history buffer). It should be in the range 8..15 for this
630 version of the library. Larger values of this parameter result in better
631 compression at the expense of memory usage. The default value is 15 if
632 <a href="#deflateInit">deflateInit</a> is used instead.<p>
633
634 The memLevel parameter specifies how much memory should be allocated
635 for the internal compression <a href="#state">state</a>. memLevel=1 uses minimum memory but
636 is slow and reduces compression ratio ; memLevel=9 uses maximum memory
637 for optimal speed. The default value is 8. See zconf.h for total memory
638 usage as a function of windowBits and memLevel.<p>
639
640 The strategy parameter is used to tune the compression algorithm. Use the
641 value <a href="#Z_DEFAULT_STRATEGY">Z_DEFAULT_STRATEGY</a> for normal data, <a href="#Z_FILTERED">Z_FILTERED</a> for data produced by a
642 filter (or predictor), or <a href="#Z_HUFFMAN_ONLY">Z_HUFFMAN_ONLY</a> to force Huffman encoding only (no
643 string match). Filtered data consists mostly of small values with a
644 somewhat random distribution. In this case, the compression algorithm is
645 tuned to <a href="#compress">compress</a> them better. The effect of <a href="#Z_FILTERED">Z_FILTERED</a> is to force more
646 Huffman coding and less string matching ; it is somewhat intermediate
647 between Z_DEFAULT and <a href="#Z_HUFFMAN_ONLY">Z_HUFFMAN_ONLY</a>. The strategy parameter only affects
648 the compression ratio but not the correctness of the compressed output even
649 if it is not set appropriately.<p>
650
651 <a href="#deflateInit2">deflateInit2</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not enough
652 memory, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if a parameter is invalid (such as an invalid
653 method). <a href="#msg">msg</a> is set to null if there is no error message. <a href="#deflateInit2">deflateInit2</a> does
654 not perform any compression: this will be done by <a href="#deflate">deflate</a>().<p>
655
656<font color="Blue"><dt> int <a name="deflateSetDictionary">deflateSetDictionary</a> (<a href="#z_streamp">z_streamp</a> strm, const Bytef *dictionary, uInt dictLength);</font>
657<dd>
658 Initializes the compression dictionary from the given byte sequence
659 without producing any compressed output. This function must be called
660 immediately after <a href="#deflateInit">deflateInit</a>, <a href="#deflateInit2">deflateInit2</a> or <a href="#deflateReset">deflateReset</a>, before any
661 call of <a href="#deflate">deflate</a>. The compressor and decompressor must use exactly the same
662 dictionary (see <a href="#inflateSetDictionary">inflateSetDictionary</a>).<p>
663
664 The dictionary should consist of strings (byte sequences) that are likely
665 to be encountered later in the data to be compressed, with the most commonly
666 used strings preferably put towards the end of the dictionary. Using a
667 dictionary is most useful when the data to be compressed is short and can be
668 predicted with good accuracy ; the data can then be compressed better than
669 with the default empty dictionary.<p>
670
671 Depending on the size of the compression data structures selected by
672 <a href="#deflateInit">deflateInit</a> or <a href="#deflateInit2">deflateInit2</a>, a part of the dictionary may in effect be
673 discarded, for example if the dictionary is larger than the window size in
674 <a href="#deflate">deflate</a> or deflate2. Thus the strings most likely to be useful should be
675 put at the end of the dictionary, not at the front.<p>
676
677 Upon return of this function, strm-&gt <a href="#adler">adler</a> is set to the Adler32 value
678 of the dictionary ; the decompressor may later use this value to determine
679 which dictionary has been used by the compressor. (The Adler32 value
680 applies to the whole dictionary even if only a subset of the dictionary is
681 actually used by the compressor.)<p>
682
683 <a href="#deflateSetDictionary">deflateSetDictionary</a> returns <a href="#Z_OK">Z_OK</a> if success, or <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if a
684 parameter is invalid (such as NULL dictionary) or the stream <a href="#state">state</a> is
685 inconsistent (for example if <a href="#deflate">deflate</a> has already been called for this stream
686 or if the compression method is bsort). <a href="#deflateSetDictionary">deflateSetDictionary</a> does not
687 perform any compression: this will be done by <a href="#deflate">deflate</a>().<p>
688
689<font color="Blue"><dt> int <a name="deflateCopy">deflateCopy</a> (<a href="#z_streamp">z_streamp</a> dest, <a href="#z_streamp">z_streamp</a> source);</font>
690<dd>
691 Sets the destination stream as a complete copy of the source stream.<p>
692
693 This function can be useful when several compression strategies will be
694 tried, for example when there are several ways of pre-processing the input
695 data with a filter. The streams that will be discarded should then be freed
696 by calling <a href="#deflateEnd">deflateEnd</a>. Note that <a href="#deflateCopy">deflateCopy</a> duplicates the internal
697 compression <a href="#state">state</a> which can be quite large, so this strategy is slow and
698 can consume lots of memory.<p>
699
700 <a href="#deflateCopy">deflateCopy</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not
701 enough memory, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the source stream <a href="#state">state</a> was inconsistent
702 (such as <a href="#zalloc">zalloc</a> being NULL). <a href="#msg">msg</a> is left unchanged in both source and
703 destination.<p>
704
705<font color="Blue"><dt> int <a name="deflateReset">deflateReset</a> (<a href="#z_streamp">z_streamp</a> strm);</font>
706<dd> This function is equivalent to <a href="#deflateEnd">deflateEnd</a> followed by <a href="#deflateInit">deflateInit</a>,
707 but does not free and reallocate all the internal compression <a href="#state">state</a>.
708 The stream will keep the same compression level and any other attributes
709 that may have been set by <a href="#deflateInit2">deflateInit2</a>.<p>
710
711 <a href="#deflateReset">deflateReset</a> returns <a href="#Z_OK">Z_OK</a> if success, or <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the source
712 stream <a href="#state">state</a> was inconsistent (such as <a href="#zalloc">zalloc</a> or <a href="#state">state</a> being NULL).<p>
713
714<font color="Blue"><dt> int <a name="deflateParams">deflateParams</a> (<a href="#z_streamp">z_streamp</a> strm, int level, int strategy);</font>
715<dd>
716 Dynamically update the compression level and compression strategy. The
717 interpretation of level and strategy is as in <a href="#deflateInit2">deflateInit2</a>. This can be
718 used to switch between compression and straight copy of the input data, or
719 to switch to a different kind of input data requiring a different
720 strategy. If the compression level is changed, the input available so far
721 is compressed with the old level (and may be flushed); the new level will
722 take effect only at the next call of <a href="#deflate">deflate</a>().<p>
723
724 Before the call of <a href="#deflateParams">deflateParams</a>, the stream <a href="#state">state</a> must be set as for
725 a call of <a href="#deflate">deflate</a>(), since the currently available input may have to
726 be compressed and flushed. In particular, strm-&gt <a href="#avail_out">avail_out</a> must be
727 non-zero.<p>
728
729 <a href="#deflateParams">deflateParams</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the source
730 stream <a href="#state">state</a> was inconsistent or if a parameter was invalid, <a href="#Z_BUF_ERROR">Z_BUF_ERROR</a>
731 if strm-&gtavail_out was zero.<p>
732
733<font color="Blue"><dt> int <a name="inflateInit2">inflateInit2</a> (<a href="#z_streamp">z_streamp</a> strm, int windowBits);</font>
734
735<dd> This is another version of <a href="#inflateInit">inflateInit</a> with an extra parameter. The
736 fields <a href="#next_in">next_in</a>, <a href="#avail_in">avail_in</a>, <a href="#zalloc">zalloc</a>, <a href="#zfree">zfree</a> and <a href="#opaque">opaque</a> must be initialized
737 before by the caller.<p>
738
739 The windowBits parameter is the base two logarithm of the maximum window
740 size (the size of the history buffer). It should be in the range 8..15 for
741 this version of the library. The default value is 15 if <a href="#inflateInit">inflateInit</a> is used
742 instead. If a compressed stream with a larger window size is given as
743 input, <a href="#inflate">inflate</a>() will return with the error code <a href="#Z_DATA_ERROR">Z_DATA_ERROR</a> instead of
744 trying to allocate a larger window.<p>
745
746 <a href="#inflateInit2">inflateInit2</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_MEM_ERROR">Z_MEM_ERROR</a> if there was not enough
747 memory, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if a parameter is invalid (such as a negative
748 memLevel). <a href="#msg">msg</a> is set to null if there is no error message. <a href="#inflateInit2">inflateInit2</a>
749 does not perform any decompression apart from reading the zlib header if
750 present: this will be done by <a href="#inflate">inflate</a>(). (So <a href="#next_in">next_in</a> and <a href="#avail_in">avail_in</a> may be
751 modified, but <a href="#next_out">next_out</a> and <a href="#avail_out">avail_out</a> are unchanged.)<p>
752
753<font color="Blue"><dt> int <a name="inflateSetDictionary">inflateSetDictionary</a> (<a href="#z_streamp">z_streamp</a> strm, const Bytef *dictionary, uInt dictLength);</font>
754<dd>
755 Initializes the decompression dictionary from the given uncompressed byte
756 sequence. This function must be called immediately after a call of <a href="#inflate">inflate</a>
757 if this call returned <a href="#Z_NEED_DICT">Z_NEED_DICT</a>. The dictionary chosen by the compressor
758 can be determined from the Adler32 value returned by this call of
759 <a href="#inflate">inflate</a>. The compressor and decompressor must use exactly the same
760 dictionary (see <a href="#deflateSetDictionary">deflateSetDictionary</a>).<p>
761
762 <a href="#inflateSetDictionary">inflateSetDictionary</a> returns <a href="#Z_OK">Z_OK</a> if success, <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if a
763 parameter is invalid (such as NULL dictionary) or the stream <a href="#state">state</a> is
764 inconsistent, <a href="#Z_DATA_ERROR">Z_DATA_ERROR</a> if the given dictionary doesn't match the
765 expected one (incorrect Adler32 value). <a href="#inflateSetDictionary">inflateSetDictionary</a> does not
766 perform any decompression: this will be done by subsequent calls of
767 <a href="#inflate">inflate</a>().<p>
768
769<font color="Blue"><dt> int <a name="inflateSync">inflateSync</a> (<a href="#z_streamp">z_streamp</a> strm);</font>
770
771<dd> Skips invalid compressed data until a full flush point (see above the
772 description of <a href="#deflate">deflate</a> with <a href="#Z_FULL_FLUSH">Z_FULL_FLUSH</a>) can be found, or until all
773 available input is skipped. No output is provided.<p>
774
775 <a href="#inflateSync">inflateSync</a> returns <a href="#Z_OK">Z_OK</a> if a full flush point has been found, <a href="#Z_BUF_ERROR">Z_BUF_ERROR</a>
776 if no more input was provided, <a href="#Z_DATA_ERROR">Z_DATA_ERROR</a> if no flush point has been found,
777 or <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the stream structure was inconsistent. In the success
778 case, the application may save the current current value of <a href="#total_in">total_in</a> which
779 indicates where valid compressed data was found. In the error case, the
780 application may repeatedly call <a href="#inflateSync">inflateSync</a>, providing more input each time,
781 until success or end of the input data.<p>
782
783<font color="Blue"><dt> int <a name="inflateReset">inflateReset</a> (<a href="#z_streamp">z_streamp</a> strm);</font>
784<dd>
785 This function is equivalent to <a href="#inflateEnd">inflateEnd</a> followed by <a href="#inflateInit">inflateInit</a>,
786 but does not free and reallocate all the internal decompression <a href="#state">state</a>.
787 The stream will keep attributes that may have been set by <a href="#inflateInit2">inflateInit2</a>.
788 <p>
789
790 <a href="#inflateReset">inflateReset</a> returns <a href="#Z_OK">Z_OK</a> if success, or <a href="#Z_STREAM_ERROR">Z_STREAM_ERROR</a> if the source
791 stream <a href="#state">state</a> was inconsistent (such as <a href="#zalloc">zalloc</a> or <a href="#state">state</a> being NULL).
792 <p>
793</dl>
794
795<hr>
796<a name="Checksum functions"><h2> Checksum functions </h2>
797 These functions are not related to compression but are exported
798 anyway because they might be useful in applications using the
799 compression library.
800<h3> Function list </h3>
801<ul>
802<li> uLong <a href="#adler32">adler32</a> (uLong <a href="#adler">adler</a>, const Bytef *buf, uInt len);
803<li> uLong <a href="#crc32">crc32</a> (uLong crc, const Bytef *buf, uInt len);
804</ul>
805<h3> Function description </h3>
806<dl>
807<font color="Blue"><dt> uLong <a name="adler32">adler32</a> (uLong <a href="#adler">adler</a>, const Bytef *buf, uInt len);</font>
808<dd>
809 Update a running Adler-32 checksum with the bytes buf[0..len-1] and
810 return the updated checksum. If buf is NULL, this function returns
811 the required initial value for the checksum.
812 <p>
813 An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
814 much faster. Usage example:
815 <pre>
816
817 uLong <a href="#adler">adler</a> = <a href="#adler32">adler32</a>(0L, <a href="#Z_NULL">Z_NULL</a>, 0);
818
819 while (read_buffer(buffer, length) != EOF) {
820 <a href="#adler">adler</a> = <a href="#adler32">adler32</a>(<a href="#adler">adler</a>, buffer, length);
821 }
822 if (<a href="#adler">adler</a> != original_adler) error();
823 </pre>
824
825<font color="Blue"><dt> uLong <a name="crc32">crc32</a> (uLong crc, const Bytef *buf, uInt len);</font>
826<dd>
827 Update a running crc with the bytes buf[0..len-1] and return the updated
828 crc. If buf is NULL, this function returns the required initial value
829 for the crc. Pre- and post-conditioning (one's complement) is performed
830 within this function so it shouldn't be done by the application.
831 Usage example:
832 <pre>
833
834 uLong crc = <a href="#crc32">crc32</a>(0L, <a href="#Z_NULL">Z_NULL</a>, 0);
835
836 while (read_buffer(buffer, length) != EOF) {
837 crc = <a href="#crc32">crc32</a>(crc, buffer, length);
838 }
839 if (crc != original_crc) error();
840 </pre>
841</dl>
842<hr>
843<a name="struct z_stream_s"><h2> struct z_stream_s </h2>
844<font color="Blue">
845<a name="z_stream_s">
846<pre>
847typedef struct z_stream_s {
848 Bytef *<a name="next_in">next_in</a>; /* next input byte */
849 uInt <a name="avail_in">avail_in</a>; /* number of bytes available at <a href="#next_in">next_in</a> */
850 uLong <a name="total_in">total_in</a>; /* total nb of input bytes read so far */
851
852 Bytef *<a name="next_out">next_out</a>; /* next output byte should be put there */
853 uInt <a name="avail_out">avail_out</a>; /* remaining free space at <a href="#next_out">next_out</a> */
854 uLong <a name="total_out">total_out</a>; /* total nb of bytes output so far */
855
856 char *<a name="msg">msg</a>; /* last error message, NULL if no error */
857 struct internal_state FAR *<a name="state">state</a>; /* not visible by applications */
858
859 alloc_func <a name="zalloc">zalloc</a>; /* used to allocate the internal <a href="#state">state</a> */
860 free_func <a name="zfree">zfree</a>; /* used to free the internal <a href="#state">state</a> */
861 voidpf <a name="opaque">opaque</a>; /* private data object passed to <a href="#zalloc">zalloc</a> and <a href="#zfree">zfree</a> */
862
863 int <a name="data_type">data_type</a>; /* best guess about the data type: ascii or binary */
864 uLong <a name="adler">adler</a>; /* <a href="#adler32">adler32</a> value of the uncompressed data */
865 uLong <a name="reserved">reserved</a>; /* <a href="#reserved">reserved</a> for future use */
866} <a href="#z_stream_s">z_stream</a> ;
867
868typedef <a href="#z_stream_s">z_stream</a> FAR * <a name="z_streamp">z_streamp</a>; ÿ
869</pre>
870</font>
871 The application must update <a href="#next_in">next_in</a> and <a href="#avail_in">avail_in</a> when <a href="#avail_in">avail_in</a> has
872 dropped to zero. It must update <a href="#next_out">next_out</a> and <a href="#avail_out">avail_out</a> when <a href="#avail_out">avail_out</a>
873 has dropped to zero. The application must initialize <a href="#zalloc">zalloc</a>, <a href="#zfree">zfree</a> and
874 <a href="#opaque">opaque</a> before calling the init function. All other fields are set by the
875 compression library and must not be updated by the application. <p>
876
877 The <a href="#opaque">opaque</a> value provided by the application will be passed as the first
878 parameter for calls of <a href="#zalloc">zalloc</a> and <a href="#zfree">zfree</a>. This can be useful for custom
879 memory management. The compression library attaches no meaning to the
880 <a href="#opaque">opaque</a> value. <p>
881
882 <a href="#zalloc">zalloc</a> must return <a href="#Z_NULL">Z_NULL</a> if there is not enough memory for the object.
883 If zlib is used in a multi-threaded application, <a href="#zalloc">zalloc</a> and <a href="#zfree">zfree</a> must be
884 thread safe. <p>
885
886 On 16-bit systems, the functions <a href="#zalloc">zalloc</a> and <a href="#zfree">zfree</a> must be able to allocate
887 exactly 65536 bytes, but will not be required to allocate more than this
888 if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
889 pointers returned by <a href="#zalloc">zalloc</a> for objects of exactly 65536 bytes *must*
890 have their offset normalized to zero. The default allocation function
891 provided by this library ensures this (see zutil.c). To reduce memory
892 requirements and avoid any allocation of 64K objects, at the expense of
893 compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
894 <p>
895
896 The fields <a href="#total_in">total_in</a> and <a href="#total_out">total_out</a> can be used for statistics or
897 progress reports. After compression, <a href="#total_in">total_in</a> holds the total size of
898 the uncompressed data and may be saved for use in the decompressor
899 (particularly if the decompressor wants to decompress everything in
900 a single step). <p>
901
902<hr>
903<a name="Constants"><h2> Constants </h2>
904<font color="Blue">
905<pre>
906#define <a name="Z_NO_FLUSH">Z_NO_FLUSH</a> 0
907#define <a name="Z_PARTIAL_FLUSH">Z_PARTIAL_FLUSH</a> 1
908 /* will be removed, use <a href="#Z_SYNC_FLUSH">Z_SYNC_FLUSH</a> instead */
909#define <a name="Z_SYNC_FLUSH">Z_SYNC_FLUSH</a> 2
910#define <a name="Z_FULL_FLUSH">Z_FULL_FLUSH</a> 3
911#define <a name="Z_FINISH">Z_FINISH</a> 4
912/* Allowed flush values ; see <a href="#deflate">deflate</a>() below for details */
913
914#define <a name="Z_OK">Z_OK</a> 0
915#define <a name="Z_STREAM_END">Z_STREAM_END</a> 1
916#define <a name="Z_NEED_DICT">Z_NEED_DICT</a> 2
917#define <a name="Z_ERRNO">Z_ERRNO</a> (-1)
918#define <a name="Z_STREAM_ERROR">Z_STREAM_ERROR</a> (-2)
919#define <a name="Z_DATA_ERROR">Z_DATA_ERROR</a> (-3)
920#define <a name="Z_MEM_ERROR">Z_MEM_ERROR</a> (-4)
921#define <a name="Z_BUF_ERROR">Z_BUF_ERROR</a> (-5)
922#define <a name="Z_VERSION_ERROR">Z_VERSION_ERROR</a> (-6)
923/* Return codes for the compression/decompression functions. Negative
924 * values are errors, positive values are used for special but normal events.
925 */
926
927#define <a name="Z_NO_COMPRESSION">Z_NO_COMPRESSION</a> 0
928#define <a name="Z_BEST_SPEED">Z_BEST_SPEED</a> 1
929#define <a name="Z_BEST_COMPRESSION">Z_BEST_COMPRESSION</a> 9
930#define <a name="Z_DEFAULT_COMPRESSION">Z_DEFAULT_COMPRESSION</a> (-1)
931/* compression levels */
932
933#define <a name="Z_FILTERED">Z_FILTERED</a> 1
934#define <a name="Z_HUFFMAN_ONLY">Z_HUFFMAN_ONLY</a> 2
935#define <a name="Z_DEFAULT_STRATEGY">Z_DEFAULT_STRATEGY</a> 0
936/* compression strategy ; see <a href="#deflateInit2">deflateInit2</a>() below for details */
937
938#define <a name="Z_BINARY">Z_BINARY</a> 0
939#define <a name="Z_ASCII">Z_ASCII</a> 1
940#define <a name="Z_UNKNOWN">Z_UNKNOWN</a> 2
941/* Possible values of the <a href="#data_type">data_type</a> field */
942
943#define <a name="Z_DEFLATED">Z_DEFLATED</a> 8
944/* The <a href="#deflate">deflate</a> compression method (the only one supported in this version) */
945
946#define <a name="Z_NULL">Z_NULL</a> 0 /* for initializing <a href="#zalloc">zalloc</a>, <a href="#zfree">zfree</a>, <a href="#opaque">opaque</a> */
947
948#define <a name="zlib_version">zlib_version</a> <a href="#zlibVersion">zlibVersion</a>()
949/* for compatibility with versions less than 1.0.2 */
950</pre>
951</font>
952
953<hr>
954<a name="Misc"><h2> Misc </h2>
955 <a href="#deflateInit">deflateInit</a> and <a href="#inflateInit">inflateInit</a> are macros to allow checking the zlib version
956 and the compiler's view of <a href="#z_stream_s">z_stream</a>.
957 <p>
958 Other functions:
959 <dl>
960 <font color="Blue"><dt> const char * <a name="zError">zError</a> (int err);</font>
961 <font color="Blue"><dt> int <a name="inflateSyncPoint">inflateSyncPoint</a> (<a href="#z_streamp">z_streamp</a> z);</font>
962 <font color="Blue"><dt> const uLongf * <a name="get_crc_table">get_crc_table</a> (void);</font>
963 </dl>
964 <hr>
965 <font size="-1">
966 Last update: Wed Oct 13 20:42:34 1999<br>
967 piapi@csie.ntu.edu.tw
968 </font>
969
970</body>
971</html>