Linux: Move code to reset the root to afs/LINUX
[openafs.git] / src / afs / LINUX / osi_prototypes.h
index 20af9d1..5002af1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright 2000, International Business Machines Corporation and others.
  * All Rights Reserved.
- * 
+ *
  * This software has been released under the terms of the IBM Public
  * License.  For details, see the LICENSE file in the top-level source
  * directory or online at http://www.openafs.org/dl/license10.html
@@ -22,40 +22,86 @@ extern void osi_linux_verify_alloced_memory(void);
 
 /* osi_cred.c */
 extern cred_t *crget(void);
-extern void crfree(cred_t *cr);
-extern cred_t *crdup(cred_t *cr);
+extern void crfree(cred_t * cr);
+extern cred_t *crdup(cred_t * cr);
 extern cred_t *crref(void);
-extern void crset(cred_t *cr);
+extern void crset(cred_t * cr);
+
+/* osi_nfssrv.c */
+extern int osi_linux_nfs_initreq(struct vrequest *av, afs_ucred_t *cr,
+                                 int *code);
+extern void osi_linux_nfssrv_init(void);
+extern void osi_linux_nfssrv_shutdown(void);
+extern afs_rwlock_t afs_xnfssrv;
 
 /* osi_file.c */
 extern afs_rwlock_t afs_xosi;
+extern int osi_InitCacheInfo(char *aname);
+extern int osi_rdwr(struct osi_file *osifile, struct uio *uiop, int rw);
+extern struct file *afs_linux_raw_open(afs_dcache_id_t *ainode);
+
+/* osi_ioctl.c */
+extern void osi_ioctl_init(void);
+extern void osi_ioctl_clean(void);
 
 /* osi_misc.c */
+extern void afs_osi_SetTime(osi_timeval_t * tvp);
+extern int osi_lookupname_internal(char *aname, int followlink,
+                                  struct vfsmount **mnt, struct dentry **dpp);
 extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink,
-                         vnode_t **dirvpp, struct dentry **dpp);
-extern int osi_InitCacheInfo(char *aname);
-extern int osi_rdwr(int rw, struct osi_file *file, caddr_t addrp, size_t asize,
-                   size_t *resid);
-extern void inline  setup_uio(uio_t *uiop, struct iovec *iovecp, char *buf,
-                            afs_offs_t pos, int count, uio_flag_t flag,
-                            uio_seg_t seg);
-extern int osi_file_uio_rdwr(struct osi_file *osifile, uio_t *uiop, int rw);
-extern void afs_osi_SetTime(osi_timeval_t *tvp);
-extern void osi_linux_free_inode_pages(void);
-extern void check_bad_parent(struct dentry *dp);
+                         struct dentry **dpp);
+extern int osi_abspath(char *aname, char *buf, int buflen,
+                      int followlink, char **pathp);
+extern void afs_start_thread(void (*proc)(void), char *name);
+
+/* osi_probe.c */
+extern void *osi_find_syscall_table(int which);
+
+/* osi_proc.c */
+extern void osi_proc_init(void);
+extern void osi_proc_clean(void);
+
+/* osi_sleep.c */
+extern void osi_event_shutdown(void);
+
+/* osi_syscall.c */
+extern int osi_syscall_init(void);
+extern void osi_syscall_clean(void);
+
+/* osi_sysctl.c */
+extern int osi_sysctl_init(void);
+extern void osi_sysctl_clean(void);
 
 /* osi_vm.c */
-extern int osi_VM_FlushVCache(struct vcache *avc, int *slept);
-extern void osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred,
+extern int osi_VM_FlushVCache(struct vcache *avc);
+extern void osi_VM_TryToSmush(struct vcache *avc, afs_ucred_t *acred,
                              int sync);
 extern void osi_VM_FSyncInval(struct vcache *avc);
 extern void osi_VM_StoreAllSegments(struct vcache *avc);
-extern void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp);
+extern void osi_VM_FlushPages(struct vcache *avc, afs_ucred_t *credp);
 extern void osi_VM_Truncate(struct vcache *avc, int alen,
-                           struct AFS_UCRED *acred);
+                           afs_ucred_t *acred);
+
+/* osi_vcache.c */
+extern void osi_ResetRootVCache(afs_uint32 volid);
 
 /* osi_vfsops.c */
-extern void set_inode_cache(struct inode *ip, struct vattr *vp);
+extern void vattr2inode(struct inode *ip, struct vattr *vp);
+extern int afs_init_inodecache(void);
+extern void afs_destroy_inodecache(void);
+
+/* osi_vnodeops.c */
+extern void afs_fill_inode(struct inode *ip, struct vattr *vattr);
+
+/* osi_groups.c */
+extern void osi_keyring_init(void);
+extern void osi_keyring_shutdown(void);
+extern int __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag,
+                   int change_parent, struct group_info **old_groups);
+#ifdef LINUX_KEYRING_SUPPORT
+extern afs_int32 osi_get_keyring_pag(afs_ucred_t *);
+extern struct key_type key_type_afs_pag;
+#endif /* LINUX_KEYRING_SUPPORT */
 
 
 #endif /* _OSI_PROTO_H_ */