blob: d07862e00e218f1121f1eec3fd2764bb48d46f71 (
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
135
136
137
138
139
140
141
142
143
|
<?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_std.inc.xml">
<!ENTITY accessconf SYSTEM "pam_item_types_ext.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 <security/pam_modules.h></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_std.inc.xml"/>
<para>
The following additional items are specific to Linux-PAM and should not be used in
portable applications:
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="pam_item_types_ext.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>
|