18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __SUNRPC_NETNS_H__ 38c2ecf20Sopenharmony_ci#define __SUNRPC_NETNS_H__ 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <net/net_namespace.h> 68c2ecf20Sopenharmony_ci#include <net/netns/generic.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cistruct cache_detail; 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cistruct sunrpc_net { 118c2ecf20Sopenharmony_ci struct proc_dir_entry *proc_net_rpc; 128c2ecf20Sopenharmony_ci struct cache_detail *ip_map_cache; 138c2ecf20Sopenharmony_ci struct cache_detail *unix_gid_cache; 148c2ecf20Sopenharmony_ci struct cache_detail *rsc_cache; 158c2ecf20Sopenharmony_ci struct cache_detail *rsi_cache; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci struct super_block *pipefs_sb; 188c2ecf20Sopenharmony_ci struct rpc_pipe *gssd_dummy; 198c2ecf20Sopenharmony_ci struct mutex pipefs_sb_lock; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci struct list_head all_clients; 228c2ecf20Sopenharmony_ci spinlock_t rpc_client_lock; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci struct rpc_clnt *rpcb_local_clnt; 258c2ecf20Sopenharmony_ci struct rpc_clnt *rpcb_local_clnt4; 268c2ecf20Sopenharmony_ci spinlock_t rpcb_clnt_lock; 278c2ecf20Sopenharmony_ci unsigned int rpcb_users; 288c2ecf20Sopenharmony_ci unsigned int rpcb_is_af_local : 1; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci struct mutex gssp_lock; 318c2ecf20Sopenharmony_ci struct rpc_clnt *gssp_clnt; 328c2ecf20Sopenharmony_ci int use_gss_proxy; 338c2ecf20Sopenharmony_ci int pipe_version; 348c2ecf20Sopenharmony_ci atomic_t pipe_users; 358c2ecf20Sopenharmony_ci struct proc_dir_entry *use_gssp_proc; 368c2ecf20Sopenharmony_ci}; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciextern unsigned int sunrpc_net_id; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciint ip_map_cache_create(struct net *); 418c2ecf20Sopenharmony_civoid ip_map_cache_destroy(struct net *); 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#endif 44