This file will list all ports that nfsd has open. Default when TCP enabled will be ipv4 udp 0.0.0.0 2049 ipv4 tcp 0.0.0.0 2049 Later, the list of ports will be settable. 'portlist' chosen rather than 'ports', to avoid unnecessary confusion with non-mainline patches which created 'ports' with different semantics. [akpm@osdl.org: cleanups, build fix] Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
67 lines
2.0 KiB
C
67 lines
2.0 KiB
C
/*
|
|
* linux/include/linux/sunrpc/svcsock.h
|
|
*
|
|
* RPC server socket I/O.
|
|
*
|
|
* Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
|
|
*/
|
|
|
|
#ifndef SUNRPC_SVCSOCK_H
|
|
#define SUNRPC_SVCSOCK_H
|
|
|
|
#include <linux/sunrpc/svc.h>
|
|
|
|
/*
|
|
* RPC server socket.
|
|
*/
|
|
struct svc_sock {
|
|
struct list_head sk_ready; /* list of ready sockets */
|
|
struct list_head sk_list; /* list of all sockets */
|
|
struct socket * sk_sock; /* berkeley socket layer */
|
|
struct sock * sk_sk; /* INET layer */
|
|
|
|
struct svc_serv * sk_server; /* service for this socket */
|
|
unsigned int sk_inuse; /* use count */
|
|
unsigned long sk_flags;
|
|
#define SK_BUSY 0 /* enqueued/receiving */
|
|
#define SK_CONN 1 /* conn pending */
|
|
#define SK_CLOSE 2 /* dead or dying */
|
|
#define SK_DATA 3 /* data pending */
|
|
#define SK_TEMP 4 /* temp (TCP) socket */
|
|
#define SK_DEAD 6 /* socket closed */
|
|
#define SK_CHNGBUF 7 /* need to change snd/rcv buffer sizes */
|
|
#define SK_DEFERRED 8 /* request on sk_deferred */
|
|
|
|
int sk_reserved; /* space on outq that is reserved */
|
|
|
|
struct list_head sk_deferred; /* deferred requests that need to
|
|
* be revisted */
|
|
struct mutex sk_mutex; /* to serialize sending data */
|
|
|
|
int (*sk_recvfrom)(struct svc_rqst *rqstp);
|
|
int (*sk_sendto)(struct svc_rqst *rqstp);
|
|
|
|
/* We keep the old state_change and data_ready CB's here */
|
|
void (*sk_ostate)(struct sock *);
|
|
void (*sk_odata)(struct sock *, int bytes);
|
|
void (*sk_owspace)(struct sock *);
|
|
|
|
/* private TCP part */
|
|
int sk_reclen; /* length of record */
|
|
int sk_tcplen; /* current read length */
|
|
time_t sk_lastrecv; /* time of last received request */
|
|
};
|
|
|
|
/*
|
|
* Function prototypes.
|
|
*/
|
|
int svc_makesock(struct svc_serv *, int, unsigned short);
|
|
void svc_delete_socket(struct svc_sock *);
|
|
int svc_recv(struct svc_serv *, struct svc_rqst *, long);
|
|
int svc_send(struct svc_rqst *);
|
|
void svc_drop(struct svc_rqst *);
|
|
void svc_sock_update_bufs(struct svc_serv *serv);
|
|
int svc_sock_names(char *buf, struct svc_serv *serv);
|
|
|
|
#endif /* SUNRPC_SVCSOCK_H */
|