/*
 * nfs_clnt.h for HP-UX 10.30 and above
 *
 * This header file defines the mntinfo structure for lsof.  Lsof uses it to
 * obtain the device number of an NFS mount point.
 *
 * V. Abell
 * February, 1998
 */

#if	!defined(LSOF_NFS_CLNT_H)
#define	LSOF_NFS_CLNT_H

#include "kernbits.h"
#include "rnode.h"
#include <rpc/types.h>
#undef	TCP_NODELAY
#undef	TCP_MAXSEG
#include <rpc/rpc.h>
#include <rpc/clnt.h>
#include <sys/xti.h>
#undef	TCP_NODELAY
#undef	TCP_MAXSEG

typedef struct kcondvar {
	uint32_t _dummy1[6];
} kcondvar_t;

typedef struct mntinfo {
	kmutex_t mi_lock;
	KA_T mi_knetconfig;
	struct netbuf mi_addr;
	struct netbuf mi_syncaddr;
	KA_T mi_rootvp;
	uint32_t mi_flags;
	int32_t mi_tsize;
	int32_t mi_stsize;
	int32_t mi_timeo;
	int32_t mi_retrans;
	char mi_hostname[32];
	KA_T mi_netname;
	int mi_netnamelen;
	int mi_authflavor;
	int32_t mi_acregmin;
	int32_t mi_acregmax;
	int32_t mi_acdirmin;
	int32_t mi_acdirmax;
	struct rpc_timers mi_timers[4];
	int32_t mi_curread;
	int32_t mi_curwrite;
	KA_T mi_async_reqs;
	KA_T mi_async_tail;
	kcondvar_t mi_async_reqs_cv;
	uint16_t mi_threads;
	uint16_t mi_max_threads;
	kcondvar_t mi_async_cv;
	uint32_t mi_async_count;
	kmutex_t mi_async_lock;
	KA_T mi_pathconf;
	u_long mi_prog;
	u_long mi_vers;
	KA_T mi_rfsnames;
	KA_T mi_reqs;
	KA_T mi_call_type;
	KA_T mi_timer_type;
	clock_t mi_printftime;
	KA_T mi_aclnames;
	KA_T mi_aclreqs;
	KA_T mi_acl_call_type;
	KA_T mi_acl_timer_type;
	char mi_fsmnt[512];
	uint64_t mi_maxfilesize;
	dev_t mi_mntno;			/* mounted device number */
} mntinfo_t;

#endif	/* !defined(LSOF_NFS_CLNT_H) */
