OPEN(2) DOMAIN/IX Reference Manual (SYS5) OPEN(2)
NAME
open - open for reading or writing
USAGE
#include <fcntl.h>
int open (path, oflag [ , mode ] )
char *path;
int oflag, mode;
DESCRIPTION
Open opens a file descriptor for the file named by path, and
sets the file status flags according to oflag. Oflag values
are constructed by or-ing flags from the following list
(only one of the first three flags below may be used in any
combination):
O_RDONLY Open for reading only.
O_WRONLY Open for writing only.
O_RDWR Open for reading and writing.
O_NDELAY This flag may affect subsequent reads and writes.
See read(2) and write(2).
When opening a FIFO with O_RDONLY or O_WRONLY set:
If O_NDELAY is set:
An open for read-only will return without
delay. An open for write-only will return an
error if no process currently has the file
open for reading.
If O_NDELAY is clear:
An open for read-only will block until a pro-
cess opens the file for writing. An open for
write-only will block until a process opens
the file for reading.
When opening a file associated with a communication
line:
If O_NDELAY is set:
The open will return without waiting for car-
rier.
If O_NDELAY is clear:
The open will block until carrier is present.
Printed 5/10/85 OPEN-1
OPEN(2) DOMAIN/IX Reference Manual (SYS5) OPEN(2)
O_APPEND If set, the file pointer will be set to the end of
the file prior to each write.
O_CREAT If the file exists, this flag has no effect. Oth-
erwise, the owner ID of the file is set to the
effective user ID of the process, the group ID of
the file is set to the effective group ID of the
process, and the low-order 12 bits of the file mode
are set to the value of mode modified as follows
(see creat(2)):
All bits set in the file mode creation mask of
the process are cleared. See umask(2).
The ``save text image after execution bit'' of
the mode is cleared. See chmod(2).
O_TRUNC If the file exists, its length is truncated to 0
and the mode and owner are left unchanged.
O_EXCL If O_EXCL and O_CREAT are set, open will fail if
the file exists.
The file pointer used to mark the current position within
the file is set to the beginning of the file.
The new file descriptor is set to remain open across exec
system calls. See fcntl(2).
RETURN VALUE
Upon successful completion, open returns the file descrip-
tor. Otherwise, it returns -1 and sets errno to indicate
the error.
ERRORS
The file is opened unless one or more of the following is
true:
[ENOTDIR] A component of the path prefix is not a
directory.
[ENOENT] O_CREAT is not set and the named file does
not exist.
[EACCES] A component of the path prefix denies search
permission.
[EACCES] Oflag permission is denied for the named
file.
[EISDIR] The named file is a directory and oflag is
write or read/write.
OPEN-2 Printed 5/10/85
OPEN(2) DOMAIN/IX Reference Manual (SYS5) OPEN(2)
[EROFS] The named file resides on a read-only file
system and oflag is write or read/write.
[EMFILE] More than the maximum number of file descrip-
tors allowed are currently open.
[ENXIO] The named file is a character special or
block special file, and the device associated
with this special file does not exist.
[ETXTBSY] The file is a pure procedure (shared text)
file that is being executed and oflag is
write or read/write.
[EFAULT] Path points outside the allocated address
space of the process.
[EEXIST] O_CREAT and O_EXCL are set, and the named
file exists.
[ENXIO] O_NDELAY is set, the named file is a FIFO,
O_WRONLY is set, and no process has the file
open for reading.
[EINTR] A signal was caught during the open system
call.
[ENFILE] The system file table is full.
RELATED INFORMATION
chmod(2), close(2), creat(2), dup(2), fcntl(2), lseek(2),
read(2), umask(2), write(2)
Printed 5/10/85 OPEN-3