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

📄 tailor.h

📁 infozip2.2源码
💻 H
字号:
/* tailor.h -- Not copyrighted 1993 Mark Adler */#ifdef AMIGA#include "amiga/osdep.h"#endif#ifdef AOSVS#include "aosvs/osdep.h"#endif#ifdef ATARI#include "atari/osdep.h"#endif#ifdef __BEOS__#include "beos/osdep.h"#endif#ifdef DOS#include "msdos/osdep.h"#endif#ifdef __human68k__#include "human68k/osdep.h"#endif#ifdef OS2#include "os2/osdep.h"#endif#ifdef __riscos#include "acorn/osdep.h"#endif#ifdef QDOS#include "qdos/osdep.h"#endif#ifdef __TANDEM#include "tandem.h"#endif#ifdef UNIX#include "unix/osdep.h"#endif#if defined(__COMPILER_KCC__) || defined(TOPS20)#include "tops20/osdep.h"#endif#if defined(VMS) || defined(__VMS)#include "vms/osdep.h"#endif#if defined(VM_CMS) || defined(MVS)#include "cmsmvs.h"#endif#ifdef WIN32#include "win32/osdep.h"#endif/* When "void" is an alias for "int", prototypes cannot be used. */#if (defined(NO_VOID) && !defined(NO_PROTO))#  define NO_PROTO#endif/* Used to remove arguments in function prototypes for non-ANSI C */#ifndef NO_PROTO#  define OF(a) a#else /* NO_PROTO */#  define OF(a) ()#endif /* ?NO_PROTO *//* Avoid using const if compiler does not support it */#if (!defined(ZCONST) && (!defined(NO_CONST) || defined(USE_CONST)))#  define ZCONST const#endif#ifndef ZCONST#  define ZCONST#endif/* * case mapping functions. case_map is used to ignore case in comparisons, * to_up is used to force upper case even on Unix (for dosify option). */#ifdef USE_CASE_MAP#  define case_map(c) upper[(c) & 0xff]#  define to_up(c)    upper[(c) & 0xff]#else#  define case_map(c) (c)#  define to_up(c)    ((c) >= 'a' && (c) <= 'z' ? (c)-'a'+'A' : (c))#endif /* USE_CASE_MAP *//* Define void, zvoid, and extent (size_t) */#include <stdio.h>#ifndef NO_STDDEF_H#  include <stddef.h>#endif /* !NO_STDDEF_H */#ifndef NO_STDLIB_H#  include <stdlib.h>#endif /* !NO_STDLIB_H */#ifndef NO_UNISTD_H#  include <unistd.h> /* usually defines _POSIX_VERSION */#endif /* !NO_UNISTD_H */#ifndef NO_FCNTL_H#  include <fcntl.h>#endif /* !NO_FNCTL_H */#ifndef NO_STRING_H#  include <string.h>#else#  include <strings.h>#endif /* NO_STRING_H */#ifdef NO_VOID#  define void int   typedef char zvoid;#else /* !NO_VOID */# ifdef NO_TYPEDEF_VOID#  define zvoid void# else   typedef void zvoid;# endif#endif /* ?NO_VOID */#ifdef NO_STRRCHR#  define strrchr rindex#endif#ifdef NO_STRCHR#  define strchr index#endif/* * A couple of forward declarations that are needed on systems that do * not supply C runtime library prototypes. */#ifdef NO_PROTOchar *strcpy();char *strcat();char *strrchr();/* XXX use !defined(ZMEM) && !defined(__hpux__) ? */#if !defined(ZMEM) && defined(NO_STRING_H)char *memset();char *memcpy();#endif /* !ZMEM && NO_STRING_H *//* XXX use !defined(__hpux__) ? */#ifdef NO_STDLIB_Hchar *calloc();char *malloc();char *getenv();long atol();#endif /* NO_STDLIB_H */#endif /* NO_PROTO */#ifndef NO_MKTEMPchar *mktemp();#endif /* !NO_MKTEMP *//* * SEEK_* macros, should be defined in stdio.h *//* Define fseek() commands */#ifndef SEEK_SET#  define SEEK_SET 0#endif /* !SEEK_SET */#ifndef SEEK_CUR#  define SEEK_CUR 1#endif /* !SEEK_CUR */#ifndef FALSE#  define FALSE 0#endif#ifndef TRUE#  define TRUE 1#endif#ifdef NO_SIZE_T   typedef unsigned int extent;#else   typedef size_t extent;#endif#ifdef NO_TIME_T   typedef long time_t;#endif/* System independent replacement for "struct utimbuf", which is missing * in many older OS environments. */typedef struct ztimbuf {    time_t actime;              /* new access time */    time_t modtime;             /* new modification time */} ztimbuf;/* This macro round a time_t value to the OS specific resolution */#ifndef ROUNDED_TIME#  define ROUNDED_TIME(time)   (time)#endif/* Some systems define S_IFLNK but do not support symbolic links */#if defined (S_IFLNK) && defined(NO_SYMLINK)#  undef S_IFLNK#endif#ifndef FOPR    /* fallback default definitions for FOPR, FOPM, FOPW: */#  define FOPR "r"#  define FOPM "r+"#  define FOPW "w"#endif /* fallback definition *//* Open the old zip file in exclusive mode if possible (to avoid adding * zip file to itself). */#ifdef OS2#  define FOPR_EX FOPM#else#  define FOPR_EX FOPR#endif/* MDOS file attribute for directories */#define MSDOS_DIR_ATTR 0x10/* Define this symbol if your target allows access to unaligned data. * This is not mandatory, just a speed optimization. The compressed * output is strictly identical. */#if (defined(MSDOS) && !defined(WIN32)) || defined(i386)#    define UNALIGNED_OK#endif#if defined(mc68020) || defined(vax)#    define UNALIGNED_OK#endif#ifdef SMALL_MEM#   define CBSZ 2048 /* buffer size for copying files */#   define ZBSZ 2048 /* buffer size for temporary zip file */#endif#ifdef MEDIUM_MEM#  define CBSZ 8192#  define ZBSZ 8192#endif#ifndef CBSZ#  define CBSZ 16384#  define ZBSZ 16384#endif#ifndef MEMORY16#  ifdef __WATCOMC__#    undef huge#    undef far#    undef near#  endif#  ifndef __IBMC__#    define huge#    define far#    define near#  endif#  define nearmalloc malloc#  define nearfree free#  define farmalloc malloc#  define farfree free#endif /* !MEMORY16 */#if (defined(BIG_MEM) || defined(MMAP)) && !defined(DYN_ALLOC)#   define DYN_ALLOC#endif#ifndef SSTAT#  define SSTAT      stat#endif#ifdef S_IFLNK#  define LSTAT      lstat#  define LSSTAT(n, s)  (linkput ? lstat((n), (s)) : SSTAT((n), (s)))#else#  define LSTAT      SSTAT#  define LSSTAT     SSTAT#endif/* The following default definition of the second input for the crypthead() * random seed computation can be used on most systems (all those that * supply a UNIX compatible getpid() function). */#ifdef ZCRYPT_INTERNAL#  ifndef ZCR_SEED2#    define ZCR_SEED2     (unsigned) getpid()   /* use PID as seed pattern */#  endif#endif /* ZCRYPT_INTERNAL *//* The following OS codes are defined in pkzip appnote.txt */#ifdef AMIGA#  define OS_CODE  0x100#endif#ifdef VMS#  define OS_CODE  0x200#endif/* unix    3 */#ifdef VM_CMS#  define OS_CODE  0x400#endif#ifdef ATARI#  define OS_CODE  0x500#endif#ifdef OS2#  define OS_CODE  0x600#endif#ifdef MACOS#  define OS_CODE  0x700#endif/* z system 8 *//* cp/m     9 */#ifdef TOPS20#  define OS_CODE  0xa00#endif#ifdef WIN32#  define OS_CODE  0xb00#endif#ifdef QDOS#  define OS_CODE  0xc00#endif#ifdef RISCOS#  define OS_CODE  0xd00#endif#ifdef VFAT#  define OS_CODE  0xe00#endif#ifdef MVS#  define OS_CODE  0xf00#endif#ifdef __BEOS__#  define OS_CODE  0x1000#endif#ifdef TANDEM#  define OS_CODE  0x1100#endif#define NUM_HOSTS 18/* Number of operating systems. Should be updated when new ports are made */#if defined(DOS) && !defined(OS_CODE)#  define OS_CODE  0x000#endif#ifndef OS_CODE#  define OS_CODE  0x300  /* assume Unix */#endif/* can't use "return 0" from main() on VMS */#ifndef EXIT#  define EXIT  exit#endif#ifndef RETURN#  define RETURN return#endif#ifndef ZIPERR#  define ZIPERR ziperr#endif#ifndef MY_ZCALLOC /* Any system without a special calloc function */#  define zcalloc(items,size) \          (zvoid far *)calloc((unsigned)(items), (unsigned)(size))#  define zcfree    free#endif /* !MY_ZCALLOC *//* end of tailor.h */

⌨️ 快捷键说明

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