]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/vfs/vfs_subr.c
xnu-792.10.96.tar.gz
[apple/xnu.git] / bsd / vfs / vfs_subr.c
index fd2250cc76881571d2220615704a7e33f282822c..1ddfa971af69cc0a74902995b5b1aae3dceaafed 100644 (file)
@@ -3990,6 +3990,47 @@ vnode_setsize(vnode_t vp, off_t size, int ioflag, vfs_context_t ctx)
        return(vnode_setattr(vp, &va, ctx));
 }
 
+/*
+ * Create a filesystem object of arbitrary type with arbitrary attributes in
+ * the spevied directory with the specified name.
+ *
+ * Parameters: dvp                     Pointer to the vnode of the directory
+ *                                     in which to create the object.
+ *             vpp                     Pointer to the area into which to
+ *                                     return the vnode of the created object.
+ *             cnp                     Component name pointer from the namei
+ *                                     data structure, containing the name to
+ *                                     use for the create object.
+ *             vap                     Pointer to the vnode_attr structure
+ *                                     describing the object to be created,
+ *                                     including the type of object.
+ *             flags                   VN_* flags controlling ACL inheritance
+ *                                     and whether or not authorization is to
+ *                                     be required for the operation.
+ *             
+ * Returns:    0                       Success
+ *             !0                      errno value
+ *
+ * Implicit:   *vpp                    Contains the vnode of the object that
+ *                                     was created, if successful.
+ *             *cnp                    May be modified by the underlying VFS.
+ *             *vap                    May be modified by the underlying VFS.
+ *                                     modified by either ACL inheritance or
+ *             
+ *             
+ *                                     be modified, even if the operation is
+ *                                     
+ *
+ * Notes:      The kauth_filesec_t in 'vap', if any, is in host byte order.
+ *
+ *             Modification of '*cnp' and '*vap' by the underlying VFS is
+ *             strongly discouraged.
+ *
+ * XXX:                This function is a 'vn_*' function; it belongs in vfs_vnops.c
+ *
+ * XXX:                We should enummerate the possible errno values here, and where
+ *             in the code they originated.
+ */
 errno_t
 vn_create(vnode_t dvp, vnode_t *vpp, struct componentname *cnp, struct vnode_attr *vap, int flags, vfs_context_t ctx)
 {