xref: /linux-6.15/include/linux/lockd/share.h (revision b2441318)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds  * linux/include/linux/lockd/share.h
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * DOS share management for lockd.
61da177e4SLinus Torvalds  *
71da177e4SLinus Torvalds  * Copyright (C) 1996, Olaf Kirch <[email protected]>
81da177e4SLinus Torvalds  */
91da177e4SLinus Torvalds 
101da177e4SLinus Torvalds #ifndef LINUX_LOCKD_SHARE_H
111da177e4SLinus Torvalds #define LINUX_LOCKD_SHARE_H
121da177e4SLinus Torvalds 
131da177e4SLinus Torvalds /*
141da177e4SLinus Torvalds  * DOS share for a specific file
151da177e4SLinus Torvalds  */
161da177e4SLinus Torvalds struct nlm_share {
171da177e4SLinus Torvalds 	struct nlm_share *	s_next;		/* linked list */
181da177e4SLinus Torvalds 	struct nlm_host *	s_host;		/* client host */
191da177e4SLinus Torvalds 	struct nlm_file *	s_file;		/* shared file */
201da177e4SLinus Torvalds 	struct xdr_netobj	s_owner;	/* owner handle */
211da177e4SLinus Torvalds 	u32			s_access;	/* access mode */
221da177e4SLinus Torvalds 	u32			s_mode;		/* deny mode */
231da177e4SLinus Torvalds };
241da177e4SLinus Torvalds 
2552921e02SAl Viro __be32	nlmsvc_share_file(struct nlm_host *, struct nlm_file *,
261da177e4SLinus Torvalds 					       struct nlm_args *);
2752921e02SAl Viro __be32	nlmsvc_unshare_file(struct nlm_host *, struct nlm_file *,
281da177e4SLinus Torvalds 					       struct nlm_args *);
29f2af793dSOlaf Kirch void	nlmsvc_traverse_shares(struct nlm_host *, struct nlm_file *,
30f2af793dSOlaf Kirch 					       nlm_host_match_fn_t);
311da177e4SLinus Torvalds 
321da177e4SLinus Torvalds #endif /* LINUX_LOCKD_SHARE_H */
33