+#ifndef _KAUTH_ACTION_T
+typedef int kauth_action_t;
+# define _KAUTH_ACTION_T
+#endif
+
+#include <sys/vnode_if.h>
+
+__BEGIN_DECLS
+
+errno_t vnode_create(int, size_t, void *, vnode_t *);
+int vnode_addfsref(vnode_t);
+int vnode_removefsref(vnode_t);
+
+int vnode_hasdirtyblks(vnode_t);
+int vnode_hascleanblks(vnode_t);
+#define VNODE_ASYNC_THROTTLE 15
+/* timeout is in 10 msecs and not hz tick based */
+int vnode_waitforwrites(vnode_t, int, int, int, const char *);
+void vnode_startwrite(vnode_t);
+void vnode_writedone(vnode_t);
+
+enum vtype vnode_vtype(vnode_t);
+uint32_t vnode_vid(vnode_t);
+mount_t vnode_mountedhere(vnode_t vp);
+mount_t vnode_mount(vnode_t);
+errno_t vfs_mountref(mount_t);
+errno_t vfs_mountrele(mount_t);
+dev_t vnode_specrdev(vnode_t);
+void * vnode_fsnode(vnode_t);
+void vnode_clearfsnode(vnode_t);
+
+int vnode_isvroot(vnode_t);
+int vnode_issystem(vnode_t);
+int vnode_isswap(vnode_t vp);
+int vnode_ismount(vnode_t);
+int vnode_isreg(vnode_t);
+int vnode_isdir(vnode_t);
+int vnode_islnk(vnode_t);
+int vnode_isfifo(vnode_t);
+int vnode_isblk(vnode_t);
+int vnode_ischr(vnode_t);
+
+#ifdef __APPLE_API_UNSTABLE
+int vnode_isnamedstream(vnode_t);
+#endif
+
+enum vtype vnode_iftovt(int);
+int vnode_vttoif(enum vtype);
+int vnode_makeimode(int, int);
+
+int vnode_ismountedon(vnode_t);
+void vnode_setmountedon(vnode_t);
+void vnode_clearmountedon(vnode_t);
+
+int vnode_isrecycled(vnode_t);
+int vnode_isnocache(vnode_t);
+void vnode_setnocache(vnode_t);
+void vnode_clearnocache(vnode_t);
+int vnode_isnoreadahead(vnode_t);
+int vnode_isstandard(vnode_t);
+void vnode_setnoreadahead(vnode_t);
+void vnode_clearnoreadahead(vnode_t);
+
+int vnode_is_openevt(vnode_t);
+void vnode_set_openevt(vnode_t);
+void vnode_clear_openevt(vnode_t);
+
+/* left only for compat reasons as User code depends on this from getattrlist, for ex */
+void vnode_settag(vnode_t, int);
+int vnode_tag(vnode_t);
+int vnode_getattr(vnode_t vp, struct vnode_attr *vap, vfs_context_t ctx);
+int vnode_setattr(vnode_t vp, struct vnode_attr *vap, vfs_context_t ctx);
+
+vnode_t vfs_rootvnode(void);
+uint32_t vnode_vfsvisflags(vnode_t);
+uint32_t vnode_vfscmdflags(vnode_t);
+struct vfsstatfs *vnode_vfsstatfs(vnode_t);
+void *vnode_vfsfsprivate(vnode_t);
+vnode_t current_workingdir(void);
+vnode_t current_rootdir(void);
+
+void vnode_uncache_credentials(vnode_t vp);
+void vnode_setmultipath(vnode_t vp);
+
+#ifdef BSD_KERNEL_PRIVATE
+