close man page on Plan9

Man page or keyword search:  
man Server   549 pages
apropos Keyword Search (all sections)
Output format
Plan9 logo
[printable version]

OPEN(2)								       OPEN(2)

       open, create, close - open a file for reading or writing, create file

       #include <u.h>
       #include <libc.h>

       int open(char *file, int omode)

       int create(char *file, int omode, ulong perm)

       int close(int fd)

       Open  opens the file for I/O and returns an associated file descriptor.
       Omode is one of OREAD, OWRITE, ORDWR, or OEXEC, asking  for  permission
       to read, write, read and write, or execute, respectively.  In addition,
       there are three values that can be ORed with the omode: OTRUNC says  to
       truncate	 the  file  to	zero  length before opening it; OCEXEC says to
       close the file when an exec(2)  or  execl  system  call	is  made;  and
       ORCLOSE	says to remove the file when it is closed (by everyone who has
       a copy of the file descriptor).	Open fails if the file does not	 exist
       or  the user does not have permission to open it for the requested pur‐
       pose (see stat(2) for a description of  permissions).   The  user  must
       have  write  permission	on the file if the OTRUNC bit is set.  For the
       open system call (unlike the implicit open in exec(2)), OEXEC is	 actu‐
       ally identical to OREAD.

       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 con‐
       taining	directory;  the permissions to perm ANDed with the permissions
       of the containing directory.  If the file already exists, it  is	 trun‐
       cated  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 eval‐
       uated,  if  the	user doesn't have write permission in the final direc‐
       tory, 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 direc‐
       tory (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 oper‐
       ation.	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

       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


       intro(2), bind(2), stat(2)

       These functions set errstr.

                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net