2009-04-01 17:23:03 +04:00
/******************************************************************************
( c ) 2008 NetApp . All Rights Reserved .
NetApp provides this source code under the GPL v2 License .
The GPL v2 license is available at
http : //opensource.org/licenses/gpl-license.php.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
" AS IS " AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT
LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL ,
EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT LIMITED TO ,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE , DATA , OR
PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT ( INCLUDING
NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Functions and macros used internally by RPC
*/
# ifndef _NET_SUNRPC_SUNRPC_H
# define _NET_SUNRPC_SUNRPC_H
2009-09-10 13:25:04 +04:00
# include <linux/net.h>
/*
* Header for dynamically allocated rpc buffers .
*/
struct rpc_buffer {
size_t len ;
char data [ ] ;
} ;
2009-04-01 17:23:03 +04:00
static inline int rpc_reply_expected ( struct rpc_task * task )
{
return ( task - > tk_msg . rpc_proc ! = NULL ) & &
( task - > tk_msg . rpc_proc - > p_decode ! = NULL ) ;
}
2014-05-12 05:22:47 +04:00
static inline int sock_is_loopback ( struct sock * sk )
{
struct dst_entry * dst ;
int loopback = 0 ;
rcu_read_lock ( ) ;
dst = rcu_dereference ( sk - > sk_dst_cache ) ;
if ( dst & & dst - > dev & &
( dst - > dev - > features & NETIF_F_LOOPBACK ) )
loopback = 1 ;
rcu_read_unlock ( ) ;
return loopback ;
}
2009-09-10 18:32:28 +04:00
int svc_send_common ( struct socket * sock , struct xdr_buf * xdr ,
struct page * headpage , unsigned long headoffset ,
struct page * tailpage , unsigned long tailoffset ) ;
2012-01-11 19:18:17 +04:00
int rpc_clients_notifier_register ( void ) ;
void rpc_clients_notifier_unregister ( void ) ;
2009-04-01 17:23:03 +04:00
# endif /* _NET_SUNRPC_SUNRPC_H */