RTEMS CPU Kit with SuperCore  4.11.3
mount.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 1989, 1991, 1993
3  * The Regents of the University of California. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * 4. Neither the name of the University nor the names of its contributors
14  * may be used to endorse or promote products derived from this software
15  * without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27  * SUCH DAMAGE.
28  *
29  * @(#)mount.h 8.21 (Berkeley) 5/20/95
30  * $FreeBSD: src/sys/sys/mount.h,v 1.198 2005/08/06 01:42:04 ssouhlal Exp $
31  */
32 
33 
34 #ifndef _SYS_MOUNT_H_
35 #define _SYS_MOUNT_H_
36 
37 #ifndef _KERNEL
38 #include <sys/ucred.h>
39 #endif
40 #include <sys/queue.h>
41 
42 typedef struct fsid { int32_t val[2]; } fsid_t; /* filesystem id type */
43 
44 /*
45  * File identifier.
46  * These are unique per filesystem on a single machine.
47  */
48 #define MAXFIDSZ 16
49 
50 struct fid {
51  u_short fid_len; /* length of data in bytes */
52  u_short fid_reserved; /* force longword alignment */
53  char fid_data[MAXFIDSZ]; /* data (variable length) */
54 };
55 
56 /*
57  * filesystem statistics
58  */
59 #define MFSNAMELEN 16 /* length of type name including null */
60 #define MNAMELEN 88 /* size of on/from name bufs */
61 
62 /*
63  * User specifiable flags.
64  */
65 #define MNT_RDONLY 0x00000001 /* read only filesystem */
66 #define MNT_SYNCHRONOUS 0x00000002 /* filesystem written synchronously */
67 #define MNT_NOEXEC 0x00000004 /* can't exec from filesystem */
68 #define MNT_NOSUID 0x00000008 /* don't honor setuid bits on fs */
69 #define MNT_NODEV 0x00000010 /* don't interpret special files */
70 #define MNT_UNION 0x00000020 /* union with underlying filesystem */
71 #define MNT_ASYNC 0x00000040 /* filesystem written asynchronously */
72 #define MNT_NOATIME 0x10000000 /* disable update of file access time */
73 
74 /*
75  * NFS export related mount flags.
76  */
77 #define MNT_EXRDONLY 0x00000080 /* exported read only */
78 #define MNT_EXPORTED 0x00000100 /* filesystem is exported */
79 #define MNT_DEFEXPORTED 0x00000200 /* exported to the world */
80 #define MNT_EXPORTANON 0x00000400 /* use anon uid mapping for everyone */
81 #define MNT_EXKERB 0x00000800 /* exported with Kerberos uid mapping */
82 #define MNT_EXPUBLIC 0x20000000 /* public export (WebNFS) */
83 
84 /*
85  * Flags set by internal operations,
86  * but visible to the user.
87  */
88 #define MNT_LOCAL 0x00001000 /* filesystem is stored locally */
89 #define MNT_QUOTA 0x00002000 /* quotas are enabled on filesystem */
90 #define MNT_ROOTFS 0x00004000 /* identifies the root filesystem */
91 #define MNT_USER 0x00008000 /* mounted by a user */
92 #define MNT_IGNORE 0x00800000 /* do not show entry in df */
93 
94 /*
95  * External filesystem command modifier flags.
96  * Unmount can use the MNT_FORCE flag.
97  */
98 #define MNT_UPDATE 0x00010000 /* not a real mount, just an update */
99 #define MNT_DELEXPORT 0x00020000 /* delete export host lists */
100 #define MNT_RELOAD 0x00040000 /* reload filesystem data */
101 #define MNT_FORCE 0x00080000 /* force unmount or readonly change */
102 
103 /*
104  * Generic file handle
105  */
106 struct fhandle {
107  fsid_t fh_fsid; /* Filesystem id of mount point */
108  struct fid fh_fid; /* Filesys specific id */
109 };
110 typedef struct fhandle fhandle_t;
111 
112 #ifdef _KERNEL
113 
114 #else /* !_KERNEL */
115 
116 #include <sys/cdefs.h>
117 
118 #endif /* _KERNEL */
119 
120 #endif /* !_SYS_MOUNT_H_ */
Definition: mount.h:43
Definition: mount.h:107
Definition: mount.h:51