404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.144.251.23: ~ $
/* SPDX-License-Identifier: GPL-2.0 */
/*
 *  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;

	struct rpc_timeout	tcp_timeout;

	/*
	 * 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
#define XPRT_SOCK_DATA_READY	(2)
#define XPRT_SOCK_UPD_TIMEOUT	(3)

#endif /* __KERNEL__ */

#endif /* _LINUX_SUNRPC_XPRTSOCK_H */

Filemanager

Name Type Size Permission Actions
addr.h File 4.94 KB 0644
auth.h File 7.43 KB 0644
auth_gss.h File 2.33 KB 0644
bc_xprt.h File 2.42 KB 0644
cache.h File 8.38 KB 0644
clnt.h File 7.17 KB 0644
debug.h File 2.76 KB 0644
gss_api.h File 4.56 KB 0644
gss_asn1.h File 3.11 KB 0644
gss_err.h File 5.93 KB 0644
gss_krb5.h File 11.15 KB 0644
gss_krb5_enctypes.h File 123 B 0644
metrics.h File 3.52 KB 0644
msg_prot.h File 6.23 KB 0644
rpc_pipe_fs.h File 3.92 KB 0644
rpc_rdma.h File 3.81 KB 0644
sched.h File 9.09 KB 0644
stats.h File 2.01 KB 0644
svc.h File 16.55 KB 0644
svc_rdma.h File 7.43 KB 0644
svc_xprt.h File 6.63 KB 0644
svcauth.h File 6.11 KB 0644
svcauth_gss.h File 824 B 0644
svcsock.h File 2.06 KB 0644
timer.h File 1.14 KB 0644
types.h File 497 B 0644
xdr.h File 12.73 KB 0644
xprt.h File 14.77 KB 0644
xprtmultipath.h File 2 KB 0644
xprtrdma.h File 2.9 KB 0644
xprtsock.h File 1.73 KB 0644