tail head cat sleep
QR code linking to this page

Manual Pages  — VOP_ATTRIB

NAME

VOP_GETATTR, VOP_SETATTR – get and set attributes on a file or directory

CONTENTS

SYNOPSIS

#include <sys/param.h>
#include <sys/vnode.h>

int
VOP_GETATTR(struct vnode *vp, struct vattr *vap, struct ucred *cred);

int
VOP_SETATTR(struct vnode *vp, struct vattr *vap, struct ucred *cred);

DESCRIPTION

These entry points manipulate various attributes of a file or directory, including file permissions, owner, group, size, access time and modification time.

The arguments are:
vp
  The vnode of the file.
vap
  The attributes of the file.
cred
  The user credentials of the calling process.

Attributes which are not being modified by VOP_SETATTR() should be set to the value VNOVAL; VATTR_NULL() may be used to clear all the values, and should generally be used to reset the contents of *vap prior to setting specific values.

LOCKS

VOP_GETATTR() expects the vnode to be locked on entry and will leave the vnode locked on return. The lock type can be either shared or exclusive.

VOP_SETATTR() expects the vnode to be locked on entry and will leave the vnode locked on return. The lock type must be exclusive.

RETURN VALUES

VOP_GETATTR() returns 0 if it was able to retrieve the attribute data via *vap, otherwise an appropriate error is returned. VOP_SETATTR() returns zero if the attributes were changed successfully, otherwise an appropriate error is returned.

ERRORS

[EPERM]
  The file is immutable.
[EACCES]
  The caller does not have permission to modify the file or directory attributes.
[EROFS]
  The file system is read-only.

SEE ALSO

VFS(9), vnode(9), VOP_ACCESS(9)

AUTHORS

This manual page was written by Doug Rabson.

VOP_ATTRIB (9) August 29, 2008

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.