1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /*
- * linux/include/linux/sunrpc/xprtsock.h
- *
- * Declarations for the RPC transport socket provider.
- */
- #ifndef _LINUX_SUNRPC_XPRTSOCK_H
- #define _LINUX_SUNRPC_XPRTSOCK_H
- #ifdef __KERNEL__
- int init_socket_xprt(void);
- void cleanup_socket_xprt(void);
- #define RPC_MIN_RESVPORT (1U)
- #define RPC_MAX_RESVPORT (65535U)
- #define RPC_DEF_MIN_RESVPORT (665U)
- #define RPC_DEF_MAX_RESVPORT (1023U)
- struct sock_xprt {
- struct rpc_xprt xprt;
- /*
- * Network layer
- */
- struct socket * sock;
- struct sock * inet;
- /*
- * State of TCP reply receive
- */
- __be32 tcp_fraghdr,
- tcp_xid,
- tcp_calldir;
- u32 tcp_offset,
- tcp_reclen;
- unsigned long tcp_copied,
- tcp_flags;
- /*
- * Connection of transports
- */
- unsigned long sock_state;
- struct delayed_work connect_worker;
- struct work_struct recv_worker;
- struct mutex recv_mutex;
- struct sockaddr_storage srcaddr;
- unsigned short srcport;
- /*
- * UDP socket buffer size parameters
- */
- size_t rcvsize,
- sndsize;
- /*
- * Saved socket callback addresses
- */
- void (*old_data_ready)(struct sock *);
- void (*old_state_change)(struct sock *);
- void (*old_write_space)(struct sock *);
- void (*old_error_report)(struct sock *);
- };
- /*
- * TCP receive state flags
- */
- #define TCP_RCV_LAST_FRAG (1UL << 0)
- #define TCP_RCV_COPY_FRAGHDR (1UL << 1)
- #define TCP_RCV_COPY_XID (1UL << 2)
- #define TCP_RCV_COPY_DATA (1UL << 3)
- #define TCP_RCV_READ_CALLDIR (1UL << 4)
- #define TCP_RCV_COPY_CALLDIR (1UL << 5)
- /*
- * TCP RPC flags
- */
- #define TCP_RPC_REPLY (1UL << 6)
- #define XPRT_SOCK_CONNECTING 1U
- #endif /* __KERNEL__ */
- #endif /* _LINUX_SUNRPC_XPRTSOCK_H */
|