1/* $NetBSD$ */ 2 3/* 4 * Copyright (c) 1997-2009 Erez Zadok 5 * Copyright (c) 1990 Jan-Simon Pendry 6 * Copyright (c) 1990 Imperial College of Science, Technology & Medicine 7 * Copyright (c) 1990 The Regents of the University of California. 8 * All rights reserved. 9 * 10 * This code is derived from software contributed to Berkeley by 11 * Jan-Simon Pendry at Imperial College, London. 12 * 13 * Redistribution and use in source and binary forms, with or without 14 * modification, are permitted provided that the following conditions 15 * are met: 16 * 1. Redistributions of source code must retain the above copyright 17 * notice, this list of conditions and the following disclaimer. 18 * 2. Redistributions in binary form must reproduce the above copyright 19 * notice, this list of conditions and the following disclaimer in the 20 * documentation and/or other materials provided with the distribution. 21 * 3. All advertising materials mentioning features or use of this software 22 * must display the following acknowledgment: 23 * This product includes software developed by the University of 24 * California, Berkeley and its contributors. 25 * 4. Neither the name of the University nor the names of its contributors 26 * may be used to endorse or promote products derived from this software 27 * without specific prior written permission. 28 * 29 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 30 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 31 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 32 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 33 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 34 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 35 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 36 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 37 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 38 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 39 * SUCH DAMAGE. 40 * 41 * 42 * File: am-utils/include/mount_headers1.h 43 * 44 */ 45 46 47#ifdef HAVE_SYS_TYPES_H 48# include <sys/types.h> 49#endif /* HAVE_SYS_TYPES_H */ 50#ifdef HAVE_SYS_ERRNO_H 51# include <sys/errno.h> 52#endif /* HAVE_SYS_ERRNO_H */ 53#ifdef HAVE_SYS_PARAM_H 54# include <sys/param.h> 55#endif /* HAVE_SYS_PARAM_H */ 56#ifdef HAVE_SYS_TIME_H 57# include <sys/time.h> 58#endif /* HAVE_SYS_TIME_H */ 59#ifdef HAVE_SYS_UCRED_H 60# include <sys/ucred.h> 61#endif /* HAVE_SYS_UCRED_H */ 62#ifdef HAVE_SYS_SOCKET_H 63# include <sys/socket.h> 64#endif /* HAVE_SYS_SOCKET_H */ 65#ifdef HAVE_NETINET_IN_H 66# include <netinet/in.h> 67#endif /* HAVE_NETINET_IN_H */ 68#ifdef HAVE_NET_IF_H 69# include <net/if.h> 70#endif /* HAVE_NET_IF_H */ 71#ifdef HAVE_STDIO_H 72# include <stdio.h> 73#endif /* HAVE_STDIO_H */ 74 75#ifndef KERNEL 76# define KERNEL_off_for_now_breaks_FreeBSD 77#endif /* not KERNEL */ 78 79#ifdef HAVE_SYS_MNTENT_H 80# include <sys/mntent.h> 81#endif /* HAVE_SYS_MNTENT_H */ 82#ifdef HAVE_MNTENT_H 83# include <mntent.h> 84#endif /* HAVE_MNTENT_H */ 85#ifdef HAVE_SYS_MNTTAB_H 86# include <sys/mnttab.h> 87#endif /* HAVE_SYS_MNTTAB_H */ 88#if defined(HAVE_MNTTAB_H) && !defined(MNTTAB) 89/* 90 * Do not include it if MNTTAB is already defined because it probably 91 * came from <sys/mnttab.h> and we do not want conflicting definitions. 92 */ 93# include <mnttab.h> 94#endif /* defined(HAVE_MNTTAB_H) && !defined(MNTTAB) */ 95 96#ifdef HAVE_SYS_MOUNT_H 97# ifndef NFSCLIENT 98# define NFSCLIENT 99# endif /* not NFSCLIENT */ 100# ifndef PCFS 101# define PCFS 102# endif /* not PCFS */ 103# ifndef LOFS 104# define LOFS 105# endif /* not LOFS */ 106# ifndef RFS 107# define RFS 108# endif /* not RFS */ 109# ifndef MSDOSFS 110# define MSDOSFS 111# endif /* not MSDOSFS */ 112# ifndef MFS 113# define MFS 1 114# endif /* not MFS */ 115# ifndef CD9660 116# define CD9660 117# endif /* not CD9660 */ 118# ifndef NFS 119# define NFS 120# endif /* not NFS */ 121# include <sys/mount.h> 122#endif /* HAVE_SYS_MOUNT_H */ 123 124#ifdef HAVE_SYS_VMOUNT_H 125# include <sys/vmount.h> 126#endif /* HAVE_SYS_VMOUNT_H */ 127 128/* 129 * There is no point in including this on a glibc2 system 130 * we're only asking for trouble 131 */ 132#if defined HAVE_LINUX_FS_H && (!defined __GLIBC__ || __GLIBC__ < 2) 133/* 134 * There's a conflict of definitions on redhat alpha linux between 135 * <netinet/in.h> and <linux/fs.h>. 136 * Also a conflict in definitions of ntohl/htonl in RH-5.1 sparc64 137 * between <netinet/in.h> and <linux/byteorder/generic.h> (2.1 kernels). 138 */ 139# ifdef HAVE_SOCKETBITS_H 140# define _LINUX_SOCKET_H 141# undef BLKFLSBUF 142# undef BLKGETSIZE 143# undef BLKRAGET 144# undef BLKRASET 145# undef BLKROGET 146# undef BLKROSET 147# undef BLKRRPART 148# undef MS_MGC_VAL 149# undef MS_RMT_MASK 150# endif /* HAVE_SOCKETBITS_H */ 151# ifdef HAVE_LINUX_POSIX_TYPES_H 152# include <linux/posix_types.h> 153# endif /* HAVE_LINUX_POSIX_TYPES_H */ 154# ifndef _LINUX_BYTEORDER_GENERIC_H 155# define _LINUX_BYTEORDER_GENERIC_H 156# endif /* _LINUX_BYTEORDER_GENERIC_H */ 157# ifndef _LINUX_STRING_H_ 158# define _LINUX_STRING_H_ 159# endif /* not _LINUX_STRING_H_ */ 160# ifdef HAVE_LINUX_KDEV_T_H 161# define __KERNEL__ 162# include <linux/kdev_t.h> 163# undef __KERNEL__ 164# endif /* HAVE_LINUX_KDEV_T_H */ 165# ifdef HAVE_LINUX_LIST_H 166# define __KERNEL__ 167# include <linux/list.h> 168# undef __KERNEL__ 169# endif /* HAVE_LINUX_LIST_H */ 170# include <linux/fs.h> 171#endif /* HAVE_LINUX_FS_H && (!__GLIBC__ || __GLIBC__ < 2) */ 172 173#ifdef HAVE_SYS_FS_TYPES_H 174# include <sys/fs_types.h> 175#endif /* HAVE_SYS_FS_TYPES_H */ 176 177#ifdef HAVE_UFS_UFS_MOUNT_H 178# include <ufs/ufs_mount.h> 179#endif /* HAVE_UFS_UFS_MOUNT_H */ 180#ifdef HAVE_UFS_UFS_UFSMOUNT_H_off 181# error do not include this file here because on *bsd it 182# error causes errors with other header files. Instead, add it to the 183# error specific conf/nfs_prot_*.h file. 184# include <ufs/ufs/ufsmount.h> 185#endif /* HAVE_UFS_UFS_UFSMOUNT_H_off */ 186 187#ifdef HAVE_CDFS_CDFS_MOUNT_H 188# include <cdfs/cdfs_mount.h> 189#endif /* HAVE_CDFS_CDFS_MOUNT_H */ 190#ifdef HAVE_CDFS_CDFSMOUNT_H 191# include <cdfs/cdfsmount.h> 192#endif /* HAVE_CDFS_CDFSMOUNT_H */ 193#ifdef HAVE_ISOFS_CD9660_CD9660_MOUNT_H 194# include <isofs/cd9660/cd9660_mount.h> 195#endif /* HAVE_ISOFS_CD9660_CD9660_MOUNT_H */ 196 197#ifdef HAVE_FS_UDF_UDF_MOUNT_H 198# include <fs/udf/udf_mount.h> 199#endif /* HAVE_FS_UDF_UDF_MOUNT_H */ 200 201#ifdef HAVE_SYS_FS_PC_FS_H 202# include <sys/fs/pc_fs.h> 203#endif /* HAVE_SYS_FS_PC_FS_H */ 204#ifdef HAVE_MSDOSFS_MSDOSFSMOUNT_H 205# include <msdosfs/msdosfsmount.h> 206#endif /* HAVE_MSDOSFS_MSDOSFSMOUNT_H */ 207#ifdef HAVE_FS_MSDOSFS_MSDOSFSMOUNT_H 208# include <fs/msdosfs/msdosfsmount.h> 209#endif /* HAVE_FS_MSDOSFS_MSDOSFSMOUNT_H */ 210 211#ifdef HAVE_FS_TMPFS_TMPFS_ARGS_H 212# include <fs/tmpfs/tmpfs_args.h> 213#endif /* HAVE_FS_TMPFS_TMPFS_ARGS_H */ 214 215#ifdef HAVE_FS_EFS_EFS_MOUNT_H 216# include <fs/efs/efs_mount.h> 217#endif /* HAVE_FS_EFS_EFS_MOUNT_H */ 218 219#ifdef HAVE_RPC_RPC_H 220# include <rpc/rpc.h> 221#endif /* HAVE_RPC_RPC_H */ 222#ifdef HAVE_RPC_TYPES_H 223# include <rpc/types.h> 224#endif /* HAVE_RPC_TYPES_H */ 225/* Prevent multiple inclusion on Ultrix 4 */ 226#if defined(HAVE_RPC_XDR_H) && !defined(__XDR_HEADER__) 227# include <rpc/xdr.h> 228#endif /* defined(HAVE_RPC_XDR_H) && !defined(__XDR_HEADER__) */ 229 230/* ALWAYS INCLUDE AM-UTILS' SPECIFIC NFS PROTOCOL HEADER NEXT! */ 231