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