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