119 lines
2.6 KiB
C++
119 lines
2.6 KiB
C++
/* fcntl.h
|
|
|
|
Define flag values accessible to open.
|
|
|
|
*/
|
|
|
|
/*
|
|
* C/C++ Run Time Library - Version 10.0
|
|
*
|
|
* Copyright (c) 1987, 2000 by Inprise Corporation
|
|
* All Rights Reserved.
|
|
*
|
|
*/
|
|
|
|
/* $Revision: 9.5 $ */
|
|
|
|
#if !defined(__FCNTL_H)
|
|
#define __FCNTL_H
|
|
|
|
#ifndef ___STDDEF_H
|
|
#include <_stddef.h>
|
|
#endif
|
|
|
|
#if !defined(RC_INVOKED)
|
|
|
|
#if defined(__STDC__)
|
|
#pragma warn -nak
|
|
#endif
|
|
|
|
#endif /* !RC_INVOKED */
|
|
|
|
#ifdef __cplusplus
|
|
namespace std {
|
|
#endif /* __cplusplus */
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
int _RTLENTRY _EXPFUNC _pipe(int *__phandles, unsigned int __psize, int __textmode);
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
extern int _RTLENTRY _fmode;
|
|
|
|
/* The first three can only be set by open */
|
|
|
|
#define O_RDONLY 0
|
|
#define O_WRONLY 1
|
|
#define O_RDWR 2
|
|
#define O_ACCMODE 3 /* mask for file access modes */
|
|
|
|
/* Flag values for open only */
|
|
|
|
#define O_CREAT 0x0100 /* create and open file */
|
|
#define O_TRUNC 0x0200 /* open with truncation */
|
|
#define O_EXCL 0x0400 /* exclusive open */
|
|
|
|
/* The "open flags" defined above are not needed after open, hence they
|
|
are re-used for other purposes when the file is running. Sorry, it's
|
|
getting crowded !
|
|
*/
|
|
#define _O_RUNFLAGS 0x0700
|
|
#define _O_WRITABLE 0x0100 /* file is not read-only */
|
|
#define _O_EOF 0x0200 /* set when text file hits ^Z */
|
|
|
|
/* a file in append mode may be written to only at its end.
|
|
*/
|
|
#define O_APPEND 0x0800 /* to end of file */
|
|
|
|
/* MSDOS special bits */
|
|
|
|
#define O_CHANGED 0x1000 /* user may read these bits, but */
|
|
#define O_DEVICE 0x2000 /* only RTL\io functions may touch. */
|
|
#define O_TEXT 0x4000 /* CR-LF translation */
|
|
#define O_BINARY 0x8000 /* no translation */
|
|
|
|
/* DOS 3.x options */
|
|
|
|
#define O_NOINHERIT 0x80
|
|
#define O_DENYALL 0x10
|
|
#define O_DENYWRITE 0x20
|
|
#define O_DENYREAD 0x30
|
|
#define O_DENYNONE 0x40
|
|
|
|
/* MSC compatible versions */
|
|
#define _O_APPEND O_APPEND
|
|
#define _O_BINARY O_BINARY
|
|
#define _O_CREAT O_CREAT
|
|
#define _O_EXCL O_EXCL
|
|
#define _O_NOINHERIT O_NOINHERIT
|
|
#define _O_RANDOM O_RANDOM
|
|
#define _O_RAW O_BINARY
|
|
#define _O_RDONLY O_RDONLY
|
|
#define _O_RDWR O_RDWR
|
|
#define _O_TEXT O_TEXT
|
|
#define _O_TRUNC O_TRUNC
|
|
#define _O_WRONLY O_WRONLY
|
|
|
|
#if !defined(RC_INVOKED)
|
|
|
|
#if defined(__STDC__)
|
|
#pragma warn .nak
|
|
#endif
|
|
|
|
#endif /* !RC_INVOKED */
|
|
|
|
#ifdef __cplusplus
|
|
} // std
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __FCNTL_H */
|
|
|
|
#if defined(__cplusplus) && !defined(__USING_CNAME__) && !defined(__FCNTL_H_USING_LIST)
|
|
#define __FCNTL_H_USING_LIST
|
|
using std::_pipe;
|
|
using std::_fmode;
|
|
#endif /* __USING_CNAME__ */
|