pam_end 3 Linux-PAM Manual pam_end termination of PAM transaction #include <security/pam_appl.h> int pam_end pam_handle_t *pamh int pam_status DESCRIPTION The pam_end function terminates the PAM transaction and is the last function an application should call in the PAM contenxt. Upon return the handle pamh is no longer valid and all memory associated with it will be invalid. The pam_status argument should be set to the value returned to the application by the last PAM library call. The value taken by pam_status is used as an argument to the module specific callback function, cleanup() (See pam_set_data3 and pam_get_data3 ). In this way the module can be given notification of the pass/fail nature of the tear-down process, and perform any last minute tasks that are appropriate to the module before it is unlinked. This argument can be logically OR'd with PAM_DATA_SILENT to indicate to indicate that the module should not treat the call too seriously. It is generally used to indicate that the current closing of the library is in a fork2 ed process, and that the parent will take care of cleaning up things that exist outside of the current process space (files etc.). This function free's all memory for items associated with the pam_set_item3 and pam_get_item3 functions. Pointers associated with such objects are not valid anymore after pam_end was called. RETURN VALUES PAM_SUCCESS Transaction was successful terminated. PAM_SYSTEM_ERR System error, for example a NULL pointer was submitted as PAM handle or the function was called by a module. SEE ALSO pam_get_data3 , pam_set_data3 , pam_start3 , pam_strerror3