⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unzip.h

📁 压缩解压,是unzip540的升级,这个外国网站摘来的源码,是evb编写.
💻 H
📖 第 1 页 / 共 2 页
字号:
/*---------------------------------------------------------------------------  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 + -