pam_set_data(3)

pam_set_data, pam_get_data - PAM routines to maintain module specific state

As shipped in IRIX 6.5.22. Added in IRIX 6.5.19.

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, const
     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,
     void **data);


DESCRIPTION
     pam_set_data() and pam_set_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, DCE, etc).

     The  cleanup  function is used to free 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  de-
     termines  exactly  what state information needs to be purged, and is there-
     fore specific to each module.

     If pam_set_data() is called and module data already exists under  the  same
     module_data_name  (from  a prior call to pam_set_data()), then the existing
     data is replaced by the new data, and the existing cleanup function is  re-
     placed 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.


RETURN VALUES
     In  addition to the return values listed in pam(3), the following value may
     also be returned:

            PAM_NO_MODULE_DATA        No module specific data is present

SEE ALSO
     pam(3), pam_end(3)