pam_sm_authenticate man page
pam_sm_authenticate — PAM service function for user authentication
int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv);
The pam_sm_authenticate function is the service module's implementation of the pam_authenticate(3) interface.
This function performs the task of authenticating the user.
Valid flags, which may be logically OR'd with PAM_SILENT, are:
Do not emit any messages.
Return PAM_AUTH_ERR if the database of authentication tokens for this authentication mechanism has a NULL entry for the user. Without this flag, such a NULL token will lead to a success without the user being prompted.
For some reason the application does not have sufficient credentials to authenticate the user.
The modules were not able to access the authentication information. This might be due to a network or hardware failure etc.
The authentication token was successfully updated.
The supplied username is not known to the authentication service.
One or more of the authentication modules has reached its limit of tries authenticating the user. Do not try again.
pam(3), pam_authenticate(3), pam_sm_setcred(3), pam_strerror(3), PAM(8)
pam_debug(8), pam_get_item(3), pam_set_item(3), pam_sm_setcred(3).