9srv Manual Collection/plan9/open(2) | 9srv Manual Collection/plan9/open(2) |
---|
int open(char *file, int omode)
int create(char *file, int omode, ulong perm)
int close(int fd)
Create creates a new file or prepares to rewrite an existing file, opens it according to omode (as described for open), and returns an associated file descriptor. If the file is new, the owner is set to the userid of the creating process group; the group to that of the containing directory; the permissions to perm ANDed with the permissions of the containing directory. If the file already exists, it is truncated to 0 length, and the permissions, owner, and group remain unchanged. The created file is a directory if the DMDIR bit is set in perm, an exclusive-use file if the DMEXCL bit is set, and an append-only file if the DMAPPEND bit is set. Exclusive-use files may be open for I/O by only one client at a time, but the file descriptor may become invalid if no I/O is done for an extended period; see open(5).
Create fails if the path up to the last element of file cannot be evaluated, if the user doesn't have write permission in the final directory, if the file already exists and does not permit the access defined by omode, of if there there are no free file descriptors. In the last case, the file may be created even when an error is returned. If the file is new and the directory in which it is created is a union directory (see intro(2)) then the constituent directory where the file is created depends on the structure of the union: see bind(2).
Since create may succeed even if the file exists, a special mechanism is necessary for those applications that require an atomic create operation. If the OEXCL (0x1000) bit is set in the mode for a create, the call succeeds only if the file does not already exist; see open(5) for details.
Close closes the file associated with a file descriptor. Provided the file descriptor is a valid open descriptor, close is guaranteed to close it; there will be no error. Files are closed automatically upon termination of a process; close allows the file descriptor to be reused.
9srv Manual Collection/plan9/open(2) | Rev: Sun Dec 02 23:42:21 GMT 2007 |