home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2001 June
/
VPR0106A.BIN
/
OLS
/
ZCRYD001
/
zcryd001.lzh
/
SRC
/
TAILOR.H
< prev
next >
Wrap
C/C++ Source or Header
|
1998-06-02
|
7KB
|
381 lines
/* 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_PROTO
char *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_H
char *calloc();
char *malloc();
char *getenv();
long atol();
#endif /* NO_STDLIB_H */
#endif /* NO_PROTO */
#ifndef NO_MKTEMP
char *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 */