mfs_extern.h revision 1.22
11.22Schristos/*	$NetBSD: mfs_extern.h,v 1.22 2005/12/11 12:25:28 christos Exp $	*/
21.2Scgd
31.1Smycroft/*-
41.1Smycroft * Copyright (c) 1991, 1993
51.1Smycroft *	The Regents of the University of California.  All rights reserved.
61.1Smycroft *
71.1Smycroft * Redistribution and use in source and binary forms, with or without
81.1Smycroft * modification, are permitted provided that the following conditions
91.1Smycroft * are met:
101.1Smycroft * 1. Redistributions of source code must retain the above copyright
111.1Smycroft *    notice, this list of conditions and the following disclaimer.
121.1Smycroft * 2. Redistributions in binary form must reproduce the above copyright
131.1Smycroft *    notice, this list of conditions and the following disclaimer in the
141.1Smycroft *    documentation and/or other materials provided with the distribution.
151.17Sagc * 3. Neither the name of the University nor the names of its contributors
161.1Smycroft *    may be used to endorse or promote products derived from this software
171.1Smycroft *    without specific prior written permission.
181.1Smycroft *
191.1Smycroft * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
201.1Smycroft * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
211.1Smycroft * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
221.1Smycroft * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
231.1Smycroft * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
241.1Smycroft * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
251.1Smycroft * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
261.1Smycroft * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
271.1Smycroft * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
281.1Smycroft * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
291.1Smycroft * SUCH DAMAGE.
301.1Smycroft *
311.7Sfvdl *	@(#)mfs_extern.h	8.4 (Berkeley) 3/30/95
321.1Smycroft */
331.1Smycroft
341.13Smatt#ifndef _UFS_MFS_MFS_EXTERN_H_
351.13Smatt#define _UFS_MFS_MFS_EXTERN_H_
361.14Sthorpej
371.14Sthorpej#include <sys/mallocvar.h>
381.14SthorpejMALLOC_DECLARE(M_MFSNODE);
391.13Smatt
401.1Smycroftstruct buf;
411.1Smycroftstruct mount;
421.1Smycroftstruct nameidata;
431.1Smycroftstruct proc;
441.19Schristosstruct statvfs;
451.1Smycroftstruct ucred;
461.1Smycroftstruct vnode;
471.1Smycroft
481.1Smycroft__BEGIN_DECLS
491.8Smatthias#define	mfs_ioctl	genfs_enoioctl
501.8Smatthias
511.4Schristos/* mfs_vfsops.c */
521.21Sxtraemeint	mfs_mountroot(void);
531.21Sxtraemeint	mfs_initminiroot(caddr_t);
541.21Sxtraemeint	mfs_mount(struct mount *, const char *, void *,
551.22Schristos			     struct nameidata *, struct lwp *);
561.22Schristosint	mfs_start(struct mount *, int, struct lwp *);
571.22Schristosint	mfs_statvfs(struct mount *, struct statvfs *, struct lwp *);
581.21Sxtraeme
591.21Sxtraemevoid	mfs_init(void);
601.21Sxtraemevoid	mfs_reinit(void);
611.21Sxtraemevoid	mfs_done(void);
621.4Schristos
631.4Schristos/* mfs_vnops.c */
641.21Sxtraemeint	mfs_open(void *);
651.21Sxtraemeint	mfs_strategy(void *);
661.21Sxtraemevoid	mfs_doio(struct buf *, caddr_t);
671.21Sxtraemeint	mfs_bmap(void *);
681.21Sxtraemeint	mfs_close(void *);
691.21Sxtraemeint	mfs_inactive(void *);
701.21Sxtraemeint	mfs_reclaim(void *);
711.21Sxtraemeint	mfs_print(void *);
721.4Schristos
731.20Satatat#ifdef SYSCTL_SETUP_PROTO
741.20SatatatSYSCTL_SETUP_PROTO(sysctl_vfs_mfs_setup);
751.20Satatat#endif /* SYSCTL_SETUP_PROTO */
761.20Satatat
771.1Smycroft__END_DECLS
781.13Smatt
791.13Smatt#endif /* !_UFS_MFS_MFS_EXTERN_H_ */
80