<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="pam_xauth_data">

  <refmeta>
    <refentrytitle>pam_xauth_data</refentrytitle>
    <manvolnum>3</manvolnum>
    <refmiscinfo class="source">Linux-PAM</refmiscinfo>
    <refmiscinfo class="manual">Linux-PAM Manual</refmiscinfo>
  </refmeta>

  <refnamediv xml:id="pam_xauth_data-name">
    <refname>pam_xauth_data</refname>
    <refpurpose>structure containing X authentication data</refpurpose>
  </refnamediv>

<!-- body begins here -->

  <refsynopsisdiv>
    <funcsynopsis xml:id="pam_xauth_data-synopsis">
      <funcsynopsisinfo>#include &lt;security/pam_appl.h&gt;</funcsynopsisinfo>
    </funcsynopsis>
    <programlisting>
struct pam_xauth_data {
    int namelen;
    char *name;
    int datalen;
    char *data;
};
    </programlisting>
  </refsynopsisdiv>

  <refsect1 xml:id="pam_xauth_data-description">
    <title>DESCRIPTION</title>
    <para>
      The <function>pam_xauth_data</function> structure contains X
      authentication data used to make a connection to an X display.
      Using this mechanism, an application can communicate X
      authentication data to PAM service modules.  This allows modules to
      make a connection to the user's X display in order to label the
      user's session on login, display visual feedback or for other
      purposes.
    </para>
    <para>
      The <emphasis>name</emphasis> field contains the name of the
      authentication method, such as "MIT-MAGIC-COOKIE-1".  The
      <emphasis>namelen</emphasis> field contains the length of this string,
      not including the trailing NUL character.
    </para>
    <para>
      The <emphasis>data</emphasis> field contains the authentication
      method-specific data corresponding to the specified name.  The
      <emphasis>datalen</emphasis> field contains its length in bytes.
    </para>
    <para>
      The X authentication data can be changed with the
      <emphasis>PAM_XAUTH_DATA</emphasis> item. It can be queried and
      set with
      <citerefentry>
        <refentrytitle>pam_get_item</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>
      and
      <citerefentry>
        <refentrytitle>pam_set_item </refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>  respectively.  The value used to set it should be
      a pointer to a pam_xauth_data structure.  An internal copy of both
      the structure itself and its fields is made by PAM when setting the
      item.
    </para>
  </refsect1>

  <refsect1 xml:id="pam_xauth_data-see_also">
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
        <refentrytitle>pam_start</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam_get_item</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
    </para>
  </refsect1>

  <refsect1 xml:id="pam_xauth_data-standards">
    <title>STANDARDS</title>
    <para>
      The <function>pam_xauth_data</function> structure and
      <emphasis>PAM_XAUTH_DATA</emphasis> item are
      Linux-PAM extensions.
    </para>
  </refsect1>

</refentry>