patch-2.4.20 linux-2.4.20/include/linux/sunrpc/svcsock.h
Next file: linux-2.4.20/include/linux/sunrpc/timer.h
Previous file: linux-2.4.20/include/linux/sunrpc/svc.h
Back to the patch index
Back to the overall index
- Lines: 63
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/include/linux/sunrpc/svcsock.h
- Orig date:
Thu Nov 22 11:47:20 2001
diff -urN linux-2.4.19/include/linux/sunrpc/svcsock.h linux-2.4.20/include/linux/sunrpc/svcsock.h
@@ -13,38 +13,39 @@
/*
* RPC server socket.
- * NOTE: First two items must be prev/next.
*/
struct svc_sock {
- struct svc_sock * sk_prev; /* list of ready sockets */
- struct svc_sock * sk_next;
- struct svc_sock * sk_list; /* list of all sockets */
+ 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 */
- spinlock_t sk_lock;
struct svc_serv * sk_server; /* service for this socket */
- unsigned char sk_inuse; /* use count */
- unsigned char sk_busy; /* enqueued/receiving */
- unsigned char sk_conn; /* conn pending */
- unsigned char sk_close; /* dead or dying */
- int sk_data; /* data pending */
- unsigned int sk_temp : 1, /* temp socket */
- sk_qued : 1, /* on serv->sk_sockets */
- sk_dead : 1; /* socket closed */
+ 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_QUED 5 /* on serv->sk_sockets */
+#define SK_DEAD 6 /* socket closed */
+#define SK_CHNGBUF 7 /* need to change snd/rcv buffer sizes */
+
+ int sk_reserved; /* space on outq that is reserved */
+
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 */
-
- /* Debugging */
- struct svc_rqst * sk_rqstp;
+ time_t sk_lastrecv; /* time of last received request */
};
/*
@@ -55,5 +56,6 @@
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);
#endif /* SUNRPC_SVCSOCK_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)