Annotation of researchv10dc/man/adm/man2/open.2, revision 1.1.1.1

1.1       root        1: .TH OPEN 2
                      2: .CT 2 file_io
                      3: .SH NAME
                      4: open, creat, close \(mi open a file for reading or writing, create file
                      5: .SH SYNOPSIS
                      6: .nf
                      7: .B int open(file, rwmode)
                      8: .B char *file;
                      9: .PP
                     10: .B int creat(file, mode)
                     11: .B char *file;
                     12: .PP
                     13: .B int close(fildes)
                     14: .fi
                     15: .SH DESCRIPTION
                     16: .I Open
                     17: opens the
                     18: .I file,
                     19: for reading if
                     20: .I rwmode
                     21: is 0,
                     22: for writing if
                     23: .I rwmode
                     24: is 1,
                     25: or for both if
                     26: .I rwmode
                     27: is 2,
                     28: and returns an associated file descriptor.
                     29: .I File
                     30: is a null-terminated string representing
                     31: a path name.
                     32: The file pointer is set to 0.
                     33: .PP
                     34: .I Creat
                     35: creates a new
                     36: .I file
                     37: or prepares to rewrite an existing
                     38: .IR file ,
                     39: opens it for writing,
                     40: and returns an associated file descriptor.
                     41: If the file is new,
                     42: the owner is set to the effective userid of the creating process;
                     43: the group to that of the containing directory;
                     44: the mode to
                     45: .IR mode 
                     46: as modified by the mode mask of the creating process; see
                     47: .IR umask (2).
                     48: .I Mode
                     49: need not allow writing.
                     50: If the file already exists,
                     51: it is truncated to 0 length;
                     52: the mode, owner, and group remain unchanged,
                     53: and must permit writing.
                     54: .PP
                     55: A program may reserve a filename for exclusive use
                     56: by
                     57: calling
                     58: .I creat
                     59: with a mode that forbids writing.
                     60: If the file does not exist,
                     61: .I creat
                     62: will succeed;
                     63: further attempts to
                     64: .I creat
                     65: the same file will be denied.
                     66: More sophisticated
                     67: (but less portable)
                     68: concurrent access control
                     69: may be obtained by setting the
                     70: .B S_ICCTYP
                     71: field in the mode;
                     72: see
                     73: .IR stat (2).
                     74: .PP
                     75: .I Close
                     76: closes the file associated with a file descriptor.
                     77: Files are closed upon termination of a process,
                     78: but since
                     79: there is a limit on the number of open files per process,
                     80: .I close
                     81: is necessary for programs which deal with many files.
                     82: It is possible to arrange for files to be closed
                     83: by
                     84: .IR exec (2);
                     85: see
                     86: .B FIOCLEX
                     87: in
                     88: .IR ioctl (2).
                     89: .SH "SEE ALSO"
                     90: .IR dup (2),
                     91: .IR pipe (2), 
                     92: .IR read (2),
                     93: .IR exec (2), 
                     94: .IR ioctl (2),
                     95: .IR stat (2),
                     96: .IR unlink (2)
                     97: .SH DIAGNOSTICS
                     98: .IR "open, creat" :
                     99: .BR EACCES ,
                    100: .BR EBUSY ,
                    101: .BR ECONC ,
                    102: .BR EFAULT ,
                    103: .BR EINTR ,
                    104: .BR EIO ,
                    105: .BR EISDIR ,
                    106: .BR ELOOP ,
                    107: .BR EMFILE ,
                    108: .BR ENFILE ,
                    109: .BR ENOENT ,
                    110: .BR ENOTDIR ,
                    111: .BR EROFS ,
                    112: .BR ETXTBSY 
                    113: .br
                    114: .IR creat :
                    115: .BR ENOSPC
                    116: .br
                    117: .IR close:
                    118: .B EBADF
                    119: .SH BUGS
                    120: It should be possible to call
                    121: .I open
                    122: without waiting for carrier on communication lines.
                    123: .br
                    124: The group of a newly-created file should
                    125: (once again)
                    126: be the effective groupid of the creating process.
                    127: .br
                    128: The trick of creating a file with an unwritable mode
                    129: fails for the super-user.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.