Home | History | Annotate | Download | only in fs
      1     0    stevel /*
      2     0    stevel  * CDDL HEADER START
      3     0    stevel  *
      4     0    stevel  * The contents of this file are subject to the terms of the
      5  2051  prabahar  * Common Development and Distribution License (the "License").
      6  2051  prabahar  * You may not use this file except in compliance with the License.
      7     0    stevel  *
      8     0    stevel  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9     0    stevel  * or http://www.opensolaris.org/os/licensing.
     10     0    stevel  * See the License for the specific language governing permissions
     11     0    stevel  * and limitations under the License.
     12     0    stevel  *
     13     0    stevel  * When distributing Covered Code, include this CDDL HEADER in each
     14     0    stevel  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15     0    stevel  * If applicable, add the following below this CDDL HEADER, with the
     16     0    stevel  * fields enclosed by brackets "[]" replaced with your own identifying
     17     0    stevel  * information: Portions Copyright [yyyy] [name of copyright owner]
     18     0    stevel  *
     19     0    stevel  * CDDL HEADER END
     20     0    stevel  */
     21     0    stevel /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
     22     0    stevel /*	  All Rights Reserved  	*/
     23     0    stevel 
     24     0    stevel /*
     25  4863     praks  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
     26     0    stevel  * Use is subject to license terms.
     27     0    stevel  */
     28     0    stevel 
     29     0    stevel #ifndef	_SYS_FS_SUBR_H
     30     0    stevel #define	_SYS_FS_SUBR_H
     31     0    stevel 
     32     0    stevel #pragma ident	"%Z%%M%	%I%	%E% SMI"
     33     0    stevel 
     34     0    stevel #include <sys/types.h>
     35     0    stevel #include <sys/cred.h>
     36     0    stevel #include <sys/fcntl.h>
     37     0    stevel #include <sys/poll.h>
     38     0    stevel #include <sys/vfs.h>
     39     0    stevel #include <sys/vnode.h>
     40     0    stevel #include <vm/page.h>
     41     0    stevel #include <sys/acl.h>
     42     0    stevel #include <sys/share.h>
     43     0    stevel #include <sys/flock.h>
     44     0    stevel 
     45     0    stevel #ifdef	__cplusplus
     46     0    stevel extern "C" {
     47     0    stevel #endif
     48     0    stevel 
     49     0    stevel /*
     50     0    stevel  * Utilities shared among file system implementations.
     51     0    stevel  */
     52     0    stevel 
     53     0    stevel #ifdef	_KERNEL
     54     0    stevel 
     55     0    stevel extern int	fs_nosys();
     56     0    stevel extern int	fs_inval();
     57     0    stevel extern int	fs_notdir();
     58     0    stevel extern int	fs_nosys_map(struct vnode *, offset_t, struct as *, caddr_t *,
     59  5331       amw 			size_t, uchar_t, uchar_t, uint_t, struct cred *,
     60  5331       amw 			caller_context_t *);
     61     0    stevel extern int	fs_nosys_addmap(struct vnode *, offset_t, struct as *, caddr_t,
     62  5331       amw 			size_t, uchar_t, uchar_t, uint_t, struct cred *,
     63  5331       amw 			caller_context_t *);
     64     0    stevel extern int	fs_nosys_poll(struct vnode *, short, int, short *,
     65  5331       amw 			struct pollhead **, caller_context_t *);
     66  5331       amw extern int	fs_ioctl(vnode_t *, int, intptr_t, int, cred_t *, int *);
     67  5331       amw extern int	fs_putpage(vnode_t *, offset_t, size_t, int, cred_t *,
     68  5331       amw 			caller_context_t *);
     69  5331       amw extern int	fs_fsync(vnode_t *, int, cred_t *, caller_context_t *);
     70     0    stevel extern int	fs_sync(struct vfs *, short, cred_t *);
     71     0    stevel extern int	fs_rwlock(vnode_t *, int, caller_context_t *);
     72     0    stevel extern void	fs_rwunlock(vnode_t *, int, caller_context_t *);
     73  5331       amw extern int	fs_cmp(vnode_t *, vnode_t *, caller_context_t *);
     74  5331       amw extern int	fs_seek(vnode_t *, offset_t, offset_t *, caller_context_t *);
     75     0    stevel extern int	fs_frlock(vnode_t *, int, struct flock64 *, int, offset_t,
     76  5331       amw 			struct flk_callback *, cred_t *, caller_context_t *);
     77  5331       amw extern int	fs_setfl(vnode_t *, int, int, cred_t *, caller_context_t *);
     78  5331       amw extern int	fs_poll(vnode_t *, short, int, short *, struct pollhead **,
     79  5331       amw 			caller_context_t *);
     80  5331       amw extern int	fs_pathconf(struct vnode *, int, ulong_t *, struct cred *,
     81  5331       amw 			caller_context_t *);
     82     0    stevel extern void	clkset(time_t);
     83  5331       amw extern void	fs_dispose(struct vnode *, page_t *, int, int, struct cred *,
     84  5331       amw 			caller_context_t *);
     85  5331       amw extern void	fs_nodispose(struct vnode *, page_t *, int, int, struct cred *,
     86  5331       amw 			caller_context_t *);
     87  5331       amw extern int	fs_fab_acl(struct vnode *, vsecattr_t *, int flag, cred_t *,
     88  5331       amw 			caller_context_t *);
     89     0    stevel extern int	fs_shrlock(struct vnode *, int, struct shrlock *, int,
     90  5331       amw 			cred_t *, caller_context_t *);
     91  5331       amw extern int	fs_vnevent_nosupport(vnode_t *, vnevent_t, vnode_t *dvp,
     92  5331       amw 			char *fnm, caller_context_t *);
     93  5331       amw extern int	fs_vnevent_support(vnode_t *, vnevent_t, vnode_t *dvp,
     94  5331       amw 			char *fnm, caller_context_t *);
     95   789    ahrens extern int	fs_acl_nontrivial(struct vnode *vp, struct cred *cr);
     96  2051  prabahar extern int	fs_need_estale_retry(int);
     97  5331       amw extern void	fs_vscan_register(int (*av_scan)(vnode_t *, cred_t *, int));
     98  5331       amw extern int	fs_vscan(vnode_t *, cred_t *, int);
     99     0    stevel 
    100     0    stevel #endif	/* _KERNEL */
    101     0    stevel 
    102     0    stevel #ifdef	__cplusplus
    103     0    stevel }
    104     0    stevel #endif
    105     0    stevel 
    106     0    stevel #endif /* _SYS_FS_SUBR_H */
    107