<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
  <!ENTITY debian  "<productname>Debian GNU/Linux</productname>">
  <!ENTITY docbook "<productname>DocBook</productname>">
  <!ENTITY sgml    "<abbrev>SGML</abbrev>">
]>

<!-- Stolen from manual page for docbook-to-man, DocBook source file
     (C) 1999 W. Borgert debacle@debian.org

     $Id: docbook-to-man.sgml,v 1.8 2002/04/27 15:28:02 debacle Exp $ -->

<refentry>
  <refentryinfo>
    <address>
      <email>rusty@rustcorp.com.au</email>
    </address>
    <author>
      <firstname>Rusty</firstname>
      <surname>Russell</surname>
    </author>
    <date>2003-05-9</date>
  </refentryinfo>
  <refmeta>
    <refentrytitle>modinfo</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>modinfo</refname> <refpurpose>program to show information about a Linux Kernel module</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>modinfo</command>
      <arg><option>-0</option></arg>
      <arg><option>-F <replaceable>field</replaceable></option></arg>
      <arg><option>-k <replaceable>kernel</replaceable></option></arg>
      <arg rep='repeat'>modulename|filename</arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>modinfo -V</command>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>modinfo -h</command>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>

    <para><command>modinfo</command> extracts information from the Linux
      Kernel modules given on the command line.  If the module name is
      not a filename, then the
      <filename>/lib/modules/</filename><replaceable>version</replaceable>
      directory is searched, as done by
      <citerefentry><refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
    </para>

    <para><command>modinfo</command> by default lists each attribute
      of the module in form <replaceable>fieldname</replaceable> :
      <replaceable>value</replaceable>, for easy reading.  The
      filename is listed the same way (although it's not really an
      attribute).
    </para>

    <para>This version of <command>modinfo</command> can understand
    modules of any Linux Kernel architecture.</para>
  </refsect1>
  <refsect1>
    <title>OPTIONS</title>
    <variablelist>
      <varlistentry>
        <term><option>-V</option> <option>--version</option>
        </term>
        <listitem>
          <para>
	    Print the modinfo version.  Note BACKWARDS COMPATIBILITY
	    below: you might be printing the version of
	    <command>modinfo.old</command>.
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-F</option> <option>--field</option>
        </term>
        <listitem>
          <para>
	    Only print this field value, one per line.  This is most
	    useful for scripts.  Field names are case-insenitive.
	    Common fields (which may not be in every module) include
	    <literal>author</literal>, <literal>description</literal>,
	    <literal>license</literal>, <literal>param</literal>,
	    <literal>depends</literal>, and <literal>alias</literal>.
	    There are often multiple <literal>param</literal>,
	    <literal>alias</literal> and <literal>depends</literal>
	    fields.  The special field <literal>filename</literal>
	    lists the filename of the module.
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-k <replaceable>kernel</replaceable></option>
        </term>
          <para>
            Provide information about a kernel other than the running one. This
            is particularly useful for distributions needing to extract
            information from a newly installed (but not yet running) set of
            kernel modules. For example, you wish to find which firmware files
            are needed by various modules in a new kernel for which you must
            make an initrd image prior to booting.
          </para>
        </term>
      </varlistentry>
      <varlistentry>
        <term><option>-0</option> <option>--null</option>
        </term>
        <listitem>
          <para>
	    Use the ASCII zero character to separate field values,
	    instead of a new line.  This is useful for scripts, since
	    a new line can theoretically appear inside a field.
	  </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-a</option> <option>-d</option> <option>-l</option> <option>-p</option> <option>-n</option>
        </term>
        <listitem>
          <para>
	    These are shortcuts for <literal>author</literal>,
	    <literal>description</literal>,
	    <literal>license</literal>.  <literal>param</literal> and
	    <literal>filename</literal> respectively, to ease the
	    transition from the old modutils
	    <command>modinfo</command>.
	  </para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
  <refsect1>
    <title>BACKWARDS COMPATIBILITY</title>

    <para>This version of <command>modinfo</command> is for kernel
	modules <literal>2.5.48</literal> and above.  If it detects a
	kernel with support for old-style modules, it will attempt to
	run <command>modprobe.old</command> in its place, so it is
	completely transparent to the user.</para>

    <para>Note that the output of this version of
	<command>modinfo</command> is simpler and more regular than
	the older version: scripts attempting to use the default
	output may get confused with complex fields.
    </para>

    <para>You can force the new <command>modinfo</command> to always
	be used, by setting the <literal>NEW_MODINFO</literal>
	environment variable.
    </para>
  </refsect1>
  <refsect1>
    <title>COPYRIGHT</title>
    <para>
      This manual page Copyright 2003, Rusty Russell, IBM Corporation.
    </para>
  </refsect1>
  <refsect1>
    <title>SEE ALSO</title>

    <para><citerefentry>
	<refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>modinfo.old</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>
</para>
  </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
