7.1.1.3. PAM Usage Example
#include <security/pam_appl.h>
#include <security/pam_misc.h>
static struct pam_conv conv = { misc_conv, NULL };
int main(int argc, char *argv[])
{
pam_handle_t *pamh = NULL;
char *user;
int retval;
// ...
retval = pam_start ("check_user", user, &conv, &pamh);
if (retval == PAM_SUCCESS)
retval = pam_authenticate (pamh, 0); // Is user really himself ?
if (retval == PAM_SUCCESS)
retval = pam_acct_mgmt (pamh, 0); // Is user account valid ?
if (retval == PAM_SUCCESS)
// ...
pam_end (pamh, retval);
}