home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / compress / zoosrc20.zoo / zoomem.h < prev    next >
C/C++ Source or Header  |  1989-07-25  |  3KB  |  82 lines

  1. /* @(#) zoomem.h 2.1 87/12/25 12:26:18 */
  2.  
  3. /*
  4. The contents of this file are hereby released to the public domain.
  5.  
  6.                            -- Rahul Dhesi 1986/11/14
  7.  
  8. Defines parameters used for memory allocation.  
  9.  
  10.    Xenix notes:  Under Xenix release 3.0 on an Intel 310 machine with an
  11.    80286 cpu, memory is very tight when the small memory model is used. 
  12.    Ooz won't fit if the buffers are 2 K for input and 6 K for output.  
  13.    It does fit if both input and output buffers are 1 K each.  Under
  14.    the large memory model there is no problem.  Zoo requires the large
  15.    memory model.
  16.  
  17.    AT&T 3B2:  There seem to be no problem at all.  Buffers can always
  18.    be 8192 each.
  19. */
  20.  
  21. #ifdef OOZ
  22. #define  IN_BUF_SIZE       8192
  23. #define  OUT_BUF_SIZE      8192
  24. #else
  25. #define  IN_BUF_SIZE       8192
  26. #define  OUT_BUF_SIZE      8192
  27. #endif
  28.  
  29. #define  MEM_BLOCK_SIZE    (IN_BUF_SIZE + OUT_BUF_SIZE)
  30.  
  31. /* 
  32. LIST_SIZE is the size of the list built by Zoo to hold all filenames
  33. encountered in an archive.  This is used to know when to replace an
  34. already existing file.  The date and time stored with the filename is
  35. used in comparisons when an archive update has been requested.  To 
  36. add a file to an archive, the archive must not already have more than
  37. LIST_SIZE files in it.
  38.  
  39. ZOOCOUNT is the number of archive names that may be matched by the
  40. archive filespec specified for a list.
  41.  
  42. MAXADD is the number of filenames that may be added to an archive
  43. at one go.  The total number of files that an archive may contain
  44. is not determined by MAXADD but is determined by LIST_SIZE.
  45.  
  46. If USE_MALLOC is defined it tells the memory allocation routine 
  47. emalloc() not to bother with maintaining its own memory blocks but just to 
  48. pass on requests to the library function malloc().  If USE_MALLOC is not 
  49. defined, emalloc() does its own memory management to save overhead on a 
  50. machine with limited memory.
  51. */
  52.  
  53. #ifdef   SMALL_MEM
  54. #define  LIST_SIZE  (200)
  55. #define  ZOOCOUNT   (30)
  56. #define  MAXADD     (100)
  57. #define  USE_MALLOC
  58. #endif
  59.  
  60. #ifdef   MED_MEM
  61. #define  LIST_SIZE  (400)
  62. #define  ZOOCOUNT   (50)
  63. #define  MAXADD     (200)
  64. #define  USE_MALLOC
  65. #endif
  66.  
  67. #ifdef   BIG_MEM
  68. #define  LIST_SIZE  (4000)
  69. #define  ZOOCOUNT   (400)
  70. #define  MAXADD     (4000)
  71. #define  USE_MALLOC
  72. #endif
  73.  
  74. /* Customizable sizes */
  75. #ifdef   SPEC_MEM
  76. #define  LIST_SIZE   (600)
  77. #define  ZOOCOUNT    (100)
  78. #define  MAXADD      (400)
  79. #endif
  80.  
  81. extern char *out_buf_adr;              /* global I/O buffer */
  82.