remove support for 'trademark files'
[unleashed/tickless.git] / share / man / man3pam / pam_get_user.3pam
blobd1ddf0b95d65a997957a291cf84ff019ac2c8f66
1 '\" te
2 .\"  Copyright (c) 1998, Sun Microsystems, Inc.   All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH PAM_GET_USER 3PAM "Oct 13, 1998"
7 .SH NAME
8 pam_get_user \- PAM routine to retrieve user name
9 .SH SYNOPSIS
10 .LP
11 .nf
12 \fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ...  \fB-lpam\fR [ \fIlibrary\fR ... ]
13 #include <security/pam_appl.h>
17 \fBint\fR \fBpam_get_user\fR(\fBpam_handle_t *\fR\fIpamh\fR, \fBchar **\fR\fIuser\fR,
18      \fBconst char *\fR\fIprompt\fR);
19 .fi
21 .SH DESCRIPTION
22 .sp
23 .LP
24 The \fBpam_get_user()\fR function is used by  \fBPAM\fR service modules to
25 retrieve the current user name from the  \fBPAM\fR handle. If the user name has
26 not been set with \fBpam_start()\fR or  \fBpam_set_item()\fR, the \fBPAM\fR
27 conversation function will be used to prompt the user for the user name with
28 the string "prompt". If \fIprompt\fR is  \fINULL\fR, then \fBpam_get_item()\fR
29 is called and the value of \fBPAM_USER_PROMPT\fR is used for prompting. If the
30 value of  \fBPAM_USER_PROMPT\fR is  \fINULL\fR, the following default prompt is
31 used:
32 .sp
33 .in +2
34 .nf
35 Please enter user name:
36 .fi
37 .in -2
38 .sp
40 .sp
41 .LP
42 After the user name is gathered by the conversation function,
43 \fBpam_set_item()\fR is called to set the value of  \fBPAM_USER\fR. By
44 convention, applications that need to prompt for a user name should  call
45 \fBpam_set_item()\fR and set the value of \fBPAM_USER_PROMPT\fR before calling
46 \fBpam_authenticate()\fR. The service module's \fBpam_sm_authenticate()\fR
47 function will then call \fBpam_get_user()\fR to prompt for the user name.
48 .sp
49 .LP
50 Note that certain  \fBPAM\fR service modules, such as a smart card module, may
51 override the value of  \fBPAM_USER_PROMPT\fR and pass in their own prompt.
52 Applications that call \fBpam_authenticate()\fR multiple times should set the
53 value of  \fBPAM_USER\fR to  \fINULL\fR with  \fBpam_set_item()\fR before
54 calling \fBpam_authenticate()\fR, if they want the user to be prompted for a
55 new user name each time. The value of \fIuser\fR retrieved by
56 \fBpam_get_user()\fR should not be modified or freed.  The item will be
57 released by \fBpam_end()\fR.
58 .SH RETURN VALUES
59 .sp
60 .LP
61 Upon success, \fBpam_get_user()\fR returns  \fBPAM_SUCCESS\fR; otherwise it
62 returns an error code. Refer to \fBpam\fR(3PAM) for information on error
63 related return values.
64 .SH ATTRIBUTES
65 .sp
66 .LP
67 See \fBattributes\fR(5) for description of the following attributes:
68 .sp
70 .sp
71 .TS
72 box;
73 c | c
74 l | l .
75 ATTRIBUTE TYPE  ATTRIBUTE VALUE
77 Interface Stability      Stable
79 MT-Level        MT-Safe with exceptions
80 .TE
82 .SH SEE ALSO
83 .sp
84 .LP
85 \fBpam\fR(3PAM), \fBpam_authenticate\fR(3PAM), \fBpam_end\fR(3PAM),
86 \fBpam_get_item\fR(3PAM), \fBpam_set_item\fR(3PAM), \fBpam_sm\fR(3PAM),
87 \fBpam_sm_authenticate\fR(3PAM), \fBpam_start\fR(3PAM), \fBattributes\fR(5)
88 .SH NOTES
89 .sp
90 .LP
91 The interfaces in  \fBlibpam\fR are MT-Safe only if each thread within the
92 multithreaded application uses its own \fBPAM\fR handle.