|
|
1.1 ! root 1: /* tailor.h -- Not copyrighted 1991 Mark Adler */ ! 2: ! 3: /* const's are inconsistently used across ANSI libraries--kill for all ! 4: header files. */ ! 5: #define const ! 6: ! 7: ! 8: /* Use prototypes and ANSI libraries if __STDC__ */ ! 9: #ifdef __STDC__ ! 10: # ifndef PROTO ! 11: # define PROTO ! 12: # endif /* !PROTO */ ! 13: # define MODERN ! 14: #endif /* __STDC__ */ ! 15: ! 16: ! 17: /* Use prototypes and ANSI libraries if Silicon Graphics */ ! 18: #ifdef sgi ! 19: # ifndef PROTO ! 20: # define PROTO ! 21: # endif /* !PROTO */ ! 22: # define MODERN ! 23: #endif /* sgi */ ! 24: ! 25: ! 26: /* Define MSDOS for Turbo C as well as Microsoft C */ ! 27: #ifdef __POWERC /* For Power C too */ ! 28: # define __TURBOC__ ! 29: #endif /* __POWERC */ ! 30: ! 31: ! 32: /* Use prototypes and ANSI libraries if Microsoft or Borland C */ ! 33: #ifdef MSDOS ! 34: # ifndef PROTO ! 35: # define PROTO ! 36: # endif /* !PROTO */ ! 37: # define MODERN ! 38: #endif /* MSDOS */ ! 39: ! 40: ! 41: /* Turn off prototypes if requested */ ! 42: #ifdef NOPROTO ! 43: # ifdef PROTO ! 44: # undef PROTO ! 45: # endif /* PROTO */ ! 46: #endif /* NOPROT */ ! 47: ! 48: ! 49: /* Used to remove arguments in function prototypes for non-ANSI C */ ! 50: #ifdef PROTO ! 51: # define OF(a) a ! 52: #else /* !PROTO */ ! 53: # define OF(a) () ! 54: #endif /* ?PROTO */ ! 55: ! 56: ! 57: /* Allow far and huge allocation for small model (Microsoft C or Turbo C) */ ! 58: #ifdef MSDOS ! 59: # ifndef DYN_ALLOC ! 60: # define DYN_ALLOC ! 61: # endif ! 62: # ifdef __TURBOC__ ! 63: # include <alloc.h> ! 64: # else /* !__TURBOC__ */ ! 65: # include <malloc.h> ! 66: # define farmalloc _fmalloc ! 67: # define farfree _ffree ! 68: # endif /* ?__TURBOC__ */ ! 69: #else /* !MSDOS */ ! 70: # define huge ! 71: # define far ! 72: # define near ! 73: # define farmalloc malloc ! 74: # define farfree free ! 75: #endif /* ?MSDOS */ ! 76: ! 77: #define fcalloc calloc ! 78: /* Assumes that all arrays are < 64K for MSDOS */ ! 79: ! 80: /* Define MSVMS if either MSDOS or VMS defined */ ! 81: #ifdef MSDOS ! 82: # define MSVMS ! 83: #else /* !MSDOS */ ! 84: # ifdef VMS ! 85: # define MSVMS ! 86: # endif /* VMS */ ! 87: #endif /* ?MSDOS */ ! 88: ! 89: ! 90: /* Define void, voidp, and extent (size_t) */ ! 91: #include <stdio.h> ! 92: #ifdef MODERN ! 93: # if !defined(M_XENIX) && !defined(__GNUC__) ! 94: # include <stddef.h> ! 95: # endif /* !M_XENIX */ ! 96: # include <stdlib.h> ! 97: typedef size_t extent; ! 98: typedef void voidp; ! 99: #else /* !MODERN */ ! 100: typedef unsigned int extent; ! 101: #ifndef M_XENIX ! 102: # define void int ! 103: #endif ! 104: typedef char voidp; ! 105: #endif /* ?MODERN */ ! 106: ! 107: /* Get types and stat */ ! 108: #ifdef VMS ! 109: # include <types.h> ! 110: # include <stat.h> ! 111: #else /* !VMS */ ! 112: # include <sys/types.h> ! 113: # include <sys/stat.h> ! 114: #endif /* ?VMS */ ! 115: ! 116: ! 117: /* Cheap fix for unlink on VMS */ ! 118: #ifdef VMS ! 119: # define unlink delete ! 120: #endif /* VMS */ ! 121: ! 122: ! 123: /* For Pyramid */ ! 124: #ifdef pyr ! 125: # define strrchr rindex ! 126: # define ZMEM ! 127: #endif /* pyr */ ! 128: ! 129: ! 130: /* File operations--use "b" for binary if allowed */ ! 131: #ifdef MODERN ! 132: # define FOPR "rb" ! 133: # define FOPM "r+b" ! 134: # define FOPW "w+b" ! 135: #else /* !MODERN */ ! 136: # define FOPR "r" ! 137: # define FOPM "r+" ! 138: # define FOPW "w+" ! 139: #endif /* ?MODERN */ ! 140: ! 141: ! 142: /* Define this symbol if your target allows access to unaligned data. ! 143: * This is not mandatory, just a speed optimization. The compressed ! 144: * output is strictly identical. ! 145: */ ! 146: #if defined(MSDOS) || defined(M_XENIX) || defined(i386) || defined(mc68020) || defined(vax) ! 147: # define UNALIGNED_OK ! 148: #endif ! 149: ! 150: ! 151: /* Under MSDOS we may run out of memory when processing a large number ! 152: * of files. Compile with MEDIUM_MEM to reduce the memory requirements or ! 153: * with MIN_MEM to use as little memory as possible. ! 154: */ ! 155: #ifdef SMALL_MEM ! 156: # define BSZ 2048 /* Buffer size for files */ ! 157: #else ! 158: #ifdef MEDIUM_MEM ! 159: # define BSZ 8192 ! 160: #else ! 161: # define BSZ 16384 ! 162: #endif ! 163: #endif ! 164: ! 165: /* end of tailor.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.