-__BEGIN_DECLS
-int ubc_info_init __P((struct vnode *));
-void ubc_info_free __P((struct vnode *));
-int ubc_setsize __P((struct vnode *, off_t));
-off_t ubc_getsize __P((struct vnode *));
-int ubc_uncache __P((struct vnode *));
-int ubc_umount __P((struct mount *));
-void ubc_unmountall __P(());
-int ubc_setcred __P((struct vnode *, struct proc *));
-struct ucred *ubc_getcred __P((struct vnode *));
-void *ubc_getpager __P((struct vnode *));
-void *ubc_getobject __P((struct vnode *, int));
-int ubc_setpager __P((struct vnode *, void *));
-int ubc_setflags __P((struct vnode *, int));
-int ubc_clearflags __P((struct vnode *, int));
-int ubc_issetflags __P((struct vnode *, int));
-off_t ubc_blktooff __P((struct vnode *, daddr_t));
-daddr_t ubc_offtoblk __P((struct vnode *, off_t));
-int ubc_clean __P((struct vnode *, int));
-int ubc_pushdirty __P((struct vnode *));
-int ubc_hold __P((struct vnode *));
-void ubc_rele __P((struct vnode *));
-void ubc_map __P((struct vnode *));
-int ubc_release __P((struct vnode *));
-int ubc_invalidate __P((struct vnode *, off_t, size_t));
-int ubc_isinuse __P((struct vnode *, int));
+kauth_cred_t ubc_getcred(struct vnode *);
+#ifdef __APPLE_API_OBSOLETE
+/* This API continues to exist only until <rdar://4714366> is resolved */
+int ubc_setcred(struct vnode *, struct proc *) __deprecated;
+#endif
+struct thread;
+int ubc_setthreadcred(struct vnode *, struct proc *, struct thread *);
+
+int ubc_sync_range(vnode_t, off_t, off_t, int);
+errno_t ubc_msync(vnode_t, off_t, off_t, off_t *, int);
+int ubc_pages_resident(vnode_t);
+
+/* code signing */
+struct cs_blob;
+struct cs_blob *ubc_cs_blob_get(vnode_t, cpu_type_t, off_t);