diff options
author | hjl <hjl> | 1999-10-18 23:21:12 +0000 |
---|---|---|
committer | hjl <hjl> | 1999-10-18 23:21:12 +0000 |
commit | 8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9 (patch) | |
tree | 0904ef8554ed680fe3244fa618685e1fb7ea148b /utils/nfsd/nfsd.c | |
download | nfs-utils-8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9.tar.gz nfs-utils-8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9.tar.xz nfs-utils-8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9.zip |
Initial revision
Diffstat (limited to 'utils/nfsd/nfsd.c')
-rw-r--r-- | utils/nfsd/nfsd.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c new file mode 100644 index 0000000..3a22370 --- /dev/null +++ b/utils/nfsd/nfsd.c @@ -0,0 +1,68 @@ +/* + * nfsd + * + * This is the user level part of nfsd. This is very primitive, because + * all the work is now done in the kernel module. + * + * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de> + */ + +#include "config.h" + +#include <stdio.h> +#include <stdlib.h> +#include <getopt.h> +#include "nfslib.h" + +static void usage(const char *); + +int +main(int argc, char **argv) +{ + int count = 1, c, error, port; + + port = 2049; + + /* FIXME: Check for nfs in /etc/services */ + + while ((c = getopt(argc, argv, "hp:P:")) != EOF) { + switch(c) { + case 'P': /* XXX for nfs-server compatibility */ + case 'p': + port = atoi(optarg); + if (port <= 0 || port > 65535) { + fprintf(stderr, "%s: bad port number: %s\n", + argv[0], optarg); + usage(argv [0]); + } + break; + break; + case 'h': + default: + usage(argv[0]); + } + } + + if (optind < argc) { + if ((count = atoi(argv[optind])) < 0) { + /* insane # of servers */ + fprintf(stderr, + "%s: invalid server count (%d), using 1\n", + argv[0], count); + count = 1; + } + } + + if ((error = nfssvc(port, count)) < 0) + perror("nfssvc"); + + return (error != 0); +} + +static void +usage(const char *prog) +{ + fprintf(stderr, "usage:\n" + "%s nrservs\n", prog); + exit(2); +} |