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

📄 amiga.h

📁 压缩解压,是unzip540的升级,这个外国网站摘来的源码,是evb编写.
💻 H
字号:
/*  Copyright (c) 1990-2001 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*//* amiga.h * * Globular definitions that affect all of AmigaDom. * * Originally included in unzip.h, extracted for simplicity and eeze of * maintenance by John Bush. * * THIS FILE IS #INCLUDE'd by unzpriv.h * */#ifndef __amiga_amiga_h#define __amiga_amiga_h#include "amiga/z-stat.h"     /* substitute for <stat.h> and <direct.h> */#include <limits.h>#ifndef NO_FCNTL_H#  include <fcntl.h>#else   int mkdir(const char *_name);#endif#ifdef AZTEC_C                       /* Manx Aztec C, 5.0 or newer only */#  include <clib/dos_protos.h>#  include <pragmas/dos_lib.h>           /* do inline dos.library calls */#  define O_BINARY 0#  define direct dirent#  ifndef IZTZ_DEFINESTDGLOBALS#    define IZTZ_DEFINESTDGLOBALS#  endif#  define DECLARE_TIMEZONE#  define ASM_INFLATECODES#  define ASM_CRC   /* This compiler environment supplies a flat 32-bit address space    */   /* where C rtl functions are capable of handling large (32-bit-wide) */   /* allocations and I/O.  But, for speed on old 68000 CPUs, standard  */   /* ints are 16-bits wide per default.  ("size_t" is defined as       */   /* "unsigned long" in this case.)  The Deflate64 support requires    */   /* the variables for handling the decompression buffer to hold       */   /* 32-bit wide integers.  The INT_16BIT symbol defined below forces  */   /* the declarations of these variables to use "unsigned long" type.  */#  ifndef _INT32#    define INT_16BIT                   /* or deflate64 stuff will fail */#  endif/* Note that defining REENTRANT will not eliminate all global/static *//* variables.  The functions we use from c.lib, including stdio, are *//* not reentrant.  Neither are the stuff in amiga/stat.c or the time *//* functions in amiga/filedate.c, because they just augment c.lib.   *//* If you want a fully reentrant and reexecutable "pure" UnZip with  *//* Aztec C, assemble and link in the startup module purify.a by Paul *//* Kienitz.  REENTRANT should be used just to reduce memory waste.   */#endif /* AZTEC_C */#ifdef __SASC/* includes */#  include <sys/types.h>#  include <sys/dir.h>#  include <dos.h>#  include <exec/memory.h>#  include <exec/execbase.h>#  if (defined(_M68020) && (!defined(__USE_SYSBASE)))                            /* on 68020 or higher processors it is faster   */#    define __USE_SYSBASE   /* to use the pragma libcall instead of syscall */#  endif                    /* to access functions of the exec.library      */#  include <proto/exec.h>   /* see SAS/C manual:part 2,chapter 2,pages 6-7  */#  include <proto/dos.h>#  include <proto/locale.h>#  ifdef DEBUG#    include <sprof.h>      /* profiler header file */#  endif#  if ( (!defined(O_BINARY)) && defined(O_RAW))#    define O_BINARY O_RAW#  endif#  if (defined(_SHORTINT) && !defined(USE_FWRITE))#    define USE_FWRITE      /* define if write() returns 16-bit int */#  endif#  if (!defined(REENTRANT) && !defined(FUNZIP))#    define REENTRANT      /* define if unzip is going to be pure */#  endif#  if defined(REENTRANT) && defined(DYNALLOC_CRCTAB)#    undef DYNALLOC_CRCTAB#  endif#  ifdef MWDEBUG#    include <stdio.h>      /* both stdio.h and stdlib.h must be included */#    include <stdlib.h>     /* before memwatch.h                          */#    include "memwatch.h"#    undef getenv#  endif /* MWDEBUG */#  ifndef IZTZ_SETLOCALTZINFO     /*  XXX !!  We have really got to find a way to operate without these. */#    define IZTZ_SETLOCALTZINFO#  endif#endif /* SASC */#define MALLOC_WORK#define USE_EF_UT_TIME#if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP))#  define TIMESTAMP#endif#ifndef IZTZ_GETLOCALETZINFO#  define IZTZ_GETLOCALETZINFO GetPlatformLocalTimezone#endif/* the amiga port uses Info-ZIP's own timezone library, which includes * a "working" mktime() implementation */#ifndef HAVE_MKTIME#  define HAVE_MKTIME#endif/* check that TZ environment variable is defined before using UTC times */#if (!defined(NO_IZ_CHECK_TZ) && !defined(IZ_CHECK_TZ))#  define IZ_CHECK_TZ#endif#define AMIGA_FILENOTELEN 80#ifndef DATE_FORMAT#  define DATE_FORMAT     DF_MDY#endif#define lenEOL            1#define PutNativeEOL      *q++ = native(LF);#define PIPE_ERROR        0#ifdef GLOBAL         /* crypt.c usage conflicts with AmigaDOS headers */#  undef GLOBAL#endif/* Funkshine Prough Toe Taipes */extern int real_timezone_is_set;void tzset(void);#define VALID_TIMEZONE(tempvar) (tzset(), real_timezone_is_set)int Agetch(void);               /* getch() like function, in amiga/filedate.c */LONG FileDate(char *, time_t[]);int screensize(int *ttrows, int *ttcols);void _abort(void);              /* ctrl-C trap */#define SCREENSIZE(ttrows, ttcols) screensize(ttrows, ttcols)#define SCREENWIDTH 80#define SCREENLWRAP 1#define TABSIZE     8/* Static variables that we have to add to Uz_Globs: */#define SYSTEM_SPECIFIC_GLOBALS \    int filenote_slot;\    char *(filenotes[DIR_BLKSIZ]);\    int created_dir, renamed_fullpath, rootlen;\    char *rootpath, *buildpath, *build_end;\    DIR *wild_dir;\    ZCONST char *wildname;\    char *dirname, matchname[FILNAMSIZ];\    int dirnamelen, notfirstcall;/* filenotes[] and filenote_slot are for the -N option that restores      *//*    comments of Zip archive entries as AmigaDOS filenotes.  The others  *//*    are used by functions in amiga/amiga.c only.                        *//* created_dir and renamed_fullpath are used by mapname() and checkdir(). *//* rootlen, rootpath, buildpath, and build_end are used by checkdir().    *//* wild_dir, dirname, wildname, matchname[], dirnamelen and notfirstcall  *//*    are used by do_wild().                                              */#endif /* __amiga_amiga_h */

⌨️ 快捷键说明

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