summaryrefslogtreecommitdiff
path: root/doc/man/pam_get_item.3.xml
blob: e5806d11dbb37c4cbd4902a276b900f88986de55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?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"
[
<!--
<!ENTITY accessconf SYSTEM "pam_item_types.inc.xml">
-->
]>

<refentry id='pam_get_item'>

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

  <refnamediv id='pam_get_item-name'>
    <refname>pam_get_item</refname>
    <refpurpose>
       getting PAM informations
    </refpurpose>
  </refnamediv>


<!-- body begins here -->

  <refsynopsisdiv>

   <funcsynopsis id="pam_get_item-synopsis">
     <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
     <funcprototype>
       <funcdef>int <function>pam_get_item</function></funcdef>
       <paramdef>const pam_handle_t *<parameter>pamh</parameter></paramdef>
       <paramdef>int <parameter>item_type</parameter></paramdef>
       <paramdef>const void **<parameter>item</parameter></paramdef>
     </funcprototype>
   </funcsynopsis>

  </refsynopsisdiv>


  <refsect1 id="pam_get_item-description">
    <title>DESCRIPTION</title>
    <para>
      The <function>pam_get_item</function> function allows applications
      and PAM service modules to access and retrieve PAM informations
      of <emphasis>item_type</emphasis>. Upon successful return,
      <emphasis>item</emphasis> contains a pointer to the value of the
      corresponding item. Note, this is a pointer to the
      <emphasis>actual</emphasis> data and should
      <emphasis remap="B">not</emphasis> be <emphasis>free()</emphasis>'ed or
      over-written! The following values are supported for
      <emphasis>item_type</emphasis>:
   </para>

   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
      href="pam_item_types.inc.xml"/>

    <para>
      If a service module wishes to obtain the name of the user,
      it should not use this function, but instead perform a call to
      <citerefentry>
        <refentrytitle>pam_get_user</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>.
    </para>
    <para>
      Only a service module is privileged to read the
      authentication tokens, PAM_AUTHTOK and PAM_OLDAUTHTOK.
    </para>

  </refsect1>

  <refsect1 id="pam_get_item-return_values">
    <title>RETURN VALUES</title>
    <variablelist>
      <varlistentry>
        <term>PAM_BAD_ITEM</term>
        <listitem>
           <para>
             The application attempted to set an undefined or inaccessible
             item.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_BUF_ERR</term>
        <listitem>
           <para>
              Memory buffer error.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_PERM_DENIED</term>
        <listitem>
           <para>
             The value of <emphasis>item</emphasis> was NULL.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_SUCCESS</term>
        <listitem>
           <para>
             Data was successful updated.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_SYSTEM_ERR</term>
        <listitem>
           <para>
             The <emphasis>pam_handle_t</emphasis> passed as first
             argument was invalid.
          </para>
        </listitem>
       </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="pam_get_item-see_also">
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
        <refentrytitle>pam_set_item</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam_strerror</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>
    </para>
  </refsect1>

</refentry>