46 */
47 struct shr_locowner {
48 pid_t sl_pid;
49 int sl_id;
50 };
51
52 struct shrlock {
53 short s_access;
54 short s_deny;
55 int32_t s_sysid; /* 0 if local otherwise passed by lm */
56 pid_t s_pid; /* 0 if remote otherwise local pid */
57 int s_own_len; /* if 0 and F_UNSHARE matching sysid */
58 caddr_t s_owner; /* variable length opaque owner */
59 };
60
61 struct shrlocklist {
62 struct shrlock *shr;
63 struct shrlocklist *next;
64 };
65
66 #if defined(_KERNEL)
67 struct flock64;
68
69 extern int add_share(struct vnode *, struct shrlock *);
70 extern int del_share(struct vnode *, struct shrlock *);
71 extern void cleanshares(struct vnode *, pid_t);
72 extern void cleanshares_by_sysid(struct vnode *, int32_t);
73 extern int shr_has_remote_shares(vnode_t *, int32_t);
74 extern int proc_has_nbmand_share_on_vp(vnode_t *, pid_t);
75 #endif /* _KERNEL */
76
77 #ifdef __cplusplus
78 }
79 #endif
80
81 #endif /* _SYS_SHARE_H */
|
46 */
47 struct shr_locowner {
48 pid_t sl_pid;
49 int sl_id;
50 };
51
52 struct shrlock {
53 short s_access;
54 short s_deny;
55 int32_t s_sysid; /* 0 if local otherwise passed by lm */
56 pid_t s_pid; /* 0 if remote otherwise local pid */
57 int s_own_len; /* if 0 and F_UNSHARE matching sysid */
58 caddr_t s_owner; /* variable length opaque owner */
59 };
60
61 struct shrlocklist {
62 struct shrlock *shr;
63 struct shrlocklist *next;
64 };
65
66 #if defined(_KERNEL) || defined(_FAKE_KERNEL)
67 struct flock64;
68
69 extern int add_share(struct vnode *, struct shrlock *);
70 extern int del_share(struct vnode *, struct shrlock *);
71 extern void cleanshares(struct vnode *, pid_t);
72 extern void cleanshares_by_sysid(struct vnode *, int32_t);
73 extern int shr_has_remote_shares(vnode_t *, int32_t);
74 extern int proc_has_nbmand_share_on_vp(vnode_t *, pid_t);
75 #endif /* _KERNEL */
76
77 #ifdef __cplusplus
78 }
79 #endif
80
81 #endif /* _SYS_SHARE_H */
|