| OPENPAM(3) | Library Functions Manual | OPENPAM(3) | 
openpam_borrow_cred,
  openpam_free_data,
  openpam_free_envlist,
  openpam_get_feature,
  openpam_get_option,
  openpam_log, openpam_nullconv,
  openpam_readline,
  openpam_readlinev,
  openpam_readword,
  openpam_restore_cred,
  openpam_set_feature,
  openpam_set_option,
  openpam_straddch,
  openpam_subst,
  openpam_ttyconv, pam_error,
  pam_get_authtok, pam_info,
  pam_prompt, pam_setenv,
  pam_verror, pam_vinfo,
  pam_vprompt —
#include <security/openpam.h>
int
  
  openpam_borrow_cred(pam_handle_t
    *pamh, const struct
    passwd *pwd);
void
  
  openpam_free_data(pam_handle_t
    *pamh, void *data,
    int status);
void
  
  openpam_free_envlist(char
    **envlist);
int
  
  openpam_get_feature(int
    feature, int
    *onoff);
const char *
  
  openpam_get_option(pam_handle_t
    *pamh, const char
    *option);
void
  
  openpam_log(int
    level, const char
    *fmt, ...);
int
  
  openpam_nullconv(int
    n, const struct
    pam_message **msg, struct
    pam_response **resp, void
    *data);
char *
  
  openpam_readline(FILE
    *f, int *lineno,
    size_t *lenp);
char **
  
  openpam_readlinev(FILE
    *f, int *lineno,
    int *lenp);
char *
  
  openpam_readword(FILE
    *f, int *lineno,
    size_t *lenp);
int
  
  openpam_restore_cred(pam_handle_t
    *pamh);
int
  
  openpam_set_feature(int
    feature, int
    onoff);
int
  
  openpam_set_option(pam_handle_t
    *pamh, const char
    *option, const char
    *value);
int
  
  openpam_straddch(char
    **str, size_t
    *size, size_t *len,
    int ch);
int
  
  openpam_subst(const
    pam_handle_t *pamh, char
    *buf, size_t
    *bufsize, const char
    *template);
int
  
  openpam_ttyconv(int
    n, const struct
    pam_message **msg, struct
    pam_response **resp, void
    *data);
int
  
  pam_error(const
    pam_handle_t *pamh, const
    char *fmt,
  ...);
int
  
  pam_get_authtok(pam_handle_t
    *pamh, int item,
    const char **authtok,
    const char *prompt);
int
  
  pam_info(const
    pam_handle_t *pamh, const
    char *fmt,
  ...);
int
  
  pam_prompt(const
    pam_handle_t *pamh, int
    style, char **resp,
    const char *fmt,
    ...);
int
  
  pam_setenv(pam_handle_t
    *pamh, const char
    *name, const char
    *value, int
    overwrite);
int
  
  pam_verror(const
    pam_handle_t *pamh, const
    char *fmt, va_list
    ap);
int
  
  pam_vinfo(const
    pam_handle_t *pamh, const
    char *fmt, va_list
    ap);
int
  
  pam_vprompt(const
    pam_handle_t *pamh, int
    style, char **resp,
    const char *fmt,
    va_list ap);
pam_*() are, in the author's opinion, logical and
  necessary extensions to the standard API, while those named
  openpam_*() are either simple convenience functions,
  or functions intimately tied to OpenPAM implementation details, and therefore
  not well suited to standardization.
The OpenPAM library is maintained by Dag-Erling Smørgrav <des@des.no>.
| April 30, 2017 | NetBSD 9.4 |