'\" t .\" Title: pam_getenvlist .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets v1.79.2 .\" Date: 08/28/2024 .\" Manual: Linux-PAM Manual .\" Source: Linux-PAM .\" Language: English .\" .TH "PAM_GETENVLIST" "3" "08/28/2024" "Linux\-PAM" "Linux\-PAM Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" pam_getenvlist \- getting the PAM environment .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft .HP \w'char\ **pam_getenvlist('u .BI "char **pam_getenvlist(pam_handle_t\ *" "pamh" ");" .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()\*(Aqd 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()\*(Aqd char string of the form: "\fIname=value\fR"\&. .PP It should be noted that this memory will never be free()\*(Aqd 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)