Retrieves information for a specific PAM module for this PAM session.
PAM Library (libpam.a)
#include <security/pam_appl.h>
int pam_get_data (PAMHandle, ModuleDataName, Data)
pam_handle_t *PAMHandle;
const char *ModuleDataName;
void **Data;
The pam_get_data subroutine is used to retrieve module-specific data from the PAM handle. This subroutine is used by modules and should not be called by applications. If the ModuleDataName identifier exists, the reference for its data is returned in Data. If the identifier does not exist, a NULL reference is returned in Data. The caller should not modify or free the memory returned in Data. Instead, a cleanup function should be specified through a call to pam_set_data(). The cleanup function will be called when pam_end() is invoked in order to free any memory allocated.
Item | Description |
---|---|
PAMHandle (in) | The PAM handle representing the current user authentication session. This handle is obtained by a call to pam_start(). |
ModuleDataName | A unique identifier for Data. |
Data | Returned reference to the data denoted by ModuleDataName. |
Upon successful completion, pam_get_data returns PAM_SUCCESS. If ModuleDataName exists and pam_get_data completes successfully, Data will be a valid reference. Otherwise, Data will be NULL. If the routine fails, either PAM_SYSTEM_ERR, PAM_BUF_ERR, or PAM_NO_MODULE_DATA is returned, depending on the actual error.
Item | Description |
---|---|
PAM_SYSTEM_ERR | A system error occurred. |
PAM_BUF_ERR | A memory error occurred. |
PAM_NO_MODULE_DATA | No module-specific data was found. |