-int nfs_init(struct vfsconf *vfsp);
-void nfs_mbuf_init(void);
-int nfs_reply(struct nfsreq *);
-int nfs_getreq(struct nfsrv_descript *,struct nfsd *,int);
-int nfs_send(socket_t, mbuf_t, mbuf_t, struct nfsreq *);
-int nfs_rephead(int, struct nfsrv_descript *, struct nfssvc_sock *,
- int, mbuf_t *, mbuf_t *, caddr_t *);
-int nfs_sndlock(struct nfsreq *);
-void nfs_sndunlock(struct nfsreq *);
-int nfs_vinvalbuf(vnode_t, int, struct ucred *, proc_t, int);
-int nfs_buf_page_inval(vnode_t vp, off_t offset);
-int nfs_readrpc(vnode_t, struct uio *, struct ucred *, proc_t);
-int nfs_writerpc(vnode_t, struct uio *, struct ucred *, proc_t, int *, int *);
-int nfs_readdirrpc(vnode_t, struct uio *, struct ucred *, proc_t);
-int nfs_readdirplusrpc(vnode_t, struct uio *, struct ucred *, proc_t);
-int nfs_asyncio(struct nfsbuf *, struct ucred *);
-int nfs_doio(struct nfsbuf *, struct ucred *, proc_t);
-int nfs_readlinkrpc(vnode_t, struct uio *, struct ucred *, proc_t);
-int nfs_sigintr(struct nfsmount *, struct nfsreq *, proc_t);
-int nfsm_disct(mbuf_t *, caddr_t *, int, int, caddr_t *);
-void nfsm_srvfattr(struct nfsrv_descript *, struct vnode_attr *,
- struct nfs_fattr *);
-void nfsm_srvwcc(struct nfsrv_descript *, int, struct vnode_attr *, int,
- struct vnode_attr *, mbuf_t *, char **);
-void nfsm_srvpostopattr(struct nfsrv_descript *, int, struct vnode_attr *,
- mbuf_t *, char **);
-int netaddr_match(int, union nethostaddr *, mbuf_t);
-int nfs_request(vnode_t, mount_t, mbuf_t, int, proc_t,
- struct ucred *, mbuf_t *, mbuf_t *,
- caddr_t *, u_int64_t *);
-int nfs_parsefattr(mbuf_t *, caddr_t *, int, struct nfs_vattr *);
-int nfs_loadattrcache(struct nfsnode *, struct nfs_vattr *, u_int64_t *, int);
-int nfsm_path_mbuftond(mbuf_t *, caddr_t *, int, int, int *, struct nameidata *);
-int nfs_namei(struct nfsrv_descript *, struct vfs_context *, struct nameidata *,
- struct nfs_filehandle *, mbuf_t, int, vnode_t *,
- struct nfs_export **, struct nfs_export_options **);
-void nfsm_adj(mbuf_t, int, int);
-int nfsm_mbuftouio(mbuf_t *, struct uio *, int, caddr_t *);
-void nfsrv_initcache(void);
-int nfs_getauth(struct nfsmount *, struct nfsreq *, struct ucred *,
- char **, int *, char *, int *, NFSKERBKEY_T);
-int nfs_getnickauth(struct nfsmount *, struct ucred *, char **,
- int *, char *, int);
-int nfs_savenickauth(struct nfsmount *, struct ucred *, int,
- NFSKERBKEY_T, mbuf_t *, char **,
- mbuf_t);
-int nfs_adv(mbuf_t *, caddr_t *, int, int);
-void nfs_nhinit(void);
-void nfs_timer_funnel(void*);
-void nfs_timer(void*);
-u_long nfs_hash(u_char *, int);
-int nfsrv_dorec(struct nfssvc_sock *, struct nfsd *,
- struct nfsrv_descript **);
-int nfsrv_getcache(struct nfsrv_descript *, struct nfssvc_sock *,
- mbuf_t *);
-void nfsrv_updatecache(struct nfsrv_descript *, int, mbuf_t);
-void nfsrv_cleancache(void);
-int nfs_bind_resv_thread_wake(void);
-int nfs_connect(struct nfsmount *, struct nfsreq *);
-void nfs_disconnect(struct nfsmount *);
-int nfs_getattr_no_vnode(mount_t,u_char *,int,struct ucred *,proc_t,struct nfs_vattr *,u_int64_t *);
-int nfs_getattr(vnode_t vp, struct nfs_vattr *nvap, struct ucred *cred, proc_t p);
-int nfs_getattrcache(vnode_t, struct nfs_vattr *);
-int nfs_attrcachetimeout(vnode_t);
-int nfsm_strtmbuf(mbuf_t *, char **, char *, long);
-int nfs_bioread(vnode_t, struct uio *, int, struct ucred *, proc_t);
-int nfsm_uiotombuf(struct uio *, mbuf_t *, int, caddr_t *);
-void nfsrv_init(int);
-int nfs_commit(vnode_t vp, u_quad_t offset, u_int32_t count,
- struct ucred *cred, proc_t procp);
-int nfs_flushcommits(vnode_t, proc_t, int);
-int nfs_flush(vnode_t,int,struct ucred *,proc_t,int);
-void nfs_clearcommit(mount_t);
-int nfsrv_errmap(struct nfsrv_descript *, int);
-void nfsrvw_sort(gid_t *, int);
-void nfsrv_setcred(struct ucred *, struct ucred *);
-int nfs_buf_write(struct nfsbuf *);
-void nfsrv_wakenfsd(struct nfssvc_sock *slp);
-int nfsrv_writegather(struct nfsrv_descript **, struct nfssvc_sock *,
- proc_t, mbuf_t *);
-int nfs_fsinfo(struct nfsmount *, vnode_t, struct ucred *, proc_t p);
-int nfs_pathconfrpc(vnode_t, struct nfsv3_pathconf *, kauth_cred_t, proc_t);
-void nfs_pathconf_cache(struct nfsmount *, struct nfsv3_pathconf *);
-
-int nfsrv3_access(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_commit(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_create(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_credcheck(struct nfsrv_descript *, struct nfs_export *,
- struct nfs_export_options *);
-int nfsrv_export(struct user_nfs_export_args *, struct vfs_context *);
-int nfsrv_fhmatch(struct nfs_filehandle *fh1, struct nfs_filehandle *fh2);
-int nfsrv_fhtovp(struct nfs_filehandle *, mbuf_t, int, vnode_t *,
- struct nfs_export **, struct nfs_export_options **);
-int nfs_ispublicfh(struct nfs_filehandle *);
-int nfsrv_fsinfo(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_getattr(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_link(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_lookup(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_mkdir(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_mknod(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_noop(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_null(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_pathconf(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp, proc_t procp,
- mbuf_t *mrq);
-void nfsrv_rcv(socket_t, caddr_t arg, int waitflag);
-void nfsrv_rcv_locked(socket_t, struct nfssvc_sock *slp, int waitflag);
-int nfsrv_read(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_readdir(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_readdirplus(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp, proc_t procp,
- mbuf_t *mrq);
-int nfsrv_readlink(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp, proc_t procp,
- mbuf_t *mrq);
-int nfsrv_remove(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_rename(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_rmdir(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_setattr(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-void nfsrv_slpderef(struct nfssvc_sock *slp);
-void nfsrv_slpfree(struct nfssvc_sock *slp);
-int nfsrv_statfs(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_symlink(struct nfsrv_descript *nfsd,
- struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_write(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
- proc_t procp, mbuf_t *mrq);
-int nfsrv_vptofh( struct nfs_export *, int, struct nfs_filehandle *,
- vnode_t, struct vfs_context *, struct nfs_filehandle *);
-
-void nfs_up(struct nfsmount *, proc_t, int, const char *);
-void nfs_down(struct nfsmount *, proc_t, int, int, const char *);
+nfstype vtonfs_type(enum vtype, int);
+enum vtype nfstov_type(nfstype, int);
+int vtonfsv2_mode(enum vtype, mode_t);
+
+void nfs_mbuf_init(void);
+
+void nfs_nhinit(void);
+void nfs_nhinit_finish(void);
+u_long nfs_hash(u_char *, int);
+
+#if CONFIG_NFS4
+int nfs4_init_clientid(struct nfsmount *);
+int nfs4_setclientid(struct nfsmount *);
+int nfs4_renew(struct nfsmount *, int);
+void nfs4_renew_timer(void *, void *);
+void nfs4_mount_callback_setup(struct nfsmount *);
+void nfs4_mount_callback_shutdown(struct nfsmount *);
+void nfs4_cb_accept(socket_t, void *, int);
+void nfs4_cb_rcv(socket_t, void *, int);
+void nfs4_callback_timer(void *, void *);
+int nfs4_secinfo_rpc(struct nfsmount *, struct nfsreq_secinfo_args *, kauth_cred_t, uint32_t *, int *);
+int nfs4_get_fs_locations(struct nfsmount *, nfsnode_t, u_char *, int, const char *, vfs_context_t, struct nfs_fs_locations *);
+void nfs4_default_attrs_for_referral_trigger(nfsnode_t, char *, int, struct nfs_vattr *, fhandle_t *);
+#endif
+
+void nfs_fs_locations_cleanup(struct nfs_fs_locations *);
+
+int nfs_sockaddr_cmp(struct sockaddr *, struct sockaddr *);
+int nfs_connect(struct nfsmount *, int, int);
+void nfs_disconnect(struct nfsmount *);
+void nfs_need_reconnect(struct nfsmount *);
+void nfs_mount_sock_thread_wake(struct nfsmount *);
+int nfs_mount_check_dead_timeout(struct nfsmount *);
+int nfs_mount_gone(struct nfsmount *);
+void nfs_mount_rele(struct nfsmount *);
+void nfs_mount_zombie(struct nfsmount *, int);
+void nfs_mount_make_zombie(struct nfsmount *);
+
+void nfs_rpc_record_state_init(struct nfs_rpc_record_state *);
+void nfs_rpc_record_state_cleanup(struct nfs_rpc_record_state *);
+int nfs_rpc_record_read(socket_t, struct nfs_rpc_record_state *, int, int *, mbuf_t *);
+
+int nfs_getattr(nfsnode_t, struct nfs_vattr *, vfs_context_t, int);
+int nfs_getattrcache(nfsnode_t, struct nfs_vattr *, int);
+int nfs_loadattrcache(nfsnode_t, struct nfs_vattr *, u_int64_t *, int);
+int nfs_attrcachetimeout(nfsnode_t);
+
+int nfs_buf_page_inval(vnode_t vp, off_t offset);
+int nfs_vinvalbuf(vnode_t, int, vfs_context_t, int);
+int nfs_vinvalbuf2(vnode_t, int, thread_t, kauth_cred_t, int);
+int nfs_vinvalbuf_internal(nfsnode_t, int, thread_t, kauth_cred_t, int, int);
+void nfs_wait_bufs(nfsnode_t);
+
+int nfs_request_create(nfsnode_t, mount_t, struct nfsm_chain *, int, thread_t, kauth_cred_t, struct nfsreq **);
+void nfs_request_destroy(struct nfsreq *);
+void nfs_request_ref(struct nfsreq *, int);
+void nfs_request_rele(struct nfsreq *);
+int nfs_request_add_header(struct nfsreq *);
+int nfs_request_send(struct nfsreq *, int);
+void nfs_request_wait(struct nfsreq *);
+int nfs_request_finish(struct nfsreq *, struct nfsm_chain *, int *);
+int nfs_request(nfsnode_t, mount_t, struct nfsm_chain *, int, vfs_context_t, struct nfsreq_secinfo_args *, struct nfsm_chain *, u_int64_t *, int *);
+int nfs_request2(nfsnode_t, mount_t, struct nfsm_chain *, int, thread_t, kauth_cred_t, struct nfsreq_secinfo_args *, int, struct nfsm_chain *, u_int64_t *, int *);
+int nfs_request_gss(mount_t, struct nfsm_chain *, thread_t, kauth_cred_t, int, struct nfs_gss_clnt_ctx *, struct nfsm_chain *, int *);
+int nfs_request_async(nfsnode_t, mount_t, struct nfsm_chain *, int, thread_t, kauth_cred_t, struct nfsreq_secinfo_args *, int, struct nfsreq_cbinfo *, struct nfsreq **);
+int nfs_request_async_finish(struct nfsreq *, struct nfsm_chain *, u_int64_t *, int *);
+void nfs_request_async_cancel(struct nfsreq *);
+void nfs_request_timer(void *, void *);
+int nfs_request_using_gss(struct nfsreq *);
+void nfs_get_xid(uint64_t *);
+int nfs_sigintr(struct nfsmount *, struct nfsreq *, thread_t, int);
+int nfs_noremotehang(thread_t);
+
+int nfs_send(struct nfsreq *, int);
+int nfs_sndlock(struct nfsreq *);
+void nfs_sndunlock(struct nfsreq *);
+
+int nfs_uaddr2sockaddr(const char *, struct sockaddr *);
+
+int nfs_aux_request(struct nfsmount *, thread_t, struct sockaddr *, socket_t, int, mbuf_t, uint32_t, int, int, struct nfsm_chain *);
+int nfs_portmap_lookup(struct nfsmount *, vfs_context_t, struct sockaddr *, socket_t, uint32_t, uint32_t, uint32_t, int);
+
+void nfs_location_next(struct nfs_fs_locations *, struct nfs_location_index *);
+int nfs_location_index_cmp(struct nfs_location_index *, struct nfs_location_index *);
+void nfs_location_mntfromname(struct nfs_fs_locations *, struct nfs_location_index, char *, int, int);
+int nfs_socket_create(struct nfsmount *, struct sockaddr *, int, in_port_t, uint32_t, uint32_t, int, struct nfs_socket **);
+void nfs_socket_destroy(struct nfs_socket *);
+void nfs_socket_options(struct nfsmount *, struct nfs_socket *);
+void nfs_connect_upcall(socket_t, void *, int);
+int nfs_connect_error_class(int);
+int nfs_connect_search_loop(struct nfsmount *, struct nfs_socket_search *);
+void nfs_socket_search_update_error(struct nfs_socket_search *, int);
+void nfs_socket_search_cleanup(struct nfs_socket_search *);
+void nfs_mount_connect_thread(void *, __unused wait_result_t);
+
+int nfs_lookitup(nfsnode_t, char *, int, vfs_context_t, nfsnode_t *);
+void nfs_dulookup_init(struct nfs_dulookup *, nfsnode_t, const char *, int, vfs_context_t);
+void nfs_dulookup_start(struct nfs_dulookup *, nfsnode_t, vfs_context_t);
+void nfs_dulookup_finish(struct nfs_dulookup *, nfsnode_t, vfs_context_t);
+int nfs_dir_buf_cache_lookup(nfsnode_t, nfsnode_t *, struct componentname *, vfs_context_t, int);
+int nfs_dir_buf_search(struct nfsbuf *, struct componentname *, fhandle_t *, struct nfs_vattr *, uint64_t *, time_t *, daddr64_t *, int);
+void nfs_name_cache_purge(nfsnode_t, nfsnode_t, struct componentname *, vfs_context_t);
+
+#if CONFIG_NFS4
+uint32_t nfs4_ace_nfstype_to_vfstype(uint32_t, int *);
+uint32_t nfs4_ace_vfstype_to_nfstype(uint32_t, int *);
+uint32_t nfs4_ace_nfsflags_to_vfsflags(uint32_t);
+uint32_t nfs4_ace_vfsflags_to_nfsflags(uint32_t);
+uint32_t nfs4_ace_nfsmask_to_vfsrights(uint32_t);
+uint32_t nfs4_ace_vfsrights_to_nfsmask(uint32_t);
+int nfs4_id2guid(char *, guid_t *, int);
+int nfs4_guid2id(guid_t *, char *, size_t *, int);
+
+int nfs4_parsefattr(struct nfsm_chain *, struct nfs_fsattr *, struct nfs_vattr *, fhandle_t *, struct dqblk *, struct nfs_fs_locations *);
+#endif
+
+int nfs_parsefattr(struct nfsmount *nmp, struct nfsm_chain *, int,
+ struct nfs_vattr *);
+void nfs_vattr_set_supported(uint32_t *, struct vnode_attr *);
+void nfs_vattr_set_bitmap(struct nfsmount *, uint32_t *, struct vnode_attr *);
+void nfs3_pathconf_cache(struct nfsmount *, struct nfs_fsattr *);
+int nfs3_mount_rpc(struct nfsmount *, struct sockaddr *, int, int, char *, vfs_context_t, int, fhandle_t *, struct nfs_sec *);
+void nfs3_umount_rpc(struct nfsmount *, vfs_context_t, int);
+void nfs_rdirplus_update_node_attrs(nfsnode_t, struct direntry *, fhandle_t *, struct nfs_vattr *, uint64_t *);
+int nfs_node_access_slot(nfsnode_t, uid_t, int);
+void nfs_vnode_notify(nfsnode_t, uint32_t);
+
+void nfs_avoid_needless_id_setting_on_create(nfsnode_t, struct vnode_attr *, vfs_context_t);
+int nfs_open_state_set_busy(nfsnode_t, thread_t);
+void nfs_open_state_clear_busy(nfsnode_t);
+struct nfs_open_owner *nfs_open_owner_find(struct nfsmount *, kauth_cred_t, int);
+void nfs_open_owner_destroy(struct nfs_open_owner *);
+void nfs_open_owner_ref(struct nfs_open_owner *);
+void nfs_open_owner_rele(struct nfs_open_owner *);
+int nfs_open_owner_set_busy(struct nfs_open_owner *, thread_t);
+void nfs_open_owner_clear_busy(struct nfs_open_owner *);
+void nfs_owner_seqid_increment(struct nfs_open_owner *, struct nfs_lock_owner *, int);
+int nfs_open_file_find(nfsnode_t, struct nfs_open_owner *, struct nfs_open_file **, uint32_t, uint32_t, int);
+int nfs_open_file_find_internal(nfsnode_t, struct nfs_open_owner *, struct nfs_open_file **, uint32_t, uint32_t, int);
+void nfs_open_file_destroy(struct nfs_open_file *);
+int nfs_open_file_set_busy(struct nfs_open_file *, thread_t);
+void nfs_open_file_clear_busy(struct nfs_open_file *);
+void nfs_open_file_add_open(struct nfs_open_file *, uint32_t, uint32_t, int);
+void nfs_open_file_remove_open_find(struct nfs_open_file *, uint32_t, uint32_t, uint32_t *, uint32_t *, int*);
+void nfs_open_file_remove_open(struct nfs_open_file *, uint32_t, uint32_t);
+void nfs_get_stateid(nfsnode_t, thread_t, kauth_cred_t, nfs_stateid *);
+int nfs_check_for_locks(struct nfs_open_owner *, struct nfs_open_file *);
+int nfs_close(nfsnode_t, struct nfs_open_file *, uint32_t, uint32_t, vfs_context_t);
+
+void nfs_release_open_state_for_node(nfsnode_t, int);
+void nfs_revoke_open_state_for_node(nfsnode_t);
+struct nfs_lock_owner *nfs_lock_owner_find(nfsnode_t, proc_t, int);
+void nfs_lock_owner_destroy(struct nfs_lock_owner *);
+void nfs_lock_owner_ref(struct nfs_lock_owner *);
+void nfs_lock_owner_rele(struct nfs_lock_owner *);
+int nfs_lock_owner_set_busy(struct nfs_lock_owner *, thread_t);
+void nfs_lock_owner_clear_busy(struct nfs_lock_owner *);
+void nfs_lock_owner_insert_held_lock(struct nfs_lock_owner *, struct nfs_file_lock *);
+struct nfs_file_lock *nfs_file_lock_alloc(struct nfs_lock_owner *);
+void nfs_file_lock_destroy(struct nfs_file_lock *);
+int nfs_file_lock_conflict(struct nfs_file_lock *, struct nfs_file_lock *, int *);
+int nfs_unlock_rpc(nfsnode_t, struct nfs_lock_owner *, int, uint64_t, uint64_t, thread_t, kauth_cred_t, int);
+int nfs_advlock_getlock(nfsnode_t, struct nfs_lock_owner *, struct flock *, uint64_t, uint64_t, vfs_context_t);
+int nfs_advlock_setlock(nfsnode_t, struct nfs_open_file *, struct nfs_lock_owner *, int, uint64_t, uint64_t, int, short, vfs_context_t);
+int nfs_advlock_unlock(nfsnode_t, struct nfs_open_file *, struct nfs_lock_owner *, uint64_t, uint64_t, int, vfs_context_t);
+
+#if CONFIG_NFS4
+int nfs4_create_rpc(vfs_context_t, nfsnode_t, struct componentname *, struct vnode_attr *, int, char *, nfsnode_t *);
+int nfs4_open(nfsnode_t, struct nfs_open_file *, uint32_t, uint32_t, vfs_context_t);
+int nfs4_open_delegated(nfsnode_t, struct nfs_open_file *, uint32_t, uint32_t, vfs_context_t);
+int nfs4_reopen(struct nfs_open_file *, thread_t);
+int nfs4_open_rpc(struct nfs_open_file *, vfs_context_t, struct componentname *, struct vnode_attr *, vnode_t, vnode_t *, int, int, int);
+int nfs4_open_rpc_internal(struct nfs_open_file *, vfs_context_t, thread_t, kauth_cred_t, struct componentname *, struct vnode_attr *, vnode_t, vnode_t *, int, int, int);
+int nfs4_open_confirm_rpc(struct nfsmount *, nfsnode_t, u_char *, int, struct nfs_open_owner *, nfs_stateid *, thread_t, kauth_cred_t, struct nfs_vattr *, uint64_t *);
+int nfs4_open_reopen_rpc(struct nfs_open_file *, thread_t, kauth_cred_t, struct componentname *, vnode_t, vnode_t *, int, int);
+int nfs4_open_reclaim_rpc(struct nfs_open_file *, int, int);
+int nfs4_claim_delegated_open_rpc(struct nfs_open_file *, int, int, int);
+int nfs4_claim_delegated_state_for_open_file(struct nfs_open_file *, int);
+int nfs4_claim_delegated_state_for_node(nfsnode_t, int);
+int nfs4_open_downgrade_rpc(nfsnode_t, struct nfs_open_file *, vfs_context_t);
+int nfs4_close_rpc(nfsnode_t, struct nfs_open_file *, thread_t, kauth_cred_t, int);
+void nfs4_delegation_return_enqueue(nfsnode_t);
+int nfs4_delegation_return(nfsnode_t, int, thread_t, kauth_cred_t);
+int nfs4_lock_rpc(nfsnode_t, struct nfs_open_file *, struct nfs_file_lock *, int, int, thread_t, kauth_cred_t);
+int nfs4_delegreturn_rpc(struct nfsmount *, u_char *, int, struct nfs_stateid *, int, thread_t, kauth_cred_t);
+
+nfsnode_t nfs4_named_attr_dir_get(nfsnode_t, int, vfs_context_t);
+int nfs4_named_attr_get(nfsnode_t, struct componentname *, uint32_t, int, vfs_context_t, nfsnode_t *, struct nfs_open_file **);
+int nfs4_named_attr_remove(nfsnode_t, nfsnode_t, const char *, vfs_context_t);
+#endif