1 /* 2 * Copyright (c) 2000-2001 Christoph Hellwig. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions, and the following disclaimer, 10 * without modification. 11 * 2. The name of the author may not be used to endorse or promote products 12 * derived from this software without specific prior written permission. 13 * 14 * Alternatively, this software may be distributed under the terms of the 15 * GNU General Public License ("GPL"). 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR 21 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 */ 30 #ifndef _VXFS_EXTERN_H_ 31 #define _VXFS_EXTERN_H_ 32 33 /* 34 * Veritas filesystem driver - external prototypes. 35 * 36 * This file contains prototypes for all vxfs functions used 37 * outside their respective source files. 38 */ 39 40 41 struct kmem_cache; 42 struct super_block; 43 struct vxfs_inode_info; 44 struct inode; 45 46 47 /* vxfs_bmap.c */ 48 extern daddr_t vxfs_bmap1(struct inode *, long); 49 50 /* vxfs_fshead.c */ 51 extern int vxfs_read_fshead(struct super_block *); 52 53 /* vxfs_inode.c */ 54 extern const struct address_space_operations vxfs_immed_aops; 55 extern void vxfs_dumpi(struct vxfs_inode_info *, ino_t); 56 extern struct inode *vxfs_blkiget(struct super_block *, u_long, ino_t); 57 extern struct inode *vxfs_stiget(struct super_block *, ino_t); 58 extern struct inode *vxfs_iget(struct super_block *, ino_t); 59 extern void vxfs_evict_inode(struct inode *); 60 61 /* vxfs_lookup.c */ 62 extern const struct inode_operations vxfs_dir_inode_ops; 63 extern const struct file_operations vxfs_dir_operations; 64 65 /* vxfs_olt.c */ 66 extern int vxfs_read_olt(struct super_block *, u_long); 67 68 /* vxfs_subr.c */ 69 extern const struct address_space_operations vxfs_aops; 70 extern struct page * vxfs_get_page(struct address_space *, u_long); 71 extern void vxfs_put_page(struct page *); 72 extern struct buffer_head * vxfs_bread(struct inode *, int); 73 74 #endif /* _VXFS_EXTERN_H_ */ 75