rc.subr.8: Fix the Bl macro of a list which is actually a table
[freebsd.git] / lib / libprocstat / zfs_defs.c
1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause
3  *
4  * Copyright (c) 2020 Andriy Gapon <avg@FreeBSD.org>
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25  * SUCH DAMAGE.
26  */
27
28 #include <sys/types.h>
29 /*
30  * Prevent some headers from getting included and fake some types
31  * in order to allow this file to compile without bringing in
32  * too many kernel build dependencies.
33  */
34 #define _OPENSOLARIS_SYS_PATHNAME_H_
35 #define _OPENSOLARIS_SYS_POLICY_H_
36 #define _VNODE_PAGER_
37
38
39 enum vtype      { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO, VBAD,
40                   VMARKER };
41
42 /*
43  * Vnode attributes.  A field value of VNOVAL represents a field whose value
44  * is unavailable (getattr) or which is not to be changed (setattr).
45  */
46 struct vattr {
47         enum vtype      va_type;        /* vnode type (for create) */
48         u_short         va_mode;        /* files access mode and type */
49         u_short         va_padding0;
50         uid_t           va_uid;         /* owner user id */
51         gid_t           va_gid;         /* owner group id */
52         nlink_t         va_nlink;       /* number of references to file */
53         dev_t           va_fsid;        /* filesystem id */
54         ino_t           va_fileid;      /* file id */
55         u_quad_t        va_size;        /* file size in bytes */
56         long            va_blocksize;   /* blocksize preferred for i/o */
57         struct timespec va_atime;       /* time of last access */
58         struct timespec va_mtime;       /* time of last modification */
59         struct timespec va_ctime;       /* time file changed */
60         struct timespec va_birthtime;   /* time file created */
61         u_long          va_gen;         /* generation number of file */
62         u_long          va_flags;       /* flags defined for file */
63         dev_t           va_rdev;        /* device the special file represents */
64         u_quad_t        va_bytes;       /* bytes of disk space held by file */
65         u_quad_t        va_filerev;     /* file modification number */
66         u_int           va_vaflags;     /* operations flags, see below */
67         long            va_spare;       /* remain quad aligned */
68 };
69
70 #define _WANT_MOUNT
71 #include <sys/zfs_context.h>
72 #include <sys/zfs_znode.h>
73
74 size_t sizeof_znode_t = sizeof(znode_t);
75 size_t offsetof_z_id = offsetof(znode_t, z_id);
76 size_t offsetof_z_size = offsetof(znode_t, z_size);
77 size_t offsetof_z_mode = offsetof(znode_t, z_mode);
78
79 /* Keep pcpu.h satisfied. */
80 uintptr_t *__start_set_pcpu;
81 uintptr_t *__stop_set_pcpu;