PAM Library Functions pam_set_data(3PAM)
NAME
pam_set_data, pam_get_data - PAM routines to maintain module
specific stateSYNOPSIS
cc [ flag ... ] file ... -lpam [ library ... ]
#include
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 infor-
mation 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 argumentrepresents the actual data. The module_data_name argument
should be unique across all services. The cleanup function frees up any memory used by the dataafter 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 astatus code, pam_end_status. The status 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 uniquename, module_data_name. The data argument is assigned the
address of the requested data. The data retrieved bypam_get_data() should not be modified or freed. The data
SunOS 5.11 Last change: 13 Oct 1998 1
PAM Library Functions pam_set_data(3PAM)
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 attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe with exceptions |
|_____________________________|_____________________________|
SEE ALSO
pam(3PAM), pam_end(3PAM), libpam(3LIB), attributes(5)
NOTESThe interfaces in libpam are MT-Safe only if each thread
within the multithreaded application uses its own PAM han-
dle.SunOS 5.11 Last change: 13 Oct 1998 2