+The flags specified are formed by
+.IR or 'ing
+the following values
+.PP
+.RS
+ O_RDONLY open for reading only
+ O_WRONLY open for writing only
+ O_RDWR open for reading and writing
+ O_NDELAY do not block on open
+ O_APPEND append on each write
+ O_CREAT create file if it does not exist
+ O_TRUNC truncate size to 0
+ O_EXCL error if create and file exists
+.RE
+.PP
+Opening a file with O_APPEND set causes each write on the file
+to be appended to the end. If O_TRUNC is specified and the
+file exists, the file is truncated to zero length.
+If O_EXCL is set with O_CREAT, then if the file already
+exists, the open returns an error. This can be used to
+implement a simple exclusive access locking mechanism.
+If the O_NDELAY flag is specified and the open call would result
+in the process being blocked for some reason (e.g. waiting for
+carrier on a dialup line), the open returns immediately.
+The first time the process attempts to perform i/o on the open
+file it will block (not currently implemented).
+.PP
+Upon successful completion a non-negative integer termed a
+file descriptor is returned.
+The file pointer used to mark the current position within the
+file is set to the beginning of the file.
+.PP
+The new descriptor is set to remain open across
+.IR execve
+system calls; see
+.IR close (2).