Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


VATTR(9)                   Kernel Developer's Manual                  VATTR(9)

NAME
     vattr, vattr_null - vnode attributes

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

     void
     vattr_null(struct vattr *vap);

DESCRIPTION
     Vnode attributes describe attributes of a file or directory including
     file permissions, owner, group, size, access time and modification time.

     A vnode attribute has the following structure:

     struct vattr {
             enum vtype      va_type;        /* vnode type (for create) */
             mode_t          va_mode;        /* files access mode and type */
             nlink_t         va_nlink;       /* number of references to file */
             uid_t           va_uid;         /* owner user id */
             gid_t           va_gid;         /* owner group id */
             dev_t           va_fsid;        /* file system id (dev for now) */
             ino_t           va_fileid;      /* file id */
             u_quad_t        va_size;        /* file size in bytes */
             long            va_blocksize;   /* blocksize preferred for i/o */
             struct timespec va_atime;       /* time of last access */
             struct timespec va_mtime;       /* time of last modification */
             struct timespec va_ctime;       /* time file changed */
             struct timespec va_birthtime;   /* time file created */
             u_long          va_gen;         /* generation number of file */
             u_long          va_flags;       /* flags defined for file */
             dev_t           va_rdev;        /* device the special file represents */
             u_quad_t        va_bytes;       /* bytes of disk space held by file */
             u_quad_t        va_filerev;     /* file modification number */
             u_int           va_vaflags;     /* operations flags, see below */
             long            va_spare;       /* remain quad aligned */
     };

     A field value of VNOVAL represents a field whose value is unavailable or
     which is not to be changed.  Valid flag values for va_flags are:

           VA_UTIMES_NULL  utimes argument was NULL
           VA_EXCLUSIVE    exclusive create request

     Vnode attributes for a file are set by the vnode operation
     VOP_SETATTR(9).  Vnode attributes for a file are retrieved by the vnode
     operation VOP_GETATTR(9).  For more information on vnode operations see
     vnodeops(9).

FUNCTIONS
     vattr_null(vap)
              Set vnode attributes in vap to VNOVAL.

CODE REFERENCES
     vattr_null() is implemented in sys/kern/vfs_subr.c.

SEE ALSO
     intro(9), vfs(9), vnode(9), vnodeops(9)

NetBSD 10.99                    January 8, 2010                   NetBSD 10.99