Sun Microsystems Logo
Products and Services
 
Support and Training
 
 

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  
 
PAM Library Functionspam_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 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 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().


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 TYPEATTRIBUTE VALUE
Interface Stability Stable
MT-LevelMT-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.9Go To TopLast Changed 13 Oct 1998