Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

open(2)

write(2)

close(2)

chmod(2)

umask(2)



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



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 con-
     struct 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 trun-
     cated 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.



                         Printed 1/15/91                   Page 1





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



     [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 unwrit-
                              able.

     [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 associ-
                              ated 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.



 Page 2                  Printed 1/15/91





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



     [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)















































                         Printed 1/15/91                   Page 3



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