3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
24 */
25
26 /*
27 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
28 * Use is subject to license terms.
29 */
30
31 #ifndef _AUTOMOUNT_H
32 #define _AUTOMOUNT_H
33
34 #include <fslib.h> /* needed for mntlist_t declaration */
35 #include <thread.h>
36 #include <sys/mntent.h> /* " " MNTTYPE_* declarations */
37 #include <synch.h> /* needed for mutex_t declaration */
38 #include <sys/types.h>
39 #include <rpc/rpc.h>
40 #include <sys/fs/autofs.h>
41 #include <netinet/in.h> /* needed for sockaddr_in declaration */
42 #include <door.h>
43
123 int mfs_distance; /* distance hint */
124 struct nfs_args *mfs_args; /* nfs_args */
125 struct netconfig *mfs_nconf;
126 rpcvers_t mfs_version; /* NFS version */
127
128 #define MFS_ALLOC_DIR 0x1 /* mfs_dir now points to different */
129 /* buffer */
130
131 #define MFS_URL 0x2 /* is NFS url listed in this tuple. */
132 #define MFS_FH_VIA_WEBNFS 0x4 /* got file handle during ping phase */
133
134 uint_t mfs_flags;
135 uint_t mfs_port; /* port# in NFS url */
136 };
137
138 /*
139 * NIS entry - lookup of name in DIR gets us this
140 */
141 struct mapent {
142 char *map_fstype; /* file system type e.g. "nfs" */
143 char *map_mounter; /* base fs e.g. "cachefs" */
144 char *map_root; /* path to mount root */
145 char *map_mntpnt; /* path from mount root */
146 char *map_mntopts; /* mount options */
147 char *map_fsw; /* mount fs information */
148 char *map_fswq; /* quoted mountfs information */
149 int map_mntlevel; /* mapentry hierarchy level */
150 bool_t map_modified; /* flags modified mapentries */
151 bool_t map_faked; /* flags faked mapentries */
152 int map_err; /* flags any bad entries in the map */
153 struct mapfs *map_fs; /* list of replicas for nfs */
154 struct mapent *map_next;
155 };
156
157
158 /*
159 * Descriptor for each directory served by the automounter
160 */
161 struct autodir {
162 char *dir_name; /* mount point */
163 char *dir_map; /* name of map for dir */
|
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
24 */
25
26 /*
27 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
28 * Use is subject to license terms.
29 */
30
31 #ifndef _AUTOMOUNT_H
32 #define _AUTOMOUNT_H
33
34 #include <fslib.h> /* needed for mntlist_t declaration */
35 #include <thread.h>
36 #include <sys/mntent.h> /* " " MNTTYPE_* declarations */
37 #include <synch.h> /* needed for mutex_t declaration */
38 #include <sys/types.h>
39 #include <rpc/rpc.h>
40 #include <sys/fs/autofs.h>
41 #include <netinet/in.h> /* needed for sockaddr_in declaration */
42 #include <door.h>
43
123 int mfs_distance; /* distance hint */
124 struct nfs_args *mfs_args; /* nfs_args */
125 struct netconfig *mfs_nconf;
126 rpcvers_t mfs_version; /* NFS version */
127
128 #define MFS_ALLOC_DIR 0x1 /* mfs_dir now points to different */
129 /* buffer */
130
131 #define MFS_URL 0x2 /* is NFS url listed in this tuple. */
132 #define MFS_FH_VIA_WEBNFS 0x4 /* got file handle during ping phase */
133
134 uint_t mfs_flags;
135 uint_t mfs_port; /* port# in NFS url */
136 };
137
138 /*
139 * NIS entry - lookup of name in DIR gets us this
140 */
141 struct mapent {
142 char *map_fstype; /* file system type e.g. "nfs" */
143 char *map_mounter; /* base fs */
144 char *map_root; /* path to mount root */
145 char *map_mntpnt; /* path from mount root */
146 char *map_mntopts; /* mount options */
147 char *map_fsw; /* mount fs information */
148 char *map_fswq; /* quoted mountfs information */
149 int map_mntlevel; /* mapentry hierarchy level */
150 bool_t map_modified; /* flags modified mapentries */
151 bool_t map_faked; /* flags faked mapentries */
152 int map_err; /* flags any bad entries in the map */
153 struct mapfs *map_fs; /* list of replicas for nfs */
154 struct mapent *map_next;
155 };
156
157
158 /*
159 * Descriptor for each directory served by the automounter
160 */
161 struct autodir {
162 char *dir_name; /* mount point */
163 char *dir_map; /* name of map for dir */
|