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 */
16struct 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 *);
29void	nlmsvc_traverse_shares(struct nlm_host *, struct nlm_file *,
30					       nlm_host_match_fn_t);
31
32#endif /* LINUX_LOCKD_SHARE_H */
33