Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
svc_xprt.c File Reference
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/freezer.h>
#include <linux/kthread.h>
#include <linux/slab.h>
#include <net/sock.h>
#include <linux/sunrpc/stats.h>
#include <linux/sunrpc/svc_xprt.h>
#include <linux/sunrpc/svcsock.h>
#include <linux/sunrpc/xprt.h>
#include <linux/module.h>

Go to the source code of this file.

Macros

#define RPCDBG_FACILITY   RPCDBG_SVCXPRT
 

Functions

int svc_reg_xprt_class (struct svc_xprt_class *xcl)
 
 EXPORT_SYMBOL_GPL (svc_reg_xprt_class)
 
void svc_unreg_xprt_class (struct svc_xprt_class *xcl)
 
 EXPORT_SYMBOL_GPL (svc_unreg_xprt_class)
 
int svc_print_xprts (char *buf, int maxlen)
 
void svc_xprt_put (struct svc_xprt *xprt)
 
 EXPORT_SYMBOL_GPL (svc_xprt_put)
 
void svc_xprt_init (struct net *net, struct svc_xprt_class *xcl, struct svc_xprt *xprt, struct svc_serv *serv)
 
 EXPORT_SYMBOL_GPL (svc_xprt_init)
 
void svc_add_new_perm_xprt (struct svc_serv *serv, struct svc_xprt *new)
 
int svc_create_xprt (struct svc_serv *serv, const char *xprt_name, struct net *net, const int family, const unsigned short port, int flags)
 
 EXPORT_SYMBOL_GPL (svc_create_xprt)
 
void svc_xprt_copy_addrs (struct svc_rqst *rqstp, struct svc_xprt *xprt)
 
 EXPORT_SYMBOL_GPL (svc_xprt_copy_addrs)
 
charsvc_print_addr (struct svc_rqst *rqstp, char *buf, size_t len)
 
 EXPORT_SYMBOL_GPL (svc_print_addr)
 
void svc_xprt_enqueue (struct svc_xprt *xprt)
 
 EXPORT_SYMBOL_GPL (svc_xprt_enqueue)
 
void svc_reserve (struct svc_rqst *rqstp, int space)
 
 EXPORT_SYMBOL_GPL (svc_reserve)
 
void svc_wake_up (struct svc_serv *serv)
 
 EXPORT_SYMBOL_GPL (svc_wake_up)
 
int svc_port_is_privileged (struct sockaddr *sin)
 
int svc_alloc_arg (struct svc_rqst *rqstp)
 
struct svc_xprtsvc_get_next_xprt (struct svc_rqst *rqstp, long timeout)
 
void svc_add_new_temp_xprt (struct svc_serv *serv, struct svc_xprt *newxpt)
 
int svc_recv (struct svc_rqst *rqstp, long timeout)
 
 EXPORT_SYMBOL_GPL (svc_recv)
 
void svc_drop (struct svc_rqst *rqstp)
 
 EXPORT_SYMBOL_GPL (svc_drop)
 
int svc_send (struct svc_rqst *rqstp)
 
void svc_close_xprt (struct svc_xprt *xprt)
 
 EXPORT_SYMBOL_GPL (svc_close_xprt)
 
void svc_close_net (struct svc_serv *serv, struct net *net)
 
struct svc_xprtsvc_find_xprt (struct svc_serv *serv, const char *xcl_name, struct net *net, const sa_family_t af, const unsigned short port)
 
 EXPORT_SYMBOL_GPL (svc_find_xprt)
 
int svc_xprt_names (struct svc_serv *serv, char *buf, const int buflen)
 
 EXPORT_SYMBOL_GPL (svc_xprt_names)
 
int svc_pool_stats_open (struct svc_serv *serv, struct file *file)
 
 EXPORT_SYMBOL (svc_pool_stats_open)
 

Macro Definition Documentation

#define RPCDBG_FACILITY   RPCDBG_SVCXPRT

Definition at line 19 of file svc_xprt.c.

Function Documentation

EXPORT_SYMBOL ( svc_pool_stats_open  )
EXPORT_SYMBOL_GPL ( svc_reg_xprt_class  )
EXPORT_SYMBOL_GPL ( svc_unreg_xprt_class  )
EXPORT_SYMBOL_GPL ( svc_xprt_put  )
EXPORT_SYMBOL_GPL ( svc_xprt_init  )
EXPORT_SYMBOL_GPL ( svc_create_xprt  )
EXPORT_SYMBOL_GPL ( svc_xprt_copy_addrs  )
EXPORT_SYMBOL_GPL ( svc_print_addr  )
EXPORT_SYMBOL_GPL ( svc_xprt_enqueue  )
EXPORT_SYMBOL_GPL ( svc_reserve  )
EXPORT_SYMBOL_GPL ( svc_wake_up  )
EXPORT_SYMBOL_GPL ( svc_recv  )
EXPORT_SYMBOL_GPL ( svc_drop  )
EXPORT_SYMBOL_GPL ( svc_close_xprt  )
EXPORT_SYMBOL_GPL ( svc_find_xprt  )
EXPORT_SYMBOL_GPL ( svc_xprt_names  )
void svc_add_new_perm_xprt ( struct svc_serv serv,
struct svc_xprt new 
)

Definition at line 231 of file svc_xprt.c.

void svc_add_new_temp_xprt ( struct svc_serv serv,
struct svc_xprt newxpt 
)

Definition at line 682 of file svc_xprt.c.

int svc_alloc_arg ( struct svc_rqst rqstp)

Definition at line 571 of file svc_xprt.c.

void svc_close_net ( struct svc_serv serv,
struct net net 
)

Definition at line 1009 of file svc_xprt.c.

void svc_close_xprt ( struct svc_xprt xprt)

Definition at line 941 of file svc_xprt.c.

int svc_create_xprt ( struct svc_serv serv,
const char xprt_name,
struct net net,
const int  family,
const unsigned short  port,
int  flags 
)

Definition at line 240 of file svc_xprt.c.

void svc_drop ( struct svc_rqst rqstp)

Definition at line 800 of file svc_xprt.c.

struct svc_xprt* svc_find_xprt ( struct svc_serv serv,
const char xcl_name,
struct net net,
const sa_family_t  af,
const unsigned short  port 
)
read

svc_find_xprt - find an RPC transport instance : pointer to svc_serv to search : C string containing transport's class name : owner net pointer : Address family of transport's local address : transport's IP port number

Return the transport instance pointer for the endpoint accepting connections/peer traffic from the specified transport class, address family and port.

Specifying 0 for the address family or port is effectively a wild-card, and will result in matching the first transport in the service's list that has a matching class name.

Definition at line 1159 of file svc_xprt.c.

struct svc_xprt* svc_get_next_xprt ( struct svc_rqst rqstp,
long  timeout 
)
read

Definition at line 609 of file svc_xprt.c.

int svc_pool_stats_open ( struct svc_serv serv,
struct file file 
)

Definition at line 1311 of file svc_xprt.c.

int svc_port_is_privileged ( struct sockaddr sin)

Definition at line 506 of file svc_xprt.c.

char* svc_print_addr ( struct svc_rqst rqstp,
char buf,
size_t  len 
)

svc_print_addr - Format rq_addr field for printing : svc_rqst struct containing address to print : target buffer for formatted address : length of target buffer

Definition at line 302 of file svc_xprt.c.

int svc_print_xprts ( char buf,
int  maxlen 
)

Definition at line 103 of file svc_xprt.c.

int svc_recv ( struct svc_rqst rqstp,
long  timeout 
)

Definition at line 745 of file svc_xprt.c.

int svc_reg_xprt_class ( struct svc_xprt_class xcl)

Definition at line 69 of file svc_xprt.c.

void svc_reserve ( struct svc_rqst rqstp,
int  space 
)

svc_reserve - change the space reserved for the reply to a request. : The request in question : new max space to reserve

Each request reserves some space on the output queue of the transport to make sure the reply fits. This function reduces that reserved space to be the amount of space used already, plus .

Definition at line 431 of file svc_xprt.c.

int svc_send ( struct svc_rqst rqstp)

Definition at line 810 of file svc_xprt.c.

void svc_unreg_xprt_class ( struct svc_xprt_class xcl)

Definition at line 91 of file svc_xprt.c.

void svc_wake_up ( struct svc_serv serv)

Definition at line 480 of file svc_xprt.c.

void svc_xprt_copy_addrs ( struct svc_rqst rqstp,
struct svc_xprt xprt 
)

Definition at line 281 of file svc_xprt.c.

void svc_xprt_enqueue ( struct svc_xprt xprt)

Definition at line 341 of file svc_xprt.c.

void svc_xprt_init ( struct net net,
struct svc_xprt_class xcl,
struct svc_xprt xprt,
struct svc_serv serv 
)

Definition at line 151 of file svc_xprt.c.

int svc_xprt_names ( struct svc_serv serv,
char buf,
const int  buflen 
)

svc_xprt_names - format a buffer with a list of transport names : pointer to an RPC service : pointer to a buffer to be filled in : length of buffer to be filled in

Fills in with a string containing a list of transport names, each name terminated with '
'.

Returns positive length of the filled-in string on success; otherwise a negative errno value is returned if an error occurs.

Definition at line 1214 of file svc_xprt.c.

void svc_xprt_put ( struct svc_xprt xprt)

Definition at line 141 of file svc_xprt.c.