#include <sys/vnode.h>

sys/vnode.h

includes: stdint.h, sys/appleapiopts.h, sys/cdefs.h, stdint.h
22 macros · 2 enums · 2 structs · 1 typedef

enumvtype

Vnode types. VNON means no type.
underlying type unsigned int
VNON00
VREG11 - 5
VDIR2
VBLK3
VCHR4
VLNK5
VSOCK66 - 10
VFIFO7
VBAD8
VSTR9
VCPLX10

enumvtagtype

Vnode tag types. These are for the benefit of external programs only (e.g., pstat) and should NEVER be inspected by the kernel.
underlying type unsigned int
VT_NON00
VT_UFS11 reserved, overlaps with (CTL_VFS, VFS_NUMMNTOPS)
VT_NFS22 - 5
VT_MFS3
VT_MSDOSFS4
VT_LFS5
VT_LOFS66 - 10
VT_FDESC7
VT_PORTAL8
VT_NULL9
VT_UMAP10
VT_KERNFS1111 - 15
VT_PROCFS12
VT_AFS13
VT_ISOFS14
VT_MOCKFS15
VT_HFS1616 - 20
VT_ZFS17
VT_DEVFS18
VT_WEBDAV19
VT_UDF20
VT_AFP2121 - 25
VT_CDDA22
VT_CIFS23
VT_OTHER24
VT_APFS25
VT_LOCKERFS2626 - 27
VT_BINDFS27

macroHAVE_VT_LOCKERFS

#define HAVE_VT_LOCKERFS 1

macroVNODE_READ

flags for VNOP_BLOCKMAP
#define VNODE_READ 0x01

macroVNODE_WRITE

#define VNODE_WRITE 0x02

macroVNODE_BLOCKMAP_NO_TRACK

#define VNODE_BLOCKMAP_NO_TRACK 0x04
APFS Fusion: Do not track this request

macroVNODE_CLUSTER_VERIFY

#define VNODE_CLUSTER_VERIFY 0x08
Verification will be performed in the cluster layer

macroPREALLOCATE

flags for VNOP_ALLOCATE
#define PREALLOCATE 0x00000001
preallocate allocation blocks

macroALLOCATECONTIG

#define ALLOCATECONTIG 0x00000002
allocate contigious space

macroALLOCATEALL

#define ALLOCATEALL 0x00000004
allocate all requested space

macroALLOCATEPERSIST

or no space at all
#define ALLOCATEPERSIST 0x00000008
do not deallocate allocated but unfilled blocks at close(2)

macroALLOCATEFROMPEOF

#define ALLOCATEFROMPEOF 0x00000010
allocate from the physical eof

macroALLOCATEFROMVOL

#define ALLOCATEFROMVOL 0x00000020
allocate from the volume offset

macroVNOVAL

Token indicating no attribute value yet assigned. some user source uses this
#define VNOVAL (-1)

macroIOCS_BUFFER_NUM_SIZE_BUCKETS

#define IOCS_BUFFER_NUM_SIZE_BUCKETS 10

macroIOCS_BUFFER_MAX_BUCKET

#define IOCS_BUFFER_MAX_BUCKET 9

macroIOCS_BUFFER_NUM_COMPRESSION_BUCKETS

#define IOCS_BUFFER_NUM_COMPRESSION_BUCKETS 7

macroIOCS_BLOCK_NUM_SIZE_BUCKETS

#define IOCS_BLOCK_NUM_SIZE_BUCKETS 16

structio_compression_stats

size 360, align 8
uint64_tuncompressed_size
uint64_tcompressed_size
uint32_t[10][7]buffer_size_compression_dist
uint32_t[16]block_compressed_size_dist

typedefio_compression_stats_t

typedef struct io_compression_stats *io_compression_stats_t

macroIOCS_SBE_PATH_LEN

#define IOCS_SBE_PATH_LEN 128

macroIOCS_PATH_START_BYTES_TO_COPY

#define IOCS_PATH_START_BYTES_TO_COPY 108

macroIOCS_PATH_END_BYTES_TO_COPY

#define IOCS_PATH_END_BYTES_TO_COPY 20
Includes null termination

macroIOCS_SYSCTL_LIVE

#define IOCS_SYSCTL_LIVE 0x00000001

macroIOCS_SYSCTL_STORE_BUFFER_RD_ONLY

#define IOCS_SYSCTL_STORE_BUFFER_RD_ONLY 0x00000002

macroIOCS_SYSCTL_STORE_BUFFER_MARK

#define IOCS_SYSCTL_STORE_BUFFER_MARK 0x00000004

structiocs_store_buffer_entry

size 488, align 8
char[128]path_name
struct io_compression_statsiocs