diff options
Diffstat (limited to 'usr.bin/modstat')
| -rw-r--r-- | usr.bin/modstat/Makefile | 47 | ||||
| -rw-r--r-- | usr.bin/modstat/modstat.8 | 103 | ||||
| -rw-r--r-- | usr.bin/modstat/modstat.c | 206 | ||||
| -rw-r--r-- | usr.bin/modstat/pathnames.h | 5 |
4 files changed, 0 insertions, 361 deletions
diff --git a/usr.bin/modstat/Makefile b/usr.bin/modstat/Makefile deleted file mode 100644 index d7395bf2295..00000000000 --- a/usr.bin/modstat/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# $NetBSD: Makefile,v 1.8 2007/05/28 12:06:29 tls Exp $ -# -# Makefile for modstat -# -# 25 May 93 Terry Lambert Original -# -# 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. -# -# $NetBSD: Makefile,v 1.8 2007/05/28 12:06:29 tls Exp $ -# - -USE_FORT?= yes # setuid -WARNS?=4 -PROG= modstat -MAN= modstat.8 -BINGRP= kmem -BINMODE=2555 - -.include <bsd.prog.mk> diff --git a/usr.bin/modstat/modstat.8 b/usr.bin/modstat/modstat.8 deleted file mode 100644 index 3dd5196150e..00000000000 --- a/usr.bin/modstat/modstat.8 +++ /dev/null @@ -1,103 +0,0 @@ -.\" $NetBSD: modstat.8,v 1.15 2007/04/13 18:15:21 plunky Exp $ -.\" -.\" Copyright (c) 1993 Christopher G. Demetriou -.\" 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 for the -.\" NetBSD Project. See http://www.NetBSD.org/ for -.\" information about NetBSD. -.\" 4. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. -.\" -.\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>> -.\" -.Dd March 23, 2006 -.Dt MODSTAT 8 -.Os -.Sh NAME -.Nm modstat -.Nd display status of loaded kernel modules -.Sh SYNOPSIS -.Nm -.Op Fl i Ar id -.Op Fl n Ar name -.Sh DESCRIPTION -The -.Nm -utility displays the status of any loadable kernel modules -present in the kernel. -.Pp -The options are as follows: -.Bl -tag -width indent -.It Fl i Ar id -Display the status of only the module with this ID. -.It Fl n Ar name -Display the status of only the module with this name. -.El -.Pp -In addition to listing the currently loaded modules' name, -the information reported by -.Nm -includes: -.Pp -.Bl -tag -width Loadaddr -.It Li Type -Type of module, such as -"SYSCALL", "VFS", "DEV", -.\" "STRMOD", -"EXEC", "COMPAT", "MISC", or "(UNKNOWN)". -See -.Xr lkm 4 -for details. -.It Li Id -Module identification number. -.It Li Offset -Target table offset. -.It Li Loadaddr -Address the module loaded at. -.It Li Size -Size in kilobytes (in hex). -.It Li Info -Kernel address of private area. -.It Li Rev -Version of the module interface. -(Not the version of the module itself.) -.El -.Sh EXIT STATUS -The -.Nm -utility exits with a status of 0 on success -and with a nonzero status if an error occurs. -.Sh SEE ALSO -.Xr lkm 4 , -.Xr modload 8 , -.Xr modunload 8 -.Sh HISTORY -The -.Nm -command was designed to be similar in functionality -to the corresponding command in -.Tn "SunOS 4.1.3" . -.Sh AUTHORS -.An Terrence R. Lambert Aq terry@cs.weber.edu diff --git a/usr.bin/modstat/modstat.c b/usr.bin/modstat/modstat.c deleted file mode 100644 index 64883e76a02..00000000000 --- a/usr.bin/modstat/modstat.c +++ /dev/null @@ -1,206 +0,0 @@ -/* $NetBSD: modstat.c,v 1.23 2007/12/15 19:44:52 perry Exp $ */ - -/* - * 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. - */ - -#include <sys/cdefs.h> -#ifndef lint -__RCSID("$NetBSD: modstat.c,v 1.23 2007/12/15 19:44:52 perry Exp $"); -#endif - -#include <sys/param.h> -#include <sys/conf.h> -#include <sys/file.h> -#include <sys/ioctl.h> -#include <sys/lkm.h> -#include <sys/mount.h> - -#include <a.out.h> -#include <err.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include "pathnames.h" - -static void cleanup(void); -static int dostat(int, const char *); -static void usage(void) __dead; - - -static const char *type_names[] = { - MODTYPE_NAMES -}; - -static size_t tn_nentries = sizeof(type_names) / sizeof(type_names[0]); -static int devfd; - -#define POINTERSIZE ((int)(2 * sizeof(void*))) - -static void -usage(void) -{ - - (void)fprintf(stderr, "Usage: %s [-i <module id>] [-n <module name>]\n", - getprogname()); - exit(1); -} - -static int -dostat(int modnum, const char *modname) -{ - struct lmc_stat sbuf; - long offset; - char offset_string[32]; - - if (modname != NULL) - (void)strlcpy(sbuf.name, modname, sizeof sbuf.name); - - sbuf.id = modnum; - - if (ioctl(devfd, LMSTAT, &sbuf) == -1) { - switch (errno) { - case EINVAL: /* out of range */ - return 2; - case ENOENT: /* no such entry */ - return 1; - default: /* other error (EFAULT, etc) */ - warn("LMSTAT"); - return 4; - } - } - - /* - * Decode this stat buffer... - */ - offset = (long)sbuf.offset; - if (sbuf.type == LM_DEV) - (void) snprintf(offset_string, sizeof(offset_string), - "%3d/%-3d", - LKM_BLOCK_MAJOR(offset), - LKM_CHAR_MAJOR(offset)); - else if (offset < 0) - (void) strlcpy(offset_string, " -", sizeof (offset_string)); - else - (void) snprintf(offset_string, sizeof (offset_string), " %3ld", - offset); - - (void)printf("%-7s %3d %7s %0*lx %04lx %0*lx %3ld %s\n", - (sbuf.type < tn_nentries) ? type_names[sbuf.type] : "(UNKNOWN)", - sbuf.id, /* module id */ - offset_string, /* offset into modtype struct */ - POINTERSIZE, - (long)sbuf.area, /* address module loaded at */ - (long)sbuf.size, /* size in KB */ - POINTERSIZE, - (long)sbuf.private, /* kernel address of private area */ - (long)sbuf.ver, /* Version of module interface */ - sbuf.name /* name from private area */ - ); - - /* - * Done (success). - */ - return 0; -} - -static void -cleanup(void) -{ - - (void)close(devfd); -} - -int -main(int argc, char *argv[]) -{ - int c; - int modnum = -1; - char *modname = NULL; - gid_t egid = getegid(); - - setegid(getgid()); - while ((c = getopt(argc, argv, "i:n:")) != -1) { - switch (c) { - case 'i': - modnum = atoi(optarg); - break; /* number */ - case 'n': - modname = optarg; - break; /* name */ - case '?': - default: - usage(); - } - } - argc -= optind; - argv += optind; - - if (argc != 0) - usage(); - - /* - * Open the virtual device device driver for exclusive use (needed - * to ioctl() to retrive the loaded module(s) status). - */ - (void)setegid(egid); - if ((devfd = open(_PATH_LKM, O_RDONLY, 0)) == -1) - err(2, "%s", _PATH_LKM); - - /* get rid of our privileges now */ - (void)setgid(getgid()); - - (void)atexit(cleanup); - - (void)printf("Type Id Offset %-*s Size %-*s Rev Module Name\n", - POINTERSIZE, "Loadaddr", - POINTERSIZE, "Info"); - - /* - * Oneshot? - */ - if (modnum != -1 || modname != NULL) { - if (dostat(modnum, modname)) - return(3); - return(0); - } - - /* - * Start at 0 and work up until "EINVAL". - */ - for (modnum = 0; dostat(modnum, NULL) < 2; modnum++) - continue; - - return(0); -} diff --git a/usr.bin/modstat/pathnames.h b/usr.bin/modstat/pathnames.h deleted file mode 100644 index 2b928ea6913..00000000000 --- a/usr.bin/modstat/pathnames.h +++ /dev/null @@ -1,5 +0,0 @@ -/* $NetBSD: pathnames.h,v 1.2 1998/01/09 08:06:06 perry Exp $ */ - -#include <paths.h> - -#define _PATH_LKM "/dev/lkm" |
