cc [ flag ... ] file ... -lpam [ library ... ] #include <security/pam_appl.h>
char *pam_getenv(pam_handle_t *pamh, const char *name);
The pam_getenv() function searches the PAM handle pamh for a value associated with name. If a value is present, pam_getenv() makes a copy of the value and returns a pointer to the copy back to the calling application. If no such entry exists, pam_getenv() returns NULL. It is the responsibility of the calling application to free the memory returned by pam_getenv().
If successful, pam_getenv() returns a copy of the value associated with name in the PAM handle;
otherwise, it returns a NULL pointer.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|Interface Stability|| Stable|
|MT-Level||MT-Safe with exceptions|
pam(3PAM), pam_getenvlist(3PAM), pam_putenv(3PAM), libpam(3LIB), attributes(5)
The interfaces in libpam are MT-Safe only if each thread within the multithreaded application uses its own PAM handle.