Commit | Line | Data |
---|---|---|
805e021f CE |
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 | /* | |
11 | * Exported linux support routines. | |
12 | */ | |
13 | #ifndef _OSI_PROTO_H_ | |
14 | #define _OSI_PROTO_H_ | |
15 | ||
16 | /* osi_alloc.c */ | |
17 | extern void *osi_linux_alloc(unsigned int size, int drop_glock); | |
18 | extern void osi_linux_free(void *addr); | |
19 | extern void osi_linux_free_afs_memory(void); | |
20 | /* Debugging aid */ | |
21 | extern void osi_linux_verify_alloced_memory(void); | |
22 | ||
23 | /* osi_cred.c */ | |
24 | extern cred_t *crget(void); | |
25 | extern void crfree(cred_t * cr); | |
26 | extern cred_t *crdup(cred_t * cr); | |
27 | extern cred_t *crref(void); | |
28 | extern void crset(cred_t * cr); | |
29 | ||
30 | /* osi_nfssrv.c */ | |
31 | extern int osi_linux_nfs_initreq(struct vrequest *av, afs_ucred_t *cr, | |
32 | int *code); | |
33 | extern void osi_linux_nfssrv_init(void); | |
34 | extern void osi_linux_nfssrv_shutdown(void); | |
35 | extern afs_rwlock_t afs_xnfssrv; | |
36 | ||
37 | /* osi_file.c */ | |
38 | extern int osi_InitCacheInfo(char *aname); | |
39 | extern int osi_rdwr(struct osi_file *osifile, struct uio *uiop, int rw); | |
40 | extern struct file *afs_linux_raw_open(afs_dcache_id_t *ainode); | |
41 | ||
42 | /* osi_ioctl.c */ | |
43 | extern void osi_ioctl_init(void); | |
44 | extern void osi_ioctl_clean(void); | |
45 | ||
46 | /* osi_misc.c */ | |
47 | extern int osi_lookupname_internal(char *aname, int followlink, | |
48 | struct vfsmount **mnt, struct dentry **dpp); | |
49 | extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink, | |
50 | struct dentry **dpp); | |
51 | extern int osi_abspath(char *aname, char *buf, int buflen, | |
52 | int followlink, char **pathp); | |
53 | extern void afs_start_thread(void (*proc)(void), char *name); | |
54 | ||
55 | /* osi_probe.c */ | |
56 | extern void *osi_find_syscall_table(int which); | |
57 | ||
58 | /* osi_proc.c */ | |
59 | extern void osi_proc_init(void); | |
60 | extern void osi_proc_clean(void); | |
61 | ||
62 | /* osi_sleep.c */ | |
63 | extern void osi_event_shutdown(void); | |
64 | ||
65 | /* osi_syscall.c */ | |
66 | extern int osi_syscall_init(void); | |
67 | extern void osi_syscall_clean(void); | |
68 | ||
69 | /* osi_sysctl.c */ | |
70 | extern int osi_sysctl_init(void); | |
71 | extern void osi_sysctl_clean(void); | |
72 | ||
73 | /* osi_vm.c */ | |
74 | extern int osi_VM_FlushVCache(struct vcache *avc); | |
75 | extern void osi_VM_TryToSmush(struct vcache *avc, afs_ucred_t *acred, | |
76 | int sync); | |
77 | extern void osi_VM_FSyncInval(struct vcache *avc); | |
78 | extern void osi_VM_StoreAllSegments(struct vcache *avc); | |
79 | extern void osi_VM_FlushPages(struct vcache *avc, afs_ucred_t *credp); | |
80 | extern void osi_VM_Truncate(struct vcache *avc, int alen, | |
81 | afs_ucred_t *acred); | |
82 | ||
83 | /* osi_vcache.c */ | |
84 | extern void osi_ResetRootVCache(afs_uint32 volid); | |
85 | ||
86 | /* osi_vfsops.c */ | |
87 | extern void vattr2inode(struct inode *ip, struct vattr *vp); | |
88 | extern int afs_init_inodecache(void); | |
89 | extern void afs_destroy_inodecache(void); | |
90 | ||
91 | /* osi_vnodeops.c */ | |
92 | extern void afs_fill_inode(struct inode *ip, struct vattr *vattr); | |
93 | ||
94 | /* osi_groups.c */ | |
95 | extern void osi_keyring_init(void); | |
96 | extern void osi_keyring_shutdown(void); | |
97 | extern int __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag, | |
98 | int change_parent, struct group_info **old_groups); | |
99 | #ifdef LINUX_KEYRING_SUPPORT | |
100 | extern afs_int32 osi_get_keyring_pag(afs_ucred_t *); | |
101 | extern struct key_type key_type_afs_pag; | |
102 | #endif /* LINUX_KEYRING_SUPPORT */ | |
103 | ||
104 | ||
105 | #endif /* _OSI_PROTO_H_ */ |