diff options
author | peter <peter@FreeBSD.org> | 1999-04-24 21:04:04 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1999-04-24 21:04:04 +0000 |
commit | 552af2f2dc72bea78b269f6590489b03d4e92f30 (patch) | |
tree | 02a61588a371a11dc44a10edae8bfe819143011b /sbin/modunload/modunload.c | |
parent | 55287e726035b74a97ccf03a87c86b6dc10bf35c (diff) | |
download | FreeBSD-src-552af2f2dc72bea78b269f6590489b03d4e92f30.zip FreeBSD-src-552af2f2dc72bea78b269f6590489b03d4e92f30.tar.gz |
The infrastructure to build these fellows has been replaced with kld.
Diffstat (limited to 'sbin/modunload/modunload.c')
-rw-r--r-- | sbin/modunload/modunload.c | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/sbin/modunload/modunload.c b/sbin/modunload/modunload.c deleted file mode 100644 index b09f8c9..0000000 --- a/sbin/modunload/modunload.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) 1993 Terrence R. Lambert. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Terrence R. Lambert. - * 4. The name Terrence R. Lambert may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY TERRENCE R. LAMBERT ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE TERRENCE R. LAMBERT BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char rcsid[] = - "$Id$"; -#endif /* not lint */ - -#include <err.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/param.h> -#include <sys/ioctl.h> -#include <sys/lkm.h> -#include <sys/file.h> -#include <sys/errno.h> -#include "pathnames.h" - -void -usage() -{ - - fprintf(stderr, "usage: modunload [-i <module id>] [-n <module name>]\n"); - exit(1); -} - -int devfd; - -void -cleanup() -{ - - close(devfd); -} - -int -main(argc, argv) - int argc; - char *argv[]; -{ - int c; - int modnum = -1; - char *modname = NULL; - struct lmc_unload ulbuf; - - while ((c = getopt(argc, argv, "i:n:")) != -1) { - switch (c) { - case 'i': - modnum = atoi(optarg); - break; /* number */ - case 'n': - modname = optarg; - break; /* name */ - case '?': - usage(); - default: - printf("default!\n"); - break; - } - } - argc -= optind; - argv += optind; - - if (argc != 0 || (modnum == -1 && modname == NULL)) - usage(); - - - /* - * Open the virtual device device driver for exclusive use (needed - * to ioctl() to retrieve the loaded module(s) status). - */ - if ((devfd = open(_PATH_LKM, O_RDWR, 0)) == -1) - err(2, _PATH_LKM); - - atexit(cleanup); - - /* - * Unload the requested module. - */ - ulbuf.name = modname; - ulbuf.id = modnum; - - if (ioctl(devfd, LMUNLOAD, &ulbuf) == -1) { - switch (errno) { - case EINVAL: /* out of range */ - errx(3, "id out of range"); - case ENOENT: /* no such entry */ - errx(3, "no such module"); - default: /* other error (EFAULT, etc) */ - err(5, "LMUNLOAD"); - } - } - - return 0; -} |