Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / include / linux / lockd / share.h
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 */