CREAT(2)                                                              CREAT(2)


NAME
       creat - create a new file

SYNOPSIS
       creat(name, mode)
       char *name;

DESCRIPTION
       This interface is made obsolete by open(2).

       Creat creates a new file or prepares to rewrite an existing file called
       name, given as the address of a null-terminated string.   If  the  file
       did not exist, it is given mode mode, as modified by the process’s mode
       mask (see umask(2)).  Also see chmod(2) for  the  construction  of  the
       mode argument.

       If  the  file  did exist, its mode and owner remain unchanged but it is
       truncated to 0 length.

       The file is also  opened  for  writing,  and  its  file  descriptor  is
       returned.

NOTES
       The  mode  given is arbitrary; it need not allow writing.  This feature
       has been used in the past by programs to construct a simple,  exclusive
       locking mechanism.  It is replaced by the O_EXCL open mode, or flock(2)
       facility.

RETURN VALUE
       The value -1 is returned if  an  error  occurs.   Otherwise,  the  call
       returns a non-negative descriptor that only permits writing.

ERRORS
       Creat will fail and the file will not be created or truncated if one of
       the following occur:

       [ENOTDIR]      A component of the path prefix is not a directory.

       [EINVAL]       The pathname contains a character  with  the  high-order
                      bit set.

       [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an
                      entire path name exceeded 1023 characters.

       [ENOENT]       The named file does not exist.

       [ELOOP]        Too many symbolic links were encountered in  translating
                      the pathname.

       [EACCES]       Search  permission is denied for a component of the path
                      prefix.

       [EACCES]       The file does not exist and the directory in which it is
                      to be created is not writable.

       [EACCES]       The file exists, but it is unwritable.

       [EISDIR]       The file is a directory.

       [EMFILE]       There are already too many files open.

       [ENFILE]       The system file table is full.

       [ENOSPC]       The  directory  in  which  the entry for the new file is
                      being placed cannot be  extended  because  there  is  no
                      space  left on the file system containing the directory.

       [ENOSPC]       There are no free inodes on the file system on which the
                      file is being created.

       [EDQUOT]       The  directory  in  which  the entry for the new file is
                      being placed cannot be extended because the user’s quota
                      of  disk blocks on the file system containing the direc‐
                      tory has been exhausted.

       [EDQUOT]       The user’s quota of inodes on the file system  on  which
                      the file is being created has been exhausted.

       [EROFS]        The named file resides on a read-only file system.

       [ENXIO]        The  file  is a character special or block special file,
                      and the associated device does not exist.

       [ETXTBSY]      The file is a pure procedure (shared text) file that  is
                      being executed.

       [EIO]          An  I/O  error occurred while making the directory entry
                      or allocating the inode.

       [EFAULT]       Name points  outside  the  process’s  allocated  address
                      space.

       [EOPNOTSUPP]   The file was a socket (not currently implemented).

SEE ALSO
       open(2), write(2), close(2), chmod(2), umask(2)


4th Berkeley Distribution        May 22, 1986                         CREAT(2)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 738
Valid CSS Valid XHTML 1.0 Strict