📄 unzip.h
字号:
/*--------------------------------------------------------------------------- unzip.h (new) Copyright (c) 1990-2005 Info-ZIP. All rights reserved. This header file contains the public macros and typedefs required by both the UnZip sources and by any application using the UnZip API. If UNZIP_INTERNAL is defined, it includes unzpriv.h (containing includes, prototypes and extern variables used by the actual UnZip sources). ---------------------------------------------------------------------------*//*---------------------------------------------------------------------------This is version 2005-Feb-10 of the Info-ZIP copyright and license.The definitive version of this document should be available atftp://ftp.info-zip.org/pub/infozip/license.html indefinitely.Copyright (c) 1990-2005 Info-ZIP. All rights reserved.For the purposes of this copyright and license, "Info-ZIP" is defined asthe following set of individuals: Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, Jean-loup Gailly, Hunter Goatley, Ed Gordon, Ian Gorman, Chris Herborth, Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel, Steve Salisbury, Dave Smith, Steven M. Schweda, Christian Spieler, Cosmin Truta, Antoine Verheijen, Paul von Behren, Rich Wales, Mike WhiteThis software is provided "as is," without warranty of any kind, expressor implied. In no event shall Info-ZIP or its contributors be held liablefor any direct, indirect, incidental, special or consequential damagesarising out of the use of or inability to use this software.Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute itfreely, subject to the following restrictions: 1. Redistributions of source code must retain the above copyright notice, definition, disclaimer, and this list of conditions. 2. Redistributions in binary form (compiled executables) must reproduce the above copyright notice, definition, disclaimer, and this list of conditions in documentation and/or other materials provided with the distribution. The sole exception to this condition is redistribution of a standard UnZipSFX binary (including SFXWiz) as part of a self-extracting archive; that is permitted without inclusion of this license, as long as the normal SFX banner has not been removed from the binary or disabled. 3. Altered versions--including, but not limited to, ports to new operating systems, existing ports with new graphical interfaces, and dynamic, shared, or static library versions--must be plainly marked as such and must not be misrepresented as being the original source. Such altered versions also must not be misrepresented as being Info-ZIP releases--including, but not limited to, labeling of the altered versions with the names "Info-ZIP" (or any variation thereof, including, but not limited to, different capitalizations), "Pocket UnZip," "WiZ" or "MacZip" without the explicit permission of Info-ZIP. Such altered versions are further prohibited from misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s). 4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip," "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and binary releases. ---------------------------------------------------------------------------*/#ifndef __unzip_h /* prevent multiple inclusions */#define __unzip_h/*--------------------------------------------------------------------------- Predefined, machine-specific macros. ---------------------------------------------------------------------------*/#ifdef __GO32__ /* MS-DOS extender: NOT Unix */# ifdef unix# undef unix# endif# ifdef _unix# undef _unix# endif# ifdef __unix# undef __unix# endif# ifdef __unix__# undef __unix__# endif#endif#if ((defined(__convex__) || defined(__convexc__)) && !defined(CONVEX))# define CONVEX#endif#if (defined(unix) || defined(_unix) || defined(__unix) || defined(__unix__))# ifndef UNIX# define UNIX# endif#endif /* unix || _unix || __unix || __unix__ */#if (defined(M_XENIX) || defined(COHERENT) || defined(__hpux))# ifndef UNIX# define UNIX# endif#endif /* M_XENIX || COHERENT || __hpux */#if (defined(__NetBSD__) || defined(__FreeBSD__))# ifndef UNIX# define UNIX# endif#endif /* __NetBSD__ || __FreeBSD__ */#if (defined(CONVEX) || defined(MINIX) || defined(_AIX) || defined(__QNX__))# ifndef UNIX# define UNIX# endif#endif /* CONVEX || MINIX || _AIX || __QNX__ */#if (defined(VM_CMS) || defined(MVS))# define CMS_MVS#endif#if (defined(__OS2__) && !defined(OS2))# define OS2#endif#if (defined(__TANDEM) && !defined(TANDEM))# define TANDEM#endif#if (defined(__VMS) && !defined(VMS))# define VMS#endif#if ((defined(__WIN32__) || defined(_WIN32)) && !defined(WIN32))# define WIN32#endif#if ((defined(__WINNT__) || defined(__WINNT)) && !defined(WIN32))# define WIN32#endif#if defined(_WIN32_WCE)# ifndef WIN32 /* WinCE is treated as a variant of the Win32 API */# define WIN32# endif# ifndef UNICODE /* WinCE requires UNICODE wide character support */# define UNICODE# endif#endif#ifdef __COMPILER_KCC__# include <c-env.h># ifdef SYS_T20# define TOPS20# endif#endif /* __COMPILER_KCC__ *//* Borland C does not define __TURBOC__ if compiling for a 32-bit platform */#ifdef __BORLANDC__# ifndef __TURBOC__# define __TURBOC__# endif# if (!defined(__MSDOS__) && !defined(OS2) && !defined(WIN32))# define __MSDOS__# endif#endif/* define MSDOS for Turbo C (unless OS/2) and Power C as well as Microsoft C */#ifdef __POWERC# define __TURBOC__# define MSDOS#endif /* __POWERC */#if (defined(__MSDOS__) && !defined(MSDOS)) /* just to make sure */# define MSDOS#endif/* RSXNTDJ (at least up to v1.3) compiles for WIN32 (RSXNT) using a derivate of the EMX environment, but defines MSDOS and __GO32__. ARG !!! */#if (defined(MSDOS) && defined(WIN32))# undef MSDOS /* WIN32 is >>>not<<< MSDOS */#endif#if (defined(__GO32__) && defined(__EMX__) && defined(__RSXNT__))# undef __GO32__#endif#if (defined(linux) && !defined(LINUX))# define LINUX#endif#ifdef __riscos# define RISCOS#endif#if (defined(THINK_C) || defined(MPW))# define MACOS#endif#if (defined(__MWERKS__) && defined(macintosh))# define MACOS#endif/* use prototypes and ANSI libraries if __STDC__, or MS-DOS, or OS/2, or Win32, * or IBM C Set/2, or Borland C, or Watcom C, or GNU gcc (emx or Cygwin), * or Macintosh, or Sequent, or Atari, or IBM RS/6000, or Silicon Graphics, * or Convex?, or AtheOS, or BeOS. */#if (defined(__STDC__) || defined(MSDOS) || defined(OS2) || defined(WIN32))# ifndef PROTO# define PROTO# endif# ifndef MODERN# define MODERN# endif#endif#if (defined(__IBMC__) || defined(__BORLANDC__) || defined(__WATCOMC__))# ifndef PROTO# define PROTO# endif# ifndef MODERN# define MODERN# endif#endif#if (defined(__EMX__) || defined(__CYGWIN__))# ifndef PROTO# define PROTO# endif# ifndef MODERN# define MODERN# endif#endif#if (defined(MACOS) || defined(ATARI_ST) || defined(RISCOS) || defined(THEOS))# ifndef PROTO# define PROTO# endif# ifndef MODERN# define MODERN# endif#endif/* Sequent running Dynix/ptx: non-modern compiler */#if (defined(_AIX) || defined(sgi) || (defined(_SEQUENT_) && !defined(PTX)))# ifndef PROTO# define PROTO# endif# ifndef MODERN# define MODERN# endif#endif#if (defined(CMS_MVS) || defined(__ATHEOS__) || defined(__BEOS__))/* || defined(CONVEX) ? */# ifndef PROTO# define PROTO# endif# ifndef MODERN# define MODERN# endif#endif/* turn off prototypes if requested */#if (defined(NOPROTO) && defined(PROTO))# undef PROTO#endif/* used to remove arguments in function prototypes for non-ANSI C */#ifdef PROTO# define OF(a) a#else# define OF(a) ()#endif/* enable the "const" keyword only if MODERN and if not otherwise instructed */#ifdef MODERN# if (!defined(ZCONST) && (defined(USE_CONST) || !defined(NO_CONST)))# define ZCONST const# endif#endif#ifndef ZCONST# define ZCONST#endif/*--------------------------------------------------------------------------- Grab system-specific public include headers. ---------------------------------------------------------------------------*/#ifdef POCKET_UNZIP /* WinCE port */# include "wince/punzip.h" /* must appear before windows.h */#endif#ifdef WINDLL /* for UnZip, the "basic" part of the win32 api is sufficient */# ifndef WIN32_LEAN_AND_MEAN# define WIN32_LEAN_AND_MEAN# define IZ_HASDEFINED_WIN32LEAN# endif# include <windows.h># include "windll/structs.h"# ifdef IZ_HASDEFINED_WIN32LEAN# undef WIN32_LEAN_AND_MEAN# undef IZ_HASDEFINED_WIN32LEAN# endif#endif/*--------------------------------------------------------------------------- Grab system-dependent definition of EXPENTRY for prototypes below. ---------------------------------------------------------------------------*/#if 0#if (defined(OS2) && !defined(FUNZIP))# ifdef UNZIP_INTERNAL# define INCL_NOPM# define INCL_DOSNLS# define INCL_DOSPROCESS# define INCL_DOSDEVICES# define INCL_DOSDEVIOCTL# define INCL_DOSERRORS# define INCL_DOSMISC# ifdef OS2DLL# define INCL_REXXSAA# include <rexxsaa.h># endif# endif /* UNZIP_INTERNAL */# include <os2.h># define UZ_EXP EXPENTRY#endif /* OS2 && !FUNZIP */#endif /* 0 */#if (defined(OS2) && !defined(FUNZIP))# if (defined(__IBMC__) || defined(__WATCOMC__))# define UZ_EXP _System /* compiler keyword */# else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -