ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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/27/2006                                  PAM_SET_DATA(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.