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