1/*
2 * Copyright (c) 1994 Christopher G. Demetriou
3 * 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
--- 15 unchanged lines hidden (view full) ---
24 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef lint
32static char rcsid[] = "$Id: mount_msdos.c,v 1.1 1994/09/19 15:30:36 dfr Exp $";
33#endif /* not lint */
34
35#include <sys/cdefs.h>
36#include <sys/param.h>
37#define MSDOSFS
38#include <sys/mount.h>
39#include <sys/stat.h>
40#include <ctype.h>
--- 21 unchanged lines hidden (view full) ---
62main(argc, argv)
63 int argc;
64 char **argv;
65{
66 struct msdosfs_args args;
67 struct stat sb;
68 int c, mntflags, set_gid, set_uid, set_mask;
69 char *dev, *dir, ndir[MAXPATHLEN+1];
70 struct vfsconf *vfc;
71
72 mntflags = set_gid = set_uid = set_mask = 0;
73 (void)memset(&args, '\0', sizeof(args));
74
75 while ((c = getopt(argc, argv, "u:g:m:o:")) != EOF) {
76 switch (c) {
77 case 'u':
78 args.uid = a_uid(optarg);
--- 45 unchanged lines hidden (view full) ---
124 if (!set_uid)
125 args.uid = sb.st_uid;
126 if (!set_gid)
127 args.gid = sb.st_gid;
128 if (!set_mask)
129 args.mask = sb.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO);
130 }
131
132 vfc = getvfsbyname("msdos");
133 if(!vfc && vfsisloadable("msdos")) {
134 if(vfsload("msdos"))
135 err(1, "vfsload(msdos)");
136 endvfsent(); /* clear cache */
137 vfc = getvfsbyname("msdos");
138 }
139
140 if (mount(vfc ? vfc->vfc_index : MOUNT_MSDOS, dir, mntflags, &args) < 0)
141 err(1, "mount");
142
143 exit (0);
144}
145
146gid_t
147a_gid(s)
148 char *s;
--- 60 unchanged lines hidden ---
2 * Copyright (c) 1994 Christopher G. Demetriou
3 * 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
--- 15 unchanged lines hidden (view full) ---
24 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef lint
32static char rcsid[] = "$Id: mount_msdos.c,v 1.1 1994/09/19 15:30:36 dfr Exp $";
33#endif /* not lint */
34
35#include <sys/cdefs.h>
36#include <sys/param.h>
37#define MSDOSFS
38#include <sys/mount.h>
39#include <sys/stat.h>
40#include <ctype.h>
--- 21 unchanged lines hidden (view full) ---
62main(argc, argv)
63 int argc;
64 char **argv;
65{
66 struct msdosfs_args args;
67 struct stat sb;
68 int c, mntflags, set_gid, set_uid, set_mask;
69 char *dev, *dir, ndir[MAXPATHLEN+1];
70 struct vfsconf *vfc;
71
72 mntflags = set_gid = set_uid = set_mask = 0;
73 (void)memset(&args, '\0', sizeof(args));
74
75 while ((c = getopt(argc, argv, "u:g:m:o:")) != EOF) {
76 switch (c) {
77 case 'u':
78 args.uid = a_uid(optarg);
--- 45 unchanged lines hidden (view full) ---
124 if (!set_uid)
125 args.uid = sb.st_uid;
126 if (!set_gid)
127 args.gid = sb.st_gid;
128 if (!set_mask)
129 args.mask = sb.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO);
130 }
131
132 vfc = getvfsbyname("msdos");
133 if(!vfc && vfsisloadable("msdos")) {
134 if(vfsload("msdos"))
135 err(1, "vfsload(msdos)");
136 endvfsent(); /* clear cache */
137 vfc = getvfsbyname("msdos");
138 }
139
140 if (mount(vfc ? vfc->vfc_index : MOUNT_MSDOS, dir, mntflags, &args) < 0)
141 err(1, "mount");
142
143 exit (0);
144}
145
146gid_t
147a_gid(s)
148 char *s;
--- 60 unchanged lines hidden ---