1.\" $NetBSD: openpam.3,v 1.12 2023/06/30 21:46:20 christos Exp $ 2.\" 3.\" Generated by gendoc.pl 4.Dd June 27, 2023 5.Dt OPENPAM 3 6.Os 7.Sh NAME 8.Nm openpam_borrow_cred , 9.Nm openpam_free_data , 10.Nm openpam_free_envlist , 11.Nm openpam_get_feature , 12.Nm openpam_get_option , 13.Nm openpam_log , 14.Nm openpam_nullconv , 15.Nm openpam_readline , 16.Nm openpam_readlinev , 17.Nm openpam_readword , 18.Nm openpam_restore_cred , 19.Nm openpam_set_feature , 20.Nm openpam_set_option , 21.Nm openpam_straddch , 22.Nm openpam_subst , 23.Nm openpam_ttyconv , 24.Nm pam_error , 25.Nm pam_get_authtok , 26.Nm pam_info , 27.Nm pam_prompt , 28.Nm pam_setenv , 29.Nm pam_verror , 30.Nm pam_vinfo , 31.Nm pam_vprompt 32.Nd Pluggable Authentication Modules Library 33.Sh LIBRARY 34.Lb libpam 35.Sh SYNOPSIS 36.In security/openpam.h 37.Ft "int" 38.Fn openpam_borrow_cred "pam_handle_t *pamh" "const struct passwd *pwd" 39.Ft "void" 40.Fn openpam_free_data "pam_handle_t *pamh" "void *data" "int status" 41.Ft "void" 42.Fn openpam_free_envlist "char **envlist" 43.Ft "int" 44.Fn openpam_get_feature "int feature" "int *onoff" 45.Ft "const char *" 46.Fn openpam_get_option "pam_handle_t *pamh" "const char *option" 47.Ft "void" 48.Fn openpam_log "int level" "const char *fmt" "..." 49.Ft "int" 50.Fn openpam_nullconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" 51.Ft "char *" 52.Fn openpam_readline "FILE *f" "int *lineno" "size_t *lenp" 53.Ft "char **" 54.Fn openpam_readlinev "FILE *f" "int *lineno" "int *lenp" 55.Ft "char *" 56.Fn openpam_readword "FILE *f" "int *lineno" "size_t *lenp" 57.Ft "int" 58.Fn openpam_restore_cred "pam_handle_t *pamh" 59.Ft "int" 60.Fn openpam_set_feature "int feature" "int onoff" 61.Ft "int" 62.Fn openpam_set_option "pam_handle_t *pamh" "const char *option" "const char *value" 63.Ft "int" 64.Fn openpam_straddch "char **str" "size_t *size" "size_t *len" "int ch" 65.Ft "int" 66.Fn openpam_subst "const pam_handle_t *pamh" "char *buf" "size_t *bufsize" "const char *template" 67.Ft "int" 68.Fn openpam_ttyconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" 69.Ft "int" 70.Fn pam_error "const pam_handle_t *pamh" "const char *fmt" "..." 71.Ft "int" 72.Fn pam_get_authtok "pam_handle_t *pamh" "int item" "const char **authtok" "const char *prompt" 73.Ft "int" 74.Fn pam_info "const pam_handle_t *pamh" "const char *fmt" "..." 75.Ft "int" 76.Fn pam_prompt "const pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "..." 77.Ft "int" 78.Fn pam_setenv "pam_handle_t *pamh" "const char *name" "const char *value" "int overwrite" 79.Ft "int" 80.Fn pam_verror "const pam_handle_t *pamh" "const char *fmt" "va_list ap" 81.Ft "int" 82.Fn pam_vinfo "const pam_handle_t *pamh" "const char *fmt" "va_list ap" 83.Ft "int" 84.Fn pam_vprompt "const pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap" 85.Sh DESCRIPTION 86These functions are OpenPAM extensions to the PAM API. 87Those named 88.Fn pam_* 89are, in the author's opinion, logical and necessary extensions to the 90standard API, while those named 91.Fn openpam_* 92are either simple convenience functions, or functions intimately tied 93to OpenPAM implementation details, and therefore not well suited to 94standardization. 95.Sh SEE ALSO 96.Xr openpam_borrow_cred 3 , 97.Xr openpam_free_data 3 , 98.Xr openpam_free_envlist 3 , 99.Xr openpam_get_feature 3 , 100.Xr openpam_get_option 3 , 101.Xr openpam_log 3 , 102.Xr openpam_nullconv 3 , 103.Xr openpam_readline 3 , 104.Xr openpam_readlinev 3 , 105.Xr openpam_readword 3 , 106.Xr openpam_restore_cred 3 , 107.Xr openpam_set_feature 3 , 108.Xr openpam_set_option 3 , 109.Xr openpam_straddch 3 , 110.Xr openpam_subst 3 , 111.Xr openpam_ttyconv 3 , 112.Xr pam_error 3 , 113.Xr pam_get_authtok 3 , 114.Xr pam_info 3 , 115.Xr pam_prompt 3 , 116.Xr pam_setenv 3 , 117.Xr pam_verror 3 , 118.Xr pam_vinfo 3 , 119.Xr pam_vprompt 3 120.Sh STANDARDS 121.Rs 122.%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" 123.%D "June 1997" 124.Re 125.Sh AUTHORS 126The OpenPAM library and this manual page were developed for the 127.Fx 128Project by ThinkSec AS and Network Associates Laboratories, the 129Security Research Division of Network Associates, Inc.\& under 130DARPA/SPAWAR contract N66001-01-C-8035 131.Pq Dq CBOSS , 132as part of the DARPA CHATS research program. 133.Pp 134The OpenPAM library is maintained by 135.An Dag-Erling Sm\(/orgrav Aq Mt des@des.no . 136