pam_end (3) - Linux Man Pages
pam_end: termination of PAM transaction
pam_end - termination of PAM transaction
*pamh, int pam_status);
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_data(3) and pam_get_data(3)). 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 fork(2)ed process, and that the parent will take care of cleaning up things that exist outside of the current process space (files etc.).
- Transaction was successful terminated.
- System error, for example a NULL pointer was submitted as PAM handle or the function was called by a module.