Copyright (c) 1996 Doug Rabson All rights reserved. This program is free software. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in...
NAMEVOP_GETATTR VOP_SETATTR - get and set attributes on a file or directory
SYNOPSISIn sys/param.h In sys/vnode.h Ft int Fn VOP_GETATTR struct vnode *vp struct vattr *vap struct ucred *cred Ft int Fn VOP_SETATTR struct vnode *vp struct vattr *vap struct ucred *cred
DESCRIPTIONThese entry points manipulate various attributes of a file or directory, including file permissions, owner, group, size, access time and modification time.
The arguments are:
- Fa vp
- The vnode of the file.
- Fa vap
- The attributes of the file.
- Fa cred
- The user credentials of the calling process.
Attributes which are not being modified by Fn VOP_SETATTR should be set to the value VNOVAL Fn VATTR_NULL may be used to clear all the values, and should generally be used to reset the contents of Fa *vap prior to setting specific values.
LOCKSFn 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.
Fn 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 VALUESFn VOP_GETATTR returns 0 if it was able to retrieve the attribute data via Fa *vap , otherwise an appropriate error is returned. Fn VOP_SETATTR returns zero if the attributes were changed successfully, otherwise an appropriate error is returned.
- Bq Er EPERM
- The file is immutable.
- Bq Er EACCES
- The caller does not have permission to modify the file or directory attributes.
- Bq Er EROFS
- The file system is read-only.