/sys/doc/ Documentation archive

CREAT(II)                     8/5/73                    CREAT(II)

     creat  -  create a new file

     (creat = 8.)
     sys creat; name; mode
     (file descriptor in r0)

     creat(name, mode)
     char *name;

     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.
     See chmod(II) 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 (in r0).

     The mode given is arbitrary;  it  need  not  allow  writing.
     This  feature  is used by programs which deal with temporary
     files of fixed names.  The creation is done with a mode that
     forbids  writing.   Then if a second instance of the program
     attempts a creat, an error is returned and the program knows
     that the name is unusable for the moment.

     write(II), close(II), stat(II)

     The  error  bit (c-bit) may be set if: a needed directory is
     not searchable; the file does not exist and the directory in
     which it is to be created is not writable; the file does ex-
     ist and is unwritable; the file is a  directory;  there  are
     already too many files open.

     From C, a -1 return indicates an error.

                              - 1 -