4:10
  *   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿ¿ƒÏ·_†I|¥�+ÃÂ g    /* 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

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;
	struct file *		file;

	/*
	 * State of TCP reply receive
	 */
	struct {
		struct {
			__be32	fraghdr,
				xid,
				calldir;
		} __attribute__((packed));

		u32		offset,
				len;

		unsigned long	copied;
	} recv;

	/*
	 * State of TCP transmit queue
	 */
	struct {
		u32		offset;
	} xmit;

	/*
	 * Connection of transports
	 */
	unsigned long		sock_state;
	struct delayed_work	connect_worker;
	struct work_struct	error_worker;
	struct work_struct	recv_worker;
	struct mutex		recv_mutex;
	struct completion	handshake_done;
	struct sockaddr_storage	srcaddr;
	unsigned short		srcport;
	int			xprt_err;
	struct rpc_clnt		*clnt;

	/*
	 * 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 RPC flags
 */
#define XPRT_SOCK_CONNECTING	1U
#define XPRT_SOCK_DATA_READY	(2)
#define XPRT_SOCK_UPD_TIMEOUT	(3)
#define XPRT_SOCK_WAKE_ERROR	(4)
#define XPRT_SOCK_WAKE_WRITE	(5)
#define XPRT_SOCK_WAKE_PENDING	(6)
#define XPRT_SOCK_WAKE_DISCONNECT	(7)
#define XPRT_SOCK_CONNECT_SENT	(8)
#define XPRT_SOCK_NOSPACE	(9)
#define XPRT_SOCK_IGNORE_RECV	(10)

#endif /* _LINUX_SUNRPC_XPRTSOCK_H */
  #   ˆl–ßi~”JClÊqA
à¸ )‹FÿÁ„o<ÄÃ >    ELF          >    0      @       ˆ6          @ 8  @         @       @       @       Ø      Ø                                                                                        (      (                                        )
      )
                                           ô      ô                   ø,      ø<      ø<      ˆ      ¸                   -      =      =                                 8      8      8      0       0                    h      h      h      D       D              Såtd   8      8      8      0       0              Påtd   ð'      ð'      ð'      ,       ,              Qåtd                                                  Råtd   ø,      ø<      ø<                         /lib64/ld-linux-x86-64.so.2               GNU   À          € À                   GNU %\÷ÞÕu�Ø´�ø²H—†         GNU                                          ³¢÷3Ä÷                        Â                     U                                             µ                      •                     "                     Õ                     s                      g                      ¨                                            \                     í                                           �                      7                     Û                      ‡                     ø                      m                     ‚                      ,                       ¡                      H                     F   "                   Ë                      {      A             š     €A              _ITM_deregisterTMCloneTable __gmon_start__ _ITM_registerTMCloneTable __cxa_finalize __libc_start_main getopt_long pr2serr optarg sg_get_num sg_get_llnum optind sg_cmds_open_device construct_scsi_pt_obj set_scsi_pt_cdb set_scsi_pt_sense do_scsi_pt sg_cmds_process_resp destruct_scsi_pt_obj sg_cmds_close_device sg_convert_errno sg_ll_sync_cache_10 sg_if_can2stderr sg_get_category_sense_str safe_strerro