summaryrefslogtreecommitdiff
path: root/doc/man/pam_getenvlist.3
blob: 1c1a425214493622cd698a1d5cae9b8647d863ba (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
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "PAM_GETENVLIST" "3" "03/12/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
pam_getenvlist \- getting the PAM environment
.SH "SYNOPSIS"
.PP
\fB#include <security/pam_appl.h>\fR
.HP 22
\fBchar\ **\fBpam_getenvlist\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB);\fR
.SH "DESCRIPTION"
.PP
The
\fBpam_getenvlist\fR
function returns a complete copy of the PAM environment as associated with the handle
\fIpamh\fR. The PAM environment variables represent the contents of the regular environment variables of the authenticated user when service is granted.
.PP
The format of the memory is a malloc()'d array of char pointers, the last element of which is set to NULL. Each of the non\-NULL entries in this array point to a NUL terminated and malloc()'d char string of the form: "\fIname=value\fR".
.PP
It should be noted that this memory will never be free()'d by libpam. Once obtained by a call to
\fBpam_getenvlist\fR, it is the responsibility of the calling application to free() this memory.
.PP
It is by design, and not a coincidence, that the format and contents of the returned array matches that required for the third argument of the
\fBexecle\fR(3)
function call.
.SH "RETURN VALUES"
.PP
The
\fBpam_getenvlist\fR
function returns NULL on failure.
.SH "SEE ALSO"
.PP
\fBpam_start\fR(3),
\fBpam_getenv\fR(3),
\fBpam_putenv\fR(3),
\fBpam\fR(8)