FreeBSD/sys/ufs/ufs/ufs_extattr.c
/*
 * Vnode operation to set a named attribute.
 */
Vnode operation to set a named attribute.
Vnode operation to set a named attribute .
int
ufs_setextattr(struct vop_setextattr_args *ap)
{
	struct mount *mp = ap->a_vp->v_mount;
	struct ufsmount *ump = VFSTOUFS(mp); 
	int error;
	if (ap->a_uio == NULL)
		return (EINVAL);
	ufs_extattr_uepm_lock(ump);
	error = ufs_extattr_set(ap->a_vp, ap->a_attrnamespace, ap->a_name,
	    ap->a_uio, ap->a_cred, ap->a_td);
	ufs_extattr_uepm_unlock(ump);
	return (error);
}
int ufs_setextattr ( struct vop_setextattr_args * ap ) { struct mount * mp = ap -> a_vp -> v_mount ; struct ufsmount * ump = VFSTOUFS ( mp ) ; int error ; if ( ap -> a_uio == NULL ) return ( EINVAL ) ; ufs_extattr_uepm_lock ( ump ) ; error = ufs_extattr_set ( ap -> a_vp , ap -> a_attrnamespace , ap -> a_name , ap -> a_uio , ap -> a_cred , ap -> a_td ) ; ufs_extattr_uepm_unlock ( ump ) ; return ( error ) ; }
Vnode operation to set a named attribute.
Vnode operation to set a named attribute .
/*
vop_setextattr {
	IN struct vnode *a_vp;
	IN int a_attrnamespace;
	IN const char *a_name;
	INOUT struct uio *a_uio;
	IN struct ucred *a_cred;
	IN struct thread *a_td;
};
*/ /*
	 * XXX: No longer a supported way to delete extended attributes.
	 */