hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/linux/sunrpc/xprtsock.h
....@@ -8,10 +8,9 @@
88 #ifndef _LINUX_SUNRPC_XPRTSOCK_H
99 #define _LINUX_SUNRPC_XPRTSOCK_H
1010
11
-#ifdef __KERNEL__
12
-
1311 int init_socket_xprt(void);
1412 void cleanup_socket_xprt(void);
13
+unsigned short get_srcport(struct rpc_xprt *);
1514
1615 #define RPC_MIN_RESVPORT (1U)
1716 #define RPC_MAX_RESVPORT (65535U)
....@@ -26,29 +25,42 @@
2625 */
2726 struct socket * sock;
2827 struct sock * inet;
28
+ struct file * file;
2929
3030 /*
3131 * State of TCP reply receive
3232 */
33
- __be32 tcp_fraghdr,
34
- tcp_xid,
35
- tcp_calldir;
33
+ struct {
34
+ struct {
35
+ __be32 fraghdr,
36
+ xid,
37
+ calldir;
38
+ } __attribute__((packed));
3639
37
- u32 tcp_offset,
38
- tcp_reclen;
40
+ u32 offset,
41
+ len;
3942
40
- unsigned long tcp_copied,
41
- tcp_flags;
43
+ unsigned long copied;
44
+ } recv;
45
+
46
+ /*
47
+ * State of TCP transmit queue
48
+ */
49
+ struct {
50
+ u32 offset;
51
+ } xmit;
4252
4353 /*
4454 * Connection of transports
4555 */
4656 unsigned long sock_state;
4757 struct delayed_work connect_worker;
58
+ struct work_struct error_worker;
4859 struct work_struct recv_worker;
4960 struct mutex recv_mutex;
5061 struct sockaddr_storage srcaddr;
5162 unsigned short srcport;
63
+ int xprt_err;
5264
5365 /*
5466 * UDP socket buffer size parameters
....@@ -68,24 +80,15 @@
6880 };
6981
7082 /*
71
- * TCP receive state flags
72
- */
73
-#define TCP_RCV_LAST_FRAG (1UL << 0)
74
-#define TCP_RCV_COPY_FRAGHDR (1UL << 1)
75
-#define TCP_RCV_COPY_XID (1UL << 2)
76
-#define TCP_RCV_COPY_DATA (1UL << 3)
77
-#define TCP_RCV_READ_CALLDIR (1UL << 4)
78
-#define TCP_RCV_COPY_CALLDIR (1UL << 5)
79
-
80
-/*
8183 * TCP RPC flags
8284 */
83
-#define TCP_RPC_REPLY (1UL << 6)
84
-
8585 #define XPRT_SOCK_CONNECTING 1U
8686 #define XPRT_SOCK_DATA_READY (2)
8787 #define XPRT_SOCK_UPD_TIMEOUT (3)
88
-
89
-#endif /* __KERNEL__ */
88
+#define XPRT_SOCK_WAKE_ERROR (4)
89
+#define XPRT_SOCK_WAKE_WRITE (5)
90
+#define XPRT_SOCK_WAKE_PENDING (6)
91
+#define XPRT_SOCK_WAKE_DISCONNECT (7)
92
+#define XPRT_SOCK_CONNECT_SENT (8)
9093
9194 #endif /* _LINUX_SUNRPC_XPRTSOCK_H */