NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ATTRIBUTES | SEE ALSO | NOTES
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));
pam_set_data() and pam_get_data() allow PAM service modules to access and update module specific information as needed. These functions should not be used by applications.
pam_set_data() 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. module_data_name should be unique across all services (UNIX, etc).
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 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.
pam_get_data() retrieves module-specific data stored in the PAM handle, pamh, identified by the unique name, module_data_name. The data argument is assigned the address of the requested data. The data retrieved by pam_get_data() should not be modified or freed. The data will be released by pam_end().
In addition to the return values listed in pam(3), the following value may also be returned:
No module specific data is present.
See attributes(5) for description of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
MT Level | MT-Safe with exceptions |
The interfaces in libpam() are MT-Safe only if each thread within the multi-threaded application uses its own PAM handle.
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ATTRIBUTES | SEE ALSO | NOTES