macos fsevents hinting
[openafs.git] / src / afs / DARWIN / osi_prototypes.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9 /*
10  * osi_prototypes.h
11  *
12  * Exported macos support routines.
13  */
14 #ifndef _OSI_PROTO_H_
15 #define _OSI_PROTO_H_
16
17 /* osi_file.c */
18 extern afs_rwlock_t afs_xosi;
19
20 /* osi_misc.c */
21 extern void darwin_notify_perms(struct unixuser *auser, int event);
22 extern int osi_lookupname(char *aname, enum uio_seg seg, int followlink,
23                           struct vnode **vpp);
24 extern int osi_lookupname_user(user_addr_t aname, enum uio_seg seg,
25                                int followlink, struct vnode **vpp);
26 extern int afs_suser(void *credp);
27 extern void get_vfs_context(void);
28 extern void put_vfs_context(void);
29
30 /* osi_sleep.c */
31 extern void afs_osi_fullSigMask(void);
32 extern void afs_osi_fullSigRestore(void);
33
34 /* osi_vm.c */
35 extern void osi_VM_NukePages(struct vnode *vp, off_t offset, off_t size);
36 extern int osi_VM_Setup(struct vcache *avc, int force);
37
38 /* osi_vnodeops.c */
39 extern int afs_darwin_getnewvnode(struct vcache *avc, int recycle);
40 extern int afs_darwin_finalizevnode(struct vcache *avc, struct vnode *parent, 
41                                     struct componentname *cnp, int isroot,
42                                     int locked);
43 #endif /* _OSI_PROTO_H_ */