xref: /illumos-gate/usr/src/cmd/mdb/common/modules/nfs/nfssrv.h (revision 86d949f9497332fe19be6b5d711d265eb957439f)
1*86d949f9SVitaliy Gusev /*
2*86d949f9SVitaliy Gusev  * This file and its contents are supplied under the terms of the
3*86d949f9SVitaliy Gusev  * Common Development and Distribution License ("CDDL"), version 1.0.
4*86d949f9SVitaliy Gusev  * You may only use this file in accordance with the terms of version
5*86d949f9SVitaliy Gusev  * 1.0 of the CDDL.
6*86d949f9SVitaliy Gusev  *
7*86d949f9SVitaliy Gusev  * A full copy of the text of the CDDL should have accompanied this
8*86d949f9SVitaliy Gusev  * source.  A copy of the CDDL is also available via the Internet at
9*86d949f9SVitaliy Gusev  * http://www.illumos.org/license/CDDL.
10*86d949f9SVitaliy Gusev  */
11*86d949f9SVitaliy Gusev /*
12*86d949f9SVitaliy Gusev  * Copyright 2021 Tintri by DDN, Inc. All rights reserved.
13*86d949f9SVitaliy Gusev  */
14*86d949f9SVitaliy Gusev 
15*86d949f9SVitaliy Gusev #ifndef _NFSSRV_H
16*86d949f9SVitaliy Gusev #define	_NFSSRV_H
17*86d949f9SVitaliy Gusev 
18*86d949f9SVitaliy Gusev #include <sys/mdb_modapi.h>
19*86d949f9SVitaliy Gusev 
20*86d949f9SVitaliy Gusev extern int nfs_expvis_dcmd(uintptr_t, uint_t, int, const mdb_arg_t *);
21*86d949f9SVitaliy Gusev extern int nfs_expinfo_dcmd(uintptr_t, uint_t, int, const mdb_arg_t *);
22*86d949f9SVitaliy Gusev extern int nfs_exptable_dcmd(uintptr_t, uint_t, int, const mdb_arg_t *);
23*86d949f9SVitaliy Gusev extern int nfs_exptable_path_dcmd(uintptr_t, uint_t, int, const mdb_arg_t *);
24*86d949f9SVitaliy Gusev extern int nfs_nstree_dcmd(uintptr_t, uint_t, int, const mdb_arg_t *);
25*86d949f9SVitaliy Gusev extern void nfs_nstree_help(void);
26*86d949f9SVitaliy Gusev extern int nfs_fid_hashdist_dcmd(uintptr_t, uint_t, int, const mdb_arg_t *);
27*86d949f9SVitaliy Gusev extern int nfs_path_hashdist_dcmd(uintptr_t, uint_t, int, const mdb_arg_t *);
28*86d949f9SVitaliy Gusev extern void nfs_hashdist_help(void);
29*86d949f9SVitaliy Gusev 
30*86d949f9SVitaliy Gusev struct exp_walk_arg {
31*86d949f9SVitaliy Gusev 	const char *name;	/* variable name with the exportinfo array */
32*86d949f9SVitaliy Gusev 	int size;		/* size of the exportinfo array */
33*86d949f9SVitaliy Gusev 	size_t offset;		/* offset for the walker */
34*86d949f9SVitaliy Gusev };
35*86d949f9SVitaliy Gusev 
36*86d949f9SVitaliy Gusev extern struct exp_walk_arg nfs_expinfo_arg;
37*86d949f9SVitaliy Gusev extern struct exp_walk_arg nfs_expinfo_path_arg;
38*86d949f9SVitaliy Gusev extern int nfs_expinfo_walk_init(mdb_walk_state_t *);
39*86d949f9SVitaliy Gusev extern void nfs_expinfo_walk_fini(mdb_walk_state_t *);
40*86d949f9SVitaliy Gusev extern int nfs_expvis_walk_init(mdb_walk_state_t *);
41*86d949f9SVitaliy Gusev extern int nfs_expvis_walk_step(mdb_walk_state_t *);
42*86d949f9SVitaliy Gusev 
43*86d949f9SVitaliy Gusev extern int nfssrv_globals_walk_init(mdb_walk_state_t *);
44*86d949f9SVitaliy Gusev extern int nfssrv_globals_walk_step(mdb_walk_state_t *);
45*86d949f9SVitaliy Gusev 
46*86d949f9SVitaliy Gusev #endif	/* _NFSSRV_H */
47