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

操作系统开发

开发平台:

WINDOWS

  1. ." Copyright (c) 1980 Regents of the University of California.
  2. ." All rights reserved.  The Berkeley software License Agreement
  3. ." specifies the terms and conditions for redistribution.
  4. ."
  5. ." @(#)creat.2 6.6 (Berkeley) 5/22/86
  6. ."
  7. .TH CREAT 2 "May 22, 1986"
  8. .UC 4
  9. .SH NAME
  10. creat - create a new file
  11. .SH SYNOPSIS
  12. .nf
  13. .ft B
  14. #include <sys/types.h>
  15. #include <fcntl.h>
  16. int creat(const char *fInamefP, mode_t fImodefP)
  17. .ft R
  18. .fi
  19. .SH DESCRIPTION
  20. .ft B
  21. This interface is made obsolete by open(2), it is equivalent to
  22. .ft R
  23. .PP
  24. .RS
  25. open(fInamefP, O_WRONLY | O_CREAT | O_TRUNC, fImodefP)
  26. .RE
  27. .PP
  28. .B Creat
  29. creates a new file or prepares to rewrite an existing
  30. file called 
  31. .IR name ,
  32. given as the address of a null-terminated string.
  33. If the file did not exist, it is given
  34. mode
  35. .IR mode ,
  36. as modified by the process's mode mask (see
  37. .BR umask (2)).
  38. Also see
  39. .BR chmod (2)
  40. for the
  41. construction of the
  42. .I mode
  43. argument.
  44. .PP
  45. If the file did exist, its mode and owner remain unchanged
  46. but it is truncated to 0 length.
  47. .PP
  48. The file is also opened for writing, and its file descriptor
  49. is returned.
  50. .SH NOTES
  51. The
  52. .I mode
  53. given is arbitrary; it need not allow
  54. writing.
  55. This feature has been used in the past by
  56. programs to construct a simple, exclusive locking
  57. mechanism.  It is replaced by the O_EXCL open
  58. mode, or the advisory locking of the
  59. .BR fcntl (2)
  60. facility.  
  61. .SH "RETURN VALUE
  62. The value -1 is returned if an error occurs.  Otherwise,
  63. the call returns a non-negative descriptor that only permits
  64. writing.
  65. .SH ERRORS
  66. .I Creat
  67. will fail and the file will not be created or truncated
  68. if one of the following occur:
  69. .TP 15
  70. [ENOTDIR]
  71. A component of the path prefix is not a directory.
  72. .TP 15
  73. [ENAMETOOLONG]
  74. The path name exceeds PATH_MAX characters.
  75. .TP 15
  76. [ENOENT]
  77. The named file does not exist.
  78. .TP 15
  79. [ELOOP]
  80. Too many symbolic links were encountered in translating the pathname.
  81. (Minix-vmd)
  82. .TP 15
  83. [EACCES]
  84. Search permission is denied for a component of the path prefix.
  85. .TP 15
  86. [EACCES]
  87. The file does not exist and the directory
  88. in which it is to be created is not writable.
  89. .TP 15
  90. [EACCES]
  91. The file exists, but it is unwritable.
  92. .TP 15
  93. [EISDIR]
  94. The file is a directory.
  95. .TP 15
  96. [EMFILE]
  97. There are already too many files open.
  98. .TP 15
  99. [ENFILE]
  100. The system file table is full.
  101. .TP 15
  102. [ENOSPC]
  103. The directory in which the entry for the new file is being placed
  104. cannot be extended because there is no space left on the file
  105. system containing the directory.
  106. .TP 15
  107. [ENOSPC]
  108. There are no free inodes on the file system on which the
  109. file is being created.
  110. .ig
  111. .TP 15
  112. [EDQUOT]
  113. The directory in which the entry for the new file
  114. is being placed cannot be extended because the
  115. user's quota of disk blocks on the file system
  116. containing the directory has been exhausted.
  117. .TP 15
  118. [EDQUOT]
  119. The user's quota of inodes on the file system on
  120. which the file is being created has been exhausted.
  121. ..
  122. .TP 15
  123. [EROFS]
  124. The named file resides on a read-only file system.
  125. .TP 15
  126. [ENXIO]
  127. The file is a character special or block special file, and
  128. the associated device does not exist.
  129. .TP 15
  130. [EIO]
  131. An I/O error occurred while making the directory entry or allocating the inode.
  132. .TP 15
  133. [EFAULT]
  134. .I Name
  135. points outside the process's allocated address space.
  136. .SH "SEE ALSO"
  137. .BR open (2),
  138. .BR write (2),
  139. .BR close (2),
  140. .BR chmod (2),
  141. .BR umask (2).