| 
							- /*
 -   Copyright (c) 1990-2009 Info-ZIP.  All rights reserved.
 - 
 -   See the accompanying file LICENSE, version 2009-Jan-02 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
 - */
 - /*---------------------------------------------------------------------------
 -     Unix specific configuration section:
 -   ---------------------------------------------------------------------------*/
 - 
 - #ifndef __unxcfg_h
 - #define __unxcfg_h
 - 
 - 
 - /* LARGE FILE SUPPORT - 10/6/04 EG */
 - /* This needs to be set before the includes so they set the right sizes */
 - 
 - #if (defined(NO_LARGE_FILE_SUPPORT) && defined(LARGE_FILE_SUPPORT))
 - #  undef LARGE_FILE_SUPPORT
 - #endif
 - 
 - /* Automatically set ZIP64_SUPPORT if LFS */
 - #ifdef LARGE_FILE_SUPPORT
 - # if (!defined(NO_ZIP64_SUPPORT) && !defined(ZIP64_SUPPORT))
 - #   define ZIP64_SUPPORT
 - # endif
 - #endif
 - 
 - /* NO_ZIP64_SUPPORT takes preceedence over ZIP64_SUPPORT */
 - #if defined(NO_ZIP64_SUPPORT) && defined(ZIP64_SUPPORT)
 - #  undef ZIP64_SUPPORT
 - #endif
 - 
 - #ifdef LARGE_FILE_SUPPORT
 -   /* 64-bit Large File Support */
 - 
 -   /* The following Large File Summit (LFS) defines turn on large file support
 -      on Linux (probably 2.4 or later kernel) and many other unixen */
 - 
 -   /* These have to be before any include that sets types so the large file
 -      versions of the types are set in the includes */
 - 
 - # define _LARGEFILE_SOURCE      /* some OSes need this for fseeko */
 - # define _LARGEFILE64_SOURCE
 - # define _FILE_OFFSET_BITS 64   /* select default interface as 64 bit */
 - # define _LARGE_FILES           /* some OSes need this for 64-bit off_t */
 - # define __USE_LARGEFILE64
 - #endif /* LARGE_FILE_SUPPORT */
 - 
 - 
 - #include <sys/types.h>          /* off_t, time_t, dev_t, ... */
 - #include <sys/stat.h>
 - 
 - #ifdef NO_OFF_T
 -   typedef long zoff_t;
 - #else
 -   typedef off_t zoff_t;
 - #endif
 - #define ZOFF_T_DEFINED
 - typedef struct stat z_stat;
 - #define Z_STAT_DEFINED
 - 
 - #ifndef COHERENT
 - #  include <fcntl.h>            /* O_BINARY for open() w/o CR/LF translation */
 - #else /* COHERENT */
 - #  ifdef _I386
 - #    include <fcntl.h>          /* Coherent 4.0.x, Mark Williams C */
 - #  else
 - #    include <sys/fcntl.h>      /* Coherent 3.10, Mark Williams C */
 - #  endif
 - #  define SHORT_SYMS
 - #  ifndef __COHERENT__          /* Coherent 4.2 has tzset() */
 - #    define tzset  settz
 - #  endif
 - #endif /* ?COHERENT */
 - 
 - #ifndef NO_PARAM_H
 - #  ifdef NGROUPS_MAX
 - #    undef NGROUPS_MAX      /* SCO bug:  defined again in <sys/param.h> */
 - #  endif
 - #  ifdef BSD
 - #    define TEMP_BSD        /* may be defined again in <sys/param.h> */
 - #    undef BSD
 - #  endif
 - #  include <sys/param.h>    /* conflict with <sys/types.h>, some systems? */
 - #  ifdef TEMP_BSD
 - #    undef TEMP_BSD
 - #    ifndef BSD
 - #      define BSD
 - #    endif
 - #  endif
 - #endif /* !NO_PARAM_H */
 - 
 - #ifdef __osf__
 - #  define DIRENT
 - #  ifdef BSD
 - #    undef BSD
 - #  endif
 - #endif /* __osf__ */
 - 
 - #ifdef __CYGWIN__
 - #  include <unistd.h>
 - #  define DIRENT
 - #  define HAVE_TERMIOS_H
 - #  ifndef timezone
 - #    define timezone _timezone
 - #  endif
 - #endif
 - 
 - #ifdef BSD
 - #  include <sys/time.h>
 - #  include <sys/timeb.h>
 - #  if (defined(_AIX) || defined(__GLIBC__) || defined(__GNU__))
 - #    include <time.h>
 - #  endif
 - #else
 - #  include <time.h>
 -    struct tm *gmtime(), *localtime();
 - #endif
 - 
 - #if (defined(BSD4_4) || (defined(SYSV) && defined(MODERN)))
 - #  include <unistd.h>           /* this includes utime.h on SGIs */
 - #  if (defined(BSD4_4) || defined(linux) || defined(__GLIBC__))
 - #    include <utime.h>
 - #    define GOT_UTIMBUF
 - #  endif
 - #  if (!defined(GOT_UTIMBUF) && (defined(__hpux) || defined(__SUNPRO_C)))
 - #    include <utime.h>
 - #    define GOT_UTIMBUF
 - #  endif
 - #  if (!defined(GOT_UTIMBUF) && defined(__GNU__))
 - #    include <utime.h>
 - #    define GOT_UTIMBUF
 - #  endif
 - #endif
 - #if (defined(__DGUX__) && !defined(GOT_UTIMBUF))
 -    /* DG/UX requires this because of a non-standard struct utimebuf */
 - #  include <utime.h>
 - #  define GOT_UTIMBUF
 - #endif
 - 
 - #if (defined(V7) || defined(pyr_bsd))
 - #  define strchr   index
 - #  define strrchr  rindex
 - #endif
 - #ifdef V7
 - #  define O_RDONLY 0
 - #  define O_WRONLY 1
 - #  define O_RDWR   2
 - #endif
 - 
 - #if defined(NO_UNICODE_SUPPORT) && defined(UNICODE_SUPPORT)
 -    /* disable Unicode (UTF-8) support when requested */
 - #  undef UNICODE_SUPPORT
 - #endif
 - 
 - #if (defined(_MBCS) && defined(NO_MBCS))
 -    /* disable MBCS support when requested */
 - #  undef _MBCS
 - #endif
 - 
 - #if (!defined(NO_SETLOCALE) && !defined(_MBCS))
 - # if (!defined(UNICODE_SUPPORT) || !defined(UTF8_MAYBE_NATIVE))
 -    /* enable setlocale here, unless this happens later for UTF-8 and/or
 -     * MBCS support */
 - #  include <locale.h>
 - #  ifndef SETLOCALE
 - #    define SETLOCALE(category, locale) setlocale(category, locale)
 - #  endif
 - # endif
 - #endif
 - #ifndef NO_SETLOCALE
 - # if (!defined(NO_WORKING_ISPRINT) && !defined(HAVE_WORKING_ISPRINT))
 -    /* enable "enhanced" unprintable chars detection in fnfilter() */
 - #  define HAVE_WORKING_ISPRINT
 - # endif
 - #endif
 - 
 - #ifdef MINIX
 - #  include <stdio.h>
 - #endif
 - #if (!defined(HAVE_STRNICMP) & !defined(NO_STRNICMP))
 - #  define NO_STRNICMP
 - #endif
 - #ifndef DATE_FORMAT
 - #  define DATE_FORMAT DF_MDY    /* GRR:  customize with locale.h somehow? */
 - #endif
 - #define lenEOL          1
 - #ifdef EBCDIC
 - #  define PutNativeEOL  *q++ = '\n';
 - #else
 - #  define PutNativeEOL  *q++ = native(LF);
 - #endif
 - #define SCREENSIZE(ttrows, ttcols)  screensize(ttrows, ttcols)
 - #define SCREENWIDTH     80
 - #define SCREENLWRAP     1
 - #define USE_EF_UT_TIME
 - #if (!defined(NO_LCHOWN) || !defined(NO_LCHMOD))
 - #  define SET_SYMLINK_ATTRIBS
 - #endif
 - #ifdef MTS
 - #  ifdef SET_DIR_ATTRIB
 - #    undef SET_DIR_ATTRIB
 - #  endif
 - #else /* !MTS */
 - #  define SET_DIR_ATTRIB
 - #  if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP))   /* GRR 970513 */
 - #    define TIMESTAMP
 - #  endif
 - #  define RESTORE_UIDGID
 - #endif /* ?MTS */
 - 
 - /* Static variables that we have to add to Uz_Globs: */
 - #define SYSTEM_SPECIFIC_GLOBALS \
 -     int created_dir, renamed_fullpath;\
 -     char *rootpath, *buildpath, *end;\
 -     ZCONST char *wildname;\
 -     char *dirname, matchname[FILNAMSIZ];\
 -     int rootlen, have_dirname, dirnamelen, notfirstcall;\
 -     zvoid *wild_dir;
 - 
 - /* created_dir, and renamed_fullpath are used by both mapname() and    */
 - /*    checkdir().                                                      */
 - /* rootlen, rootpath, buildpath and end are used by checkdir().        */
 - /* wild_dir, dirname, wildname, matchname[], dirnamelen, have_dirname, */
 - /*    and notfirstcall are used by do_wild().                          */
 - 
 - #endif /* !__unxcfg_h */
 
 
  |