Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.   Copyright (c) 1990-2008 Info-ZIP.  All rights reserved.
  3.  
  4.   See the accompanying file LICENSE, version 2000-Apr-09 or later
  5.   (the contents of which are also included in unzip.h) for terms of use.
  6.   If, for some reason, all these files are missing, the Info-ZIP license
  7.   also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html
  8. */
  9. /*---------------------------------------------------------------------------
  10.     OS/2 specific configuration section:
  11.   ---------------------------------------------------------------------------*/
  12.  
  13. #ifndef __os2cfg_h
  14. #define __os2cfg_h
  15.  
  16. #ifdef MSDOS
  17. #  include <dos.h>           /* for REGS macro (TC) or _dos_setftime (MSC) */
  18. #  ifdef __TURBOC__          /* includes Power C */
  19. #    include <sys/timeb.h>   /* for structure ftime */
  20. #    ifndef __BORLANDC__     /* there appears to be a bug (?) in Borland's */
  21. #      include <mem.h>       /*  MEM.H related to __STDC__ and far poin-   */
  22. #    endif                   /*  ters. (dpk)  [mem.h included for memcpy]  */
  23. #  endif
  24. #endif /* MSDOS */
  25.  
  26. #ifdef __IBMC__
  27. #  define S_IFMT 0xF000
  28. #  define timezone _timezone            /* (underscore names work with    */
  29. #  define tzset _tzset                  /*  all versions of C Set)        */
  30. #  define PIPE_ERROR (errno == EERRSET || errno == EOS2ERR)
  31. #endif /* __IBMC__ */
  32.  
  33. #ifdef __WATCOMC__
  34. #  ifdef __386__
  35. #    ifndef WATCOMC_386
  36. #      define WATCOMC_386
  37. #    endif
  38. #    define __32BIT__
  39. #    undef far
  40. #    define far
  41. #    undef near
  42. #    define near
  43.  
  44. /* Get asm routines to link properly without using "__cdecl": */
  45. #    ifndef USE_ZLIB
  46. #      pragma aux crc32         "_*" parm caller [] value [eax] modify [eax]
  47. #      pragma aux get_crc_table "_*" parm caller [] value [eax] \
  48.                                       modify [eax ecx edx]
  49. #    endif /* !USE_ZLIB */
  50. #  else /* !__386__ */
  51. #    ifndef USE_ZLIB
  52. #      pragma aux crc32         "_*" parm caller [] value [ax dx] \
  53.                                       modify [ax cx dx bx]
  54. #      pragma aux get_crc_table "_*" parm caller [] value [ax] \
  55.                                       modify [ax cx dx bx]
  56. #    endif /* !USE_ZLIB */
  57. #  endif /* ?__386__ */
  58. #endif /* __WATCOMC__ */
  59.  
  60. #ifdef __EMX__
  61. #  ifndef __32BIT__
  62. #    define __32BIT__
  63. #  endif
  64. #  define far
  65. #endif
  66.  
  67. #ifndef __32BIT__
  68. #  define __16BIT__
  69. #endif
  70.  
  71. #ifdef MSDOS
  72. #  undef MSDOS
  73. #endif
  74.  
  75. #if defined(M_I86CM) || defined(M_I86LM)
  76. #  define MED_MEM
  77. #endif
  78. #if (defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__))
  79. #  define MED_MEM
  80. #endif
  81. #ifdef __16BIT__
  82. #  ifndef MED_MEM
  83. #    define SMALL_MEM
  84. #  endif
  85. #endif
  86.  
  87. #ifdef __16BIT__
  88. # if defined(MSC) || defined(__WATCOMC__)
  89. #   include <malloc.h>
  90. #   define nearmalloc _nmalloc
  91. #   define nearfree _nfree
  92. # endif
  93. # if defined(__TURBOC__) && defined(DYNALLOC_CRCTAB)
  94. #   if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__)
  95. #     undef DYNALLOC_CRCTAB
  96. #   endif
  97. # endif
  98. # ifndef nearmalloc
  99. #   define nearmalloc malloc
  100. #   define nearfree free
  101. # endif
  102. # ifdef USE_DEFLATE64
  103. #   if (defined(M_I86TM) || defined(M_I86SM) || defined(M_I86MM))
  104. #     error Deflate64(tm) requires compact or large memory model
  105. #   endif
  106. #   if (defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__))
  107. #     error Deflate64(tm) requires compact or large memory model
  108. #   endif
  109.     /* the 64k history buffer for Deflate64 must be allocated specially */
  110. #   define MALLOC_WORK
  111. #   define MY_ZCALLOC
  112. # endif
  113. #endif
  114.  
  115. /* TIMESTAMP is now supported on OS/2, so enable it by default */
  116. #if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP))
  117. #  define TIMESTAMP
  118. #endif
  119.  
  120. /* check that TZ environment variable is defined before using UTC times */
  121. #if (!defined(NO_IZ_CHECK_TZ) && !defined(IZ_CHECK_TZ))
  122. #  define IZ_CHECK_TZ
  123. #endif
  124.  
  125. #ifndef RESTORE_ACL
  126. #  define RESTORE_ACL
  127. #endif
  128.  
  129. #ifndef OS2_EAS
  130. #  define OS2_EAS    /* for -l and -v listings (list.c) */
  131. #endif
  132.  
  133. #ifdef isupper
  134. #  undef isupper
  135. #endif
  136. #ifdef tolower
  137. #  undef tolower
  138. #endif
  139. #define isupper(x)   IsUpperNLS((unsigned char)(x))
  140. #define tolower(x)   ToLowerNLS((unsigned char)(x))
  141. #ifndef NO_STRNICMP     /* use UnZip's zstrnicmp(), because some compilers  */
  142. #  define NO_STRNICMP   /*  don't provide a NLS-aware strnicmp() function  */
  143. #endif
  144.  
  145. #define USETHREADID
  146.  
  147. /* handlers for OEM <--> ANSI string conversions */
  148. #ifndef _OS2_ISO_ANSI
  149.    /* use home-brewed conversion functions; internal charset is OEM */
  150. #  ifdef CRTL_CP_IS_ISO
  151. #    undef CRTL_CP_IS_ISO
  152. #  endif
  153. #  ifndef CRTL_CP_IS_OEM
  154. #    define CRTL_CP_IS_OEM
  155. #  endif
  156. #endif
  157.  
  158. /* screen size detection */
  159. #define SCREENWIDTH 80
  160. #define SCREENSIZE(scrrows, scrcols)  screensize(scrrows, scrcols)
  161. int screensize(int *tt_rows, int *tt_cols);
  162.  
  163. /* on the OS/2 console screen, line-wraps are always enabled */
  164. #define SCREENLWRAP 1
  165.  
  166. #endif /* !__os2cfg_h */
  167.