154843Sheideman /*
254843Sheideman  * Copyright (c) 1992 The Regents of the University of California
354843Sheideman  * Copyright (c) 1990, 1992 Jan-Simon Pendry
454843Sheideman  * All rights reserved.
554843Sheideman  *
654843Sheideman  * This code is derived from software donated to Berkeley by
754843Sheideman  * Jan-Simon Pendry.
854843Sheideman  *
954843Sheideman  * %sccs.include.redist.c%
1054843Sheideman  *
11*54952Sheideman  *	@(#)mount_null.c	5.2 (Berkeley) 07/11/92
1254843Sheideman  */
1354843Sheideman 
1454843Sheideman #include <sys/param.h>
1554843Sheideman #include <sys/mount.h>
16*54952Sheideman #include <nullfs/null.h>
1754843Sheideman 
1854843Sheideman #include <errno.h>
1954843Sheideman #include <stdio.h>
2054843Sheideman #include <unistd.h>
2154843Sheideman #include <stdlib.h>
2254843Sheideman #include <string.h>
2354843Sheideman 
2454843Sheideman void usage __P((void));
2554843Sheideman 
2654843Sheideman int
2754843Sheideman main(argc, argv)
2854843Sheideman 	int argc;
2954843Sheideman 	char *argv[];
3054843Sheideman {
31*54952Sheideman 	struct null_args args;
3254843Sheideman 	int ch, mntflags;
3354843Sheideman 
3454843Sheideman 	mntflags = 0;
3554843Sheideman 	while ((ch = getopt(argc, argv, "F:")) != EOF)
3654843Sheideman 		switch(ch) {
3754843Sheideman 		case 'F':
3854843Sheideman 			mntflags = atoi(optarg);
3954843Sheideman 			break;
4054843Sheideman 		case '?':
4154843Sheideman 		default:
4254843Sheideman 			usage();
4354843Sheideman 		}
4454843Sheideman 	argc -= optind;
4554843Sheideman 	argv += optind;
4654843Sheideman 
4754843Sheideman 	if (argc != 2)
4854843Sheideman 		usage();
4954843Sheideman 
5054843Sheideman 	args.target = argv[0];
5154843Sheideman 
52*54952Sheideman 	if (mount(MOUNT_NULL, argv[1], mntflags, &args)) {
53*54952Sheideman 		(void)fprintf(stderr, "mount_null: %s\n", strerror(errno));
5454843Sheideman 		exit(1);
5554843Sheideman 	}
5654843Sheideman 	exit(0);
5754843Sheideman }
5854843Sheideman 
5954843Sheideman void
6054843Sheideman usage()
6154843Sheideman {
6254843Sheideman 	(void)fprintf(stderr,
63*54952Sheideman 	    "usage: mount_null [ -F fsoptions ] target_fs mount_point\n");
6454843Sheideman 	exit(1);
6554843Sheideman }
66