# pam_set_data(3) - phpMan

[PAM_SET_DATA(3)]                Linux-PAM Manual                [PAM_SET_DATA(3)]



**NAME**
       pam_set_data - set module internal data

**SYNOPSIS**
       **#include** **<security/pam**___**modules.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_ _error_status)_**);**

**DESCRIPTION**
       The **pam**___**set**___**data** function associates a pointer to an object with the
       (hopefully) unique string _module_data_name_ in the PAM context specified
       by the _pamh_ argument.

       PAM modules may be dynamically loadable objects. In general such files
       should not contain _static_ variables. This function and its counterpart
       **pam**___**get**___**[data**(3)], provide a mechanism for a module to associate some
       data with the handle _pamh_. Typically a module will call the
       **pam**___**set**___**data** function to register some data under a (hopefully) unique
       _module_data_name_. The data is available for use by other modules too
       but _not_ by an application. Since this functions stores only a pointer
       to the _data_, the module should not modify or free the content of it.

       The function **cleanup()** is associated with the _data_ and, if non-NULL, it
       is called when this data is over-written or following a call to
       **pam**___**[end**(3)].

       The _error_status_ argument is used to indicate to the module the sort of
       action it is to take in cleaning this data item. As an example,
       Kerberos creates a ticket file during the authentication phase, this
       file might be associated with a data item. When **pam**___**[end**(3)] is called by
       the module, the _error_status_ carries the return value of the
       **pam**___**[authenticate**(3)] or other _libpam_ function as appropriate. Based on
       this value the Kerberos module may choose to delete the ticket file
       (_authentication_ _failure_) or leave it in place.

       The _error_status_ may have been logically OR'd with either of the
       following two values:

       PAM_DATA_REPLACE
           When a data item is being replaced (through a second call to
           **pam**___**set**___**data**) this mask is used. Otherwise, the call is assumed to
           be from **pam**___**[end**(3)].

       PAM_DATA_SILENT
           Which indicates that the process would prefer to perform the
           **cleanup()** quietly. That is, discourages logging/messages to the
           user.

**RETURN** **VALUES**
       PAM_BUF_ERR
           Memory buffer error.

       PAM_SUCCESS
           Data was successful stored.

       PAM_SYSTEM_ERR
           A NULL pointer was submitted as PAM handle or the function was
           called by an application.

**SEE** **ALSO**
       **pam**___**[end**(3)], **pam**___**get**___**[data**(3)], **pam**___**[strerror**(3)]



Linux-PAM Manual                  06/08/2020                   [PAM_SET_DATA(3)]
