home | help
OPENPAM(3)		     Library Functions Manual		      OPENPAM(3)

NAME
     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 -- Pluggable Authentication Modules Library

LIBRARY
     Pluggable Authentication Module Library (libpam, -lpam)

SYNOPSIS
     #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);

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 stan-
     dard API, while those named openpam_*() are either simple convenience func-
     tions,  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_feature(3),	openpam_get_option(3),	 openpam_log(3),   open-
     pam_nullconv(3), openpam_readline(3),  openpam_readlinev(3),  openpam_read-
     word(3),  openpam_restore_cred(3),  openpam_set_feature(3), openpam_set_op-
     tion(3), openpam_straddch(3), openpam_subst(3), openpam_ttyconv(3), pam_er-
     ror(3),  pam_get_authtok(3),  pam_info(3),  pam_prompt(3),   pam_setenv(3),
     pam_verror(3), pam_vinfo(3), pam_vprompt(3)

STANDARDS
     X/Open  Single  Sign-On  Service (XSSO) - Pluggable Authentication Modules,
     June 1997.

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.

     The OpenPAM library is maintained by Dag-Erling Smorgrav <des@des.dev>.

FreeBSD 15.1			  May 31, 2025			      OPENPAM(3)

home | help