December 21, 2007 OPENPAM 3

### NAME

openpam_borrow_cred, openpam_free_data, openpam_free_envlist, openpam_get_option, openpam_log, openpam_nullconv, openpam_readline, openpam_restore_cred, openpam_set_option, openpam_ttyconv, pam_error, pam_get_authtok, pam_info, pam_prompt, pam_setenv, pam_verror, pam_vinfo, pam_vprompt - Pluggable Authentication Modules Library

### LIBRARY

### SYNOPSIS

```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`)
```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`)
```int` openpam_restore_cred(```pam_handle_t *pamh`)
```int` openpam_set_option(```pam_handle_t *pamh``, const char *option``, const char *value`)
```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`)

### DESCRIPTION

These functions are OpenPAM extensions to the PAM API. Those named 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.

### SEE ALSO

openpam_borrow_cred(3), openpam_free_data(3), openpam_free_envlist(3), openpam_get_option(3), openpam_log(3), openpam_nullconv(3), openpam_readline(3), openpam_restore_cred(3), openpam_set_option(3), openpam_ttyconv(3), pam_error(3), pam_get_authtok(3), pam_info(3), pam_prompt(3), pam_setenv(3), pam_verror(3), pam_vinfo(3), pam_vprompt(3)

### STANDARDS

### AUTHORS

The OpenPAM library and this manual page were developed for the FreeBSD Project by ThinkSec AS and Network Associates Laboratories, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 (``CBOSS''), as part of the DARPA CHATS research program.