pam_getenvlist(3PAM) PAM Library Functions pam_getenvlist(3PAM)NAME
pam_getenvlist - returns a list of all the PAM environment variables
SYNOPSIS
cc [ flag ... ] file ... -lpam [ library ... ]
#include <security/pam_appl.h>
char **pam_getenvlist(pam_handle_t *pamh);
DESCRIPTION
The pam_getenvlist() function returns a list of all the PAM environment variables stored in the PAM handle pamh. The list is returned as a
null-terminated array of pointers to strings. Each string contains a single PAM environment variable of the form name=value. The list
returned is a duplicate copy of all the environment variables stored in pamh. It is the responsibility of the calling application to free
the memory returned by pam_getenvlist().
RETURN VALUES
If successful, pam_getenvlist() returns in a null-terminated array a copy of all the PAM environment variables stored in pamh. Otherwise,
pam_getenvlist() returns a null pointer.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability | Stable |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe with exceptions |
+-----------------------------+-----------------------------+
SEE ALSO pam(3PAM), pam_getenv(3PAM), pam_putenv(3PAM), libpam(3LIB), attributes(5)NOTES
The interfaces in libpam are MT-Safe only if each thread within the multithreaded application uses its own PAM handle.
SunOS 5.10 13 Oct 1998 pam_getenvlist(3PAM)
Check Out this Related Man Page
pam_set_data(3PAM) PAM Library Functions pam_set_data(3PAM)NAME
pam_set_data, pam_get_data - PAM routines to maintain module specific state
SYNOPSIS
cc [ flag ... ] file ... -lpam [ library ... ]
#include <security/pam_appl.h>
int pam_set_data(pam_handle_t *pamh,
const char *module_data_name, void *data,
void (*cleanup) (pam_handle_t *pamh, void *data,
int pam_end_status));
int pam_get_data(const pam_handle_t *pamh,
const char *module_data_name, const void **data);
DESCRIPTION
The pam_set_data() and pam_get_data() functions allow PAM service modules to access and update module specific information as needed. These
functions should not be used by applications.
The pam_set_data() function stores module specific data within the PAM handle pamh. The module_data_name argument uniquely identifies the
data, and the data argument represents the actual data. The module_data_name argument should be unique across all services.
The cleanup function frees up any memory used by the data after it is no longer needed, and is invoked by pam_end(). The cleanup function
takes as its arguments a pointer to the PAM handle, pamh, a pointer to the actual data, data, and a status code, pam_end_status. The sta-
tus code determines exactly what state information needs to be purged.
If pam_set_data() is called and module data already exists from a prior call to pam_set_data() under the same module_data_name, then the
existing data is replaced by the new data, and the existing cleanup function is replaced by the new cleanup function.
The pam_get_data() function retrieves module-specific data stored in the PAM handle, pamh, identified by the unique name, mod-
ule_data_name. The data argument is assigned the address of the requested data. The data retrieved by pam_get_data() should not be modi-
fied or freed. The data will be released by pam_end().
RETURN VALUES
In addition to the return values listed in pam(3PAM), the following value may also be returned:
PAM_NO_MODULE_DATA No module specific data is present.
ATTRIBUTES
See attributes(5) for description of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability | Stable |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe with exceptions |
+-----------------------------+-----------------------------+
SEE ALSO pam(3PAM), pam_end(3PAM), libpam(3LIB), attributes(5)NOTES
The interfaces in libpam are MT-Safe only if each thread within the multithreaded application uses its own PAM handle.
SunOS 5.11 13 Oct 1998 pam_set_data(3PAM)