Solaris ostypes missing certain (non-posix) constants
Original Reporter info from Mantis: ppopov99
-
Reporter name: Peter Popov
Original Reporter info from Mantis: ppopov99
- Reporter name: Peter Popov
Description:
This bug is similar to 0023991:
I found it as trying to compile synapse.
Figured O_SYNC is not available, though the system defines it. Here is a fraction of /usr/include/sys/fcntl.h
/*
* Flag values accessible to open(2) and fcntl(2)
* (the first three can only be set by open(2)).
/
#define O_RDONLY 0
#define O_WRONLY 1
#define O_RDWR 2
#if defined(EXTENSIONS) || !defined(_POSIX_C_SOURCE)
#define O_NDELAY 0x04 / non-blocking I/O /
#endif / defined(EXTENSIONS) || !defined(_POSIX_C_SOURCE) /
#define O_APPEND 0x08 / append (writes guaranteed at the end) /
#if defined(EXTENSIONS) || !defined(_POSIX_C_SOURCE) || <br/>
(_POSIX_C_SOURCE > 2) || defined(_XOPEN_SOURCE)
#define O_SYNC 0x10 / synchronized file update option /
#define O_DSYNC 0x40 / synchronized data update option /
#define O_RSYNC 0x8000 / synchronized file update option /
/* defines read/write file integrity */
#endif / defined(EXTENSIONS) || !defined(_POSIX_C_SOURCE) ... /
#define O_NONBLOCK 0x80 / non-blocking I/O (POSIX) /
#ifdef SUN_SRC_COMPAT
#define O_PRIV 0x1000 / Private access to file /
#endif / SUN_SRC_COMPAT */
#ifdef _LARGEFILE_SOURCE
#define O_LARGEFILE 0x2000
#endif
/*
* Flag values accessible only to open(2).
/
#define O_CREAT 0x100 / open with file create (uses third arg) /
#define O_TRUNC 0x200 / open with truncation /
#define O_EXCL 0x400 / exclusive open /
#define O_NOCTTY 0x800 / don't allocate controlling tty (POSIX) /
#define O_XATTR 0x4000 / extended attribute /
#define O_NOFOLLOW 0x20000 / don't follow symlinks /
#define O_NOLINKS 0x40000 / don't allow multiple hard links */
Mantis conversion info:
- Mantis ID: 34668
- OS: solaris
- OS Build: 10
- Version: 3.0.4
- Fixed in version: 3.3.1
- Fixed in revision: 40513 (#ea2a606b)