*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> creat (2)              


 creat(2)                                                           creat(2)

 NAME    [Toc]    [Back]
      creat - create a new file or rewrite an existing one

 SYNOPSIS    [Toc]    [Back]
      #include <fcntl.h>

      int creat(const char *path, mode_t mode);

 DESCRIPTION    [Toc]    [Back]
      The creat() system call creates a new regular file or prepares to
      rewrite an existing file named by the path name pointed to by path.

      If the file exists, its length is truncated to 0, and its mode and
      owner are unchanged.  Otherwise, the file's owner ID is set to the
      effective user ID of the process.  If the set-group-ID bit of the
      parent directory is set, the file's group ID is set to the group ID of
      the parent directory.  Otherwise, the file's group ID is set to the
      process's effective group ID.  The low-order 12 bits of the file mode
      are set to the value of mode modified as follows:

           +  All bits set in the process's file mode creation mask are
              cleared (see umask(2)).

           +  The "save text image after execution" bit of the mode is
              cleared (see chmod(2)).

      If the system call is made in 64 bit mode, the O_LARGEFILE status flag
      is automatically set (see fcntl(5) or open(2)).

      Upon successful completion, the file descriptor is returned and the
      file is open for writing (only), even if the mode does not permit
      writing.  The file offset is set to the beginning of the file.  The
      file descriptor is set to remain open across exec*() system calls (see
      fcntl(2)).  Each process has a limit on how many files it can open
      simultaneously.  Refer to getrlimit(2) for the open files limit.  This
      is also discussed in open(2).  A new file can be created with a mode
      that forbids writing.

    Access Control Lists - HFS File Systems Only    [Toc]    [Back]
      On HFS file systems that support access control lists, three base ACL
      entries are created corresponding to the file access permission bits.
      An existing file's access control list is unchanged by creat() (see
      setacl(2), chmod(2), and acl(5)).

    Access Control Lists - JFS File Systems Only    [Toc]    [Back]
      On JFS file systems that support access control lists, optional ACL
      entries are created corresponding to the parent directory's default
      ACL entries.  An existing file's access control list is unchanged by
      creat() (see acl(2), chmod(2), and aclv(5)).

 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003

 creat(2)                                                           creat(2)

 RETURN VALUE    [Toc]    [Back]
      creat() returns the following values:

            n   Successful completion.  n is the value of the file
                descriptor.  It is nonnegative.
           -1   Failure.  errno is set to indicate the error.

 ERRORS    [Toc]    [Back]
      If creat() fails, errno is set to one of the following values.

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

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

           [EACCES]       The file exists and write permission is denied.

           [EAGAIN]       The file exists, enforcement mode file and record
                          locking is set and there are outstanding record
                          locks on the file.

           [EDQUOT]       User's disk quota block or inode limit has been
                          reached for this file system.

           [EFAULT]       path points outside the allocated address space of
                          the process.  The reliable detection of this error
                          is implementation dependent.

           [EISDIR]       The named file is an existing directory.

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

           [EMFILE]       More than the maximum number of file descriptors
                          are currently open.

           [ENAMETOOLONG] The length of the specified path name exceeds
                          PATH_MAX bytes, or the length of a component of
                          the path name exceeds NAME_MAX bytes while
                          _POSIX_NO_TRUNC is in effect.

           [ENFILE]       The system file table is full.

           [ENOENT]       The named file does not exist (for example, path
                          is null, or a component of path does not exist).

           [ENOSPC]       Not enough space on the file system.

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

 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003

 creat(2)                                                           creat(2)

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

           [EOVERFLOW]    The named file is a regular file and the size of
                          the file cannot be represented correctly in an
                          object of type off_t.

           [EROFS]        The named file resides or would reside on a readonly
 file system.

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

 SEE ALSO    [Toc]    [Back]
      chmod(2), close(2), creat64(2), dup(2), fcntl(2), lockf(2), lseek(2),
      open(2), open64(2), read(2), setacl(2), truncate(2), umask(2),
      write(2), acl(5), aclv(5).

      creat(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1

 Hewlett-Packard Company            - 3 -   HP-UX 11i Version 2: August 2003
[ Back ]
 Similar pages
Name OS Title
link Tru64 Create a hard link to an existing file on the local file system
cvs-makerepos Linux script to create non-existing configured CVS repositories
gss_duplicate_name HP-UX allow an application to create an exact duplicate of the existing internal name
cs_oid_set_isect Tru64 create an new object identifier (OID) set that is an intersection oftwo existing sets.
zeero Tru64 Zero out disks prior to rewrite.
pxfcreat IRIX Creates a new file or rewrites an existing file
dup2 OpenBSD duplicate an existing file descriptor
tunefs FreeBSD tune up an existing file system
dup2 NetBSD duplicate an existing file descriptor
dup FreeBSD duplicate an existing file descriptor
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service