home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / INC.PAK / FCNTL.H < prev    next >
C/C++ Source or Header  |  1995-08-29  |  2KB  |  103 lines

  1. /*  fcntl.h
  2.  
  3.     Define flag values accessible to open.
  4.  
  5. */
  6.  
  7. /*
  8.  *      C/C++ Run Time Library - Version 6.5
  9.  *
  10.  *      Copyright (c) 1987, 1994 by Borland International
  11.  *      All Rights Reserved.
  12.  *
  13.  */
  14.  
  15. #if !defined(__FCNTL_H)
  16. #define __FCNTL_H
  17.  
  18. #if !defined(___DEFS_H)
  19. #include <_defs.h>
  20. #endif
  21.  
  22.  
  23. #if !defined(RC_INVOKED)
  24.  
  25. #if defined(__STDC__)
  26. #pragma warn -nak
  27. #endif
  28.  
  29. #endif  /* !RC_INVOKED */
  30.  
  31.  
  32. #if defined(__FLAT__)
  33.  
  34. #if defined(__cplusplus)
  35. extern "C" {
  36. #endif
  37. int _RTLENTRY _EXPFUNC _pipe(int *phandles, unsigned int psize, int textmode);
  38. #if defined(__cplusplus)
  39. }
  40. #endif
  41. #endif  /* __FLAT__ */
  42.  
  43. extern int _RTLENTRY _fmode;
  44.  
  45. /* The first three can only be set by open */
  46.  
  47. #if !defined(__FLAT__)
  48. #define O_RDONLY    1
  49. #define O_WRONLY    2
  50. #define O_RDWR      4
  51. #else
  52. #define O_RDONLY    0
  53. #define O_WRONLY    1
  54. #define O_RDWR      2
  55. #define O_ACCMODE   3       /* mask for file access modes */
  56. #endif  /* __FLAT__ */
  57.  
  58. /* Flag values for open only */
  59.  
  60. #define O_CREAT     0x0100  /* create and open file */
  61. #define O_TRUNC     0x0200  /* open with truncation */
  62. #define O_EXCL      0x0400  /* exclusive open */
  63.  
  64. /* The "open flags" defined above are not needed after open, hence they
  65.    are re-used for other purposes when the file is running.  Sorry, it's
  66.    getting crowded !
  67. */
  68. #define _O_RUNFLAGS 0x0700
  69. #define _O_WRITABLE 0x0100 /* file is not read-only */
  70. #define _O_EOF      0x0200 /* set when text file hits ^Z   */
  71.  
  72. /* a file in append mode may be written to only at its end.
  73. */
  74. #define O_APPEND    0x0800  /* to end of file */
  75.  
  76. /* MSDOS special bits */
  77.  
  78. #define O_CHANGED   0x1000  /* user may read these bits, but    */
  79. #define O_DEVICE    0x2000  /*   only RTL\io functions may touch.   */
  80. #define O_TEXT      0x4000  /* CR-LF translation    */
  81. #define O_BINARY    0x8000  /* no translation   */
  82.  
  83. /* DOS 3.x options */
  84.  
  85. #define O_NOINHERIT 0x80
  86. #define O_DENYALL   0x10
  87. #define O_DENYWRITE 0x20
  88. #define O_DENYREAD  0x30
  89. #define O_DENYNONE  0x40
  90.  
  91.  
  92. #if !defined(RC_INVOKED)
  93.  
  94. #if defined(__STDC__)
  95. #pragma warn .nak
  96. #endif
  97.  
  98. #endif  /* !RC_INVOKED */
  99.  
  100.  
  101. #endif  /* __FCNTL_H */
  102.  
  103.