<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="pam_error">

  <refmeta>
    <refentrytitle>pam_error</refentrytitle>
    <manvolnum>3</manvolnum>
    <refmiscinfo class='setdesc'>Linux-PAM Manual</refmiscinfo>
  </refmeta>

  <refnamediv id="pam_error-name">
    <refname>pam_error</refname>
    <refname>pam_verror</refname>
    <refpurpose>display error messages to the user</refpurpose>
  </refnamediv>

<!-- body begins here -->

  <refsynopsisdiv id="pam_error-synopsis">
    <funcsynopsis>
      <funcsynopsisinfo>#include &lt;security/pam_ext.h&gt;</funcsynopsisinfo>
      <funcprototype>
        <funcdef>int <function>pam_error</function></funcdef>
        <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
        <paramdef>const char *<parameter>fmt</parameter></paramdef>
        <paramdef><parameter>...</parameter></paramdef>
      </funcprototype>
      <funcprototype>
        <funcdef>int <function>pam_verror</function></funcdef>
        <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
        <paramdef>const char *<parameter>fmt</parameter></paramdef>
        <paramdef>va_list <parameter>args</parameter></paramdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>

  <refsect1 id='pam_error-description'>
    <title>DESCRIPTION</title>
    <para>
      The <function>pam_error</function> function prints error messages
      through the conversation function to the user.
    </para>
    <para>
      The <function>pam_verror</function> function performs the same
      task as <function>pam_error()</function> with the difference
      that it takes a set of arguments which have been obtained using
      the <citerefentry>
        <refentrytitle>stdarg</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry> variable argument list macros.
    </para>
  </refsect1>
  <refsect1 id="pam_error-return_values">
    <title>RETURN VALUES</title>
    <variablelist>
      <varlistentry>
        <term>PAM_BUF_ERR</term>
        <listitem>
           <para>
              Memory buffer error.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_CONV_ERR</term>
        <listitem>
           <para>
              Conversation failure.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_SUCCESS</term>
        <listitem>
           <para>
             Error message was displayed.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_SYSTEM_ERR</term>
        <listitem>
           <para>
              System error.
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id='pam_error-see_also'>
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
        <refentrytitle>pam_info</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam_vinfo</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam_prompt</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam_vprompt</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>
    </para>
  </refsect1>

  <refsect1 id='pam_error-standards'>
    <title>STANDARDS</title>
    <para>
      The <function>pam_error</function> and <function>pam_verror</function>
      functions are Linux-PAM extensions.
    </para>
  </refsect1>

</refentry>
