Index of Section 2 Manual Pages

Interix / SUAcreat.2Interix / SUA

creat(2)                                                       creat(2)

  creat()

  NAME

    creat() - create a new file

  SYNOPSIS

    #include 
    #include 
    #include 

    int creat (const char *path, mode_t mode)

  DESCRIPTION

    The creat(2) call opens a file for writing. If the file doesn't exist, it
    is created with the permissions specified by mode; the owner ID is set
    from the calling process's effective user ID and the group is inherited
    from the parent directory.

    If the file does exist, it's truncated to zero length. The owner and group
    IDs aren't changed.

    The creat(2) function is the same as:

    open(path, O_CREAT | O_TRUNC | O_WRONLY, mode);

  RETURN VALUES

    On success, the creat(2) call returns an integer file descriptor which
    refers to the file. On failure, the call returns -1 and sets errno

  ERRORS

    The named file is opened unless:

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

    [EACCES]
        The required permissions (for reading and/or writing) are denied for
        the given flags.

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

    [EEXIST]
        O_CREAT and O_EXCL were specified and the file exists.

    [EINTR]
        The creat(2) operation was interrupted by a signal.

    [EIO]
        An I/O error occurred while making the directory entry or allocating
        the file serial number for O_CREAT.

    [EISDIR]
        The named file is a directory, and the arguments specify it is to be
        opened for writing.

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

    [EMFILE]
        The process has already reached its limit for open file descriptors.

    [ENAMETOOLONG]
        A component of a pathname exceeded {NAME_MAX} characters, or an entire
        pathname exceeded {PATH_MAX} characters.

    [ENFILE]
        The system file table is full.

    [ENOENT]
        O_CREAT was not specified and the named file does not exist.

    [ENOENT]
        A component of the pathname that must exist does not exist.

    [ENOSPC]
        The file does not exist and 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]
        O_CREAT is specified, the file does not exist, and there are no free
        file serial numbers on the file system on which the file is being
        created.

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

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

    [EROFS]
        The named file resides on a read-only file system, and the file is to
        be modified.

  SEE ALSO

    open(2)

    close(2)

  USAGE NOTES

    The creat function is thread safe.

    The creat function is async-signal safe.


Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA