<?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_get_data'>
<refmeta>
<refentrytitle>pam_get_data</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class='setdesc'>Linux-PAM Manual</refmiscinfo>
</refmeta>
<refnamediv id='pam_get_data-name'>
<refname>pam_get_data</refname>
<refpurpose>
get module internal data
</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv>
<funcsynopsis id="pam_get_data-synopsis">
<funcsynopsisinfo>#include <security/pam_modules.h></funcsynopsisinfo>
<funcprototype>
<funcdef>int <function>pam_get_data</function></funcdef>
<paramdef>const pam_handle_t *<parameter>pamh</parameter></paramdef>
<paramdef>const char *<parameter>module_data_name</parameter></paramdef>
<paramdef>const void **<parameter>data</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="pam_get_data-description">
<title>DESCRIPTION</title>
<para>
This function together with the
<citerefentry>
<refentrytitle>pam_set_data</refentrytitle><manvolnum>3</manvolnum>
</citerefentry> function
is useful to manage module-specific data meaningful only to
the calling PAM module.
</para>
<para>
The <function>pam_get_data</function> function looks up the
object associated with the (hopefully) unique string
<emphasis>module_data_name</emphasis> in the PAM context
specified by the <emphasis>pamh</emphasis> argument.
A successful call to
<function>pam_get_data</function> will result in
<emphasis>data</emphasis> pointing to the object. Note,
this data is <emphasis>not</emphasis> a copy and should be
treated as <emphasis>constant</emphasis> by the module.
</para>
</refsect1>
<refsect1 id="pam_get_data-return_values">
<title>RETURN VALUES</title>
<variablelist>
<varlistentry>
<term>PAM_SUCCESS</term>
<listitem>
<para>
Data was successful retrieved.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PAM_SYSTEM_ERR</term>
<listitem>
<para>
A NULL pointer was submitted as PAM handle or the
function was called by an application.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PAM_NO_MODULE_DATA</term>
<listitem>
<para>
Module data not found or there is an entry, but it has
the value NULL.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="pam_get_data-see_also">
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>pam_end</refentrytitle><manvolnum>3</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>pam_set_data</refentrytitle><manvolnum>3</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>pam_strerror</refentrytitle><manvolnum>3</manvolnum>
</citerefentry>
</para>
</refsect1>
</refentry>