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 2007-Mar-04 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. /* vmmvs.h:  include file for both VM/CMS and MVS ports of UnZip */
  10. #ifndef __vmmvs_h               /* prevent multiple inclusions */
  11. #define __vmmvs_h
  12.  
  13. #ifndef NULL
  14. #  define NULL (zvoid *)0
  15. #endif
  16.  
  17. #ifdef MVS
  18. #  define _POSIX_SOURCE    /* tell MVS we want full definitions */
  19. #  define NO_STRNICMP      /* MVS has no strnicmp() */
  20. #  include <features.h>
  21.    /* MVS complains if a function has the same name as a csect. */
  22. #  if defined(__UNZIP_C)
  23. #    pragma csect(STATIC,"unzip_s")
  24. #  elif defined(__CRC32_C)
  25. #    pragma csect(STATIC,"crc32_s")
  26. #  elif defined(__ENVARGS_C)
  27. #    pragma csect(STATIC,"envarg_s")
  28. #  elif defined(__EXPLODE_C)
  29. #    pragma csect(STATIC,"explod_s")
  30. #  elif defined(__INFLATE_C)
  31. #    pragma csect(STATIC,"inflat_s")
  32. #  elif defined(__MATCH_C)
  33. #    pragma csect(STATIC,"match_s")
  34. #  elif defined(__UNREDUCE_C)
  35. #    pragma csect(STATIC,"unredu_s")
  36. #  elif defined(__UNSHRINK_C)
  37. #    pragma csect(STATIC,"unshri_s")
  38. #  elif defined(__ZIPINFO_C)
  39. #    pragma csect(STATIC,"zipinf_s")
  40. #  endif
  41. #endif /* MVS */
  42.  
  43. #include <time.h>               /* the usual non-BSD time functions */
  44. #ifdef VM_CMS
  45. #  include "vmstat.h"
  46. #endif
  47. #ifdef MVS
  48. #  include <sys/stat.h>
  49. #endif
  50.  
  51. #define PASSWD_FROM_STDIN
  52.                   /* Kludge until we know how to open a non-echo tty channel */
  53.  
  54. #define EBCDIC
  55. /* In the context of Info-ZIP, a portable "text" mode file implies the use of
  56.    an ASCII-compatible (ISO 8859-1, or other extended ASCII) code page. */
  57.  
  58. #ifdef MORE
  59. #  undef MORE
  60. #endif
  61.  
  62. /* Workarounds for missing RTL functionality */
  63. #define isatty(t) 1
  64.  
  65. #ifdef UNZIP                    /* definitions for UNZIP */
  66.  
  67. #define INBUFSIZ 8192
  68.  
  69. #define USE_STRM_INPUT
  70. #define USE_FWRITE
  71.  
  72. #define PATH_MAX 128
  73.  
  74. #ifndef QUERY_TRNEWLN
  75. #  define QUERY_TRNEWLN         /* terminate interaction queries with '\n' */
  76. #endif
  77.  
  78. #ifndef DATE_FORMAT
  79. #  define DATE_FORMAT DF_MDY
  80. #endif
  81. #define lenEOL        1
  82. /* The use of "ebcdic[LF]" is not reliable; VM/CMS C/370 uses the
  83.  * EBCDIC specific "NL" ('NewLine') control character (and not the EBCDIC
  84.  * equivalent of the ASCII "LF" ('LineFeed')) as line terminator!
  85.  * To work around this problem, we explicitely emit the C compiler's native
  86.  * '\n' line terminator.
  87.  */
  88. #if 0
  89. #define PutNativeEOL  *q++ = native(LF);
  90. #else
  91. #define PutNativeEOL  *q++ = '\n';
  92. #endif
  93.  
  94. #endif /* UNZIP */
  95.  
  96. #endif /* !__vmmvs_h */
  97.