home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / zip21.zip / vms / osdep.h < prev    next >
C/C++ Source or Header  |  1996-04-14  |  2KB  |  55 lines

  1. /*
  2.  
  3.  Copyright (C) 1990-1996 Mark Adler, Richard B. Wales, Jean-loup Gailly,
  4.  Kai Uwe Rommel, Christian Spieler, Onno van der Linden and Igor Mandrichenko.
  5.  Permission is granted to any individual or institution to use, copy, or
  6.  redistribute this software so long as all of the original files are included,
  7.  that it is not sold for profit, and that this copyright notice is retained.
  8.  
  9. */
  10.  
  11. #ifndef VMS
  12. #  define VMS 1
  13. #endif
  14.  
  15. #if !(defined(__DECC) || defined(__DECCXX) || defined(__GNUC__))
  16.      /* VAX C does not properly support the void keyword. (Only functions
  17.         are allowed to have the type "void".)  */
  18. #  ifndef NO_TYPEDEF_VOID
  19. #    define NO_TYPEDEF_VOID
  20. #  endif
  21. #  define NO_FCNTL_H        /* VAXC does not supply fcntl.h. */
  22. #endif /* VAX C */
  23.  
  24. #define NO_UNISTD_H
  25.  
  26. #define MSVMS
  27.  
  28. #include <types.h>
  29. #include <stat.h>
  30. #include <unixio.h>
  31.  
  32. #if !defined(NO_EF_UX_TIME) && !defined(USE_EF_UX_TIME)
  33. #  if (defined(__VMS_VER) && (__VMS_VER >= 70000000))
  34. #    define USE_EF_UX_TIME
  35. #  endif
  36. #endif
  37.  
  38. #if defined(VMS_PK_EXTRA) && defined(VMS_IM_EXTRA)
  39. #  undef VMS_IM_EXTRA                 /* PK style takes precedence */
  40. #endif
  41. #if !defined(VMS_PK_EXTRA) && !defined(VMS_IM_EXTRA)
  42. #  define VMS_IM_EXTRA 1              /* IM style VMS support is default */
  43. #endif
  44.  
  45. #define unlink delete
  46. #define NO_SYMLINK
  47. #define SSTAT vms_stat
  48. #define EXIT(exit_code) vms_exit(exit_code)
  49. #define RETURN(exit_code) {vms_exit(exit_code); return 1;}
  50.  
  51. /* File operations--use "b" for binary if allowed or fixed length 512 on VMS */
  52. #define FOPR  "rb","ctx=stm","mbc=64"
  53. #define FOPM  "r+b","ctx=stm","rfm=fix","mrs=512","mbc=64"
  54. #define FOPW  "wb","ctx=stm","rfm=fix","mrs=512","mbc=64"
  55.