f0d81ffd1c
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
183 lines
9.5 KiB
Plaintext
Executable File
183 lines
9.5 KiB
Plaintext
Executable File
_______________________________________________________________________________
|
|
|
|
This is the Windows CE Info-ZIP port README, last updated 5 April 1997.
|
|
_______________________________________________________________________________
|
|
|
|
Contents of the "WinCE" subdirectory for UnZip 5.30 and later:
|
|
|
|
README This file.
|
|
Contents A file containing this Contents list.
|
|
punzip.dsp Visual C++ 5.0 project for WinCE (SH3 and MIPS) and WinNT.
|
|
punzip.h Main header file for the entire Pocket UnZip project.
|
|
winmain.cpp Contains the entire user interface and all Windows code.
|
|
winmain.h Header for winmain.cpp.
|
|
intrface.cpp The interface between the Windows code and Info-ZIP code.
|
|
intrface.h Header for intrface.cpp.
|
|
wince.cpp All the Win32 APIs and C runtimes called by Info-ZIP.
|
|
wince.h Header for wince.cpp.
|
|
punzip.rc Resource file for all dialogs, bitmaps, menus, icons, etc.
|
|
resource.h Resource header file for punzip.rc and other source modules.
|
|
punzip.rcv Version resource and version defines.
|
|
punzip.ic2 Windows CE app icons (16x16 and 32x32, both 2 bits/pixel).
|
|
zipfile.ic2 Windows CE zip icons (16x16 and 32x32, both 2 bits/pixel).
|
|
imglist.2bp Windows CE image list bitmap (2 bits/pixel).
|
|
ilmask.bmp Windows CE image list mask bitmap (1 bit/pixel).
|
|
toolbar.2bp Windows CE toolbar bitmap (2 bits/pixel).
|
|
punzip.ico Windows NT application icons (16x16 and 32x32, 16 bits/pixel).
|
|
zipfile.ico Windows NT zip file icons (16x16 and 32x32, 16 bits/pixel).
|
|
imglist.bmp Windows NT image list bitmap (16 bits/pixel including mask).
|
|
toolbar.bmp Windows NT toolbar bitmap (16 bits/pixel).
|
|
punzip.htp Windows CE help file (rename to punzip.html for WinNT).
|
|
inc\ Contains dummy headers that are called by Info-ZIP code.
|
|
|
|
_______________________________________________________________________________
|
|
|
|
Copyright and Disclaimer
|
|
_______________________________________________________________________________
|
|
|
|
Copyright
|
|
|
|
All the source files for Pocket UnZip, except for components
|
|
written by the Info-ZIP group, are copyrighted 1997 by Steve P.
|
|
Miller. The product "Pocket UnZip" itself is property of the
|
|
author and cannot be altered in any way without written consent
|
|
from Steve P. Miller.
|
|
|
|
Disclaimer
|
|
|
|
All project files are provided "as is" with no guarantee of
|
|
their correctness. The authors are not liable for any outcome
|
|
that is the result of using this source. The source for Pocket
|
|
UnZip has been placed in the public domain to help provide an
|
|
understanding of its implementation. You are hereby granted
|
|
full permission to use this source in any way you wish, except
|
|
to alter Pocket UnZip itself. For comments, suggestions, and
|
|
bug reports, please write to stevemil@pobox.com.
|
|
|
|
_______________________________________________________________________________
|
|
|
|
About the Windows CE Port (known as "Pocket UnZip")
|
|
_______________________________________________________________________________
|
|
|
|
The Windows CE port, known as Pocket UnZip, is designed to run on Microsoft's
|
|
Windows CE operating system. The port is completely contained in the files
|
|
listed above. There were very few minor modifications made to the Info-ZIP
|
|
code in order for this port to work. This was possible because the Info-ZIP
|
|
code is fairly generic and also because several hooks have already been placed
|
|
in the code from past Windows ports. The Windows CE port leverages off of
|
|
these efforts for two reasons. Mainly, I wanted to avoid modifying the
|
|
Info-ZIP core code since people don't like it when your changes break other
|
|
ports. Second, this makes the Windows CE port easy to upgrade when fixes and
|
|
features are released by the Info-ZIP group.
|
|
|
|
The port is made up of the project file (punzip.dsp), one global header
|
|
(punzip.h), three main source modules (winmain.cpp/h, intrface.cpp/h, and
|
|
wince.cpp/h), the resource script files (punzip.rc, punzip.rcv, and resource.h),
|
|
several resources (punzip.ic2, zipfile.ic2, imglist.2bp, ilmask.bmp,
|
|
toolbar.2bp, punzip.ico, zipfile.ico, imglist.bmp, and toolbar.bmp), and the
|
|
help file (punzip.htp).
|
|
|
|
The application's entry point is WinMain(), which is located in winmain.cpp
|
|
(what a surprise). winmain.cpp basically contains all the Windows code and the
|
|
user interface. It knows nothing about the Info-ZIP code or things like the
|
|
Globals struct. That stuff is the job of the intrface module. intrface.cpp
|
|
implements an easy (or at least easier) to understand interface to the Info-ZIP
|
|
routines. It also handles all the callbacks from Info-ZIP and relays the
|
|
appropriate information back to the code in winmain.cpp. The final module is
|
|
wince.cpp. This module implements all the Win32 APIs and C runtime functions
|
|
that are called by the rest of the code, but are not natively implemented on
|
|
Windows CE. Most all of this module is excluded for NT native builds.
|
|
|
|
Two preprocessor defines are used in conjunction with several defines from
|
|
the Info-ZIP code and from other ports. The two that are specific to the
|
|
Windows CE port are:
|
|
|
|
POCKET_UNZIP Always set for the Windows CE port (CE and NT).
|
|
_WIN32_WCE Set for Windows CE native; not set for Windows NT native.
|
|
|
|
These three defines are the minimum defines that must be addressed by the
|
|
project file in order to build this port. This port's main header, punzip.h,
|
|
gets included by all the Info-ZIP source files when POCKET_UNZIP is defined.
|
|
punzip.h in turn ensures that all the other relevant Info-ZIP defines are set
|
|
to correctly build the port. If you wish to alter the Info-ZIP defines used to
|
|
build this port, you can do so by altering punzip.h.
|
|
|
|
There are quite a few _WIN32_WCE checks throughout the source files for this
|
|
port. These checks allow the application to build natively for Windows NT for
|
|
debugging purposes, and just because it can with little effort due to the
|
|
similarities between the Windows CE API and the Windows NT API. Any non-Windows
|
|
CE code is assumed to be for Windows NT only. This project currently will not
|
|
work on Windows 95 because Windows CE is mostly UNICODE, and this port assumes
|
|
that all Win32 calls to the operating system take UNICODE parameters. I could
|
|
scatter a few dozen "#ifdef UNICODE" checks around and make it work on Windows
|
|
95, but I see no reason to complicate this port's code for that reason since
|
|
there is already a Windows 95 port of the Info-ZIP code.
|
|
|
|
_______________________________________________________________________________
|
|
|
|
Building the Windows CE Port (known as "Pocket UnZip")
|
|
_______________________________________________________________________________
|
|
|
|
At the time this README was written, Microsoft just released Visual C++ for
|
|
Windows CE version 1.0. This development kit uses the the standard Microsoft
|
|
Visual C++ version 5.0 development environment and project files (DSP files).
|
|
To build Windows CE binaries of Pocket UnZip, you will need version 1.0 or
|
|
later of Visual C++ for Windows CE.
|
|
|
|
This port's project file, punzip.dsp, contains the information for building all
|
|
the various binaries. These include Windows NT native, Windows CE native for
|
|
Hitachi SH-3 processors, and Windows CE native for MIPS processors. All
|
|
projects have Debug and Retail flavors as well. The following table lists the
|
|
Windows CE devices and which binary they run:
|
|
|
|
Manufacturer CPU Binary
|
|
--------------------- ------------ ------
|
|
Philips Electronics MIPS R3910 MIPS
|
|
NEC Corp. NEC VR4101 MIPS
|
|
Casio Computer Co. Hitachi SH-3 SH-3
|
|
Compaq Computer Corp. Hitachi SH-3 SH-3
|
|
Hewlett-Packard Co. Hitachi SH-3 SH-3
|
|
Hitachi Ltd. Hitachi SH-3 SH-3
|
|
LG Electronics Inc. Hitachi SH-3 SH-3
|
|
|
|
Before building Pocket UnZip, you will need to move some files around. If you
|
|
have just unzipped the Info-ZIP's UnZip 5.30 sources, you should have a root
|
|
directory with the core Info-ZIP files in it and several subdirectories under it
|
|
for the various ports, one of which is the WinCE directory. Move punzip.dsp
|
|
from the WinCE subdirectory to the Info-ZIP root and open it with Visual C++ for
|
|
Windows CE version 1.0 or later. The project file uses all the files in the
|
|
WinCE subdirectory as well as the following files in the Info-ZIP root:
|
|
|
|
api.c crypt.h globals.c process.c unzip.h
|
|
consts.h ebcdic.h globals.h ttyio.c unzpriv.h
|
|
crc32.c explode.c inflate.c ttyio.h version.h
|
|
crctab.c extract.c inflate.h unreduce.c zip.h
|
|
crypt.c fileio.c list.c unshrink.c
|
|
|
|
_______________________________________________________________________________
|
|
|
|
Contacting the Authors
|
|
_______________________________________________________________________________
|
|
|
|
The Info-ZIP group is made up of dozens of people, past and present, who
|
|
have devoted countless hours to providing the public with free and portable
|
|
compression software. The author of the Windows CE port, Pocket UnZip, is
|
|
Steve P. Miller.
|
|
|
|
If you have questions, comments, suggestions, or bug reports concerning Pocket
|
|
UnZip itself, you can write Steve Miller at:
|
|
|
|
stevemil@pobox.com
|
|
|
|
If you find a bug that appears to be more Info-ZIP related (i.e. the actual
|
|
decompression part of Pocket UnZip), you can send mail to:
|
|
|
|
Zip-Bugs@lists.wku.edu
|
|
|
|
For all other general discussion type questions or comments, you can send mail
|
|
to (as well as join) the following mailing list:
|
|
|
|
Info-Zip@lists.wku.edu
|
|
|
|
See the main UnZip README file for info on how to join the latter list.
|