pam_conv
struct pam_conv conv = {uucp_conv, NULL};
static struct pam_conv PAM_conversation = {
static struct pam_conv conv = {
if ((r = pam_start(progname, u->name, &pam_conv, &pamh))
static struct pam_conv pam_conv = {cron_conv, NULL};
static struct pam_conv pam_conv = {login_conv, NULL};
if ((pam_rc = pam_start(progname, user_name, &pam_conv, &pamh))
static struct pam_conv pam_conv = {passwd_conv, NULL};
if (pam_start("passwd", usrname, &pam_conv, &pamh) != PAM_SUCCESS) {
struct pam_conv pam_conv = {pam_tty_conv, NULL};
if ((err = pam_start("sys-suspend", user, &pam_conv,
static struct pam_conv pam_conv = {su_conv, NULL};
static struct pam_conv emb_pam_conv = {emb_su_conv, NULL};
embedded ? &emb_pam_conv : &pam_conv, &pamh) != PAM_SUCCESS)
struct pam_conv pam_conv = {vt_conv, NULL};
if ((err = pam_start("vtdaemon", user_name, &pam_conv,
const struct pam_conv *pam_conv, /* Conversation structure */
struct pam_conv *pam_convp;
const struct pam_conv *pam_conv, pam_handle_t **pamh)
service ? service : "NULL", user ? user : "NULL", (void *)pam_conv,
if ((err = pam_set_item(*pamh, PAM_CONV, (void *)pam_conv))
size = sizeof (struct pam_conv);
item ? (void *)((struct pam_conv *)item)->conv :
(void *)((struct pam_conv *)*item)->conv);
const struct pam_conv *pam_convp;
const struct pam_conv *pam_convp;