| /****************************************************************************** | |
| (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 | |
| #include <linux/net.h> | |
| /* | |
| * Header for dynamically allocated rpc buffers. | |
| */ | |
| struct rpc_buffer { | |
| size_t len; | |
| char data[]; | |
| }; | |
| 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; | |
| } | |
| int svc_send_common(struct socket *sock, struct xdr_buf *xdr, | |
| struct page *headpage, unsigned long headoffset, | |
| struct page *tailpage, unsigned long tailoffset); | |
| int rpc_clients_notifier_register(void); | |
| void rpc_clients_notifier_unregister(void); | |
| #endif /* _NET_SUNRPC_SUNRPC_H */ | |