[BACK]Return to ufs_extern.h CVS log [TXT][DIR] Up to [local] / sys / ufs / ufs

Annotation of sys/ufs/ufs/ufs_extern.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: ufs_extern.h,v 1.28 2007/05/09 17:04:22 deraadt Exp $ */
                      2: /*     $NetBSD: ufs_extern.h,v 1.5 1996/02/09 22:36:03 christos Exp $  */
                      3:
                      4: /*-
                      5:  * Copyright (c) 1991, 1993, 1994
                      6:  *     The Regents of the University of California.  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. Redistributions in binary form must reproduce the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer in the
                     15:  *    documentation and/or other materials provided with the distribution.
                     16:  * 3. Neither the name of the University nor the names of its contributors
                     17:  *    may be used to endorse or promote products derived from this software
                     18:  *    without specific prior written permission.
                     19:  *
                     20:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     21:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     22:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     23:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     24:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     25:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     26:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     27:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     28:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     29:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     30:  * SUCH DAMAGE.
                     31:  *
                     32:  *     @(#)ufs_extern.h        8.6 (Berkeley) 8/10/94
                     33:  */
                     34:
                     35: struct buf;
                     36: struct componentname;
                     37: struct direct;
                     38: struct disklabel;
                     39: struct dquot;
                     40: struct fid;
                     41: struct flock;
                     42: struct indir;
                     43: struct inode;
                     44: struct mbuf;
                     45: struct mount;
                     46: struct nameidata;
                     47: struct proc;
                     48: struct ucred;
                     49: struct ufs_args;
                     50: struct ufsmount;
                     51: struct uio;
                     52: struct vattr;
                     53: struct vfsconf;
                     54: struct vnode;
                     55:
                     56: __BEGIN_DECLS
                     57: int     ufs_access(void *);
                     58: int     ufs_advlock(void *);
                     59: int     ufs_bmap(void *);
                     60: int     ufs_close(void *);
                     61: int     ufs_create(void *);
                     62: int     ufs_getattr(void *);
                     63: int     ufs_inactive(void *);
                     64: int     ufs_ioctl(void *);
                     65: int     ufs_islocked(void *);
                     66: int     ufs_link(void *);
                     67: int     ufs_lock(void *);
                     68: int     ufs_lookup(void *);
                     69: int     ufs_mkdir(void *);
                     70: int     ufs_mknod(void *);
                     71: int     ufs_mmap(void *);
                     72: int     ufs_open(void *);
                     73: int     ufs_pathconf(void *);
                     74: int     ufs_print(void *);
                     75: int     ufs_readdir(void *);
                     76: int     ufs_readlink(void *);
                     77: int     ufs_remove(void *);
                     78: int     ufs_rename(void *);
                     79: #define  ufs_revoke  vop_generic_revoke
                     80: int     ufs_rmdir(void *);
                     81: int     ufs_poll(void *);
                     82: int     ufs_kqfilter(void *);
                     83: int     ufs_setattr(void *);
                     84: int     ufs_strategy(void *);
                     85: int     ufs_symlink(void *);
                     86: int     ufs_unlock(void *);
                     87: int     ufsspec_close(void *);
                     88: int     ufsspec_read(void *);
                     89: int     ufsspec_write(void *);
                     90:
                     91: #ifdef FIFO
                     92: int    ufsfifo_read(void *);
                     93: int    ufsfifo_write(void *);
                     94: int    ufsfifo_close(void *);
                     95: #endif
                     96:
                     97: /* ufs_bmap.c */
                     98: int ufs_bmaparray(struct vnode *, daddr_t, daddr64_t *, struct indir *,
                     99:                       int *, int *);
                    100: int ufs_getlbns(struct vnode *, daddr_t, struct indir *, int *);
                    101:
                    102: /* ufs_ihash.c */
                    103: void ufs_ihashinit(void);
                    104: struct vnode *ufs_ihashlookup(dev_t, ino_t);
                    105: struct vnode *ufs_ihashget(dev_t, ino_t);
                    106: int ufs_ihashins(struct inode *);
                    107: void ufs_ihashrem(struct inode *);
                    108:
                    109: /* ufs_inode.c */
                    110: int ufs_init(struct vfsconf *);
                    111: int ufs_reclaim(struct vnode *, struct proc *);
                    112:
                    113: /* ufs_lookup.c */
                    114: void ufs_dirbad(struct inode *, doff_t, char *);
                    115: int ufs_dirbadentry(struct vnode *, struct direct *, int);
                    116: void ufs_makedirentry(struct inode *, struct componentname *,
                    117:                           struct direct *);
                    118: int ufs_direnter(struct vnode *, struct vnode *, struct direct *,
                    119:                      struct componentname *, struct buf *);
                    120: int ufs_dirremove(struct vnode *, struct inode *, int, int);
                    121: int ufs_dirrewrite(struct inode *, struct inode *,
                    122:                        ino_t, int, int);
                    123: int ufs_dirempty(struct inode *, ino_t, struct ucred *);
                    124: int ufs_checkpath(struct inode *, struct inode *, struct ucred *);
                    125:
                    126: /* ufs_vfsops.c */
                    127: int ufs_start(struct mount *, int, struct proc *);
                    128: int ufs_root(struct mount *, struct vnode **);
                    129: int ufs_quotactl(struct mount *, int, uid_t, caddr_t, struct proc *);
                    130: int ufs_fhtovp(struct mount *, struct ufid *, struct vnode **);
                    131: int ufs_check_export(struct mount *, struct mbuf *, int *,
                    132:                struct ucred **);
                    133:
                    134: /* ufs_vnops.c */
                    135: int ufs_vinit(struct mount *, int (**)(void *),
                    136:              int (**)(void *), struct vnode **);
                    137: int ufs_makeinode(int, struct vnode *, struct vnode **,
                    138:                  struct componentname *);
                    139:
                    140:
                    141: /*
                    142:  * Soft dependency function prototypes.
                    143:  */
                    144: int  softdep_setup_directory_add(struct buf *, struct inode *, off_t,
                    145:           long, struct buf *, int);
                    146: void  softdep_change_directoryentry_offset(struct inode *, caddr_t,
                    147:           caddr_t, caddr_t, int);
                    148: void  softdep_setup_remove(struct buf *,struct inode *, struct inode *,
                    149:           int);
                    150: void  softdep_setup_directory_change(struct buf *, struct inode *,
                    151:           struct inode *, long, int);
                    152: void  softdep_change_linkcnt(struct inode *, int);
                    153: int   softdep_slowdown(struct vnode *);
                    154:
                    155: __END_DECLS

CVSweb