Initial IBM OpenAFS 1.0 tree
[openafs.git] / src / afs / LINUX / osi_prototypes.h
1 /* Copyright 1998 Transarc Corporation - All Rights Reserved.
2  *
3  * osi_prototypes.h
4  *
5  * Exported linux support routines.
6  */
7 #ifndef _OSI_PROTO_H_
8 #define _OSI_PROTO_H_
9
10 /* osi_alloc.c */
11 extern void *osi_linux_alloc(unsigned int size);
12 extern void osi_linux_free(void *addr);
13 extern void osi_linux_free_afs_memory(void);
14 /* Debugging aid */
15 extern void osi_linux_verify_alloced_memory(void);
16
17 /* osi_cred.c */
18 extern cred_t *crget(void);
19 extern void crfree(cred_t *cr);
20 extern cred_t *crdup(cred_t *cr);
21 extern cred_t *crref(void);
22 extern void crset(cred_t *cr);
23
24
25 /* osi_misc.c */
26 extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink,
27                           vnode_t **dirvpp, struct dentry **dpp);
28 extern int osi_InitCacheInfo(char *aname);
29 extern int osi_rdwr(int rw, struct osi_file *file, caddr_t addrp, size_t asize,
30                     size_t *resid);
31 extern void inline  setup_uio(uio_t *uiop, struct iovec *iovecp, char *buf,
32                              int pos, int count, uio_flag_t flag,
33                              uio_seg_t seg);
34 extern int osi_file_uio_rdwr(struct osi_file *osifile, uio_t *uiop, int rw);
35 extern void afs_osi_SetTime(osi_timeval_t *tvp);
36 extern void osi_linux_free_inode_pages(void);
37 extern void check_bad_parent(struct dentry *dp);
38
39 /* osi_vm.c */
40 extern int osi_VM_FlushVCache(struct vcache *avc, int *slept);
41 extern void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred,
42                               int sync);
43 extern void osi_VM_FSyncInval(struct vcache *avc);
44 extern void osi_VM_StoreAllSegments(struct vcache *avc);
45 extern void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp);
46 extern void osi_VM_Truncate(struct vcache *avc, int alen,
47                             struct AFS_UCRED *acred);
48
49 /* osi_vfsops.c */
50 extern void set_inode_cache(struct inode *ip, struct vattr *vp);
51
52
53 #endif /* _OSI_PROTO_H_ */