/share/man/man9/VOP_CREATE.9

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 100 lines · 100 code · 0 blank · 0 comment · 0 complexity · ebb05247c8fdb53a10ad2aa0c66a85fc MD5 · raw file

  1. .\" -*- nroff -*-
  2. .\"
  3. .\" Copyright (c) 1996 Doug Rabson
  4. .\"
  5. .\" All rights reserved.
  6. .\"
  7. .\" This program is free software.
  8. .\"
  9. .\" Redistribution and use in source and binary forms, with or without
  10. .\" modification, are permitted provided that the following conditions
  11. .\" are met:
  12. .\" 1. Redistributions of source code must retain the above copyright
  13. .\" notice, this list of conditions and the following disclaimer.
  14. .\" 2. Redistributions in binary form must reproduce the above copyright
  15. .\" notice, this list of conditions and the following disclaimer in the
  16. .\" documentation and/or other materials provided with the distribution.
  17. .\"
  18. .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
  19. .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  20. .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  21. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
  22. .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  23. .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  24. .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  25. .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  26. .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  27. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28. .\"
  29. .\" $FreeBSD$
  30. .\"
  31. .Dd July 24, 1996
  32. .Dt VOP_CREATE 9
  33. .Os
  34. .Sh NAME
  35. .Nm VOP_CREATE ,
  36. .Nm VOP_MKNOD ,
  37. .Nm VOP_MKDIR ,
  38. .Nm VOP_SYMLINK
  39. .Nd create a file, socket, fifo, device, directory or symlink
  40. .Sh SYNOPSIS
  41. .In sys/param.h
  42. .In sys/vnode.h
  43. .In sys/namei.h
  44. .Ft int
  45. .Fn VOP_CREATE "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap"
  46. .Ft int
  47. .Fn VOP_MKNOD "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap"
  48. .Ft int
  49. .Fn VOP_MKDIR "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap"
  50. .Ft int
  51. .Fn VOP_SYMLINK "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" "char *target"
  52. .Sh DESCRIPTION
  53. These entry points create a new file, socket, fifo, device, directory or symlink
  54. in a given directory.
  55. .Pp
  56. The arguments are:
  57. .Bl -tag -width target
  58. .It Fa dvp
  59. The locked vnode of the directory.
  60. .It Fa vpp
  61. The address of a variable where the resulting locked vnode should be stored.
  62. .It Fa cnp
  63. The pathname component created.
  64. .It Fa vap
  65. The attributes that the new object should be created with.
  66. .It Fa target
  67. The pathname of the target of the symlink.
  68. .El
  69. .Pp
  70. These entry points are called after
  71. .Xr VOP_LOOKUP 9
  72. when an object is being created.
  73. .Sh LOCKS
  74. The directory,
  75. .Fa dvp
  76. will be locked on entry and must remain locked on return.
  77. If the call is successful, the new object will be returned locked.
  78. .Sh RETURN VALUES
  79. If successful, the vnode for the new object is placed in
  80. .Fa *vpp
  81. and zero is returned.
  82. Otherwise, an appropriate error is returned.
  83. .Sh ERRORS
  84. .Bl -tag -width Er
  85. .It Bq Er ENOSPC
  86. The file system is full.
  87. .It Bq Er EDQUOT
  88. The user's file system space or inode quota would be exceeded.
  89. .El
  90. .Sh SEE ALSO
  91. .Xr vnode 9 ,
  92. .Xr VOP_LOOKUP 9
  93. .Sh HISTORY
  94. The function
  95. .Nm
  96. appeared in
  97. .Bx 4.3 .
  98. .Sh AUTHORS
  99. This manual page was written by
  100. .An Doug Rabson .