linux/net/sunrpc/sunrpc_syms.c
<<
>>
Prefs
   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#include <linux/sunrpc/xprtsock.h>
  24
  25extern struct cache_detail ip_map_cache, unix_gid_cache;
  26
  27extern void cleanup_rpcb_clnt(void);
  28
  29static int __init
  30init_sunrpc(void)
  31{
  32        int err = register_rpc_pipefs();
  33        if (err)
  34                goto out;
  35        err = rpc_init_mempool();
  36        if (err) {
  37                unregister_rpc_pipefs();
  38                goto out;
  39        }
  40#ifdef RPC_DEBUG
  41        rpc_register_sysctl();
  42#endif
  43#ifdef CONFIG_PROC_FS
  44        rpc_proc_init();
  45#endif
  46        cache_register(&ip_map_cache);
  47        cache_register(&unix_gid_cache);
  48        svc_init_xprt_sock();   /* svc sock transport */
  49        init_socket_xprt();     /* clnt sock transport */
  50        rpcauth_init_module();
  51out:
  52        return err;
  53}
  54
  55static void __exit
  56cleanup_sunrpc(void)
  57{
  58        cleanup_rpcb_clnt();
  59        rpcauth_remove_module();
  60        cleanup_socket_xprt();
  61        svc_cleanup_xprt_sock();
  62        unregister_rpc_pipefs();
  63        rpc_destroy_mempool();
  64        cache_unregister(&ip_map_cache);
  65        cache_unregister(&unix_gid_cache);
  66#ifdef RPC_DEBUG
  67        rpc_unregister_sysctl();
  68#endif
  69#ifdef CONFIG_PROC_FS
  70        rpc_proc_exit();
  71#endif
  72        rcu_barrier(); /* Wait for completion of call_rcu()'s */
  73}
  74MODULE_LICENSE("GPL");
  75fs_initcall(init_sunrpc); /* Ensure we're initialised before nfs */
  76module_exit(cleanup_sunrpc);
  77