1 /* $NetBSD: extern.h,v 1.8 2012/11/25 19:42:14 jakllsch Exp $ */ 2 3 /* 4 * Copyright (c) 1997 Manuel Bouyer. 5 * Copyright (c) 1994 James A. Jegers 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 2. The name of the author may not be used to endorse or promote products 14 * derived from this software without specific prior written permission 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28 void adjust(struct inodesc *, short); 29 int allocblk(void); 30 int allocdir(ino_t, ino_t, int); 31 void blkerror(ino_t, const char *, daddr_t); 32 int bread(int, char *, daddr_t, long); 33 void bufinit(void); 34 void bwrite(int, char *, daddr_t, long); 35 void cacheino(struct ext2fs_dinode *, ino_t); 36 int changeino(ino_t, const char *, ino_t); 37 int chkrange(daddr_t, int); 38 void ckfini(int); 39 int ckinode(struct ext2fs_dinode *, struct inodesc *); 40 void clri(struct inodesc *, const char *, int); 41 int dircheck(struct inodesc *, struct ext2fs_direct *); 42 void direrror(ino_t, const char *); 43 int dirscan(struct inodesc *); 44 int dofix(struct inodesc *, const char *); 45 void fileerror(ino_t, ino_t, const char *); 46 int findino(struct inodesc *); 47 int findname(struct inodesc *); 48 void flush(int, struct bufarea *); 49 void freeblk(daddr_t); 50 void freeino(ino_t); 51 void freeinodebuf(void); 52 int ftypeok(struct ext2fs_dinode *); 53 void getpathname(char *, size_t, ino_t, ino_t); 54 void inocleanup(void); 55 void inodirty(void); 56 u_int64_t inosize(struct ext2fs_dinode *); 57 void inossize(struct ext2fs_dinode *, u_int64_t); 58 int linkup(ino_t, ino_t); 59 int makeentry(ino_t, ino_t, const char *); 60 void pass1(void); 61 void pass1b(void); 62 void pass2(void); 63 void pass3(void); 64 void pass4(void); 65 int pass1check(struct inodesc *); 66 int pass4check(struct inodesc *); 67 void pass5(void); 68 void pinode(ino_t); 69 void propagate(void); 70 int reply(const char *); 71 void resetinodebuf(void); 72 int setup(const char *); 73 struct ext2fs_dinode * getnextinode(ino_t); 74 uint64_t inonblock(struct ext2fs_dinode *); 75 void inosnblock(struct ext2fs_dinode *, uint64_t); 76