.\" $NetBSD: modstat.8,v 1.28 2020/02/23 00:14:31 wiz 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 February 22, 2020
.Dt MODSTAT 8
.Os
.Sh NAME
.Nm modstat
.Nd display status of loaded kernel modules
.Sh SYNOPSIS
.Nm
.Op Fl Aaek
.Op Fl n Ar name | name
.Sh DESCRIPTION
The
.Nm
utility displays the status of any kernel modules present in the kernel.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl A
Tells you whether or not modules can be autoloaded at the moment.
This option
.Em does
take into consideration the sysctl
.Li kern.module.autoload .
.It Fl a
Tells you whether or not modules can be autoloaded at the moment.
This option
.Em does not
take into consideration the sysctl
.Li kern.module.autoload .
.It Fl e
Tells you whether or not you may load a module at the moment.
.It Fl k
Display the kernel address of the module's text segment (disabled by default).
.It Fl n Ar name
Display the status of only the module with this name.
Please note that
.Fl n
is optional.
.El
.Pp
In addition to listing the currently loaded modules' name,
the information reported by
.Nm
includes:
.Bl -tag -width Loadaddr
.It Li CLASS
Module class, such as
"vfs", "driver", "exec", "misc" or "secmodel".
.It Li SOURCE
Where the module was loaded from.
.Qq Dv builtin
indicates that the module was built into the running kernel.
.Qq Dv boot
indicates that the module was loaded during system bootstrap.
.Qq Dv filesys
indicates that the module was loaded from the file system.
.It Li SIZE
Size of the module's text section, in bytes.
.It Li FLAG
The module flags:
.Bl -tag -width a -offset indent -compact
.It Dv a
Module is auto-loaded.
.It Dv f
Requires the
.Xr modload 8
flag
.Fl f
(force) to be loaded.
.El
.It Li REFS
Number of references held on the module.
Disabled builtin modules will show a count of \-1 here.
.It Li ADDRESS
The kernel address at which the module's text segment is loaded.
Builtin modules will show 0 here.
This field is only displayed if the
.Fl k
option is specified.
.It Li REQUIRES
Additional modules that must be present.
.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 module 7 ,
.Xr sysctl 7 ,
.Xr modload 8 ,
.Xr modunload 8
.Sh HISTORY
A
.Nm
utility appeared in
.Nx 0.9 .
The
.Nm
command was designed to be similar in functionality
to the corresponding command in
.Tn "SunOS 4.1.3" .
.Nm
was switched to the module framework for
.Nx 5.0 .
.Sh AUTHORS
.An -nosplit
The original
.Nx
implementation was written by
.An Terrence R. Lambert Aq Mt terry@cs.weber.edu .
The switch to the module framework was by
.An Andrew Doran Aq Mt ad@NetBSD.org .