--- ./manual.texi Thu Mar 23 18:43:33 2000 +++ ../bzip2-1.0.1/./manual.texi Thu Nov 29 14:33:01 2001 @@ -1,6 +1,9 @@ \input texinfo @c -*- Texinfo -*- @setfilename bzip2.info +@set EDITION 1.0 +@set VERSION 1.0 + @ignore This file documents bzip2 version 1.0, and associated library libbzip2, written by Julian Seward (jseward@acm.org). @@ -95,13 +98,40 @@ a full patent search. Therefore I cannot give any guarantee of the above statement. - - +@menu +* Overview:: An overview of bzip2 +* How to use bzip2:: Invoking bzip2 +* Programming with libbzip2:: Using the libbz library +* Miscellanea:: Random thoughts + +@detailmenu + --- The Detailed Node Listing --- + +Programming with @code{libbzip2} + +* Top-level structure:: +* Error handling:: +* Low-level interface:: +* High-level interface:: +* Utility functions:: +* zlib compatibility functions:: +* Using the library in a stdio-free environment:: +* Making a Windows DLL:: + +Miscellanea + +* Limitations of the compressed file format:: +* Portability issues:: +* Reporting bugs:: +* Did you get the right package?:: +* Testing:: +* Further reading:: +@end detailmenu +@end menu - -@node Overview, Implementation, Top, Top +@node Overview, How to use bzip2, Top, Top @chapter Introduction @code{bzip2} compresses files using the Burrows-Wheeler @@ -124,6 +154,13 @@ ought to be recorded somewhere. +@menu +* How to use bzip2:: +* Programming with libbzip2:: +* Miscellanea:: +@end menu + +@node How to use bzip2, Programming with libbzip2, Overview, Top @chapter How to use @code{bzip2} This chapter contains a copy of the @code{bzip2} man page, @@ -132,7 +169,7 @@ @quotation @unnumberedsubsubsec NAME -@itemize +@itemize @bullet @item @code{bzip2}, @code{bunzip2} - a block-sorting file compressor, v1.0 @item @code{bzcat} @@ -142,7 +179,7 @@ @end itemize @unnumberedsubsubsec SYNOPSIS -@itemize +@itemize @bullet @item @code{bzip2} [ -cdfkqstvzVL123456789 ] [ filenames ... ] @item @code{bunzip2} [ -fkvsVL ] [ filenames ... ] @item @code{bzcat} [ -s ] [ filenames ... ] @@ -183,7 +220,7 @@ will be detected and ignored, and a warning issued. @code{bzip2} attempts to guess the filename for the decompressed file from that of the compressed file as follows: -@itemize +@itemize @bullet @item @code{filename.bz2 } becomes @code{filename} @item @code{filename.bz } becomes @code{filename} @item @code{filename.tbz2} becomes @code{filename.tar} @@ -470,6 +507,7 @@ +@node Programming with libbzip2, Miscellanea, How to use bzip2, Top @chapter Programming with @code{libbzip2} This chapter describes the programming interface to @code{libbzip2}. @@ -478,6 +516,18 @@ use and performance aspects, you'd be well advised to read Chapter 2 as well. +@menu +* Top-level structure:: Functions and data structures +* Error handling:: +* Low-level interface:: +* High-level interface:: +* Utility functions:: +* zlib compatibility functions:: +* Using the library in a stdio-free environment:: +* Making a Windows DLL:: +@end menu + +@node Top-level structure, Error handling, Programming with libbzip2, Programming with libbzip2, @section Top-level structure @code{libbzip2} is a flexible library for compressing and decompressing @@ -580,6 +630,7 @@ built as a Windows DLL. +@node Error handling, Low-level interface, Top-level structure, Programming with libbzip2 @section Error handling The library is designed to recover cleanly in all situations, including @@ -684,6 +735,7 @@ +@node Low-level interface, High-level interface, Error handling, Programming with libbzip2 @section Low-level interface @subsection @code{BZ2_bzCompressInit} @@ -1124,6 +1176,7 @@ @end display +@node High-level interface, Utility functions, Low-level interface, Programming with libbzip2 @section High-level interface This interface provides functions for reading and writing @@ -1592,6 +1645,7 @@ +@node Utility functions, zlib compatibility functions, High-level interface, Programming with libbzip2 @section Utility functions @subsection @code{BZ2_bzBuffToBuffCompress} @example @@ -1701,6 +1755,7 @@ +@node zlib compatibility functions, Using the library in a stdio-free environment, Utility functions, Programming with libbzip2 @section @code{zlib} compatibility functions Yoshioka Tsuneo has contributed some functions to give better @code{zlib} compatibility. These functions are @@ -1743,6 +1798,7 @@ @code{b}, and also sets @code{*errnum} to its numerical value. +@node Using the library in a stdio-free environment, Making a Windows DLL, zlib compatibility functions, Programming with libbzip2 @section Using the library in a @code{stdio}-free environment @subsection Getting rid of @code{stdio} @@ -1799,6 +1855,7 @@ and can be recovered from. +@node Making a Windows DLL, , Using the library in a stdio-free environment, Programming with libbzip2 @section Making a Windows DLL Everything related to Windows has been contributed by Yoshioka Tsuneo @* (@code{QWF00133@@niftyserve.or.jp} / @@ -1833,11 +1890,22 @@ +@node Miscellanea, , Programming with libbzip2, Top @chapter Miscellanea These are just some random thoughts of mine. Your mileage may vary. +@menu +* Limitations of the compressed file format:: +* Portability issues:: +* Reporting bugs:: +* Did you get the right package?:: +* Testing:: +* Further reading:: +@end menu + +@node Limitations of the compressed file format, Portability issues, Miscellanea, Miscellanea @section Limitations of the compressed file format @code{bzip2-1.0}, @code{0.9.5} and @code{0.9.0} use exactly the same file format as the previous @@ -1916,6 +1984,7 @@ +@node Portability issues, Reporting bugs, Limitations of the compressed file format, Miscellanea @section Portability issues After some consideration, I have decided not to use GNU @code{autoconf} to configure 0.9.5 or 1.0. @@ -1959,6 +2028,7 @@ +@node Reporting bugs, Did you get the right package?, Portability issues, Miscellanea @section Reporting bugs I tried pretty hard to make sure @code{bzip2} is bug free, both by design and by testing. Hopefully @@ -2041,6 +2111,7 @@ you should contact me before mailing me huge files. +@node Did you get the right package?, Testing, Reporting bugs, Miscellanea @section Did you get the right package? @code{bzip2} is a resource hog. It soaks up large amounts of CPU cycles @@ -2076,6 +2147,7 @@ +@node Testing, Further reading, Did you get the right package?, Miscellanea @section Testing A record of the tests I've done. @@ -2146,6 +2218,7 @@ All tests completed successfully. +@node Further reading, , Testing, Miscellanea @section Further reading @code{bzip2} is not research work, in the sense that it doesn't present any new ideas. Rather, it's an engineering exercise based on existing --- ./Makefile-libbz2_so Fri Jun 23 17:09:19 2000 +++ ../bzip2-1.0.1/./Makefile-libbz2_so Thu Nov 29 14:20:42 2001 @@ -8,7 +8,8 @@ SHELL=/bin/sh CC=gcc BIGFILES=-D_FILE_OFFSET_BITS=64 -CFLAGS=-fpic -fPIC -Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce $(BIGFILES) +GCCFLAGS=-fpic -fPIC -Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce +CFLAGS=$(GCCFLAGS) $(BIGFILES) OBJS= blocksort.o \ huffman.o \ --- ./Makefile Fri Jun 23 16:34:47 2000 +++ ../bzip2-1.0.1/./Makefile Thu Nov 29 14:20:20 2001 @@ -2,7 +2,8 @@ SHELL=/bin/sh CC=gcc BIGFILES=-D_FILE_OFFSET_BITS=64 -CFLAGS=-Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce $(BIGFILES) +GCCFLAGS=-Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce +CFLAGS=$(GCCFLAGS) $(BIGFILES) OBJS= blocksort.o \ huffman.o \