1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * linux/include/linux/lockd/share.h
4  *
5  * DOS share management for lockd.
6  *
7  * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
8  */
9 
10 #ifndef LINUX_LOCKD_SHARE_H
11 #define LINUX_LOCKD_SHARE_H
12 
13 /*
14  * DOS share for a specific file
15  */
16 struct nlm_share {
17 	struct nlm_share *	s_next;		/* linked list */
18 	struct nlm_host *	s_host;		/* client host */
19 	struct nlm_file *	s_file;		/* shared file */
20 	struct xdr_netobj	s_owner;	/* owner handle */
21 	u32			s_access;	/* access mode */
22 	u32			s_mode;		/* deny mode */
23 };
24 
25 __be32	nlmsvc_share_file(struct nlm_host *, struct nlm_file *,
26 					       struct nlm_args *);
27 __be32	nlmsvc_unshare_file(struct nlm_host *, struct nlm_file *,
28 					       struct nlm_args *);
29 void	nlmsvc_traverse_shares(struct nlm_host *, struct nlm_file *,
30 					       nlm_host_match_fn_t);
31 
32 #endif /* LINUX_LOCKD_SHARE_H */
33