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)

January 8, 2010 | NetBSD 11.0