1/* 2 * linux/net/sunrpc/sunrpc_syms.c 3 * 4 * Symbols exported by the sunrpc module. 5 * 6 * Copyright (C) 1997 Olaf Kirch <okir@monad.swb.de> 7 */ 8 9#include <linux/module.h> 10 11#include <linux/types.h> 12#include <linux/uio.h> 13#include <linux/unistd.h> 14#include <linux/init.h> 15 16#include <linux/sunrpc/sched.h> 17#include <linux/sunrpc/clnt.h> 18#include <linux/sunrpc/svc.h> 19#include <linux/sunrpc/svcsock.h> 20#include <linux/sunrpc/auth.h> 21#include <linux/workqueue.h> 22#include <linux/sunrpc/rpc_pipe_fs.h> 23 24 25/* RPC scheduler */ 26EXPORT_SYMBOL(rpc_execute); 27EXPORT_SYMBOL(rpc_init_task); 28EXPORT_SYMBOL(rpc_sleep_on); 29EXPORT_SYMBOL(rpc_wake_up_next); 30EXPORT_SYMBOL(rpc_wake_up_task); 31EXPORT_SYMBOL(rpciod_down); 32EXPORT_SYMBOL(rpciod_up); 33EXPORT_SYMBOL(rpc_new_task); 34EXPORT_SYMBOL(rpc_wake_up_status); 35 36/* RPC client functions */ 37EXPORT_SYMBOL(rpc_clone_client); 38EXPORT_SYMBOL(rpc_bind_new_program); 39EXPORT_SYMBOL(rpc_destroy_client); 40EXPORT_SYMBOL(rpc_shutdown_client); 41EXPORT_SYMBOL(rpc_killall_tasks); 42EXPORT_SYMBOL(rpc_call_sync); 43EXPORT_SYMBOL(rpc_call_async); 44EXPORT_SYMBOL(rpc_call_setup); 45EXPORT_SYMBOL(rpc_clnt_sigmask); 46EXPORT_SYMBOL(rpc_clnt_sigunmask); 47EXPORT_SYMBOL(rpc_delay); 48EXPORT_SYMBOL(rpc_restart_call); 49EXPORT_SYMBOL(rpc_setbufsize); 50EXPORT_SYMBOL(rpc_unlink); 51EXPORT_SYMBOL(rpc_wake_up); 52EXPORT_SYMBOL(rpc_queue_upcall); 53EXPORT_SYMBOL(rpc_mkpipe); 54 55/* Client transport */ 56EXPORT_SYMBOL(xprt_set_timeout); 57 58/* Client credential cache */ 59EXPORT_SYMBOL(rpcauth_register); 60EXPORT_SYMBOL(rpcauth_unregister); 61EXPORT_SYMBOL(rpcauth_create); 62EXPORT_SYMBOL(rpcauth_lookupcred); 63EXPORT_SYMBOL(rpcauth_lookup_credcache); 64EXPORT_SYMBOL(rpcauth_free_credcache); 65EXPORT_SYMBOL(rpcauth_init_credcache); 66EXPORT_SYMBOL(put_rpccred); 67 68/* RPC server stuff */ 69EXPORT_SYMBOL(svc_create); 70EXPORT_SYMBOL(svc_create_thread); 71EXPORT_SYMBOL(svc_create_pooled); 72EXPORT_SYMBOL(svc_set_num_threads); 73EXPORT_SYMBOL(svc_exit_thread); 74EXPORT_SYMBOL(svc_destroy); 75EXPORT_SYMBOL(svc_drop); 76EXPORT_SYMBOL(svc_process); 77EXPORT_SYMBOL(svc_recv); 78EXPORT_SYMBOL(svc_wake_up); 79EXPORT_SYMBOL(svc_makesock); 80EXPORT_SYMBOL(svc_reserve); 81EXPORT_SYMBOL(svc_auth_register); 82EXPORT_SYMBOL(auth_domain_lookup); 83EXPORT_SYMBOL(svc_authenticate); 84EXPORT_SYMBOL(svc_set_client); 85 86/* RPC statistics */ 87#ifdef CONFIG_PROC_FS 88EXPORT_SYMBOL(rpc_proc_register); 89EXPORT_SYMBOL(rpc_proc_unregister); 90EXPORT_SYMBOL(svc_proc_register); 91EXPORT_SYMBOL(svc_proc_unregister); 92EXPORT_SYMBOL(svc_seq_show); 93#endif 94 95/* caching... */ 96EXPORT_SYMBOL(auth_domain_find); 97EXPORT_SYMBOL(auth_domain_put); 98EXPORT_SYMBOL(auth_unix_add_addr); 99EXPORT_SYMBOL(auth_unix_forget_old); 100EXPORT_SYMBOL(auth_unix_lookup); 101EXPORT_SYMBOL(cache_check); 102EXPORT_SYMBOL(cache_flush); 103EXPORT_SYMBOL(cache_purge); 104EXPORT_SYMBOL(cache_register); 105EXPORT_SYMBOL(cache_unregister); 106EXPORT_SYMBOL(qword_add); 107EXPORT_SYMBOL(qword_addhex); 108EXPORT_SYMBOL(qword_get); 109EXPORT_SYMBOL(svcauth_unix_purge); 110EXPORT_SYMBOL(unix_domain_find); 111 112/* Generic XDR */ 113EXPORT_SYMBOL(xdr_encode_string); 114EXPORT_SYMBOL(xdr_decode_string_inplace); 115EXPORT_SYMBOL(xdr_decode_netobj); 116EXPORT_SYMBOL(xdr_encode_netobj); 117EXPORT_SYMBOL(xdr_encode_pages); 118EXPORT_SYMBOL(xdr_inline_pages); 119EXPORT_SYMBOL(xdr_shift_buf); 120EXPORT_SYMBOL(xdr_encode_word); 121EXPORT_SYMBOL(xdr_decode_word); 122EXPORT_SYMBOL(xdr_encode_array2); 123EXPORT_SYMBOL(xdr_decode_array2); 124EXPORT_SYMBOL(xdr_buf_from_iov); 125EXPORT_SYMBOL(xdr_buf_subsegment); 126EXPORT_SYMBOL(xdr_buf_read_netobj); 127EXPORT_SYMBOL(read_bytes_from_xdr_buf); 128 129/* Debugging symbols */ 130#ifdef RPC_DEBUG 131EXPORT_SYMBOL(rpc_debug); 132EXPORT_SYMBOL(nfs_debug); 133EXPORT_SYMBOL(nfsd_debug); 134EXPORT_SYMBOL(nlm_debug); 135#endif 136 137extern struct cache_detail ip_map_cache, unix_gid_cache; 138 139static int __init 140init_sunrpc(void) 141{ 142 int err = register_rpc_pipefs(); 143 if (err) 144 goto out; 145 err = rpc_init_mempool(); 146 if (err) { 147 unregister_rpc_pipefs(); 148 goto out; 149 } 150#ifdef RPC_DEBUG 151 rpc_register_sysctl(); 152#endif 153#ifdef CONFIG_PROC_FS 154 rpc_proc_init(); 155#endif 156 cache_register(&ip_map_cache); 157 cache_register(&unix_gid_cache); 158 init_socket_xprt(); 159out: 160 return err; 161} 162 163static void __exit 164cleanup_sunrpc(void) 165{ 166 cleanup_socket_xprt(); 167 unregister_rpc_pipefs(); 168 rpc_destroy_mempool(); 169 if (cache_unregister(&ip_map_cache)) 170 printk(KERN_ERR "sunrpc: failed to unregister ip_map cache\n"); 171 if (cache_unregister(&unix_gid_cache)) 172 printk(KERN_ERR "sunrpc: failed to unregister unix_gid cache\n"); 173#ifdef RPC_DEBUG 174 rpc_unregister_sysctl(); 175#endif 176#ifdef CONFIG_PROC_FS 177 rpc_proc_exit(); 178#endif 179} 180MODULE_LICENSE("GPL"); 181module_init(init_sunrpc); 182module_exit(cleanup_sunrpc); 183