2 * linux/include/linux/sunrpc/xprtsock.h
4 * Declarations for the RPC transport socket provider.
7 #ifndef _LINUX_SUNRPC_XPRTSOCK_H
8 #define _LINUX_SUNRPC_XPRTSOCK_H
12 int init_socket_xprt(void);
13 void cleanup_socket_xprt(void);
15 #define RPC_MIN_RESVPORT (1U)
16 #define RPC_MAX_RESVPORT (65535U)
17 #define RPC_DEF_MIN_RESVPORT (665U)
18 #define RPC_DEF_MAX_RESVPORT (1023U)
30 * State of TCP reply receive
39 unsigned long tcp_copied,
43 * Connection of transports
45 unsigned long sock_state;
46 struct delayed_work connect_worker;
47 struct work_struct recv_worker;
48 struct mutex recv_mutex;
49 struct sockaddr_storage srcaddr;
50 unsigned short srcport;
53 * UDP socket buffer size parameters
59 * Saved socket callback addresses
61 void (*old_data_ready)(struct sock *);
62 void (*old_state_change)(struct sock *);
63 void (*old_write_space)(struct sock *);
64 void (*old_error_report)(struct sock *);
68 * TCP receive state flags
70 #define TCP_RCV_LAST_FRAG (1UL << 0)
71 #define TCP_RCV_COPY_FRAGHDR (1UL << 1)
72 #define TCP_RCV_COPY_XID (1UL << 2)
73 #define TCP_RCV_COPY_DATA (1UL << 3)
74 #define TCP_RCV_READ_CALLDIR (1UL << 4)
75 #define TCP_RCV_COPY_CALLDIR (1UL << 5)
80 #define TCP_RPC_REPLY (1UL << 6)
82 #define XPRT_SOCK_CONNECTING 1U
84 #endif /* __KERNEL__ */
86 #endif /* _LINUX_SUNRPC_XPRTSOCK_H */