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

📄 unzpriv.h

📁 zip压缩
💻 H
📖 第 1 页 / 共 5 页
字号:
/*  Copyright (c) 1990-2002 Info-ZIP.  All rights reserved.  See the accompanying file LICENSE, version 2000-Apr-09 or later  (the contents of which are also included in unzip.h) for terms of use.  If, for some reason, all these files are missing, the Info-ZIP license  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html*//*---------------------------------------------------------------------------  unzpriv.h  This header file contains private (internal) macros, typedefs, prototypes  and global-variable declarations used by all of the UnZip source files.  In a prior life it was part of the main unzip.h header, but now it is only  included by that header if UNZIP_INTERNAL is defined.  ---------------------------------------------------------------------------*/#ifndef __unzpriv_h   /* prevent multiple inclusions */#define __unzpriv_h/* First thing: Signal all following code that we compile UnZip utilities! */#ifndef UNZIP#  define UNZIP#endif/* GRR 960204:  MORE defined here in preparation for removal altogether */#ifndef MORE# ifndef RISCOS#  define MORE# endif#endif/* fUnZip should never need to be reentrant */#ifdef FUNZIP#  ifdef REENTRANT#    undef REENTRANT#  endif#  ifdef DLL#    undef DLL#  endif#  ifdef SFX    /* fUnZip is NOT the sfx stub! */#    undef SFX#  endif#endif#ifdef NO_DEFLATE64   /* disable support for Deflate64(tm) */#  ifdef USE_DEFLATE64#    undef USE_DEFLATE64#  endif#else   /* enable Deflate64(tm) support unless compiling for SFX stub */#  if (!defined(USE_DEFLATE64) && !defined(SFX))#    define USE_DEFLATE64#  endif#endif#if (defined(NO_VMS_TEXT_CONV) || defined(VMS))#  ifdef VMS_TEXT_CONV#    undef VMS_TEXT_CONV#  endif#else#  if (!defined(VMS_TEXT_CONV) && !defined(SFX))#    define VMS_TEXT_CONV#  endif#endif#if (defined(DLL) && !defined(REENTRANT))#  define REENTRANT#endif#if (!defined(DYNAMIC_CRC_TABLE) && !defined(FUNZIP))#  define DYNAMIC_CRC_TABLE#endif#if (defined(DYNAMIC_CRC_TABLE) && !defined(REENTRANT))#  ifndef DYNALLOC_CRCTAB#    define DYNALLOC_CRCTAB#  endif#endif/*---------------------------------------------------------------------------    OS-dependent configuration for UnZip internals  ---------------------------------------------------------------------------*//* bad or (occasionally?) missing stddef.h: */#if (defined(M_XENIX) || defined(DNIX))#  define NO_STDDEF_H#endif#if (defined(M_XENIX) && !defined(M_UNIX))   /* SCO Xenix only, not SCO Unix */#  define SCO_XENIX#  define NO_LIMITS_H        /* no limits.h, but MODERN defined */#  define NO_UID_GID         /* no uid_t/gid_t */#  define size_t int#endif#ifdef realix   /* Modcomp Real/IX, real-time SysV.3 variant */#  define SYSV#  define NO_UID_GID         /* no uid_t/gid_t */#endif#if (defined(_AIX) && !defined(_ALL_SOURCE))#  define _ALL_SOURCE#endif#if defined(apollo)          /* defines __STDC__ */#    define NO_STDLIB_H#endif#ifdef DNIX#  define SYSV#  define SHORT_NAMES         /* 14-char limitation on path components *//* #  define FILENAME_MAX  14 */#  define FILENAME_MAX  NAME_MAX    /* GRR:  experiment */#endif#if (defined(SYSTEM_FIVE) || defined(__SYSTEM_FIVE))#  ifndef SYSV#    define SYSV#  endif#endif /* SYSTEM_FIVE || __SYSTEM_FIVE */#if (defined(M_SYSV) || defined(M_SYS5))#  ifndef SYSV#    define SYSV#  endif#endif /* M_SYSV || M_SYS5 *//* __SVR4 and __svr4__ catch Solaris on at least some combos of compiler+OS */#if (defined(__SVR4) || defined(__svr4__) || defined(sgi) || defined(__hpux))#  ifndef SYSV#    define SYSV#  endif#endif /* __SVR4 || __svr4__ || sgi || __hpux */#if (defined(LINUX) || defined(__QNX__))#  ifndef SYSV#    define SYSV#  endif#endif /* LINUX || __QNX__ */#if (defined(ultrix) || defined(__ultrix) || defined(bsd4_2))#  if (!defined(BSD) && !defined(SYSV))#    define BSD#  endif#endif /* ultrix || __ultrix || bsd4_2 */#if (defined(sun) || defined(pyr) || defined(CONVEX))#  if (!defined(BSD) && !defined(SYSV))#    define BSD#  endif#endif /* sun || pyr || CONVEX */#ifdef pyr  /* Pyramid:  has BSD and AT&T "universes" */#  ifdef BSD#    define pyr_bsd#    define USE_STRINGS_H  /* instead of more common string.h */#    define ZMEM           /* ZMEM now uses bcopy/bzero: not in AT&T universe */#  endif                   /* (AT&T memcpy claimed to be very slow, though) */#  define DECLARE_ERRNO#endif /* pyr *//* stat() bug for Borland, VAX C RTL, and Atari ST MiNT on TOS * filesystems:  returns 0 for wildcards!  (returns 0xffffffff on Minix * filesystem or `U:' drive under Atari MiNT.)  Watcom C was previously * included on this list; it would be good to know what version the problem * was fixed at, if it did exist.  */#if (defined(__TURBOC__) || defined(VMS) || defined(__MINT__))#  define WILD_STAT_BUG#endif/*---------------------------------------------------------------------------    OS-dependent includes  ---------------------------------------------------------------------------*/#ifdef EFT#  define LONGINT off_t  /* Amdahl UTS nonsense ("extended file types") */#else#  define LONGINT long#endif#ifdef MODERN#  ifndef NO_STDDEF_H#    include <stddef.h>#  endif#  ifndef NO_STDLIB_H#    include <stdlib.h>  /* standard library prototypes, malloc(), etc. */#  endif   typedef size_t extent;#else /* !MODERN */#  ifndef AOS_VS         /* mostly modern? */     LONGINT lseek();#    ifdef VAXC          /* not fully modern, but does have stdlib.h and void */#      include <stdlib.h>#    else       char *malloc();#    endif /* ?VAXC */#  endif /* !AOS_VS */   typedef unsigned int extent;#endif /* ?MODERN */#ifndef MINIX            /* Minix needs it after all the other includes (?) */#  include <stdio.h>#endif#include <ctype.h>       /* skip for VMS, to use tolower() function? */#include <errno.h>       /* used in mapname() */#ifdef USE_STRINGS_H#  include <strings.h>   /* strcpy, strcmp, memcpy, index/rindex, etc. */#else#  include <string.h>    /* strcpy, strcmp, memcpy, strchr/strrchr, etc. */#endif#if (defined(MODERN) && !defined(NO_LIMITS_H))#  include <limits.h>    /* GRR:  EXPERIMENTAL!  (can be deleted) */#endif/* this include must be down here for SysV.4, for some reason... */#include <signal.h>      /* used in unzip.c, fileio.c *//*---------------------------------------------------------------------------    API (DLL) section:  ---------------------------------------------------------------------------*/#ifdef DLL#  define MAIN   UZ_EXP UzpMain   /* was UzpUnzip */#  ifdef OS2DLL#    undef Info#    define REDIRECTC(c)             varputchar(__G__ c)#    define REDIRECTPRINT(buf,size)  varmessage(__G__ buf, size)#    define FINISH_REDIRECT()        finish_REXX_redirect(__G)#  else#    define REDIRECTC(c)#    define REDIRECTPRINT(buf,size)  0#    define FINISH_REDIRECT()        close_redirect(__G)#  endif#endif/*---------------------------------------------------------------------------    Acorn RISCOS section:  ---------------------------------------------------------------------------*/#ifdef RISCOS#  include "acorn/riscos.h"#endif/*---------------------------------------------------------------------------    Amiga section:  ---------------------------------------------------------------------------*/#ifdef AMIGA#  include "amiga/amiga.h"#endif/*---------------------------------------------------------------------------    AOS/VS section (somewhat similar to Unix, apparently):  ---------------------------------------------------------------------------*/#ifdef AOS_VS#  ifdef __FILEIO_C#    include "aosvs/aosvs.h"#  endif#endif/*---------------------------------------------------------------------------    Atari ST section:  ---------------------------------------------------------------------------*/#ifdef ATARI#  include <time.h>#  include <stat.h>#  include <fcntl.h>#  include <limits.h>#  define SYMLINKS#  define EXE_EXTENSION  ".tos"#  ifndef DATE_FORMAT#    define DATE_FORMAT  DF_DMY#  endif#  define DIR_END        '/'#  define INT_SPRINTF#  define timezone      _timezone#  define lenEOL        2#  define PutNativeEOL  {*q++ = native(CR); *q++ = native(LF);}#  undef SHORT_NAMES#  if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP))#    define TIMESTAMP#  endif#endif/*---------------------------------------------------------------------------    BeOS section:  ---------------------------------------------------------------------------*/#ifdef __BEOS__#  include <sys/types.h>          /* [cjh]:  This is pretty much a generic  */#  include <sys/stat.h>           /* POSIX 1003.1 system; see beos/ for     */#  include <fcntl.h>              /* extra code to deal with our extra file */#  include <sys/param.h>          /* attributes. */#  include <unistd.h>#  include <utime.h>#  define DIRENT#  include <time.h>#  ifndef DATE_FORMAT#    define DATE_FORMAT DF_MDY  /* GRR:  customize with locale.h somehow? */#  endif#  define lenEOL        1#  define PutNativeEOL  *q++ = native(LF);#  define SCREENSIZE(ttrows, ttcols)  screensize(ttrows, ttcols)#  define SCREENWIDTH 80#  define USE_EF_UT_TIME#  define SET_DIR_ATTRIB#  if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP))#    define TIMESTAMP#  endif#  define RESTORE_UIDGID#  define NO_STRNICMP             /* not in the x86 headers at least */#  define INT_SPRINTF#  define SYMLINKS#  define MAIN main_stub          /* now that we're using a wrapper... */#endif/*---------------------------------------------------------------------------    Human68k/X680x0 section:  ---------------------------------------------------------------------------*/#ifdef __human68k__   /* DO NOT DEFINE DOS_OS2 HERE!  If Human68k is so much */   /*  like MS-DOS and/or OS/2, create DOS_H68_OS2 macro. */#  ifndef _MBCS#    define _MBCS#  endif#  include <time.h>#  include <fcntl.h>#  include <io.h>#  include <conio.h>#  include <sys/stat.h>#  ifdef HAVE_MBSTRING_H#    include <mbstring.h>#  endif#  ifdef HAVE_MBCTYPE_H#    include <mbctype.h>#  else#    ifndef _ismbblead#      define _ismbblead(c) (0x80 <= (c) && ((c) < 0xa0 || 0xe0 <= (c)))#    endif#  endif#  ifndef DATE_FORMAT#    define DATE_FORMAT DF_YMD   /* Japanese standard */#  endif#  define lenEOL        1#  define PutNativeEOL  *q++ = native(LF);#  define INT_SPRINTF#  define SYMLINKS#  ifdef SFX#    define MAIN main_sfx#  endif#endif/*---------------------------------------------------------------------------    Mac section:  ---------------------------------------------------------------------------*/#ifdef MACOS#  include "maccfg.h"#endif /* MACOS *//*---------------------------------------------------------------------------    MS-DOS, OS/2, FLEXOS section:  ---------------------------------------------------------------------------*/#ifdef WINDLL#  ifdef MORE#    undef MORE#  endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -