CREAT.2
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:3k
源码类别:

操作系统开发

开发平台:

C/C++

  1. CREAT(2)                  Minix Programmer's Manual                   CREAT(2)
  2. NAME
  3.      creat - create a new file
  4. SYNOPSIS
  5.      #include <sys/types.h>
  6.      #include <fcntl.h>
  7.      int creat(const char *name, mode_t mode)
  8. DESCRIPTION
  9.      This interface is made obsolete by open(2), it is equivalent to
  10.           open(name, O_WRONLY | O_CREAT | O_TRUNC, mode)
  11.      Creat creates a new file or prepares to rewrite an existing  file  called
  12.      name,  given as the address of a null-terminated string.  If the file did
  13.      not exist, it is given mode mode, as modified by the process's mode  mask
  14.      (see  umask(2)).   Also  see  chmod(2)  for  the construction of the mode
  15.      argument.
  16.      If the file did exist, its mode and owner  remain  unchanged  but  it  is
  17.      truncated to 0 length.
  18.      The file is also opened for writing, and its file descriptor is returned.
  19. NOTES
  20.      The mode given is arbitrary; it need not allow writing.  This feature has
  21.      been  used  in  the  past  by  programs  to construct a simple, exclusive
  22.      locking mechanism.  It is replaced  by  the  O_EXCL  open  mode,  or  the
  23.      advisory locking of the fcntl(2) facility.
  24. RETURN VALUE
  25.      The value -1 is returned if an error occurs.  Otherwise, the call returns
  26.      a non-negative descriptor that only permits writing.
  27. ERRORS
  28.      Creat will fail and the file will not be created or truncated if  one  of
  29.      the following occur:
  30.      [ENOTDIR]      A component of the path prefix is not a directory.
  31.      [ENAMETOOLONG] The path name exceeds PATH_MAX characters.
  32.      [ENOENT]       The named file does not exist.
  33.      [ELOOP]        Too many symbolic links were  encountered  in  translating
  34.                     the pathname.  (Minix-vmd)
  35. 4BSD                              May 22, 1986                               1
  36. CREAT(2)                  Minix Programmer's Manual                   CREAT(2)
  37.      [EACCES]       Search permission is denied for a component  of  the  path
  38.                     prefix.
  39.      [EACCES]       The file does not exist and the directory in which  it  is
  40.                     to be created is not writable.
  41.      [EACCES]       The file exists, but it is unwritable.
  42.      [EISDIR]       The file is a directory.
  43.      [EMFILE]       There are already too many files open.
  44.      [ENFILE]       The system file table is full.
  45.      [ENOSPC]       The directory in which the entry for the new file is being
  46.                     placed  cannot  be extended because there is no space left
  47.                     on the file system containing the directory.
  48.      [ENOSPC]       There are no free inodes on the file system on  which  the
  49.                     file is being created.
  50.      [EROFS]        The named file resides on a read-only file system.
  51.      [ENXIO]        The file is a character special or block special file, and
  52.                     the associated device does not exist.
  53.      [EIO]          An I/O error occurred while making the directory entry  or
  54.                     allocating the inode.
  55.      [EFAULT]       Name points outside the process's allocated address space.
  56. SEE ALSO
  57.      open(2), write(2), close(2), chmod(2), umask(2).
  58. 4BSD                              May 22, 1986                               2