Home | History | Annotate | Line # | Download | only in common
nfs_mountcommon.h revision 1.1.1.1.12.1
      1  1.1.1.1.12.1     skrll /*	$NetBSD: nfs_mountcommon.h,v 1.1.1.1.12.1 2017/02/05 13:40:55 skrll Exp $	*/
      2           1.1  dholland /*-
      3           1.1  dholland  * Copyright (c) 2009 Rick Macklem, University of Guelph
      4           1.1  dholland  * All rights reserved.
      5           1.1  dholland  *
      6           1.1  dholland  * Redistribution and use in source and binary forms, with or without
      7           1.1  dholland  * modification, are permitted provided that the following conditions
      8           1.1  dholland  * are met:
      9           1.1  dholland  * 1. Redistributions of source code must retain the above copyright
     10           1.1  dholland  *    notice, this list of conditions and the following disclaimer.
     11           1.1  dholland  * 2. Redistributions in binary form must reproduce the above copyright
     12           1.1  dholland  *    notice, this list of conditions and the following disclaimer in the
     13           1.1  dholland  *    documentation and/or other materials provided with the distribution.
     14           1.1  dholland  *
     15           1.1  dholland  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     16           1.1  dholland  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     17           1.1  dholland  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     18           1.1  dholland  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     19           1.1  dholland  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     20           1.1  dholland  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     21           1.1  dholland  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     22           1.1  dholland  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     23           1.1  dholland  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     24           1.1  dholland  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     25           1.1  dholland  * SUCH DAMAGE.
     26           1.1  dholland  *
     27           1.1  dholland  * FreeBSD: head/sys/nfs/nfs_mountcommon.h 216931 2011-01-03 20:37:31Z rmacklem
     28  1.1.1.1.12.1     skrll  * $NetBSD: nfs_mountcommon.h,v 1.1.1.1.12.1 2017/02/05 13:40:55 skrll Exp $
     29           1.1  dholland  */
     30           1.1  dholland 
     31           1.1  dholland #ifndef _NFS_MOUNTCOMMON_H_
     32           1.1  dholland #define	_NFS_MOUNTCOMMON_H_
     33           1.1  dholland 
     34           1.1  dholland /*
     35           1.1  dholland  * The common fields of the nfsmount structure for the two clients
     36           1.1  dholland  * used by the nlm. It includes a function pointer that provides
     37           1.1  dholland  * a mechanism for getting the client specific info for an nfs vnode.
     38           1.1  dholland  */
     39           1.1  dholland typedef void	nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, size_t *,
     40           1.1  dholland 		    struct sockaddr_storage *, int *, off_t *,
     41           1.1  dholland 		    struct timeval *);
     42  1.1.1.1.12.1     skrll typedef int	nfs_vinvalbuf_ftype(struct vnode *, int, struct lwp *, int);
     43           1.1  dholland 
     44           1.1  dholland struct	nfsmount_common {
     45  1.1.1.1.12.1     skrll 	kmutex_t	nmcom_mtx;
     46           1.1  dholland 	int	nmcom_flag;		/* Flags for soft/hard... */
     47           1.1  dholland 	int	nmcom_state;		/* Internal state flags */
     48           1.1  dholland 	struct	mount *nmcom_mountp;	/* Vfs structure for this filesystem */
     49           1.1  dholland 	int	nmcom_timeo;		/* Init timer for NFSMNT_DUMBTIMR */
     50           1.1  dholland 	int	nmcom_retry;		/* Max retries */
     51           1.1  dholland 	char	nmcom_hostname[MNAMELEN];	/* server's name */
     52           1.1  dholland 	nfs_getinfofromvp_ftype	*nmcom_getinfo;	/* Get info from nfsnode */
     53           1.1  dholland 	nfs_vinvalbuf_ftype	*nmcom_vinvalbuf; /* Invalidate buffers */
     54           1.1  dholland };
     55           1.1  dholland 
     56           1.1  dholland #endif	/* _NFS_MOUNTCOMMON_H_ */
     57