Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ creat(2) — posix — mips UMIPS RISC/os 4.52

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

close(2)

dup(2)

fcntl(2)

lseek(2)

open(2)

read(2)

umask(2)

write(2)



CREAT(2-POSIX)      RISC/os Reference Manual       CREAT(2-POSIX)



NAME
     creat - create a new file or rewrite an existing one

SYNOPSIS
     #include <sys/types.h>
     #include <sys/stat.h>
     #include <fcntl.h>

     int creat (path, mode)
     char *path;
     modet mode;

DESCRIPTION
     creat creates a new ordinary file or prepares to rewrite an
     existing file named by the path name pointed to by path.

     If the file exists, the length is truncated to 0 and the
     mode and owner are unchanged.  Otherwise, the file's owner
     ID is set to the effective user ID of the process, the
     file's group ID is set to the effective group ID of the pro-
     cess, and the access 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 stat(5)].

     Upon successful completion, a write-only file descriptor is
     returned and the file is open for writing, even if the mode
     does not permit writing.  The file pointer is set to the
     beginning of the file.  The file descriptor is set to remain
     open across exec system calls [see fcntl(2)].  No process
     may have more than NOFILES files open simultaneously.  A new
     file may be created with a mode that forbids writing.

ERRORS
     creat fails if one or more of the following are true:

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

     [ENOENT]            A component of the path prefix does not
                         exist, or the path name is null.

     [EACCES]            Search permission is denied on a com-
                         ponent of the path prefix, or the file
                         does not exist and the directory in
                         which the file is to be created does not
                         permit writing, or the file exists and
                         write permission is denied.



                         Printed 1/15/91                   Page 1





CREAT(2-POSIX)      RISC/os Reference Manual       CREAT(2-POSIX)



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

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

     [EISDIR]            The named file is an existing directory.

     [EMFILE]            NOFILES file descriptors are currently
                         open.

     [EFAULT]            path points outside the allocated
                         address space of the process.

     [ENFILE]            The system file table is full.

     [EAGAIN]            The file exists, mandatory file/record
                         locking is set, and there are outstand-
                         ing record locks on the file [see
                         chmod(2)].

     [EINTR]             A signal was caught during the creat
                         system call.

     [ENOSPC]            The file system is out of inodes.

     [ENAMETOOLONG]      The length of path exceeds {PATH_MAX},
                         or a pathname component is longer than
                         {NAME_MAX} while {_POSIX_NO_TRUNC) is in
                         effect.

SEE ALSO
     chmod(2), close(2), dup(2), fcntl(2), lseek(2), open(2),
     read(2), umask(2), write(2).

DIAGNOSTICS
     Upon successful completion, a non-negative integer, namely
     the file descriptor, is returned.  Otherwise, a value of -1
     is returned and errno is set to indicate the error.
















 Page 2                  Printed 1/15/91



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026